File trigona_be6dfedd91e1ebc81d58a61b05b0ef93322425b247636a0f7f5c3eeebbc52edd.exe
Function:
    0042f9a0
    0042f9a0fn_42f9a0:
    0042f9a0push rbp
    0042f9a1push rsi
    0042f9a2push rbx
    0042f9a3sub rsp, 64
    0042f9a7mov rbp, rsp
    0042f9aamov [rbp+40], rcx
    0042f9aemov [rbp+56], 0
    0042f9b6mov [rbp+104], rdx
    0042f9balea rcx, [rbp+104]
    0042f9becall fn_40bf00
    0042f9c3nop
    0042f9c4lea rcx, [rbp+56]
    0042f9c8mov rdx, [rip-2855]
    0042f9cfcall fn_410600
    0042f9d4mov rax, [rbp+40]
    0042f9d8mov rax, [rax]
    0042f9dbtest rax, rax
    0042f9deje 0x42f9e4
    0042f9e0mov rax, [rax-8]
    0042f9e4
    0042f9e4loc_42f9e4:
    0042f9e4lea rcx, [rbp+56]
    0042f9e8mov rdx, [rip-2887]
    0042f9efmov r8l, 1
    0042f9f5lea r9, [rax+1]
    0042f9f9call fn_410430
    0042f9femov rax, [rbp+40]
    0042fa02mov rax, [rax]
    0042fa05test rax, rax
    0042fa08je 0x42fa0e
    0042fa0amov rax, [rax-8]
    0042fa0e
    0042fa0eloc_42fa0e:
    0042fa0exor ecx, ecx
    0042fa10mov esi, eax
    0042fa12sub esi, 1
    0042fa15mov ebx, ecx
    0042fa17cmp ebx, esi
    0042fa19jg 0x42fa45
    0042fa1bsub esi, ecx
    0042fa1dadd esi, 1
    0042fa20
    0042fa20loc_42fa20:
    0042fa20movsxd rax, ebx
    0042fa23mov rcx, [rbp+56]
    0042fa27lea rcx, [rcx+8*rax]
    0042fa2bmov rdx, [rbp+40]
    0042fa2fmov rdx, [rdx]
    0042fa32mov rdx, [rdx+8*rax]
    0042fa36call fn_40c440
    0042fa3badd ebx, 1
    0042fa3esub esi, 1
    0042fa41test esi, esi
    0042fa43jne 0x42fa20
    0042fa45
    0042fa45loc_42fa45:
    0042fa45nop
    0042fa46mov rax, [rbp+56]
    0042fa4atest rax, rax
    0042fa4dje 0x42fa53
    0042fa4fmov rax, [rax-8]
    0042fa53
    0042fa53loc_42fa53:
    0042fa53mov rcx, [rbp+56]
    0042fa57lea rcx, [rcx+8*rax-8]
    0042fa5cmov rdx, [rbp+104]
    0042fa60call fn_40c440
    0042fa65mov rcx, [rbp+40]
    0042fa69mov rdx, [rip-3016]
    0042fa70call fn_410600
    0042fa75mov rax, [rbp+56]
    0042fa79test rax, rax
    0042fa7cje 0x42fa82
    0042fa7emov rax, [rax-8]
    0042fa82
    0042fa82loc_42fa82:
    0042fa82mov rcx, [rbp+40]
    0042fa86mov rdx, [rip-3045]
    0042fa8dmov r8l, 1
    0042fa93mov r9, rax
    0042fa96call fn_410430
    0042fa9bmov rax, [rbp+56]
    0042fa9ftest rax, rax
    0042faa2je 0x42faa8
    0042faa4mov rax, [rax-8]
    0042faa8
    0042faa8loc_42faa8:
    0042faa8xor ecx, ecx
    0042faaamov esi, eax
    0042faacsub esi, 1
    0042faafmov ebx, ecx
    0042fab1cmp ebx, esi
    0042fab3jg 0x42fadf
    0042fab5sub esi, ecx
    0042fab7add esi, 1
    0042faba
    0042fabaloc_42faba:
    0042fabamovsxd rax, ebx
    0042fabdmov rcx, [rbp+40]
    0042fac1mov rcx, [rcx]
    0042fac4lea rcx, [rcx+8*rax]
    0042fac8mov rdx, [rbp+56]
    0042faccmov rdx, [rdx+8*rax]
    0042fad0call fn_40c440
    0042fad5add ebx, 1
    0042fad8sub esi, 1
    0042fadbtest esi, esi
    0042faddjne 0x42faba
    0042fadf
    0042fadfloc_42fadf:
    0042fadfnop
    0042fae0lea rcx, [rbp+56]
    0042fae4mov rdx, [rip-3139]
    0042faebcall fn_410600
    0042faf0nop
    0042faf1lea rcx, [rbp+56]
    0042faf5mov rdx, [rip-3156]
    0042fafccall fn_410600
    0042fb01lea rcx, [rbp+104]
    0042fb05call fn_40bd90
    0042fb0alea rsp, [rbp+64]
    0042fb0epop rbx
    0042fb0fpop rsi
    0042fb10pop rbp
    0042fb11ret
    0042f9a0
    0042fb12
    0042fb12 64 48 8d 44 20 00 48 8d 04 05 00 00 00 00 dH.D .H.......
    0042fb20
    0042fb20fn_42fb20:
    0042fb20push rbp
    0042fb21push rbx
    0042fb22sub rsp, 40
    0042fb26mov rbp, rsp
    0042fb29mov rbx, rdx
    0042fb2clea rcx, [rbx+56]
    0042fb30mov rdx, [rip-3215]
    0042fb37call fn_410600
    0042fb3clea rcx, [rbx+104]
    0042fb40call fn_40bd90
    0042fb45lea rsp, [rbp+40]
    0042fb49pop rbx
    0042fb4apop rbp
    0042fb4bret
    0042fb20
    0042fb4c
    0042fb4c // align 0x10
    0042fb50
    0042fb50fn_42fb50:
    0042fb50push rbp
    0042fb51sub rsp, 64
    0042fb55mov rbp, rsp
    0042fb58mov [rbp+40], rcx
    0042fb5cmov [rbp+56], 0
    0042fb64mov [rbp+88], rdx
    0042fb68mov rcx, [rbp+88]
    0042fb6ccall fn_40bee0
    0042fb71nop
    0042fb72lea rcx, [rbp+56]
    0042fb76mov rdx, [rip-3421]
    0042fb7dcall fn_410600
    0042fb82xor eax, eax
    0042fb84mov rcx, [rbp+88]
    0042fb88test rcx, rcx
    0042fb8bje 0x42fb90
    0042fb8dmov eax, [rcx-4]
    0042fb90
    0042fb90loc_42fb90:
    0042fb90lea rcx, [rbp+56]
    0042fb94mov rdx, [rip-3451]
    0042fb9bmov r8l, 1
    0042fba1movsxd r9, eax
    0042fba4call fn_410430
    0042fba9lea rcx, [rbp+88]
    0042fbadcall fn_40c690
    0042fbb2mov rcx, rax
    0042fbb5xor eax, eax
    0042fbb7mov rdx, [rbp+88]
    0042fbbbtest rdx, rdx
    0042fbbeje 0x42fbc3
    0042fbc0mov eax, [rdx-4]
    0042fbc3
    0042fbc3loc_42fbc3:
    0042fbc3mov rdx, [rbp+56]
    0042fbc7movsxd r8, eax
    0042fbcacall fn_405ac0
    0042fbcfmov rcx, [rbp+40]
    0042fbd3mov rdx, [rbp+56]
    0042fbd7call fn_430880
    0042fbdcnop
    0042fbddlea rcx, [rbp+56]
    0042fbe1mov rdx, [rip-3528]
    0042fbe8call fn_410600
    0042fbedlea rcx, [rbp+88]
    0042fbf1call fn_40bd40
    0042fbf6mov rax, [rbp+40]
    0042fbfalea rsp, [rbp+64]
    0042fbfepop rbp
    0042fbffret
    0042fb50
    0042fc00
    0042fc00fn_42fc00:
    0042fc00push rbp
    0042fc01push rbx
    0042fc02sub rsp, 40
    0042fc06mov rbp, rsp
    0042fc09mov rbx, rdx
    0042fc0clea rcx, [rbx+56]
    0042fc10mov rdx, [rip-3575]
    0042fc17call fn_410600
    0042fc1clea rcx, [rbx+88]
    0042fc20call fn_40bd40
    0042fc25lea rsp, [rbp+40]
    0042fc29pop rbx
    0042fc2apop rbp
    0042fc2bret
    0042fc00
    0042fc2c
    0042fc2c // align 0x10
    0042fc30
    0042fc30fn_42fc30:
    0042fc30push rsi
    0042fc31push rbx
    0042fc32sub rsp, 40
    0042fc36mov rbx, rcx
    0042fc39mov rsi, rdx
    0042fc3cmov rcx, rsi
    0042fc3fmov rdx, [rip-3622]
    0042fc46call fn_410600
    0042fc4bmov rax, [rbx]
    0042fc4etest rax, rax
    0042fc51je 0x42fc57
    0042fc53mov rax, [rax-8]
    0042fc57
    0042fc57loc_42fc57:
    0042fc57mov rcx, rsi
    0042fc5amov rdx, [rip-3649]
    0042fc61mov r8l, 1
    0042fc67mov r9, rax
    0042fc6acall fn_410430
    0042fc6fxor ecx, ecx
    0042fc71mov rax, [rbx]
    0042fc74test rax, rax
    0042fc77je 0x42fc7d
    0042fc79mov rax, [rax-8]
    0042fc7d
    0042fc7dloc_42fc7d:
    0042fc7dsub eax, 1
    0042fc80test eax, eax
    0042fc82jl 0x42fca4
    0042fc84
    0042fc84loc_42fc84:
    0042fc84mov rdx, [rsi]
    0042fc87movsxd r8, ecx
    0042fc8amov r9, [rbx]
    0042fc8dmovsxd r10, eax
    0042fc90movzx r9, [r9+r10]
    0042fc95mov [rdx+r8], r9b
    0042fc99add ecx, 1
    0042fc9csub eax, 1
    0042fc9fcmp eax, -1
    0042fca2jne 0x42fc84
    0042fca4
    0042fca4loc_42fca4:
    0042fca4nop
    0042fca5add rsp, 40
    0042fca9pop rbx
    0042fcaapop rsi
    0042fcabret
    0042fc30
    0042fcac
    0042fcac // align 0x10
    0042fcb0
    0042fcb0fn_42fcb0:
    0042fcb0push rbp
    0042fcb1push rsi
    0042fcb2push rbx
    0042fcb3sub rsp, 64
    0042fcb7mov rbp, rsp
    0042fcbamov [rbp+40], rcx
    0042fcbemov [rbp+56], 0
    0042fcc6mov [rbp+48], 0
    0042fccemov [rbp+104], rdx
    0042fcd2lea rcx, [rbp+104]
    0042fcd6call fn_40bf00
    0042fcdbnop
    0042fcdcmov rcx, [rbp+40]
    0042fce0call fn_40bd40
    0042fce5xor eax, eax
    0042fce7mov rcx, [rbp+104]
    0042fcebtest rcx, rcx
    0042fceeje 0x42fcf6
    0042fcf0mov eax, [rcx-4]
    0042fcf3shr eax, 1
    0042fcf6
    0042fcf6loc_42fcf6:
    0042fcf6mov ecx, 1
    0042fcfbmov esi, eax
    0042fcfdmov ebx, ecx
    0042fcffcmp ebx, esi
    0042fd01jg 0x42fd4a
    0042fd03sub esi, ecx
    0042fd05add esi, 1
    0042fd08
    0042fd08loc_42fd08:
    0042fd08lea rcx, [rbp+56]
    0042fd0cmov rax, [rbp+104]
    0042fd10movsxd rdx, ebx
    0042fd13movzx edx, [rax+2*rdx-2]
    0042fd18mov r8l, 4
    0042fd1ecall fn_422860
    0042fd23lea rcx, [rbp+48]
    0042fd27mov rdx, [rbp+56]
    0042fd2bxor r8, r8
    0042fd2ecall fn_40cff0
    0042fd33mov rcx, [rbp+40]
    0042fd37mov rdx, [rbp+48]
    0042fd3bcall fn_40c910
    0042fd40add ebx, 1
    0042fd43sub esi, 1
    0042fd46test esi, esi
    0042fd48jne 0x42fd08
    0042fd4a
    0042fd4aloc_42fd4a:
    0042fd4anop
    0042fd4bnop
    0042fd4clea rcx, [rbp+48]
    0042fd50call fn_40bd40
    0042fd55lea rcx, [rbp+56]
    0042fd59call fn_40bcf0
    0042fd5elea rcx, [rbp+104]
    0042fd62call fn_40bd90
    0042fd67mov rax, [rbp+40]
    0042fd6blea rsp, [rbp+64]
    0042fd6fpop rbx
    0042fd70pop rsi
    0042fd71pop rbp
    0042fd72ret
    0042fcb0
    0042fd73
    0042fd73 48 8d 44 20 00 48 8d 04 05 00 00 00 00 H.D .H.......
    0042fd80
    0042fd80fn_42fd80:
    0042fd80push rbp
    0042fd81push rbx
    0042fd82sub rsp, 40
    0042fd86mov rbp, rsp
    0042fd89mov rbx, rdx
    0042fd8clea rcx, [rbx+48]
    0042fd90call fn_40bd40
    0042fd95lea rcx, [rbx+56]
    0042fd99call fn_40bcf0
    0042fd9elea rcx, [rbx+104]
    0042fda2call fn_40bd90
    0042fda7lea rsp, [rbp+40]
    0042fdabpop rbx
    0042fdacpop rbp
    0042fdadret
    0042fd80
    0042fdae
    0042fdae // align 0x10
    0042fdb0
    0042fdb0fn_42fdb0:
    0042fdb0sub rsp, 40
    0042fdb4subsd x0, [rip+20]
    0042fdbcmulsd x0, [rip+20]
    0042fdc4call fn_406280
    0042fdc9add rsp, 40
    0042fdcdret
    0042fdb0
    0042fdce
    0042fdce 48 90 H.
    0042fdd0 00 00 00 00 40 f8 d8 40 00 00 00 00 00 18 f5 40 ....@..@.......@
    0042fde0
    0042fde0fn_42fde0:
    0042fde0push rbp
    0042fde1sub rsp, 64
    0042fde5mov rbp, rsp
    0042fde8mov [rbp+32], rcx
    0042fdecmov [rbp+44], edx
    0042fdefmov [rbp+56], 0
    0042fdf7nop
    0042fdf8lea rcx, [rbp+56]
    0042fdfcmov edx, [rbp+44]
    0042fdffcall fn_430990
    0042fe04mov rcx, [rbp+32]
    0042fe08call fn_40bd40
    0042fe0dmov rcx, [rbp+32]
    0042fe11mov edx, 4
    0042fe16xor r8, r8
    0042fe19call fn_40cf30
    0042fe1emov rcx, [rbp+32]
    0042fe22call fn_40c690
    0042fe27mov rcx, [rbp+56]
    0042fe2bmov rdx, rax
    0042fe2emov r8l, 4
    0042fe34call fn_405ac0
    0042fe39nop
    0042fe3alea rcx, [rbp+56]
    0042fe3emov rdx, [rip-4133]
    0042fe45call fn_410600
    0042fe4amov rax, [rbp+32]
    0042fe4elea rsp, [rbp+64]
    0042fe52pop rbp
    0042fe53ret
    0042fde0
    0042fe54
    0042fe54 48 8d 40 00 48 8d 04 05 00 00 00 00 H.@.H.......
    0042fe60
    0042fe60fn_42fe60:
    0042fe60push rbp
    0042fe61sub rsp, 32
    0042fe65mov rbp, rsp
    0042fe68lea rcx, [rdx+56]
    0042fe6cmov rdx, [rip-4179]
    0042fe73call fn_410600
    0042fe78lea rsp, [rbp+32]
    0042fe7cpop rbp
    0042fe7dret
    0042fe60
    0042fe7e
    0042fe7e // align 0x10
    0042fe80
    0042fe80fn_42fe80:
    0042fe80push rbp
    0042fe81sub rsp, 656
    0042fe88mov rbp, rsp
    0042fe8bmov [rbp+40], rcx
    0042fe8fmov [rbp+56], 0
    0042fe97nop
    0042fe98lea rcx, [rbp+56]
    0042fe9cmov rdx, [rbp+40]
    0042fea0call fn_42f780
    0042fea5mov rcx, [rbp+56]
    0042fea9call fn_40d180
    0042feaemov rcx, rax
    0042feb1lea rdx, [rbp+64]
    0042feb5call FindFirstFileW
    0042febacmp rax, -1
    0042febeje 0x42fed9
    0042fec0mov rcx, rax
    0042fec3call FindClose
    0042fec8mov eax, [rbp+64]
    0042fecbtest eax, 16
    0042fed1sete al
    0042fed4mov [rbp+55], al
    0042fed7jmp 0x42fede
    0042fed9
    0042fed9loc_42fed9:
    0042fed9xor eax, eax
    0042fedbmov [rbp+55], al
    0042fede
    0042fedeloc_42fede:
    0042fedenop
    0042fedflea rcx, [rbp+56]
    0042fee3call fn_40bd90
    0042fee8movzx rax, [rbp+55]
    0042feedlea rsp, [rbp+656]
    0042fef4pop rbp
    0042fef5ret
    0042fe80
    0042fef6
    0042fef6 48 90 48 8d 04 05 00 00 00 00 H.H.......
    0042ff00
    0042ff00fn_42ff00:
    0042ff00push rbp
    0042ff01sub rsp, 32
    0042ff05mov rbp, rsp
    0042ff08lea rcx, [rdx+56]
    0042ff0ccall fn_40bd90
    0042ff11lea rsp, [rbp+32]
    0042ff15pop rbp
    0042ff16ret
    0042ff00
    0042ff17
    0042ff17 // align 0x10
    0042ff20
    0042ff20fn_42ff20:
    0042ff20push rbp
    0042ff21push rbx
    0042ff22sub rsp, 88
    0042ff26mov rbp, rsp
    0042ff29mov [rbp+40], rcx
    0042ff2dmov [rbp+72], 0
    0042ff35mov [rbp+64], 0
    0042ff3dmov [rbp+56], 0
    0042ff45mov [rbp+120], rdx
    0042ff49mov [rbp+128], r8
    0042ff50mov rcx, [rbp+120]
    0042ff54call fn_40bee0
    0042ff59mov rcx, [rbp+128]
    0042ff60call fn_4106d0
    0042ff65nop
    0042ff66mov rcx, [rbp+120]
    0042ff6alea rdx, [rbp+72]
    0042ff6ecall fn_430db0
    0042ff73
    0042ff73loc_42ff73:
    0042ff73mov rcx, [rbp+72]
    0042ff77mov rax, [rbp+40]
    0042ff7bmov rdx, [rax]
    0042ff7ecall fn_430420
    0042ff83mov ebx, eax
    0042ff85cmp ebx, -1
    0042ff88je 0x430020
    0042ff8emov rcx, [rbp+40]
    0042ff92lea rdx, [rbp+64]
    0042ff96xor r8, r8
    0042ff99mov r9l, ebx
    0042ff9ccall fn_430a50
    0042ffa1mov rdx, [rbp+72]
    0042ffa5mov rax, rdx
    0042ffa8test rax, rax
    0042ffabje 0x42ffb1
    0042ffadmov rax, [rax-8]
    0042ffb1
    0042ffb1loc_42ffb1:
    0042ffb1mov rcx, [rbp+40]
    0042ffb5mov rcx, [rcx]
    0042ffb8test rcx, rcx
    0042ffbbje 0x42ffc1
    0042ffbdmov rcx, [rcx-8]
    0042ffc1
    0042ffc1loc_42ffc1:
    0042ffc1test rdx, rdx
    0042ffc4je 0x42ffca
    0042ffc6mov rdx, [rdx-8]
    0042ffca
    0042ffcaloc_42ffca:
    0042ffcamov r8, [rbp+40]
    0042ffcelea r9, [rbp+56]
    0042ffd2mov r10l, ebx
    0042ffd5add r10l, eax
    0042ffd8mov eax, r10l
    0042ffdbmov r10l, ecx
    0042ffdesub r10l, ebx
    0042ffe1sub r10l, edx
    0042ffe4mov rcx, r8
    0042ffe7mov rdx, r9
    0042ffeamov r8l, eax
    0042ffedmov r9l, r10l
    0042fff0call fn_430a50
    0042fff5lea rcx, [rbp+64]
    0042fff9lea rdx, [rbp+128]
    00430000mov r8, [rbp+40]
    00430004call fn_4300b0
    00430009mov rcx, [rbp+40]
    0043000dlea rdx, [rbp+56]
    00430011mov r8, [rbp+40]
    00430015call fn_4300b0
    0043001ajmp 0x42ff73
    0043001f
    0043001f 90 .
    00430020
    00430020loc_430020:
    00430020lea rcx, [rbp+56]
    00430024mov rdx, [rip-4619]
    0043002bmov r8l, 3
    00430031call fn_40ec40
    00430036lea rcx, [rbp+120]
    0043003acall fn_40bd40
    0043003flea rcx, [rbp+128]
    00430046mov rdx, [rip-4653]
    0043004dcall fn_410600
    00430052lea rsp, [rbp+88]
    00430056pop rbx
    00430057pop rbp
    00430058ret
    0042ff20
    00430059
    00430059 48 8d 80 00 00 00 00 H......
    00430060
    00430060fn_430060:
    00430060push rbp
    00430061push rbx
    00430062sub rsp, 40
    00430066mov rbp, rsp
    00430069mov rbx, rdx
    0043006clea rcx, [rbx+56]
    00430070mov rdx, [rip-4695]
    00430077mov r8l, 3
    0043007dcall fn_40ec40
    00430082lea rcx, [rbx+120]
    00430086call fn_40bd40
    0043008blea rcx, [rbx+128]
    00430092mov rdx, [rip-4729]
    00430099call fn_410600
    0043009elea rsp, [rbp+40]
    004300a2pop rbx
    004300a3pop rbp
    004300a4ret
    00430060
    004300a5
    004300a5 // align 0x10
    004300b0
    004300b0fn_4300b0:
    004300b0push rbp
    004300b1sub rsp, 80
    004300b5mov rbp, rsp
    004300b8mov [rbp+40], rcx
    004300bcmov [rbp+48], rdx
    004300c0mov [rbp+56], r8
    004300c4mov [rbp+72], 0
    004300ccnop
    004300cdmov rax, [rbp+40]
    004300d1mov rcx, [rax]
    004300d4mov rax, rcx
    004300d7test rax, rax
    004300daje 0x4300e0
    004300dcmov rax, [rax-8]
    004300e0
    004300e0loc_4300e0:
    004300e0test rax, rax
    004300e3jne 0x43010f
    004300e5mov rax, [rbp+48]
    004300e9mov rax, [rax]
    004300ectest rax, rax
    004300efje 0x4300f5
    004300f1mov rax, [rax-8]
    004300f5
    004300f5loc_4300f5:
    004300f5test rax, rax
    004300f8jne 0x43010f
    004300famov rcx, [rbp+56]
    004300femov rdx, [rip-4837]
    00430105call fn_410600
    0043010ajmp 0x4303e8
    0043010f
    0043010floc_43010f:
    0043010fmov rax, rcx
    00430112test rax, rax
    00430115je 0x43011b
    00430117mov rax, [rax-8]
    0043011b
    0043011bloc_43011b:
    0043011btest rax, rax
    0043011ejne 0x4301eb
    00430124lea rcx, [rbp+72]
    00430128mov rdx, [rip-4879]
    0043012fcall fn_410600
    00430134mov rax, [rbp+48]
    00430138mov rax, [rax]
    0043013btest rax, rax
    0043013eje 0x430144
    00430140mov rax, [rax-8]
    00430144
    00430144loc_430144:
    00430144lea rcx, [rbp+72]
    00430148mov rdx, [rip-4911]
    0043014fmov r8l, 1
    00430155mov r9, rax
    00430158call fn_410430
    0043015dmov rax, [rbp+48]
    00430161mov rax, [rax]
    00430164test rax, rax
    00430167je 0x43016d
    00430169mov rax, [rax-8]
    0043016d
    0043016dloc_43016d:
    0043016dmov rcx, [rbp+48]
    00430171mov rcx, [rcx]
    00430174mov rdx, [rbp+72]
    00430178mov r8, rax
    0043017bcall fn_405ac0
    00430180mov rcx, [rbp+56]
    00430184mov rdx, [rip-4971]
    0043018bcall fn_410600
    00430190mov rax, [rbp+72]
    00430194test rax, rax
    00430197je 0x43019d
    00430199mov rax, [rax-8]
    0043019d
    0043019dloc_43019d:
    0043019dmov rcx, [rbp+56]
    004301a1mov rdx, [rip-5000]
    004301a8mov r8l, 1
    004301aemov r9, rax
    004301b1call fn_410430
    004301b6mov rax, [rbp+72]
    004301batest rax, rax
    004301bdje 0x4301c3
    004301bfmov rax, [rax-8]
    004301c3
    004301c3loc_4301c3:
    004301c3mov rcx, [rbp+72]
    004301c7mov rdx, [rbp+56]
    004301cbmov rdx, [rdx]
    004301cemov r8, rax
    004301d1call fn_405ac0
    004301d6lea rcx, [rbp+72]
    004301damov rdx, [rip-5057]
    004301e1call fn_410600
    004301e6jmp 0x4303e8
    004301eb
    004301ebloc_4301eb:
    004301ebmov rax, [rbp+48]
    004301efmov rax, [rax]
    004301f2test rax, rax
    004301f5je 0x4301fb
    004301f7mov rax, [rax-8]
    004301fb
    004301fbloc_4301fb:
    004301fbtest rax, rax
    004301fejne 0x4302cb
    00430204lea rcx, [rbp+72]
    00430208mov rdx, [rip-5103]
    0043020fcall fn_410600
    00430214mov rax, [rbp+40]
    00430218mov rax, [rax]
    0043021btest rax, rax
    0043021eje 0x430224
    00430220mov rax, [rax-8]
    00430224
    00430224loc_430224:
    00430224lea rcx, [rbp+72]
    00430228mov rdx, [rip-5135]
    0043022fmov r8l, 1
    00430235mov r9, rax
    00430238call fn_410430
    0043023dmov rax, [rbp+40]
    00430241mov rax, [rax]
    00430244test rax, rax
    00430247je 0x43024d
    00430249mov rax, [rax-8]
    0043024d
    0043024dloc_43024d:
    0043024dmov rcx, [rbp+40]
    00430251mov rcx, [rcx]
    00430254mov rdx, [rbp+72]
    00430258mov r8, rax
    0043025bcall fn_405ac0
    00430260mov rcx, [rbp+56]
    00430264mov rdx, [rip-5195]
    0043026bcall fn_410600
    00430270mov rax, [rbp+72]
    00430274test rax, rax
    00430277je 0x43027d
    00430279mov rax, [rax-8]
    0043027d
    0043027dloc_43027d:
    0043027dmov rcx, [rbp+56]
    00430281mov rdx, [rip-5224]
    00430288mov r8l, 1
    0043028emov r9, rax
    00430291call fn_410430
    00430296mov rax, [rbp+72]
    0043029atest rax, rax
    0043029dje 0x4302a3
    0043029fmov rax, [rax-8]
    004302a3
    004302a3loc_4302a3:
    004302a3mov rcx, [rbp+72]
    004302a7mov rdx, [rbp+56]
    004302abmov rdx, [rdx]
    004302aemov r8, rax
    004302b1call fn_405ac0
    004302b6lea rcx, [rbp+72]
    004302bamov rdx, [rip-5281]
    004302c1call fn_410600
    004302c6jmp 0x4303e8
    004302cb
    004302cbloc_4302cb:
    004302cblea rcx, [rbp+72]
    004302cfmov rdx, [rip-5302]
    004302d6call fn_410600
    004302dbmov rax, [rbp+40]
    004302dfmov rax, [rax]
    004302e2test rax, rax
    004302e5je 0x4302eb
    004302e7mov rax, [rax-8]
    004302eb
    004302ebloc_4302eb:
    004302ebmov rcx, [rbp+48]
    004302efmov rcx, [rcx]
    004302f2test rcx, rcx
    004302f5je 0x4302fb
    004302f7mov rcx, [rcx-8]
    004302fb
    004302fbloc_4302fb:
    004302fblea rdx, [rbp+72]
    004302ffmov r8, [rip-5350]
    00430306mov r9l, 1
    0043030clea rax, [rax+rcx]
    00430310mov rcx, rdx
    00430313mov rdx, r8
    00430316mov r8, r9
    00430319mov r9, rax
    0043031ccall fn_410430
    00430321mov rax, [rbp+40]
    00430325mov rax, [rax]
    00430328test rax, rax
    0043032bje 0x430331
    0043032dmov rax, [rax-8]
    00430331
    00430331loc_430331:
    00430331mov rcx, [rbp+40]
    00430335mov rcx, [rcx]
    00430338mov rdx, [rbp+72]
    0043033cmov r8, rax
    0043033fcall fn_405ac0
    00430344mov rax, [rbp+40]
    00430348mov rax, [rax]
    0043034btest rax, rax
    0043034eje 0x430354
    00430350mov rax, [rax-8]
    00430354
    00430354loc_430354:
    00430354mov rcx, [rbp+48]
    00430358mov rcx, [rcx]
    0043035btest rcx, rcx
    0043035eje 0x430364
    00430360mov rcx, [rcx-8]
    00430364
    00430364loc_430364:
    00430364mov rdx, [rbp+48]
    00430368mov rdx, [rdx]
    0043036bmov r8, [rbp+72]
    0043036flea rax, [r8+rax]
    00430373mov r8, rcx
    00430376mov rcx, rdx
    00430379mov rdx, rax
    0043037ccall fn_405ac0
    00430381mov rcx, [rbp+56]
    00430385mov rdx, [rip-5484]
    0043038ccall fn_410600
    00430391mov rax, [rbp+72]
    00430395test rax, rax
    00430398je 0x43039e
    0043039amov rax, [rax-8]
    0043039e
    0043039eloc_43039e:
    0043039emov rcx, [rbp+56]
    004303a2mov rdx, [rip-5513]
    004303a9mov r8l, 1
    004303afmov r9, rax
    004303b2call fn_410430
    004303b7mov rax, [rbp+72]
    004303bbtest rax, rax
    004303beje 0x4303c4
    004303c0mov rax, [rax-8]
    004303c4
    004303c4loc_4303c4:
    004303c4mov rcx, [rbp+72]
    004303c8mov rdx, [rbp+56]
    004303ccmov rdx, [rdx]
    004303cfmov r8, rax
    004303d2call fn_405ac0
    004303d7lea rcx, [rbp+72]
    004303dbmov rdx, [rip-5570]
    004303e2call fn_410600
    004303e7nop
    004303e8
    004303e8loc_4303e8:
    004303e8lea rcx, [rbp+72]
    004303ecmov rdx, [rip-5587]
    004303f3call fn_410600
    004303f8lea rsp, [rbp+80]
    004303fcpop rbp
    004303fdret
    004300b0
    004303fe
    004303fe 48 90 H.
    00430400
    00430400fn_430400:
    00430400push rbp
    00430401sub rsp, 32
    00430405mov rbp, rsp
    00430408lea rcx, [rdx+72]
    0043040cmov rdx, [rip-5619]
    00430413call fn_410600
    00430418lea rsp, [rbp+32]
    0043041cpop rbp
    0043041dret
    00430400
    0043041e
    0043041e // align 0x10
    00430420
    00430420fn_430420:
    00430420push rbp
    00430421push rsi
    00430422push rbx
    00430423sub rsp, 48
    00430427mov rbp, rsp
    0043042amov [rbp+80], rcx
    0043042emov [rbp+88], rdx
    00430432mov rcx, [rbp+80]
    00430436call fn_4106d0
    0043043bmov rcx, [rbp+88]
    0043043fcall fn_4106d0
    00430444nop
    00430445or eax, -1
    00430448mov [rbp+44], eax
    0043044bmov rdx, [rbp+80]
    0043044fmov rax, rdx
    00430452test rax, rax
    00430455je 0x43045b
    00430457mov rax, [rax-8]
    0043045b
    0043045bloc_43045b:
    0043045bmov r8, [rbp+88]
    0043045fmov rcx, r8
    00430462test rcx, rcx
    00430465je 0x43046b
    00430467mov rcx, [rcx-8]
    0043046b
    0043046bloc_43046b:
    0043046bcmp rax, rcx
    0043046ejg 0x430526
    00430474mov rax, rdx
    00430477test rax, rax
    0043047aje 0x430480
    0043047cmov rax, [rax-8]
    00430480
    00430480loc_430480:
    00430480test rax, rax
    00430483je 0x430526
    00430489mov rax, r8
    0043048ctest rax, rax
    0043048fje 0x430495
    00430491mov rax, [rax-8]
    00430495
    00430495loc_430495:
    00430495mov rcx, rdx
    00430498test rcx, rcx
    0043049bje 0x4304a1
    0043049dmov rcx, [rcx-8]
    004304a1
    004304a1loc_4304a1:
    004304a1xor edx, edx
    004304a3mov r8l, eax
    004304a6sub r8l, ecx
    004304a9mov eax, edx
    004304abcmp eax, r8l
    004304aejg 0x430524
    004304b0sub r8l, edx
    004304b3add r8l, 1
    004304b7
    004304b7loc_4304b7:
    004304b7mov dl, 1
    004304b9mov rcx, [rbp+80]
    004304bdtest rcx, rcx
    004304c0je 0x4304c6
    004304c2mov rcx, [rcx-8]
    004304c6
    004304c6loc_4304c6:
    004304c6xor r9, r9
    004304c9mov r10l, ecx
    004304ccsub r10l, 1
    004304d0mov ecx, r9l
    004304d3cmp ecx, r10l
    004304d6jg 0x43050e
    004304d8sub r10l, r9l
    004304dbadd r10l, 1
    004304df
    004304dfloc_4304df:
    004304dfmov r9, [rbp+88]
    004304e3mov r11l, eax
    004304e6add r11l, ecx
    004304e9movsxd r11, r11l
    004304ecmov rbx, [rbp+80]
    004304f0movsxd rsi, ecx
    004304f3movzx r9, [r9+r11]
    004304f8cmp r9b, [rbx+rsi]
    004304fcje 0x430502
    004304fexor edx, edx
    00430500jmp 0x43050e
    00430502
    00430502loc_430502:
    00430502add ecx, 1
    00430505sub r10l, 1
    00430509test r10l, r10l
    0043050cjne 0x4304df
    0043050e
    0043050eloc_43050e:
    0043050enop
    0043050ftest dl, dl
    00430511je 0x430518
    00430513mov [rbp+44], eax
    00430516jmp 0x430526
    00430518
    00430518loc_430518:
    00430518add eax, 1
    0043051bsub r8l, 1
    0043051ftest r8l, r8l
    00430522jne 0x4304b7
    00430524
    00430524loc_430524:
    00430524nop
    00430525nop
    00430526
    00430526loc_430526:
    00430526lea rcx, [rbp+80]
    0043052amov rdx, [rip-5905]
    00430531mov r8l, 2
    00430537call fn_40ec40
    0043053cmov eax, [rbp+44]
    0043053flea rsp, [rbp+48]
    00430543pop rbx
    00430544pop rsi
    00430545pop rbp
    00430546ret
    00430420
    00430547
    00430547 90 48 8d 04 05 00 00 00 00 .H.......
    00430550
    00430550fn_430550:
    00430550push rbp
    00430551sub rsp, 32
    00430555mov rbp, rsp
    00430558lea rcx, [rdx+80]
    0043055cmov rdx, [rip-5955]
    00430563mov r8l, 2
    00430569call fn_40ec40
    0043056elea rsp, [rbp+32]
    00430572pop rbp
    00430573ret
    00430550
    00430574
    00430574 // align 0x10
    00430580
    00430580fn_430580:
    00430580push rbp
    00430581sub rsp, 48
    00430585mov rbp, rsp
    00430588mov [rbp+64], rcx
    0043058cmov rcx, [rbp+64]
    00430590call fn_40bee0
    00430595nop
    00430596xor eax, eax
    00430598mov [rbp+44], eax
    0043059bxor eax, eax
    0043059dmov rcx, [rbp+64]
    004305a1test rcx, rcx
    004305a4je 0x4305a9
    004305a6mov eax, [rcx-4]
    004305a9
    004305a9loc_4305a9:
    004305a9mov ecx, 1
    004305aemov edx, eax
    004305b0mov eax, ecx
    004305b2cmp eax, edx
    004305b4jg 0x4306be
    004305basub edx, ecx
    004305bcadd edx, 1
    004305bf
    004305bfloc_4305bf:
    004305bfmov ecx, [rbp+44]
    004305c2add ecx, ecx
    004305c4lea rcx, [rcx+4*rcx]
    004305c8mov [rbp+44], ecx
    004305cbmov rcx, [rbp+64]
    004305cfmovsxd r8, eax
    004305d2movzx rcx, [rcx+r8-1]
    004305d8cmp ecx, 52
    004305dbjg 0x43061b
    004305ddcmp ecx, 52
    004305e0je 0x430670
    004305e6cmp ecx, 49
    004305e9jg 0x430607
    004305ebcmp ecx, 49
    004305eeje 0x43064f
    004305f0sub ecx, 45
    004305f3test ecx, ecx
    004305f5je 0x430645
    004305f7sub ecx, 3
    004305fatest ecx, ecx
    004305fcjne 0x4306b0
    00430602jmp 0x4306b0
    00430607
    00430607loc_430607:
    00430607sub ecx, 50
    0043060atest ecx, ecx
    0043060cje 0x43065a
    0043060esub ecx, 1
    00430611test ecx, ecx
    00430613jne 0x4306b0
    00430619jmp 0x430665
    0043061b
    0043061bloc_43061b:
    0043061bcmp ecx, 55
    0043061ejg 0x430635
    00430620cmp ecx, 55
    00430623je 0x430691
    00430625sub ecx, 53
    00430628test ecx, ecx
    0043062aje 0x43067b
    0043062csub ecx, 1
    0043062ftest ecx, ecx
    00430631jne 0x4306b0
    00430633jmp 0x430686
    00430635
    00430635loc_430635:
    00430635sub ecx, 56
    00430638test ecx, ecx
    0043063aje 0x43069c
    0043063csub ecx, 1
    0043063ftest ecx, ecx
    00430641jne 0x4306b0
    00430643jmp 0x4306a7
    00430645
    00430645loc_430645:
    00430645mov ecx, [rbp+44]
    00430648neg ecx
    0043064amov [rbp+44], ecx
    0043064djmp 0x4306b0
    0043064f
    0043064floc_43064f:
    0043064fmov ecx, [rbp+44]
    00430652add ecx, 1
    00430655mov [rbp+44], ecx
    00430658jmp 0x4306b0
    0043065a
    0043065aloc_43065a:
    0043065amov ecx, [rbp+44]
    0043065dadd ecx, 2
    00430660mov [rbp+44], ecx
    00430663jmp 0x4306b0
    00430665
    00430665loc_430665:
    00430665mov ecx, [rbp+44]
    00430668add ecx, 3
    0043066bmov [rbp+44], ecx
    0043066ejmp 0x4306b0
    00430670
    00430670loc_430670:
    00430670mov ecx, [rbp+44]
    00430673add ecx, 4
    00430676mov [rbp+44], ecx
    00430679jmp 0x4306b0
    0043067b
    0043067bloc_43067b:
    0043067bmov ecx, [rbp+44]
    0043067eadd ecx, 5
    00430681mov [rbp+44], ecx
    00430684jmp 0x4306b0
    00430686
    00430686loc_430686:
    00430686mov ecx, [rbp+44]
    00430689add ecx, 6
    0043068cmov [rbp+44], ecx
    0043068fjmp 0x4306b0
    00430691
    00430691loc_430691:
    00430691mov ecx, [rbp+44]
    00430694add ecx, 7
    00430697mov [rbp+44], ecx
    0043069ajmp 0x4306b0
    0043069c
    0043069cloc_43069c:
    0043069cmov ecx, [rbp+44]
    0043069fadd ecx, 8
    004306a2mov [rbp+44], ecx
    004306a5jmp 0x4306b0
    004306a7
    004306a7loc_4306a7:
    004306a7mov ecx, [rbp+44]
    004306aaadd ecx, 9
    004306admov [rbp+44], ecx
    004306b0
    004306b0loc_4306b0:
    004306b0add eax, 1
    004306b3sub edx, 1
    004306b6test edx, edx
    004306b8jne 0x4305bf
    004306be
    004306beloc_4306be:
    004306benop
    004306bfnop
    004306c0lea rcx, [rbp+64]
    004306c4call fn_40bd40
    004306c9mov eax, [rbp+44]
    004306cclea rsp, [rbp+48]
    004306d0pop rbp
    004306d1ret
    00430580
    004306d2
    004306d2 64 48 8d 44 20 00 48 8d 04 05 00 00 00 00 dH.D .H.......
    004306e0
    004306e0fn_4306e0:
    004306e0push rbp
    004306e1sub rsp, 32
    004306e5mov rbp, rsp
    004306e8lea rcx, [rdx+64]
    004306eccall fn_40bd40
    004306f1lea rsp, [rbp+32]
    004306f5pop rbp
    004306f6ret
    004306e0
    004306f7
    004306f7 // align 0x10
    00430700
    00430700fn_430700:
    00430700push rbp
    00430701push rbx
    00430702sub rsp, 72
    00430706mov rbp, rsp
    00430709mov [rbp+40], rcx
    0043070dmov [rbp+48], rdx
    00430711mov [rbp+56], 0
    00430719nop
    0043071amov rcx, [rbp+40]
    0043071emov rdx, [rbp+48]
    00430722call fn_40c4a0
    00430727mov rax, [rbp+40]
    0043072bcmp [rax], 0
    0043072fje 0x430775
    00430731lea rcx, [rbp+56]
    00430735mov rax, [rbp+40]
    00430739mov rdx, [rax]
    0043073ccall fn_42f2e0
    00430741mov rcx, [rbp+40]
    00430745mov rdx, [rbp+56]
    00430749call fn_40c4a0
    0043074exor ebx, ebx
    00430750mov rax, [rbp+40]
    00430754mov rax, [rax]
    00430757test rax, rax
    0043075aje 0x43075f
    0043075cmov ebx, [rax-4]
    0043075f
    0043075floc_43075f:
    0043075fmov rax, [rbp+40]
    00430763mov rcx, [rax]
    00430766call fn_40ce10
    0043076bmov rcx, rax
    0043076emov edx, ebx
    00430770call CharUpperBuffA
    00430775
    00430775loc_430775:
    00430775nop
    00430776lea rcx, [rbp+56]
    0043077acall fn_40bd40
    0043077fmov rax, [rbp+40]
    00430783lea rsp, [rbp+72]
    00430787pop rbx
    00430788pop rbp
    00430789ret
    00430700
    0043078a
    0043078a 64 48 8d 44 20 00 dH.D .
    00430790
    00430790fn_430790:
    00430790push rbp
    00430791sub rsp, 32
    00430795mov rbp, rsp
    00430798lea rcx, [rdx+56]
    0043079ccall fn_40bd40
    004307a1lea rsp, [rbp+32]
    004307a5pop rbp
    004307a6ret
    00430790
    004307a7
    004307a7 // align 0x10
    004307b0
    004307b0fn_4307b0:
    004307b0push rbp
    004307b1sub rsp, 48
    004307b5mov rbp, rsp
    004307b8mov [rbp+64], rcx
    004307bcmov rcx, [rbp+64]
    004307c0call fn_40bee0
    004307c5nop
    004307c6xor eax, eax
    004307c8mov [rbp+47], al
    004307cbcmp [rbp+64], 0
    004307d0je 0x43083f
    004307d2xor eax, eax
    004307d4mov rcx, [rbp+64]
    004307d8test rcx, rcx
    004307dbje 0x4307e0
    004307ddmov eax, [rcx-4]
    004307e0
    004307e0loc_4307e0:
    004307e0mov ecx, 1
    004307e5mov edx, eax
    004307e7mov eax, ecx
    004307e9cmp eax, edx
    004307ebjg 0x430838
    004307edsub edx, ecx
    004307efadd edx, 1
    004307f2
    004307f2loc_4307f2:
    004307f2mov rcx, [rbp+64]
    004307f6movsxd r8, eax
    004307f9movzx rcx, [rcx+r8-1]
    004307ffsub cl, 48
    00430802cmp cl, 15
    00430805ja 0x430828
    00430807mov r8w, 1
    0043080cmovzx cx, cl
    00430810and cx, 127
    00430814shl r8l, cl
    00430817movzx rcx, [rip+89]
    0043081ftest r8w, cx
    00430823setne cl
    00430826jmp 0x43082a
    00430828
    00430828loc_430828:
    00430828xor ecx, ecx
    0043082a
    0043082aloc_43082a:
    0043082atest cl, cl
    0043082cje 0x43083f
    0043082eadd eax, 1
    00430831sub edx, 1
    00430834test edx, edx
    00430836jne 0x4307f2
    00430838
    00430838loc_430838:
    00430838nop
    00430839mov al, 1
    0043083bmov [rbp+47], al
    0043083enop
    0043083f
    0043083floc_43083f:
    0043083flea rcx, [rbp+64]
    00430843call fn_40bd40
    00430848movzx rax, [rbp+47]
    0043084dlea rsp, [rbp+48]
    00430851pop rbp
    00430852ret
    004307b0
    00430853
    00430853 48 8d 44 20 00 48 8d 04 05 00 00 00 00 H.D .H.......
    00430860
    00430860fn_430860:
    00430860push rbp
    00430861sub rsp, 32
    00430865mov rbp, rsp
    00430868lea rcx, [rdx+64]
    0043086ccall fn_40bd40
    00430871lea rsp, [rbp+32]
    00430875pop rbp
    00430876ret
    00430860
    00430877
    00430877 00 ff 03 cc cc cc cc cc cc .........
    00430880
    00430880fn_430880:
    00430880push rbp
    00430881push rsi
    00430882push rbx
    00430883sub rsp, 64
    00430887mov rbp, rsp
    0043088amov [rbp+40], rcx
    0043088emov [rbp+56], 0
    00430896mov [rbp+48], 0
    0043089emov [rbp+104], rdx
    004308a2mov rcx, [rbp+104]
    004308a6call fn_4106d0
    004308abnop
    004308acmov rcx, [rbp+40]
    004308b0call fn_40bd40
    004308b5mov rax, [rbp+104]
    004308b9test rax, rax
    004308bcje 0x4308c2
    004308bemov rax, [rax-8]
    004308c2
    004308c2loc_4308c2:
    004308c2xor ecx, ecx
    004308c4mov esi, eax
    004308c6sub esi, 1
    004308c9mov ebx, ecx
    004308cbcmp ebx, esi
    004308cdjg 0x430916
    004308cfsub esi, ecx
    004308d1add esi, 1
    004308d4
    004308d4loc_4308d4:
    004308d4lea rcx, [rbp+56]
    004308d8mov rax, [rbp+104]
    004308dcmovsxd rdx, ebx
    004308dfmovzx rdx, [rax+rdx]
    004308e4mov r8l, 2
    004308eacall fn_422860
    004308eflea rcx, [rbp+48]
    004308f3mov rdx, [rbp+56]
    004308f7xor r8, r8
    004308facall fn_40cff0
    004308ffmov rcx, [rbp+40]
    00430903mov rdx, [rbp+48]
    00430907call fn_40c910
    0043090cadd ebx, 1
    0043090fsub esi, 1
    00430912test esi, esi
    00430914jne 0x4308d4
    00430916
    00430916loc_430916:
    00430916nop
    00430917nop
    00430918lea rcx, [rbp+48]
    0043091ccall fn_40bd40
    00430921lea rcx, [rbp+56]
    00430925call fn_40bcf0
    0043092alea rcx, [rbp+104]
    0043092emov rdx, [rip-6933]
    00430935call fn_410600
    0043093amov rax, [rbp+40]
    0043093elea rsp, [rbp+64]
    00430942pop rbx
    00430943pop rsi
    00430944pop rbp
    00430945ret
    00430880
    00430946
    00430946 48 90 48 8d 04 05 00 00 00 00 H.H.......
    00430950
    00430950fn_430950:
    00430950push rbp
    00430951push rbx
    00430952sub rsp, 40
    00430956mov rbp, rsp
    00430959mov rbx, rdx
    0043095clea rcx, [rbx+48]
    00430960call fn_40bd40
    00430965lea rcx, [rbx+56]
    00430969call fn_40bcf0
    0043096elea rcx, [rbx+104]
    00430972mov rdx, [rip-7001]
    00430979call fn_410600
    0043097elea rsp, [rbp+40]
    00430982pop rbx
    00430983pop rbp
    00430984ret
    00430950
    00430985
    00430985 // align 0x10
    00430990
    00430990fn_430990:
    00430990push rsi
    00430991push rbx
    00430992sub rsp, 40
    00430996mov rbx, rcx
    00430999mov esi, edx
    0043099bmov rcx, rbx
    0043099emov rdx, [rip-7045]
    004309a5call fn_410600
    004309aamov rcx, rbx
    004309admov rdx, [rip-7060]
    004309b4mov r8l, 1
    004309bamov r9l, 4
    004309c0call fn_410430
    004309c5mov rax, [rbx]
    004309c8mov [rax+3], sil
    004309ccshr esi, 8
    004309cfmov rax, [rbx]
    004309d2mov [rax+2], sil
    004309d6shr esi, 8
    004309d9mov rax, [rbx]
    004309dcmov [rax+1], sil
    004309e0shr esi, 8
    004309e3mov rax, [rbx]
    004309e6mov [rax], sil
    004309e9mov rax, rbx
    004309ecadd rsp, 40
    004309f0pop rbx
    004309f1pop rsi
    004309f2ret
    00430990
    004309f3
    004309f3 // align 0x10
    00430a00
    00430a00fn_430a00:
    00430a00xor eax, eax
    00430a02mov rdx, [rcx]
    00430a05test rdx, rdx
    00430a08je 0x430a0e
    00430a0amov rdx, [rdx-8]
    00430a0e
    00430a0eloc_430a0e:
    00430a0exor r8, r8
    00430a11mov r9l, edx
    00430a14sub r9l, 1
    00430a18mov edx, r8l
    00430a1bcmp edx, r9l
    00430a1ejg 0x430a44
    00430a20sub r9l, r8l
    00430a23add r9l, 1
    00430a27
    00430a27loc_430a27:
    00430a27shl eax, 8
    00430a2amov r8, [rcx]
    00430a2dmovsxd r10, edx
    00430a30movzx r8, [r8+r10]
    00430a35add eax, r8l
    00430a38add edx, 1
    00430a3bsub r9l, 1
    00430a3ftest r9l, r9l
    00430a42jne 0x430a27
    00430a44
    00430a44loc_430a44:
    00430a44nop
    00430a45ret
    00430a00
    00430a46
    00430a46 // align 0x10
    00430a50
    00430a50fn_430a50:
    00430a50push rbp
    00430a51push rsi
    00430a52push rbx
    00430a53sub rsp, 80
    00430a57mov rbp, rsp
    00430a5amov [rbp+40], rcx
    00430a5emov [rbp+48], rdx
    00430a62mov [rbp+56], r8l
    00430a66mov [rbp+60], r9l
    00430a6amov [rbp+72], 0
    00430a72nop
    00430a73mov eax, [rbp+60]
    00430a76test eax, eax
    00430a78jne 0x430a8f
    00430a7amov rcx, [rbp+48]
    00430a7emov rdx, [rip-7269]
    00430a85call fn_410600
    00430a8ajmp 0x430b83
    00430a8f
    00430a8floc_430a8f:
    00430a8fmov rax, [rbp+40]
    00430a93mov rcx, [rax]
    00430a96mov rax, rcx
    00430a99test rax, rax
    00430a9cje 0x430aa2
    00430a9emov rax, [rax-8]
    00430aa2
    00430aa2loc_430aa2:
    00430aa2mov edx, [rbp+56]
    00430aa5movsxd rdx, edx
    00430aa8cmp rdx, rax
    00430aabjl 0x430ac2
    00430aadmov rcx, [rbp+48]
    00430ab1mov rdx, [rip-7320]
    00430ab8call fn_410600
    00430abdjmp 0x430b83
    00430ac2
    00430ac2loc_430ac2:
    00430ac2mov rax, rcx
    00430ac5test rax, rax
    00430ac8je 0x430ace
    00430acamov rax, [rax-8]
    00430ace
    00430aceloc_430ace:
    00430acemov edx, [rbp+56]
    00430ad1mov r8l, [rbp+60]
    00430ad5add edx, r8l
    00430ad8movsxd rdx, edx
    00430adbcmp rdx, rax
    00430adejle 0x430af4
    00430ae0mov rax, rcx
    00430ae3test rax, rax
    00430ae6je 0x430aec
    00430ae8mov rax, [rax-8]
    00430aec
    00430aecloc_430aec:
    00430aecmov ecx, [rbp+56]
    00430aefsub eax, ecx
    00430af1mov [rbp+60], eax
    00430af4
    00430af4loc_430af4:
    00430af4lea rcx, [rbp+72]
    00430af8mov rdx, [rip-7391]
    00430affcall fn_410600
    00430b04mov ebx, [rbp+60]
    00430b07movsxd rbx, ebx
    00430b0alea rcx, [rbp+72]
    00430b0emov rdx, [rip-7413]
    00430b15mov r8l, 1
    00430b1bmov r9, rbx
    00430b1ecall fn_410430
    00430b23mov esi, [rbp+60]
    00430b26movsxd rsi, esi
    00430b29mov rax, [rbp+40]
    00430b2dmov rax, [rax]
    00430b30mov ecx, [rbp+56]
    00430b33movsxd rcx, ecx
    00430b36lea rcx, [rax+rcx]
    00430b3amov rdx, [rbp+72]
    00430b3emov r8, rsi
    00430b41call fn_405ac0
    00430b46mov rcx, [rbp+48]
    00430b4amov rdx, [rip-7473]
    00430b51call fn_410600
    00430b56mov rcx, [rbp+48]
    00430b5amov rdx, [rip-7489]
    00430b61mov r8l, 1
    00430b67mov r9, rbx
    00430b6acall fn_410430
    00430b6fmov rcx, [rbp+72]
    00430b73mov rax, [rbp+48]
    00430b77mov rdx, [rax]
    00430b7amov r8, rsi
    00430b7dcall fn_405ac0
    00430b82nop
    00430b83
    00430b83loc_430b83:
    00430b83lea rcx, [rbp+72]
    00430b87mov rdx, [rip-7534]
    00430b8ecall fn_410600
    00430b93lea rsp, [rbp+80]
    00430b97pop rbx
    00430b98pop rsi
    00430b99pop rbp
    00430b9aret
    00430a50
    00430b9b
    00430b9b 48 8d 44 20 00 H.D .
    00430ba0
    00430ba0fn_430ba0:
    00430ba0push rbp
    00430ba1sub rsp, 32
    00430ba5mov rbp, rsp
    00430ba8lea rcx, [rdx+72]
    00430bacmov rdx, [rip-7571]
    00430bb3call fn_410600
    00430bb8lea rsp, [rbp+32]
    00430bbcpop rbp
    00430bbdret
    00430ba0
    00430bbe
    00430bbe // align 0x10
    00430bc0
    00430bc0fn_430bc0:
    00430bc0push rbp
    00430bc1sub rsp, 48
    00430bc5mov rbp, rsp
    00430bc8mov [rbp+32], rcx
    00430bccmov [rbp+72], rdx
    00430bd0mov rcx, [rbp+72]
    00430bd4call fn_40bee0
    00430bd9nop
    00430bdaxor eax, eax
    00430bdcmov [rbp+47], al
    00430bdfmov rcx, [rbp+72]
    00430be3call fn_40ce10
    00430be8xor ecx, ecx
    00430beaor edx, -1
    00430bedmov r8, rax
    00430bf0call fn_416580
    00430bf5mov rcx, [rbp+32]
    00430bf9mov [rcx], rax
    00430bfccall GetLastError
    00430c01cmp eax, 183
    00430c07jne 0x430c24
    00430c09mov rax, [rbp+32]
    00430c0dmov rcx, [rax]
    00430c10call CloseHandle
    00430c15mov ecx, 100
    00430c1acall Sleep
    00430c1fmov al, 1
    00430c21mov [rbp+47], al
    00430c24
    00430c24loc_430c24:
    00430c24nop
    00430c25lea rcx, [rbp+72]
    00430c29call fn_40bd40
    00430c2emovzx rax, [rbp+47]
    00430c33lea rsp, [rbp+48]
    00430c37pop rbp
    00430c38ret
    00430bc0
    00430c39
    00430c39 48 8d 80 00 00 00 00 H......
    00430c40
    00430c40fn_430c40:
    00430c40push rbp
    00430c41sub rsp, 32
    00430c45mov rbp, rsp
    00430c48lea rcx, [rdx+72]
    00430c4ccall fn_40bd40
    00430c51lea rsp, [rbp+32]
    00430c55pop rbp
    00430c56ret
    00430c40
    00430c57
    00430c57 // align 0x10
    00430c60
    00430c60fn_430c60:
    00430c60push rbp
    00430c61sub rsp, 576
    00430c68mov rbp, rsp
    00430c6bmov [rbp+32], rcx
    00430c6fmov [rbp+40], 0
    00430c77nop
    00430c78mov ecx, 260
    00430c7dlea rdx, [rbp+56]
    00430c81call GetTempPathW
    00430c86mov rcx, [rbp+32]
    00430c8alea rdx, [rbp+56]
    00430c8emov r8l, 260
    00430c94call fn_40d110
    00430c99lea rcx, [rbp+40]
    00430c9dmov rax, [rbp+32]
    00430ca1mov rdx, [rax]
    00430ca4call fn_422140
    00430ca9mov rcx, [rbp+32]
    00430cadmov rdx, [rbp+40]
    00430cb1call fn_40c440
    00430cb6xor eax, eax
    00430cb8mov rcx, [rbp+32]
    00430cbcmov rcx, [rcx]
    00430cbftest rcx, rcx
    00430cc2je 0x430cca
    00430cc4mov eax, [rcx-4]
    00430cc7shr eax, 1
    00430cca
    00430ccaloc_430cca:
    00430ccatest eax, eax
    00430cccje 0x430cfd
    00430ccexor eax, eax
    00430cd0test rcx, rcx
    00430cd3je 0x430cdb
    00430cd5mov eax, [rcx-4]
    00430cd8shr eax, 1
    00430cdb
    00430cdbloc_430cdb:
    00430cdbmov rcx, [rbp+32]
    00430cdfmov rcx, [rcx]
    00430ce2movsxd rax, eax
    00430ce5cmp [rcx+2*rax-2], 92
    00430cebje 0x430cfd
    00430cedmov rcx, [rbp+32]
    00430cf1lea rdx, [rip+68]
    00430cf8call fn_40d1a0
    00430cfd
    00430cfdloc_430cfd:
    00430cfdnop
    00430cfelea rcx, [rbp+40]
    00430d02call fn_40bd90
    00430d07mov rax, [rbp+32]
    00430d0blea rsp, [rbp+576]
    00430d12pop rbp
    00430d13ret
    00430c60
    00430d14
    00430d14 48 8d 40 00 48 8d 04 05 00 00 00 00 H.@.H.......
    00430d20
    00430d20fn_430d20:
    00430d20push rbp
    00430d21sub rsp, 32
    00430d25mov rbp, rsp
    00430d28lea rcx, [rdx+40]
    00430d2ccall fn_40bd90
    00430d31lea rsp, [rbp+32]
    00430d35pop rbp
    00430d36ret
    00430d20
    00430d37
    00430d37 00 02 00 00 00 5c 00 00 00 .....\...
    00430d40
    00430d40fn_430d40:
    00430d40push rsi
    00430d41push rbx
    00430d42sub rsp, 40
    00430d46mov rbx, rcx
    00430d49mov rsi, rdx
    00430d4cmov rcx, rbx
    00430d4fcall fn_40bd40
    00430d54mov rax, [rsi]
    00430d57test rax, rax
    00430d5aje 0x430d60
    00430d5cmov rax, [rax-8]
    00430d60
    00430d60loc_430d60:
    00430d60mov rcx, rbx
    00430d63mov edx, eax
    00430d65xor r8, r8
    00430d68call fn_40cf30
    00430d6dmov rcx, rbx
    00430d70call fn_40c690
    00430d75mov rcx, rax
    00430d78mov rax, [rsi]
    00430d7btest rax, rax
    00430d7eje 0x430d84
    00430d80mov rax, [rax-8]
    00430d84
    00430d84loc_430d84:
    00430d84mov rdx, [rsi]
    00430d87mov r8, rcx
    00430d8amov rcx, rdx
    00430d8dmov rdx, r8
    00430d90mov r8, rax
    00430d93call fn_405ac0
    00430d98mov rax, rbx
    00430d9badd rsp, 40
    00430d9fpop rbx
    00430da0pop rsi
    00430da1ret
    00430d40
    00430da2
    00430da2 // align 0x10
    00430db0
    00430db0fn_430db0:
    00430db0push rbp
    00430db1sub rsp, 48
    00430db5mov rbp, rsp
    00430db8mov [rbp+40], rdx
    00430dbcmov [rbp+64], rcx
    00430dc0mov rcx, [rbp+64]
    00430dc4call fn_40bee0
    00430dc9nop
    00430dcamov rcx, [rbp+40]
    00430dcemov rdx, [rip-8117]
    00430dd5call fn_410600
    00430ddaxor eax, eax
    00430ddcmov rcx, [rbp+64]
    00430de0test rcx, rcx
    00430de3je 0x430de8
    00430de5mov eax, [rcx-4]
    00430de8
    00430de8loc_430de8:
    00430de8mov rcx, [rbp+40]
    00430decmov rdx, [rip-8147]
    00430df3mov r8l, 1
    00430df9movsxd r9, eax
    00430dfccall fn_410430
    00430e01lea rcx, [rbp+64]
    00430e05call fn_40c690
    00430e0amov rcx, rax
    00430e0dxor eax, eax
    00430e0fmov rdx, [rbp+64]
    00430e13test rdx, rdx
    00430e16je 0x430e1b
    00430e18mov eax, [rdx-4]
    00430e1b
    00430e1bloc_430e1b:
    00430e1bmov rdx, [rbp+40]
    00430e1fmov rdx, [rdx]
    00430e22movsxd r8, eax
    00430e25call fn_405ac0
    00430e2anop
    00430e2blea rcx, [rbp+64]
    00430e2fcall fn_40bd40
    00430e34lea rsp, [rbp+48]
    00430e38pop rbp
    00430e39ret
    00430db0
    00430e3a
    00430e3a 64 48 8d 44 20 00 dH.D .
    00430e40
    00430e40fn_430e40:
    00430e40push rbp
    00430e41sub rsp, 32
    00430e45mov rbp, rsp
    00430e48lea rcx, [rdx+64]
    00430e4ccall fn_40bd40
    00430e51lea rsp, [rbp+32]
    00430e55pop rbp
    00430e56ret
    00430e40
    00430e57
    00430e57 // align 0x10
    00430e60
    00430e60fn_430e60:
    00430e60push rbp
    00430e61sub rsp, 576
    00430e68mov rbp, rsp
    00430e6bmov [rbp+32], rcx
    00430e6fmov [rbp+40], 0
    00430e77nop
    00430e78lea rcx, [rbp+56]
    00430e7cmov edx, 260
    00430e81call GetWindowsDirectoryW
    00430e86mov rcx, [rbp+32]
    00430e8alea rdx, [rbp+56]
    00430e8emov r8l, 260
    00430e94call fn_40d110
    00430e99lea rcx, [rbp+40]
    00430e9dmov rax, [rbp+32]
    00430ea1mov rdx, [rax]
    00430ea4call fn_422140
    00430ea9mov rcx, [rbp+32]
    00430eadmov rdx, [rbp+40]
    00430eb1call fn_40c440
    00430eb6xor eax, eax
    00430eb8mov rcx, [rbp+32]
    00430ebcmov rcx, [rcx]
    00430ebftest rcx, rcx
    00430ec2je 0x430eca
    00430ec4mov eax, [rcx-4]
    00430ec7shr eax, 1
    00430eca
    00430ecaloc_430eca:
    00430ecatest eax, eax
    00430eccje 0x430efd
    00430ecexor eax, eax
    00430ed0test rcx, rcx
    00430ed3je 0x430edb
    00430ed5mov eax, [rcx-4]
    00430ed8shr eax, 1
    00430edb
    00430edbloc_430edb:
    00430edbmov rcx, [rbp+32]
    00430edfmov rcx, [rcx]
    00430ee2movsxd rax, eax
    00430ee5cmp [rcx+2*rax-2], 92
    00430eebje 0x430efd
    00430eedmov rcx, [rbp+32]
    00430ef1lea rdx, [rip+68]
    00430ef8call fn_40d1a0
    00430efd
    00430efdloc_430efd:
    00430efdnop
    00430efelea rcx, [rbp+40]
    00430f02call fn_40bd90
    00430f07mov rax, [rbp+32]
    00430f0blea rsp, [rbp+576]
    00430f12pop rbp
    00430f13ret
    00430e60
    00430f14
    00430f14 48 8d 40 00 48 8d 04 05 00 00 00 00 H.@.H.......
    00430f20
    00430f20fn_430f20:
    00430f20push rbp
    00430f21sub rsp, 32
    00430f25mov rbp, rsp
    00430f28lea rcx, [rdx+40]
    00430f2ccall fn_40bd90
    00430f31lea rsp, [rbp+32]
    00430f35pop rbp
    00430f36ret
    00430f20
    00430f37
    00430f37 00 02 00 00 00 5c 00 00 00 .....\...
    00430f40
    00430f40fn_430f40:
    00430f40push rdi
    00430f41push rsi
    00430f42push rbx
    00430f43sub rsp, 32
    00430f47mov rbx, rcx
    00430f4amov esi, edx
    00430f4dmov rcx, rbx
    00430f50call fn_40bd90
    00430f55mov rcx, rbx
    00430f58movzx rdx, sil
    00430f5ccall fn_40d6b0
    00430f61mov al, 1
    00430f63mov edi, esi
    00430f66mov esi, eax
    00430f69cmp sil, dil
    00430f6cja 0x430fd0
    00430f6esub dil, al
    00430f71add dil, 1
    00430f75
    00430f75loc_430f75:
    00430f75mov ecx, 2
    00430f7acall fn_405e80
    00430f7fsub eax, 1
    00430f82cmp eax, -1
    00430f85je 0x430f8d
    00430f87test eax, eax
    00430f89jne 0x430fc3
    00430f8bjmp 0x430fa9
    00430f8d
    00430f8dloc_430f8d:
    00430f8dmov ecx, 10
    00430f92call fn_405e80
    00430f97mov rcx, [rbx]
    00430f9amovzx rdx, sil
    00430f9eadd ax, 48
    00430fa2mov [rcx+2*rdx-2], ax
    00430fa7jmp 0x430fc3
    00430fa9
    00430fa9loc_430fa9:
    00430fa9mov ecx, 26
    00430faecall fn_405e80
    00430fb3mov rcx, [rbx]
    00430fb6movzx rdx, sil
    00430fbaadd ax, 97
    00430fbemov [rcx+2*rdx-2], ax
    00430fc3
    00430fc3loc_430fc3:
    00430fc3add sil, 1
    00430fc7sub dil, 1
    00430fcbtest dil, dil
    00430fcejne 0x430f75
    00430fd0
    00430fd0loc_430fd0:
    00430fd0nop
    00430fd1mov rax, rbx
    00430fd4add rsp, 32
    00430fd8pop rbx
    00430fd9pop rsi
    00430fdapop rdi
    00430fdbret
    00430f40
    00430fdc
    00430fdc // align 0x10
    00430fe0
    00430fe0Unit19.finalization:
    00430fe0add [rip+0x3eff1], 1
    00430fe7cmp [rip+0x3efea], 0
    00430feeret
    00430fe0
    00430fef
    00430fef // align 0x10
    00430ff0
    00430ff0Unit19.initialization:
    00430ff0sub [rip+0x3efe1], 1
    00430ff7cmp [rip+0x3efda], -1
    00430fferet
    00430ff0
    00430fff
    00430fff // align 0x10
    00431000
    00431000 08 10 43 00 00 00 00 00 11 15 3a 54 53 69 6d 70 ..C.......:TSimp
    00431010 6c 65 53 74 72 69 6e 67 4c 69 73 74 2e 3a 31 08 leStringList.:1.
    00431020 00 00 00 40 12 40 00 00 00 00 00 4a 00 00 00 40 ...@.@.....J...@
    00431030 12 40 00 00 00 00 00 10 53 69 6d 70 6c 65 53 74 .@......SimpleSt
    00431040 72 69 6e 67 4c 69 73 74 40 12 40 00 00 00 00 00 ringList@.@.....
    00431050 02 00 00 00 00 00 00 00 20 11 43 00 00 00 00 00 ........ .C.....
    00431060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00431070 20 11 43 00 00 00 00 00 a0 13 43 00 00 00 00 00 .C.......C.....
    00431080 3b 11 43 00 00 00 00 00 8c 11 43 00 00 00 00 00 ;.C.......C.....
    00431090 00 00 00 00 00 00 00 00 e6 11 43 00 00 00 00 00 ..........C.....
    004310a0 20 00 00 00 00 00 00 00 38 16 40 00 00 00 00 00 .......8.@.....
    004310b0 40 8e 40 00 00 00 00 00 50 8e 40 00 00 00 00 00 @.@.....P.@.....
    004310c0 20 92 40 00 00 00 00 00 10 92 40 00 00 00 00 00 .@.......@.....
    004310d0 50 92 40 00 00 00 00 00 60 92 40 00 00 00 00 00 P.@.....`.@.....
    004310e0 70 92 40 00 00 00 00 00 40 92 40 00 00 00 00 00 p.@.....@.@.....
    004310f0 b0 8a 40 00 00 00 00 00 e0 8a 40 00 00 00 00 00 ..@.......@.....
    00431100 c0 17 43 00 00 00 00 00 00 8b 40 00 00 00 00 00 ..C.......@.....
    00431110 10 8b 40 00 00 00 00 00 20 8b 40 00 00 00 00 00 ..@..... .@.....
    00431120 0e 00 00 00 00 00 01 00 00 00 00 10 43 00 00 00 ............C...
    00431130 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00431140 00 00 00 00 00 03 00 02 00 10 43 00 00 00 00 00 ..........C.....
    00431150 08 00 00 00 05 4c 69 6e 65 73 02 00 02 d8 10 40 .....Lines.....@
    00431160 00 00 00 00 00 10 00 00 00 05 43 6f 75 6e 74 02 ..........Count.
    00431170 00 02 d8 10 40 00 00 00 00 00 14 00 00 00 0b 4d ....@..........M
    00431180 61 78 43 61 70 61 63 69 74 79 02 00 00 00 07 00 axCapacity......
    00431190 f8 11 43 00 00 00 00 00 42 00 f1 ff 36 12 43 00 ..C.....B...6.C.
    004311a0 00 00 00 00 42 00 f1 ff 7f 12 43 00 00 00 00 00 ....B.....C.....
    004311b0 42 00 f1 ff b0 12 43 00 00 00 00 00 42 00 f1 ff B.....C.....B...
    004311c0 e6 12 43 00 00 00 00 00 42 00 f1 ff 2c 13 43 00 ..C.....B...,.C.
    004311d0 00 00 00 00 44 00 f1 ff 5e 13 43 00 00 00 00 00 ....D...^.C.....
    004311e0 4d 00 fc ff 00 00 11 54 53 69 6d 70 6c 65 53 74 M......TSimpleSt
    004311f0 72 69 6e 67 4c 69 73 74 3e 00 c0 16 43 00 00 00 ringList>...C...
    00431200 00 00 03 41 64 64 03 00 00 00 00 00 00 00 00 00 ...Add..........
    00431210 20 00 02 08 98 13 43 00 00 00 00 00 00 00 04 53 .....C........S
    00431220 65 6c 66 02 00 02 40 12 40 00 00 00 00 00 00 00 elf...@.@.......
    00431230 01 73 02 00 02 00 49 00 a0 14 43 00 00 00 00 00 .s....I...C.....
    00431240 0a 53 65 74 54 65 78 74 53 74 72 03 00 00 00 00 .SetTextStr.....
    00431250 00 00 00 00 00 20 00 02 08 98 13 43 00 00 00 00 ..... .....C....
    00431260 00 00 00 04 53 65 6c 66 02 00 02 40 12 40 00 00 ....Self...@.@..
    00431270 00 00 00 00 00 05 56 61 6c 75 65 02 00 02 00 31 ......Value....1
    00431280 00 e0 13 43 00 00 00 00 00 05 43 6c 65 61 72 03 ...C......Clear.
    00431290 00 00 00 00 00 00 00 00 00 18 00 01 08 98 13 43 ...............C
    004312a0 00 00 00 00 00 00 00 04 53 65 6c 66 02 00 02 00 ........Self....
    004312b0 36 00 70 14 43 00 00 00 00 00 0a 44 65 6c 65 74 6.p.C......Delet
    004312c0 65 4c 61 73 74 03 00 00 00 00 00 00 00 00 00 18 eLast...........
    004312d0 00 01 08 98 13 43 00 00 00 00 00 00 00 04 53 65 .....C........Se
    004312e0 6c 66 02 00 02 00 46 00 f0 13 43 00 00 00 00 00 lf....F...C.....
    004312f0 0a 53 61 66 65 44 65 6c 65 74 65 03 00 00 00 00 .SafeDelete.....
    00431300 00 00 00 00 00 20 00 02 08 98 13 43 00 00 00 00 ..... .....C....
    00431310 00 00 00 04 53 65 6c 66 02 00 00 d8 10 40 00 00 ....Self.....@..
    00431320 00 00 00 00 00 02 65 6c 02 00 02 00 32 00 00 17 ......el....2...
    00431330 43 00 00 00 00 00 06 43 72 65 61 74 65 03 00 00 C......Create...
    00431340 00 00 00 00 00 00 00 20 00 01 08 98 13 43 00 00 ....... .....C..
    00431350 00 00 00 00 00 04 53 65 6c 66 02 00 02 00 33 00 ......Self....3.
    00431360 c0 17 43 00 00 00 00 00 07 44 65 73 74 72 6f 79 ..C......Destroy
    00431370 03 00 00 00 00 00 00 00 00 00 20 00 01 08 98 13 .......... .....
    00431380 43 00 00 00 00 00 00 00 04 53 65 6c 66 02 00 02 C........Self...
    00431390 00 00 00 00 00 00 00 00 a0 13 43 00 00 00 00 00 ..........C.....
    004313a0 07 11 54 53 69 6d 70 6c 65 53 74 72 69 6e 67 4c ..TSimpleStringL
    004313b0 69 73 74 20 11 43 00 00 00 00 00 58 22 40 00 00 ist .C.....X"@..
    004313c0 00 00 00 00 00 10 53 69 6d 70 6c 65 53 74 72 69 ......SimpleStri
    004313d0 6e 67 4c 69 73 74 00 00 00 00 02 00 00 00 cc cc ngList..........
    004313e0
    004313e0TSimpleStringList.Clear:
    004313e0mov [rcx+16], 0
    004313e7ret
    004313e0
    004313e8
    004313e8 // align 0x10
    004313f0
    004313f0TSimpleStringList.SafeDelete:
    004313f0push rdi
    004313f1push rsi
    004313f2push rbx
    004313f3sub rsp, 32
    004313f7mov rbx, rcx
    004313famov eax, [rbx+16]
    004313fdcmp edx, eax
    004313ffjae 0x43145f
    00431401mov ecx, eax
    00431403sub ecx, 1
    00431406cmp edx, ecx
    00431408jae 0x431443
    0043140amov edi, eax
    0043140csub edi, 2
    0043140fmov esi, edx
    00431411cmp esi, edi
    00431413ja 0x431442
    00431415sub edi, edx
    00431417add edi, 1
    0043141a
    0043141aloc_43141a:
    0043141amov rax, [rbx+8]
    0043141emov ecx, esi
    00431420lea rcx, [rax+8*rcx]
    00431424mov rax, [rbx+8]
    00431428mov edx, esi
    0043142aadd edx, 1
    0043142dmov edx, edx
    0043142fmov rdx, [rax+8*rdx]
    00431433call fn_40c360
    00431438add esi, 1
    0043143bsub edi, 1
    0043143etest edi, edi
    00431440jne 0x43141a
    00431442
    00431442loc_431442:
    00431442nop
    00431443
    00431443loc_431443:
    00431443mov rax, [rbx+8]
    00431447mov ecx, [rbx+16]
    0043144asub ecx, 1
    0043144dmov ecx, ecx
    0043144flea rcx, [rax+8*rcx]
    00431453call fn_40bcf0
    00431458lea rax, [rbx+16]
    0043145csub [rax], 1
    0043145f
    0043145floc_43145f:
    0043145fadd rsp, 32
    00431463pop rbx
    00431464pop rsi
    00431465pop rdi
    00431466ret
    004313f0
    00431467
    00431467 // align 0x10
    00431470
    00431470TSimpleStringList.DeleteLast:
    00431470push rbx
    00431471sub rsp, 32
    00431475mov rbx, rcx
    00431478mov eax, [rbx+16]
    0043147btest eax, eax
    0043147dje 0x431498
    0043147fmov rcx, [rbx+8]
    00431483sub eax, 1
    00431486mov eax, eax
    00431488lea rcx, [rcx+8*rax]
    0043148ccall fn_40bcf0
    00431491lea rax, [rbx+16]
    00431495sub [rax], 1
    00431498
    00431498loc_431498:
    00431498add rsp, 32
    0043149cpop rbx
    0043149dret
    00431470
    0043149e
    0043149e // align 0x10
    004314a0
    004314a0TSimpleStringList.SetTextStr:
    004314a0push rbp
    004314a1push r13
    004314a3push rdi
    004314a4push rsi
    004314a5push rbx
    004314a6sub rsp, 64
    004314aamov rbp, rsp
    004314admov [rbp+32], rcx
    004314b1mov [rbp+40], rdx
    004314b5mov [rbp+56], 0
    004314bdnop
    004314bemov rcx, [rbp+32]
    004314c2call TSimpleStringList.Clear
    004314c7mov rax, [rbp+40]
    004314cbtest rax, rax
    004314ceje 0x4315f0
    004314d4mov ebx, 1
    004314d9mov esi, 1
    004314dejmp 0x4315d8
    004314e3
    004314e3 eb 03 ..
    004314e5
    004314e5loc_4314e5:
    004314e5add esi, 1
    004314e8
    004314e8loc_4314e8:
    004314e8xor eax, eax
    004314eamov rcx, [rbp+40]
    004314eetest rcx, rcx
    004314f1je 0x4314f6
    004314f3mov eax, [rcx-4]
    004314f6
    004314f6loc_4314f6:
    004314f6cmp esi, eax
    004314f8jg 0x431518
    004314famovsxd rax, esi
    004314fdmov rcx, [rbp+40]
    00431501cmp [rcx+2*rax-2], 13
    00431507je 0x431518
    00431509movsxd rax, esi
    0043150cmov rcx, [rbp+40]
    00431510cmp [rcx+2*rax-2], 10
    00431516jne 0x4314e5
    00431518
    00431518loc_431518:
    00431518lea rcx, [rbp+56]
    0043151ccall fn_40bcf0
    00431521mov eax, esi
    00431523sub eax, ebx
    00431525test eax, eax
    00431527je 0x43157e
    00431529lea rcx, [rbp+56]
    0043152dmov edx, eax
    0043152fcall fn_40d8d0
    00431534mov edi, 1
    00431539mov eax, ebx
    0043153bmov r13l, esi
    0043153esub r13l, 1
    00431542mov ebx, eax
    00431544cmp ebx, r13l
    00431547jg 0x43157d
    00431549sub r13l, eax
    0043154cadd r13l, 1
    00431550
    00431550loc_431550:
    00431550lea rcx, [rbp+56]
    00431554call fn_40c680
    00431559movsxd rcx, edi
    0043155cmovsxd rdx, ebx
    0043155fmov r8, [rbp+40]
    00431563movzx rdx, [r8+2*rdx-2]
    00431569mov [rax+2*rcx-2], dx
    0043156eadd edi, 1
    00431571add ebx, 1
    00431574sub r13l, 1
    00431578test r13l, r13l
    0043157bjne 0x431550
    0043157d
    0043157dloc_43157d:
    0043157dnop
    0043157e
    0043157eloc_43157e:
    0043157emov rcx, [rbp+32]
    00431582mov rdx, [rbp+56]
    00431586call TSimpleStringList.Add
    0043158bmov ebx, esi
    0043158dxor eax, eax
    0043158fmov rcx, [rbp+40]
    00431593test rcx, rcx
    00431596je 0x43159b
    00431598mov eax, [rcx-4]
    0043159b
    0043159bloc_43159b:
    0043159bcmp ebx, eax
    0043159djg 0x4315ee
    0043159fmovsxd rax, ebx
    004315a2mov rdx, [rbp+40]
    004315a6cmp [rdx+2*rax-2], 13
    004315acjne 0x4315d3
    004315aexor eax, eax
    004315b0test rcx, rcx
    004315b3je 0x4315b8
    004315b5mov eax, [rcx-4]
    004315b8
    004315b8loc_4315b8:
    004315b8cmp ebx, eax
    004315bajge 0x4315d3
    004315bcmov eax, ebx
    004315beadd eax, 1
    004315c1movsxd rax, eax
    004315c4mov rcx, [rbp+40]
    004315c8cmp [rcx+2*rax-2], 10
    004315cejne 0x4315d3
    004315d0add ebx, 1
    004315d3
    004315d3loc_4315d3:
    004315d3add ebx, 1
    004315d6mov esi, ebx
    004315d8
    004315d8loc_4315d8:
    004315d8xor eax, eax
    004315damov rcx, [rbp+40]
    004315detest rcx, rcx
    004315e1je 0x4315e6
    004315e3mov eax, [rcx-4]
    004315e6
    004315e6loc_4315e6:
    004315e6cmp ebx, eax
    004315e8jle 0x4314e8
    004315ee
    004315eeloc_4315ee:
    004315eenop
    004315efnop
    004315f0
    004315f0loc_4315f0:
    004315f0lea rcx, [rbp+56]
    004315f4call fn_40bcf0
    004315f9lea rsp, [rbp+64]
    004315fdpop rbx
    004315fepop rsi
    004315ffpop rdi
    00431600pop r13
    00431602pop rbp
    00431603ret
    004314a0
    00431604
    00431604 48 8d 40 00 48 8d 04 05 00 00 00 00 H.@.H.......
    00431610
    00431610fn_431610:
    00431610push rbp
    00431611sub rsp, 32
    00431615mov rbp, rsp
    00431618lea rcx, [rdx+56]
    0043161ccall fn_40bcf0
    00431621lea rsp, [rbp+32]
    00431625pop rbp
    00431626ret
    00431610
    00431627
    00431627 // align 0x10
    00431630
    00431630fn_431630:
    00431630push rdi
    00431631push rsi
    00431632push rbx
    00431633sub rsp, 32
    00431637mov rbx, rcx
    0043163amov eax, [rbx+20]
    0043163dmov esi, [rbx+16]
    00431640add esi, 1
    00431643mov rcx, [rip+0x32bb6]
    0043164acmp [rcx], 0
    0043164eje 0x431661
    00431650mov ecx, eax
    00431652mov edx, esi
    00431654mov rax, [rip+0x32ba5]
    0043165bcall [rax]
    0043165dmov edi, eax
    0043165fjmp 0x431698
    00431661
    00431661loc_431661:
    00431661mov edi, eax
    00431663
    00431663loc_431663:
    00431663cmp edi, 64
    00431666jle 0x43167e
    00431668mov eax, edi
    0043166alea rax, [rax+2*rax]
    0043166eshr eax, 31
    00431671lea rdi, [rdi+2*rdi]
    00431675add eax, edi
    00431677sar eax, 1
    0043167amov edi, eax
    0043167cjmp 0x43168b
    0043167e
    0043167eloc_43167e:
    0043167ecmp edi, 8
    00431681jle 0x431688
    00431683add edi, 16
    00431686jmp 0x43168b
    00431688
    00431688loc_431688:
    00431688add edi, 4
    0043168b
    0043168bloc_43168b:
    0043168btest edi, edi
    0043168djge 0x431694
    0043168fcall fn_429430
    00431694
    00431694loc_431694:
    00431694cmp edi, esi
    00431696jl 0x431663
    00431698
    00431698loc_431698:
    00431698nop
    00431699mov [rbx+20], edi
    0043169clea rcx, [rbx+8]
    004316a0mov rdx, [rip-1703]
    004316a7mov r8l, 1
    004316admov r9l, edi
    004316b0call fn_410430
    004316b5add rsp, 32
    004316b9pop rbx
    004316bapop rsi
    004316bbpop rdi
    004316bcret
    00431630
    004316bd
    004316bd // align 0x10
    004316c0
    004316c0TSimpleStringList.Add:
    004316c0push rsi
    004316c1push rbx
    004316c2sub rsp, 40
    004316c6mov rbx, rcx
    004316c9mov rsi, rdx
    004316ccmov eax, [rbx+16]
    004316cfcmp eax, [rbx+20]
    004316d2jne 0x4316dc
    004316d4mov rcx, rbx
    004316d7call fn_431630
    004316dc
    004316dcloc_4316dc:
    004316dcmov rax, [rbx+8]
    004316e0mov ecx, [rbx+16]
    004316e3lea rcx, [rax+8*rcx]
    004316e7mov rdx, rsi
    004316eacall fn_40c360
    004316eflea rax, [rbx+16]
    004316f3add [rax], 1
    004316f6add rsp, 40
    004316fapop rbx
    004316fbpop rsi
    004316fcret
    004316c0
    004316fd
    004316fd // align 0x10
    00431700
    00431700TSimpleStringList.Create:
    00431700push rbp
    00431701push rbx
    00431702sub rsp, 56
    00431706mov rbp, rsp
    00431709mov [rbp+40], rbp
    0043170dmov [rbp+80], rcx
    00431711mov [rbp+88], dl
    00431714cmp [rbp+88], 0
    00431718je 0x43172c
    0043171amov rcx, [rbp+80]
    0043171emovzx rdx, [rbp+88]
    00431723call fn_409530
    00431728mov [rbp+80], rax
    0043172c
    0043172cloc_43172c:
    0043172cnop
    0043172dmov rax, [rbp+80]
    00431731mov [rax+16], 0
    00431738mov rax, [rbp+80]
    0043173cmov [rax+20], 0
    00431743mov rax, [rbp+80]
    00431747lea rcx, [rax+8]
    0043174bmov rdx, [rip-1874]
    00431752call fn_410600
    00431757cmp [rbp+88], 0
    0043175bje 0x43179a
    0043175dmov rcx, [rbp+80]
    00431761call fn_409570
    00431766mov [rbp+80], rax
    0043176ajmp 0x43179a
    0043176c
    0043176c 90 90 80 7d ...}
    00431770 58 00 74 20 48 83 7d 50 00 74 19 48 8b 4d 50 b2 X.t H.}P.t.H.MP.
    00431780 81 48 8b 45 50 48 8b 18 ff 53 e0 48 8b 4d 50 e8 .H.EPH...S.H.MP.
    00431790 bc 7d fd ff e8 77 98 fd ff 90 .}...w....
    0043179a
    0043179aloc_43179a:
    0043179amov rax, [rbp+80]
    0043179elea rsp, [rbp+56]
    004317a2pop rbx
    004317a3pop rbp
    004317a4ret
    00431700
    004317a5
    004317a5 48 8b c0 48 8d 04 05 00 00 00 00 H..H.......
    004317b0
    004317b0fn_4317b0:
    004317b0sub rsp, 40
    004317b4call fn_40b050
    004317b9add rsp, 40
    004317bdret
    004317b0
    004317be
    004317be // align 0x10
    004317c0
    004317c0TSimpleStringList.Destroy:
    004317c0push rsi
    004317c1push rbx
    004317c2sub rsp, 40
    004317c6mov rbx, rcx
    004317c9mov esi, edx
    004317ccmov rcx, rbx
    004317cfmov edx, esi
    004317d2call fn_4095d0
    004317d7lea rcx, [rbx+8]
    004317dbmov rdx, [rip-2018]
    004317e2call fn_410600
    004317e7mov rcx, rbx
    004317eamov edx, esi
    004317edand dl, 252
    004317f0call TObject.Destroy
    004317f5test sil, sil
    004317f8jle 0x431802
    004317famov rcx, rbx
    004317fdcall fn_409550
    00431802
    00431802loc_431802:
    00431802add rsp, 40
    00431806pop rbx
    00431807pop rsi
    00431808ret
    004317c0
    00431809
    00431809 // align 0x10
    00431810
    00431810SimpleStringList.finalization:
    00431810add [rip+0x3e7c5], 1
    00431817cmp [rip+0x3e7be], 0
    0043181eret
    00431810
    0043181f
    0043181f // align 0x10
    00431820
    00431820SimpleStringList.initialization:
    00431820sub [rip+0x3e7b5], 1
    00431827cmp [rip+0x3e7ae], -1
    0043182eret
    00431820
    0043182f
    0043182f // align 0x10
    00431830
    00431830fn_431830:
    00431830mov eax, ecx
    00431832and eax, edx
    00431834not ecx
    00431836and ecx, r8l
    00431839or eax, ecx
    0043183bret
    00431830
    0043183c
    0043183c // align 0x10
    00431840
    00431840fn_431840:
    00431840mov eax, ecx
    00431842and eax, r8l
    00431845not r8l
    00431848and edx, r8l
    0043184bor eax, edx
    0043184dret
    00431840
    0043184e
    0043184e // align 0x10
    00431850
    00431850fn_431850:
    00431850mov eax, ecx
    00431852xor eax, edx
    00431854xor eax, r8l
    00431857ret
    00431850
    00431858
    00431858 // align 0x10
    00431860
    00431860fn_431860:
    00431860not r8l
    00431863or ecx, r8l
    00431866mov eax, edx
    00431868xor eax, ecx
    0043186aret
    00431860
    0043186b
    0043186b // align 0x10
    00431870
    00431870fn_431870:
    00431870mov eax, ecx
    00431872mov r8l, eax
    00431875mov ecx, edx
    00431877shl r8l, cl
    0043187amov ecx, 32
    0043187fsub ecx, edx
    00431881shr eax, cl
    00431883or r8l, eax
    00431886mov eax, r8l
    00431889ret
    00431870
    0043188a
    0043188a // align 0x10
    00431890
    00431890fn_431890:
    00431890push rsi
    00431891push rbx
    00431892sub rsp, 40
    00431896mov rbx, rcx
    00431899mov esi, edx
    0043189bmov ecx, esi
    0043189dmov edx, r8l
    004318a0mov r8l, r9l
    004318a3call fn_431830
    004318a8mov ecx, [rbx]
    004318aaadd ecx, eax
    004318acadd ecx, [rsp+96]
    004318b0add ecx, [rsp+112]
    004318b4mov [rbx], ecx
    004318b6mov ecx, [rbx]
    004318b8mov edx, [rsp+104]
    004318bccall fn_431870
    004318c1mov [rbx], eax
    004318c3add [rbx], esi
    004318c5add rsp, 40
    004318c9pop rbx
    004318capop rsi
    004318cbret
    00431890
    004318cc
    004318cc // align 0x10
    004318d0
    004318d0fn_4318d0:
    004318d0push rsi
    004318d1push rbx
    004318d2sub rsp, 40
    004318d6mov rbx, rcx
    004318d9mov esi, edx
    004318dbmov ecx, esi
    004318ddmov edx, r8l
    004318e0mov r8l, r9l
    004318e3call fn_431840
    004318e8mov ecx, [rbx]
    004318eaadd ecx, eax
    004318ecadd ecx, [rsp+96]
    004318f0add ecx, [rsp+112]
    004318f4mov [rbx], ecx
    004318f6mov ecx, [rbx]
    004318f8mov edx, [rsp+104]
    004318fccall fn_431870
    00431901mov [rbx], eax
    00431903add [rbx], esi
    00431905add rsp, 40
    00431909pop rbx
    0043190apop rsi
    0043190bret
    004318d0
    0043190c
    0043190c // align 0x10
    00431910
    00431910fn_431910:
    00431910push rsi
    00431911push rbx
    00431912sub rsp, 40
    00431916mov rbx, rcx
    00431919mov esi, edx
    0043191bmov ecx, esi
    0043191dmov edx, r8l
    00431920mov r8l, r9l
    00431923call fn_431850
    00431928mov ecx, [rbx]
    0043192aadd ecx, eax
    0043192cadd ecx, [rsp+96]
    00431930add ecx, [rsp+112]
    00431934mov [rbx], ecx
    00431936mov ecx, [rbx]
    00431938mov edx, [rsp+104]
    0043193ccall fn_431870
    00431941mov [rbx], eax
    00431943add [rbx], esi
    00431945add rsp, 40
    00431949pop rbx
    0043194apop rsi
    0043194bret
    00431910
    0043194c
    0043194c // align 0x10
    00431950
    00431950fn_431950:
    00431950push rsi
    00431951push rbx
    00431952sub rsp, 40
    00431956mov rbx, rcx
    00431959mov esi, edx
    0043195bmov ecx, esi
    0043195dmov edx, r8l
    00431960mov r8l, r9l
    00431963call fn_431860
    00431968mov ecx, [rbx]
    0043196aadd ecx, eax
    0043196cadd ecx, [rsp+96]
    00431970add ecx, [rsp+112]
    00431974mov [rbx], ecx
    00431976mov ecx, [rbx]
    00431978mov edx, [rsp+104]
    0043197ccall fn_431870
    00431981mov [rbx], eax
    00431983add [rbx], esi
    00431985add rsp, 40
    00431989pop rbx
    0043198apop rsi
    0043198bret
    00431950
    0043198c
    0043198c // align 0x10
    00431990
    00431990fn_431990:
    00431990push rbx
    00431991xor r9, r9
    00431994xor eax, eax
    00431996cmp r9l, r8l
    00431999jae 0x431a03
    0043199b
    0043199bloc_43199b:
    0043199bmov r10l, eax
    0043199emov r11l, r9l
    004319a1movzx rbx, [rdx+4*r10]
    004319a6and bl, 255
    004319a9mov [rcx+r11], bl
    004319admov r11l, r9l
    004319b0add r11l, 1
    004319b4mov r11l, r11l
    004319b7mov ebx, [rdx+4*r10]
    004319bbshr ebx, 8
    004319beand bl, 255
    004319c1mov [rcx+r11], bl
    004319c5mov r11l, r9l
    004319c8add r11l, 2
    004319ccmov r11l, r11l
    004319cfmov ebx, [rdx+4*r10]
    004319d3shr ebx, 16
    004319d6and bl, 255
    004319d9mov [rcx+r11], bl
    004319ddmov r11l, r9l
    004319e0add r11l, 3
    004319e4mov r11l, r11l
    004319e7mov r10l, [rdx+4*r10]
    004319ebshr r10l, 24
    004319efand r10b, 255
    004319f3mov [rcx+r11], r10b
    004319f7add r9l, 4
    004319fbadd eax, 1
    004319fecmp r9l, r8l
    00431a01jb 0x43199b
    00431a03
    00431a03loc_431a03:
    00431a03nop
    00431a04pop rbx
    00431a05ret
    00431990
    00431a06
    00431a06 // align 0x10
    00431a10
    00431a10fn_431a10:
    00431a10push rbx
    00431a11xor r9, r9
    00431a14xor eax, eax
    00431a16cmp r9l, r8l
    00431a19jae 0x431a6f
    00431a1b
    00431a1bloc_431a1b:
    00431a1bmov r10l, eax
    00431a1emov r11l, r9l
    00431a21movzx r11, [rdx+r11]
    00431a26mov ebx, r9l
    00431a29add ebx, 1
    00431a2cmov ebx, ebx
    00431a2emovzx rbx, [rdx+rbx]
    00431a33shl ebx, 8
    00431a36or r11l, ebx
    00431a39mov ebx, r9l
    00431a3cadd ebx, 2
    00431a3fmov ebx, ebx
    00431a41movzx rbx, [rdx+rbx]
    00431a46shl ebx, 16
    00431a49or r11l, ebx
    00431a4cmov ebx, r9l
    00431a4fadd ebx, 3
    00431a52mov ebx, ebx
    00431a54movzx rbx, [rdx+rbx]
    00431a59shl ebx, 24
    00431a5cor r11l, ebx
    00431a5fmov [rcx+4*r10], r11l
    00431a63add r9l, 4
    00431a67add eax, 1
    00431a6acmp r9l, r8l
    00431a6djb 0x431a1b
    00431a6f
    00431a6floc_431a6f:
    00431a6fnop
    00431a70pop rbx
    00431a71ret
    00431a10