File trigona_be6dfedd91e1ebc81d58a61b05b0ef93322425b247636a0f7f5c3eeebbc52edd.exe
Function:
    0042bd20
    0042bd20fn_42bd20:
    0042bd20push rbp
    0042bd21push r14
    0042bd23push r13
    0042bd25push rdi
    0042bd26push rsi
    0042bd27push rbx
    0042bd28sub rsp, 168
    0042bd2fmov rbp, rsp
    0042bd32mov [rbp+56], rcx
    0042bd36mov [rbp+96], r8
    0042bd3amov [rbp+80], r9
    0042bd3emov [rbp+112], 0
    0042bd46mov [rbp+120], 0
    0042bd4emov [rbp+152], 0
    0042bd59mov [rbp+144], 0
    0042bd64mov [rbp+136], 0
    0042bd6fmov [rbp+128], 0
    0042bd7amov [rbp+232], rdx
    0042bd81nop
    0042bd82xor eax, eax
    0042bd84mov rcx, [rbp+96]
    0042bd88test rcx, rcx
    0042bd8bje 0x42bd90
    0042bd8dmov eax, [rcx-4]
    0042bd90
    0042bd90loc_42bd90:
    0042bd90mov [rbp+68], eax
    0042bd93xor eax, eax
    0042bd95cmp [rbp+232], 0
    0042bd9dje 0x42bda9
    0042bd9fmov rax, [rbp+232]
    0042bda6mov eax, [rax-4]
    0042bda9
    0042bda9loc_42bda9:
    0042bda9mov [rbp+72], eax
    0042bdacmov eax, [rbp+68]
    0042bdaftest eax, eax
    0042bdb1je 0x42bdba
    0042bdb3mov eax, [rbp+72]
    0042bdb6test eax, eax
    0042bdb8jne 0x42bdcf
    0042bdba
    0042bdbaloc_42bdba:
    0042bdbamov rcx, [rbp+56]
    0042bdbemov rdx, [rbp+232]
    0042bdc5call fn_40c360
    0042bdcajmp 0x42c5ea
    0042bdcf
    0042bdcfloc_42bdcf:
    0042bdcfmovzx rax, [rbp+256]
    0042bdd7test al, 2
    0042bddaje 0x42be96
    0042bde0lea rcx, [rbp+144]
    0042bde7mov rdx, [rbp+96]
    0042bdebcall fn_422040
    0042bdf0xor eax, eax
    0042bdf2cmp [rbp+144], 0
    0042bdfaje 0x42be06
    0042bdfcmov rax, [rbp+144]
    0042be03mov eax, [rax-4]
    0042be06
    0042be06loc_42be06:
    0042be06mov [rbp+68], eax
    0042be09lea rcx, [rbp+120]
    0042be0dmov rdx, [rbp+96]
    0042be11call fn_4220a0
    0042be16mov rax, [rbp+120]
    0042be1acmp [rbp+144], rax
    0042be21jne 0x42be27
    0042be23mov al, 1
    0042be25jmp 0x42be4e
    0042be27
    0042be27loc_42be27:
    0042be27cmp [rbp+144], 0
    0042be2fje 0x42be36
    0042be31test rax, rax
    0042be34jne 0x42be3a
    0042be36
    0042be36loc_42be36:
    0042be36xor eax, eax
    0042be38jmp 0x42be4e
    0042be3a
    0042be3aloc_42be3a:
    0042be3amov rcx, [rbp+144]
    0042be41mov rdx, rax
    0042be44call fn_421e90
    0042be49test eax, eax
    0042be4bsete al
    0042be4e
    0042be4eloc_42be4e:
    0042be4enop
    0042be4ftest al, al
    0042be51je 0x42be68
    0042be53lea rcx, [rbp+152]
    0042be5amov rdx, [rbp+232]
    0042be61call fn_40c3e0
    0042be66jmp 0x42beb9
    0042be68
    0042be68loc_42be68:
    0042be68lea rcx, [rbp+152]
    0042be6fmov rdx, [rbp+232]
    0042be76call fn_422040
    0042be7bxor eax, eax
    0042be7dcmp [rbp+152], 0
    0042be85je 0x42be91
    0042be87mov rax, [rbp+152]
    0042be8emov eax, [rax-4]
    0042be91
    0042be91loc_42be91:
    0042be91mov [rbp+72], eax
    0042be94jmp 0x42beb9
    0042be96
    0042be96loc_42be96:
    0042be96lea rcx, [rbp+144]
    0042be9dmov rdx, [rbp+96]
    0042bea1call fn_40c3e0
    0042bea6lea rcx, [rbp+152]
    0042beadmov rdx, [rbp+232]
    0042beb4call fn_40c3e0
    0042beb9
    0042beb9loc_42beb9:
    0042beb9xor eax, eax
    0042bebbcmp [rbp+152], 0
    0042bec3je 0x42becf
    0042bec5mov rax, [rbp+152]
    0042beccmov eax, [rax-4]
    0042becf
    0042becfloc_42becf:
    0042becfxor ecx, ecx
    0042bed1cmp [rbp+232], 0
    0042bed9je 0x42bee5
    0042bedbmov rcx, [rbp+232]
    0042bee2mov ecx, [rcx-4]
    0042bee5
    0042bee5loc_42bee5:
    0042bee5cmp eax, ecx
    0042bee7je 0x42bfd7
    0042beedmov rcx, [rbp+56]
    0042bef1call fn_40bcf0
    0042bef6mov eax, 1
    0042befbmov [rbp+76], eax
    0042befejmp 0x42bfb2
    0042bf03
    0042bf03loc_42bf03:
    0042bf03mov rcx, [rbp+232]
    0042bf0amov edx, [rbp+76]
    0042bf0dsub edx, 1
    0042bf10mov r8, [rbp+96]
    0042bf14xor r9, r9
    0042bf17mov eax, [rbp+68]
    0042bf1amov [rsp+32], eax
    0042bf1emov [rsp+40], 1
    0042bf23call fn_42d770
    0042bf28test eax, eax
    0042bf2ajne 0x42bf80
    0042bf2cmov rcx, [rbp+56]
    0042bf30mov rdx, [rbp+80]
    0042bf34call fn_40d9b0
    0042bf39mov eax, [rbp+76]
    0042bf3cmov ecx, [rbp+68]
    0042bf3fadd eax, ecx
    0042bf41mov [rbp+76], eax
    0042bf44movzx rax, [rbp+256]
    0042bf4ctest al, 1
    0042bf4fjne 0x42bfb2
    0042bf51lea rcx, [rbp+128]
    0042bf58mov rdx, [rbp+232]
    0042bf5fmov r8l, [rbp+76]
    0042bf63mov r9l, 0x7fffffff
    0042bf69call fn_40dca0
    0042bf6emov rcx, [rbp+56]
    0042bf72mov rdx, [rbp+128]
    0042bf79call fn_40d9b0
    0042bf7ejmp 0x42bfd1
    0042bf80
    0042bf80loc_42bf80:
    0042bf80lea rcx, [rbp+112]
    0042bf84mov rax, [rbp+232]
    0042bf8bmov edx, [rbp+76]
    0042bf8emovsxd rdx, edx
    0042bf91movzx rdx, [rax+2*rdx-2]
    0042bf97call fn_40d730
    0042bf9cmov rcx, [rbp+56]
    0042bfa0mov rdx, [rbp+112]
    0042bfa4call fn_40d9b0
    0042bfa9mov eax, [rbp+76]
    0042bfacadd eax, 1
    0042bfafmov [rbp+76], eax
    0042bfb2
    0042bfb2loc_42bfb2:
    0042bfb2xor eax, eax
    0042bfb4mov rcx, [rbp+232]
    0042bfbbtest rcx, rcx
    0042bfbeje 0x42bfc3
    0042bfc0mov eax, [rcx-4]
    0042bfc3
    0042bfc3loc_42bfc3:
    0042bfc3mov ecx, [rbp+76]
    0042bfc6cmp ecx, eax
    0042bfc8mov [rbp+76], ecx
    0042bfcbjle 0x42bf03
    0042bfd1
    0042bfd1loc_42bfd1:
    0042bfd1nop
    0042bfd2jmp 0x42c5e9
    0042bfd7
    0042bfd7loc_42bfd7:
    0042bfd7mov ebx, 1
    0042bfdcxor esi, esi
    0042bfdexor edi, edi
    0042bfe0movzx rax, [rbp+256]
    0042bfe8test al, 1
    0042bfebsete r13b
    0042bfef
    0042bfefloc_42bfef:
    0042bfefmov rcx, [rbp+144]
    0042bff6mov rdx, [rbp+152]
    0042bffdmov r8l, ebx
    0042c000call fn_40dd80
    0042c005mov ebx, eax
    0042c007test ebx, ebx
    0042c009je 0x42c05c
    0042c00badd esi, 1
    0042c00ecmp edi, esi
    0042c010jge 0x42c03b
    0042c012test edi, edi
    0042c014jne 0x42c01d
    0042c016mov edi, 32
    0042c01bjmp 0x42c01f
    0042c01d
    0042c01dloc_42c01d:
    0042c01dadd edi, edi
    0042c01f
    0042c01floc_42c01f:
    0042c01flea rcx, [rbp+136]
    0042c026mov rdx, [rip-853]
    0042c02dmov r8l, 1
    0042c033movsxd r9, edi
    0042c036call fn_410430
    0042c03b
    0042c03bloc_42c03b:
    0042c03bmov rax, [rbp+136]
    0042c042mov ecx, esi
    0042c044sub ecx, 1
    0042c047movsxd rcx, ecx
    0042c04amov edx, ebx
    0042c04csub edx, 1
    0042c04fmov [rax+4*rcx], edx
    0042c052mov eax, [rbp+68]
    0042c055add ebx, eax
    0042c057test r13b, r13b
    0042c05aje 0x42bfef
    0042c05c
    0042c05cloc_42c05c:
    0042c05cnop
    0042c05dtest esi, esi
    0042c05fjle 0x42c5d9
    0042c065xor ebx, ebx
    0042c067mov rax, [rbp+80]
    0042c06btest rax, rax
    0042c06eje 0x42c077
    0042c070mov rax, [rbp+80]
    0042c074mov ebx, [rax-4]
    0042c077
    0042c077loc_42c077:
    0042c077mov r13, [rbp+232]
    0042c07emov r14, [rbp+80]
    0042c082mov eax, [rbp+68]
    0042c085cmp ebx, eax
    0042c087jne 0x42c1c5
    0042c08dmov rcx, [rbp+56]
    0042c091mov edx, [rbp+72]
    0042c094call fn_40d8d0
    0042c099mov rax, [rbp+56]
    0042c09dmov rdi, [rax]
    0042c0a0mov rcx, r13
    0042c0a3mov rdx, rdi
    0042c0a6mov r8l, [rbp+72]
    0042c0aaadd r8l, r8l
    0042c0admovsxd r8, r8l
    0042c0b0call fn_405ac0
    0042c0b5cmp ebx, 1
    0042c0b8jne 0x42c0fe
    0042c0baxor eax, eax
    0042c0bcmov ecx, esi
    0042c0besub ecx, 1
    0042c0c1mov edx, eax
    0042c0c3cmp edx, ecx
    0042c0c5mov [rbp+76], edx
    0042c0c8jg 0x42c0f8
    0042c0casub ecx, eax
    0042c0ccadd ecx, 1
    0042c0cf
    0042c0cfloc_42c0cf:
    0042c0cfmov rax, [rbp+136]
    0042c0d6mov edx, [rbp+76]
    0042c0d9movsxd rdx, edx
    0042c0dcmovsxd rax, [rax+4*rdx]
    0042c0e0movzx rdx, [r14]
    0042c0e4mov [rdi+2*rax], dx
    0042c0e8mov eax, [rbp+76]
    0042c0ebadd eax, 1
    0042c0eemov [rbp+76], eax
    0042c0f1sub ecx, 1
    0042c0f4test ecx, ecx
    0042c0f6jne 0x42c0cf
    0042c0f8
    0042c0f8loc_42c0f8:
    0042c0f8nop
    0042c0f9jmp 0x42c5e9
    0042c0fe
    0042c0feloc_42c0fe:
    0042c0fecmp ebx, 8
    0042c101jg 0x42c176
    0042c103xor eax, eax
    0042c105mov ecx, esi
    0042c107sub ecx, 1
    0042c10amov edx, eax
    0042c10ccmp edx, ecx
    0042c10emov [rbp+76], edx
    0042c111jg 0x42c170
    0042c113sub ecx, eax
    0042c115add ecx, 1
    0042c118
    0042c118loc_42c118:
    0042c118xor edx, edx
    0042c11amov r8l, ebx
    0042c11dsub r8l, 1
    0042c121mov eax, edx
    0042c123cmp eax, r8l
    0042c126jg 0x42c15f
    0042c128sub r8l, edx
    0042c12badd r8l, 1
    0042c12f
    0042c12floc_42c12f:
    0042c12fmov rdx, [rbp+136]
    0042c136mov r9l, [rbp+76]
    0042c13amovsxd r9, r9l
    0042c13dmov edx, [rdx+4*r9]
    0042c141add edx, eax
    0042c143movsxd rdx, edx
    0042c146movsxd r9, eax
    0042c149movzx r9, [r14+2*r9]
    0042c14emov [rdi+2*rdx], r9w
    0042c153add eax, 1
    0042c156sub r8l, 1
    0042c15atest r8l, r8l
    0042c15djne 0x42c12f
    0042c15f
    0042c15floc_42c15f:
    0042c15fnop
    0042c160mov eax, [rbp+76]
    0042c163add eax, 1
    0042c166mov [rbp+76], eax
    0042c169sub ecx, 1
    0042c16ctest ecx, ecx
    0042c16ejne 0x42c118
    0042c170
    0042c170loc_42c170:
    0042c170nop
    0042c171jmp 0x42c5e9
    0042c176
    0042c176loc_42c176:
    0042c176xor eax, eax
    0042c178sub esi, 1
    0042c17bmov ecx, eax
    0042c17dcmp ecx, esi
    0042c17fmov [rbp+76], ecx
    0042c182jg 0x42c1bf
    0042c184sub esi, eax
    0042c186add esi, 1
    0042c189
    0042c189loc_42c189:
    0042c189mov rcx, r14
    0042c18cmov rax, [rbp+136]
    0042c193mov edx, [rbp+76]
    0042c196movsxd rdx, edx
    0042c199movsxd rax, [rax+4*rdx]
    0042c19dlea rdx, [rdi+2*rax]
    0042c1a1mov r8l, ebx
    0042c1a4add r8l, r8l
    0042c1a7movsxd r8, r8l
    0042c1aacall fn_405ac0
    0042c1afmov eax, [rbp+76]
    0042c1b2add eax, 1
    0042c1b5mov [rbp+76], eax
    0042c1b8sub esi, 1
    0042c1bbtest esi, esi
    0042c1bdjne 0x42c189
    0042c1bf
    0042c1bfloc_42c1bf:
    0042c1bfnop
    0042c1c0jmp 0x42c5e9
    0042c1c5
    0042c1c5loc_42c1c5:
    0042c1c5mov rcx, [rbp+56]
    0042c1c9mov eax, ebx
    0042c1cbmov edx, [rbp+68]
    0042c1cesub eax, edx
    0042c1d0imul eax, esi
    0042c1d3mov edx, [rbp+72]
    0042c1d6add edx, eax
    0042c1d8call fn_40d8d0
    0042c1ddmov rax, [rbp+56]
    0042c1e1mov rdi, [rax]
    0042c1e4xor eax, eax
    0042c1e6mov [rbp+88], eax
    0042c1e9xor eax, eax
    0042c1ebmov [rbp+92], eax
    0042c1eetest ebx, ebx
    0042c1f0jne 0x42c31b
    0042c1f6xor eax, eax
    0042c1f8mov ebx, esi
    0042c1fasub ebx, 1
    0042c1fdmov ecx, eax
    0042c1ffcmp ecx, ebx
    0042c201mov [rbp+76], ecx
    0042c204jg 0x42c315
    0042c20asub ebx, eax
    0042c20cadd ebx, 1
    0042c20f
    0042c20floc_42c20f:
    0042c20fmov rax, [rbp+136]
    0042c216mov ecx, [rbp+76]
    0042c219movsxd rcx, ecx
    0042c21cmov eax, [rax+4*rcx]
    0042c21fmov ecx, [rbp+88]
    0042c222sub eax, ecx
    0042c224mov [rbp+108], eax
    0042c227mov eax, [rbp+108]
    0042c22atest eax, eax
    0042c22cjle 0x42c2f6
    0042c232mov eax, [rbp+108]
    0042c235cmp eax, 1
    0042c238jne 0x42c267
    0042c23amov eax, [rbp+92]
    0042c23dmovsxd rax, eax
    0042c240mov ecx, [rbp+88]
    0042c243movsxd rcx, ecx
    0042c246movzx rcx, [r13+2*rcx]
    0042c24cmov [rdi+2*rax], cx
    0042c250mov eax, [rbp+88]
    0042c253add eax, 1
    0042c256mov [rbp+88], eax
    0042c259mov eax, [rbp+92]
    0042c25cadd eax, 1
    0042c25fmov [rbp+92], eax
    0042c262jmp 0x42c2f6
    0042c267
    0042c267loc_42c267:
    0042c267mov eax, [rbp+108]
    0042c26acmp eax, 8
    0042c26djg 0x42c2bf
    0042c26fxor ecx, ecx
    0042c271mov edx, [rbp+108]
    0042c274sub edx, 1
    0042c277mov eax, ecx
    0042c279cmp eax, edx
    0042c27bjg 0x42c2a9
    0042c27dsub edx, ecx
    0042c27fadd edx, 1
    0042c282
    0042c282loc_42c282:
    0042c282mov ecx, [rbp+92]
    0042c285add ecx, eax
    0042c287movsxd rcx, ecx
    0042c28amov r8l, [rbp+88]
    0042c28eadd r8l, eax
    0042c291movsxd r8, r8l
    0042c294movzx r8, [r13+2*r8]
    0042c29amov [rdi+2*rcx], r8w
    0042c29fadd eax, 1
    0042c2a2sub edx, 1
    0042c2a5test edx, edx
    0042c2a7jne 0x42c282
    0042c2a9
    0042c2a9loc_42c2a9:
    0042c2a9nop
    0042c2aamov eax, [rbp+108]
    0042c2admov ecx, [rbp+88]
    0042c2b0add ecx, eax
    0042c2b2mov [rbp+88], ecx
    0042c2b5mov ecx, [rbp+92]
    0042c2b8add ecx, eax
    0042c2bamov [rbp+92], ecx
    0042c2bdjmp 0x42c2f6
    0042c2bf
    0042c2bfloc_42c2bf:
    0042c2bfmov eax, [rbp+88]
    0042c2c2movsxd rax, eax
    0042c2c5lea rcx, [r13+2*rax]
    0042c2camov eax, [rbp+92]
    0042c2cdmovsxd rax, eax
    0042c2d0lea rdx, [rdi+2*rax]
    0042c2d4mov r8l, [rbp+108]
    0042c2d8add r8l, r8l
    0042c2dbmovsxd r8, r8l
    0042c2decall fn_405ac0
    0042c2e3mov eax, [rbp+108]
    0042c2e6mov ecx, [rbp+88]
    0042c2e9add ecx, eax
    0042c2ebmov [rbp+88], ecx
    0042c2eemov ecx, [rbp+92]
    0042c2f1add ecx, eax
    0042c2f3mov [rbp+92], ecx
    0042c2f6
    0042c2f6loc_42c2f6:
    0042c2f6mov eax, [rbp+88]
    0042c2f9mov ecx, [rbp+68]
    0042c2fcadd eax, ecx
    0042c2femov [rbp+88], eax
    0042c301mov eax, [rbp+76]
    0042c304add eax, 1
    0042c307mov [rbp+76], eax
    0042c30asub ebx, 1
    0042c30dtest ebx, ebx
    0042c30fjne 0x42c20f
    0042c315
    0042c315loc_42c315:
    0042c315nop
    0042c316jmp 0x42c5a1
    0042c31b
    0042c31bloc_42c31b:
    0042c31bcmp ebx, 1
    0042c31ejne 0x42c460
    0042c324xor eax, eax
    0042c326mov ebx, esi
    0042c328sub ebx, 1
    0042c32bmov ecx, eax
    0042c32dcmp ecx, ebx
    0042c32fmov [rbp+76], ecx
    0042c332jg 0x42c45a
    0042c338sub ebx, eax
    0042c33aadd ebx, 1
    0042c33d
    0042c33dloc_42c33d:
    0042c33dmov rax, [rbp+136]
    0042c344mov ecx, [rbp+76]
    0042c347movsxd rcx, ecx
    0042c34amov eax, [rax+4*rcx]
    0042c34dmov ecx, [rbp+88]
    0042c350sub eax, ecx
    0042c352mov [rbp+108], eax
    0042c355mov eax, [rbp+108]
    0042c358test eax, eax
    0042c35ajle 0x42c424
    0042c360mov eax, [rbp+108]
    0042c363cmp eax, 1
    0042c366jne 0x42c395
    0042c368mov eax, [rbp+92]
    0042c36bmovsxd rax, eax
    0042c36emov ecx, [rbp+88]
    0042c371movsxd rcx, ecx
    0042c374movzx rcx, [r13+2*rcx]
    0042c37amov [rdi+2*rax], cx
    0042c37emov eax, [rbp+88]
    0042c381add eax, 1
    0042c384mov [rbp+88], eax
    0042c387mov eax, [rbp+92]
    0042c38aadd eax, 1
    0042c38dmov [rbp+92], eax
    0042c390jmp 0x42c424
    0042c395
    0042c395loc_42c395:
    0042c395mov eax, [rbp+108]
    0042c398cmp eax, 8
    0042c39bjg 0x42c3ed
    0042c39dxor ecx, ecx
    0042c39fmov edx, [rbp+108]
    0042c3a2sub edx, 1
    0042c3a5mov eax, ecx
    0042c3a7cmp eax, edx
    0042c3a9jg 0x42c3d7
    0042c3absub edx, ecx
    0042c3adadd edx, 1
    0042c3b0
    0042c3b0loc_42c3b0:
    0042c3b0mov ecx, [rbp+92]
    0042c3b3add ecx, eax
    0042c3b5movsxd rcx, ecx
    0042c3b8mov r8l, [rbp+88]
    0042c3bcadd r8l, eax
    0042c3bfmovsxd r8, r8l
    0042c3c2movzx r8, [r13+2*r8]
    0042c3c8mov [rdi+2*rcx], r8w
    0042c3cdadd eax, 1
    0042c3d0sub edx, 1
    0042c3d3test edx, edx
    0042c3d5jne 0x42c3b0
    0042c3d7
    0042c3d7loc_42c3d7:
    0042c3d7nop
    0042c3d8mov eax, [rbp+108]
    0042c3dbmov ecx, [rbp+88]
    0042c3deadd ecx, eax
    0042c3e0mov [rbp+88], ecx
    0042c3e3mov ecx, [rbp+92]
    0042c3e6add ecx, eax
    0042c3e8mov [rbp+92], ecx
    0042c3ebjmp 0x42c424
    0042c3ed
    0042c3edloc_42c3ed:
    0042c3edmov eax, [rbp+88]
    0042c3f0movsxd rax, eax
    0042c3f3lea rcx, [r13+2*rax]
    0042c3f8mov eax, [rbp+92]
    0042c3fbmovsxd rax, eax
    0042c3felea rdx, [rdi+2*rax]
    0042c402mov r8l, [rbp+108]
    0042c406add r8l, r8l
    0042c409movsxd r8, r8l
    0042c40ccall fn_405ac0
    0042c411mov eax, [rbp+108]
    0042c414mov ecx, [rbp+88]
    0042c417add ecx, eax
    0042c419mov [rbp+88], ecx
    0042c41cmov ecx, [rbp+92]
    0042c41fadd ecx, eax
    0042c421mov [rbp+92], ecx
    0042c424
    0042c424loc_42c424:
    0042c424mov eax, [rbp+92]
    0042c427movsxd rax, eax
    0042c42amovzx rcx, [r14]
    0042c42emov [rdi+2*rax], cx
    0042c432mov eax, [rbp+92]
    0042c435add eax, 1
    0042c438mov [rbp+92], eax
    0042c43bmov eax, [rbp+88]
    0042c43emov ecx, [rbp+68]
    0042c441add eax, ecx
    0042c443mov [rbp+88], eax
    0042c446mov eax, [rbp+76]
    0042c449add eax, 1
    0042c44cmov [rbp+76], eax
    0042c44fsub ebx, 1
    0042c452test ebx, ebx
    0042c454jne 0x42c33d
    0042c45a
    0042c45aloc_42c45a:
    0042c45anop
    0042c45bjmp 0x42c5a1
    0042c460
    0042c460loc_42c460:
    0042c460xor eax, eax
    0042c462sub esi, 1
    0042c465mov ecx, eax
    0042c467cmp ecx, esi
    0042c469mov [rbp+76], ecx
    0042c46cjg 0x42c5a0
    0042c472sub esi, eax
    0042c474add esi, 1
    0042c477
    0042c477loc_42c477:
    0042c477mov rax, [rbp+136]
    0042c47emov ecx, [rbp+76]
    0042c481movsxd rcx, ecx
    0042c484mov eax, [rax+4*rcx]
    0042c487mov ecx, [rbp+88]
    0042c48asub eax, ecx
    0042c48cmov [rbp+108], eax
    0042c48fmov eax, [rbp+108]
    0042c492test eax, eax
    0042c494jle 0x42c55e
    0042c49amov eax, [rbp+108]
    0042c49dcmp eax, 1
    0042c4a0jne 0x42c4cf
    0042c4a2mov eax, [rbp+92]
    0042c4a5movsxd rax, eax
    0042c4a8mov ecx, [rbp+88]
    0042c4abmovsxd rcx, ecx
    0042c4aemovzx rcx, [r13+2*rcx]
    0042c4b4mov [rdi+2*rax], cx
    0042c4b8mov eax, [rbp+88]
    0042c4bbadd eax, 1
    0042c4bemov [rbp+88], eax
    0042c4c1mov eax, [rbp+92]
    0042c4c4add eax, 1
    0042c4c7mov [rbp+92], eax
    0042c4cajmp 0x42c55e
    0042c4cf
    0042c4cfloc_42c4cf:
    0042c4cfmov eax, [rbp+108]
    0042c4d2cmp eax, 8
    0042c4d5jg 0x42c527
    0042c4d7xor ecx, ecx
    0042c4d9mov edx, [rbp+108]
    0042c4dcsub edx, 1
    0042c4dfmov eax, ecx
    0042c4e1cmp eax, edx
    0042c4e3jg 0x42c511
    0042c4e5sub edx, ecx
    0042c4e7add edx, 1
    0042c4ea
    0042c4ealoc_42c4ea:
    0042c4eamov ecx, [rbp+92]
    0042c4edadd ecx, eax
    0042c4efmovsxd rcx, ecx
    0042c4f2mov r8l, [rbp+88]
    0042c4f6add r8l, eax
    0042c4f9movsxd r8, r8l
    0042c4fcmovzx r8, [r13+2*r8]
    0042c502mov [rdi+2*rcx], r8w
    0042c507add eax, 1
    0042c50asub edx, 1
    0042c50dtest edx, edx
    0042c50fjne 0x42c4ea
    0042c511
    0042c511loc_42c511:
    0042c511nop
    0042c512mov eax, [rbp+108]
    0042c515mov ecx, [rbp+88]
    0042c518add ecx, eax
    0042c51amov [rbp+88], ecx
    0042c51dmov ecx, [rbp+92]
    0042c520add ecx, eax
    0042c522mov [rbp+92], ecx
    0042c525jmp 0x42c55e
    0042c527
    0042c527loc_42c527:
    0042c527mov eax, [rbp+88]
    0042c52amovsxd rax, eax
    0042c52dlea rcx, [r13+2*rax]
    0042c532mov eax, [rbp+92]
    0042c535movsxd rax, eax
    0042c538lea rdx, [rdi+2*rax]
    0042c53cmov r8l, [rbp+108]
    0042c540add r8l, r8l
    0042c543movsxd r8, r8l
    0042c546call fn_405ac0
    0042c54bmov eax, [rbp+108]
    0042c54emov ecx, [rbp+88]
    0042c551add ecx, eax
    0042c553mov [rbp+88], ecx
    0042c556mov ecx, [rbp+92]
    0042c559add ecx, eax
    0042c55bmov [rbp+92], ecx
    0042c55e
    0042c55eloc_42c55e:
    0042c55emov rcx, r14
    0042c561mov eax, [rbp+92]
    0042c564movsxd rax, eax
    0042c567lea rdx, [rdi+2*rax]
    0042c56bmov r8l, ebx
    0042c56eadd r8l, r8l
    0042c571movsxd r8, r8l
    0042c574call fn_405ac0
    0042c579mov eax, [rbp+92]
    0042c57cadd eax, ebx
    0042c57emov [rbp+92], eax
    0042c581mov eax, [rbp+88]
    0042c584mov ecx, [rbp+68]
    0042c587add eax, ecx
    0042c589mov [rbp+88], eax
    0042c58cmov eax, [rbp+76]
    0042c58fadd eax, 1
    0042c592mov [rbp+76], eax
    0042c595sub esi, 1
    0042c598test esi, esi
    0042c59ajne 0x42c477
    0042c5a0
    0042c5a0loc_42c5a0:
    0042c5a0nop
    0042c5a1
    0042c5a1loc_42c5a1:
    0042c5a1mov eax, [rbp+72]
    0042c5a4mov ecx, [rbp+88]
    0042c5a7sub eax, ecx
    0042c5a9mov [rbp+108], eax
    0042c5acmov eax, [rbp+108]
    0042c5aftest eax, eax
    0042c5b1jle 0x42c5e9
    0042c5b3mov eax, [rbp+88]
    0042c5b6movsxd rax, eax
    0042c5b9lea rcx, [r13+2*rax]
    0042c5bemov eax, [rbp+92]
    0042c5c1movsxd rax, eax
    0042c5c4lea rdx, [rdi+2*rax]
    0042c5c8mov r8l, [rbp+108]
    0042c5ccadd r8l, r8l
    0042c5cfmovsxd r8, r8l
    0042c5d2call fn_405ac0
    0042c5d7jmp 0x42c5e9
    0042c5d9
    0042c5d9loc_42c5d9:
    0042c5d9mov rcx, [rbp+56]
    0042c5ddmov rdx, [rbp+232]
    0042c5e4call fn_40c360
    0042c5e9
    0042c5e9loc_42c5e9:
    0042c5e9nop
    0042c5ea
    0042c5ealoc_42c5ea:
    0042c5ealea rcx, [rbp+112]
    0042c5eemov edx, 3
    0042c5f3call fn_40bdd0
    0042c5f8lea rcx, [rbp+136]
    0042c5ffmov rdx, [rip-2350]
    0042c606call fn_410600
    0042c60blea rcx, [rbp+144]
    0042c612mov edx, 2
    0042c617call fn_40bdd0
    0042c61cmov rax, [rbp+56]
    0042c620lea rsp, [rbp+168]
    0042c627pop rbx
    0042c628pop rsi
    0042c629pop rdi
    0042c62apop r13
    0042c62cpop r14
    0042c62epop rbp
    0042c62fret
    0042bd20
    0042c630
    0042c630fn_42c630:
    0042c630push rbp
    0042c631push rbx
    0042c632sub rsp, 40
    0042c636mov rbp, rsp
    0042c639mov rbx, rdx
    0042c63clea rcx, [rbx+112]
    0042c640mov edx, 3
    0042c645call fn_40bdd0
    0042c64alea rcx, [rbx+136]
    0042c651mov rdx, [rip-2432]
    0042c658call fn_410600
    0042c65dlea rcx, [rbx+144]
    0042c664mov edx, 2
    0042c669call fn_40bdd0
    0042c66elea rsp, [rbp+40]
    0042c672pop rbx
    0042c673pop rbp
    0042c674ret
    0042c630
    0042c675
    0042c675 00 00 00 80 c6 42 00 00 00 00 00 .....B.....
    0042c680 14 0e 50 55 6e 69 74 48 61 73 68 45 6e 74 72 79 ..PUnitHashEntry
    0042c690 a0 c6 42 00 00 00 00 00 02 00 00 00 00 00 00 00 ..B.............
    0042c6a0 a8 c6 42 00 00 00 00 00 0e 0e 54 55 6e 69 74 48 ..B.......TUnitH
    0042c6b0 61 73 68 45 6e 74 72 79 28 00 00 00 00 00 00 00 ashEntry(.......
    0042c6c0 00 06 00 00 00 78 c6 42 00 00 00 00 00 00 00 00 .....x.B........
    0042c6d0 00 00 00 00 00 02 04 4e 65 78 74 02 00 78 c6 42 .......Next..x.B
    0042c6e0 00 00 00 00 00 08 00 00 00 00 00 00 00 02 04 50 ...............P
    0042c6f0 72 65 76 02 00 f8 2d 40 00 00 00 00 00 10 00 00 rev...-@........
    0042c700 00 00 00 00 00 02 09 4c 69 62 4d 6f 64 75 6c 65 .......LibModule
    0042c710 02 00 00 12 40 00 00 00 00 00 18 00 00 00 00 00 ....@...........
    0042c720 00 00 02 08 55 6e 69 74 4e 61 6d 65 02 00 00 10 ....UnitName....
    0042c730 40 00 00 00 00 00 20 00 00 00 00 00 00 00 02 0b @..... .........
    0042c740 44 75 70 73 41 6c 6c 6f 77 65 64 02 00 d8 10 40 DupsAllowed....@
    0042c750 00 00 00 00 00 24 00 00 00 00 00 00 00 02 08 46 .....$.........F
    0042c760 75 6c 6c 48 61 73 68 02 00 02 00 00 00 00 00 00 ullHash.........
    0042c770 78 c7 42 00 00 00 00 00 0e 0b 54 4d 6f 64 75 6c x.B.......TModul
    0042c780 65 49 6e 66 6f 10 00 00 00 01 00 00 00 e8 c7 42 eInfo..........B
    0042c790 00 00 00 00 00 08 00 00 00 00 00 00 00 00 02 00 ................
    0042c7a0 00 00 00 10 40 00 00 00 00 00 00 00 00 00 00 00 ....@...........
    0042c7b0 00 00 02 09 56 61 6c 69 64 61 74 65 64 02 00 e8 ....Validated...
    0042c7c0 c7 42 00 00 00 00 00 08 00 00 00 00 00 00 00 02 .B..............
    0042c7d0 0d 55 6e 69 74 48 61 73 68 41 72 72 61 79 02 00 .UnitHashArray..
    0042c7e0 02 00 00 00 00 00 00 00 f0 c7 42 00 00 00 00 00 ..........B.....
    0042c7f0 11 26 54 41 72 72 61 79 3c 53 79 73 74 65 6d 2e .&TArray<System.
    0042c800 53 79 73 55 74 69 6c 73 2e 54 55 6e 69 74 48 61 SysUtils.TUnitHa
    0042c810 73 68 45 6e 74 72 79 3e 28 00 00 00 00 00 00 00 shEntry>(.......
    0042c820 00 00 00 00 ff ff ff ff a0 c6 42 00 00 00 00 00 ..........B.....
    0042c830 06 53 79 73 74 65 6d a0 c6 42 00 00 00 00 00 02 .System..B......
    0042c840 00 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc ................
    0042c850
    0042c850fn_42c850:
    0042c850push rbp
    0042c851push r13
    0042c853push rdi
    0042c854push rsi
    0042c855push rbx
    0042c856sub rsp, 576
    0042c85dmov rbp, rsp
    0042c860mov rbx, rcx
    0042c863mov rcx, rbx
    0042c866call fn_40c580
    0042c86bmov r13l, eax
    0042c86emov ecx, 65001
    0042c873xor edx, edx
    0042c875mov r8, rbx
    0042c878mov r9l, r13l
    0042c87bmov [rsp+32], 0
    0042c884mov [rsp+40], 0
    0042c88ccall fn_4146e0
    0042c891mov esi, eax
    0042c893cmp esi, 260
    0042c899jbe 0x42c8ab
    0042c89bmov ecx, esi
    0042c89dadd ecx, ecx
    0042c89fmov ecx, ecx
    0042c8a1call fn_405700
    0042c8a6mov rdi, rax
    0042c8a9jmp 0x42c8af
    0042c8ab
    0042c8abloc_42c8ab:
    0042c8ablea rdi, [rbp+56]
    0042c8af
    0042c8afloc_42c8af:
    0042c8afmov ecx, 65001
    0042c8b4xor edx, edx
    0042c8b6mov r8, rbx
    0042c8b9mov r9l, r13l
    0042c8bcmov [rsp+32], rdi
    0042c8c1mov [rsp+40], esi
    0042c8c5call fn_4146e0
    0042c8camov rcx, rdi
    0042c8cdcall CharUpperW
    0042c8d2xor ebx, ebx
    0042c8d4xor ecx, ecx
    0042c8d6mov edx, esi
    0042c8d8sub edx, 1
    0042c8dbmov eax, ecx
    0042c8ddcmp eax, edx
    0042c8dfjg 0x42c905
    0042c8e1sub edx, ecx
    0042c8e3add edx, 1
    0042c8e6
    0042c8e6loc_42c8e6:
    0042c8e6mov ecx, ebx
    0042c8e8shl ecx, 5
    0042c8ebshr ebx, 27
    0042c8eeor ecx, ebx
    0042c8f0mov ebx, ecx
    0042c8f2movsxd rcx, eax
    0042c8f5movzx ecx, [rdi+2*rcx]
    0042c8f9xor ebx, ecx
    0042c8fbadd eax, 1
    0042c8fesub edx, 1
    0042c901test edx, edx
    0042c903jne 0x42c8e6
    0042c905
    0042c905loc_42c905:
    0042c905nop
    0042c906lea rax, [rbp+56]
    0042c90acmp rdi, rax
    0042c90dje 0x42c917
    0042c90fmov rcx, rdi
    0042c912call fn_405730
    0042c917
    0042c917loc_42c917:
    0042c917mov eax, ebx
    0042c919lea rsp, [rbp+576]
    0042c920pop rbx
    0042c921pop rsi
    0042c922pop rdi
    0042c923pop r13
    0042c925pop rbp
    0042c926ret
    0042c850
    0042c927
    0042c927 // align 0x10
    0042c930
    0042c930fn_42c930:
    0042c930sub rsp, 40
    0042c934xor eax, eax
    0042c936mov rdx, rcx
    0042c939jmp 0x42c9a1
    0042c93b
    0042c93bloc_42c93b:
    0042c93bcmp cl, 127
    0042c93ejbe 0x42c94a
    0042c940mov rcx, rdx
    0042c943call fn_42c850
    0042c948jmp 0x42c9a9
    0042c94a
    0042c94aloc_42c94a:
    0042c94amovzx r8, [rdx]
    0042c94emov ecx, r8l
    0042c951sub cl, 64
    0042c954cmp cl, 31
    0042c957ja 0x42c977
    0042c959mov r9l, 1
    0042c95fmovzx rcx, cl
    0042c963and ecx, 127
    0042c966shl r9l, cl
    0042c969mov ecx, [rip+65]
    0042c96ftest r9l, ecx
    0042c972setne cl
    0042c975jmp 0x42c979
    0042c977
    0042c977loc_42c977:
    0042c977xor ecx, ecx
    0042c979
    0042c979loc_42c979:
    0042c979test cl, cl
    0042c97bje 0x42c98a
    0042c97dor r8b, 32
    0042c981movzx r8, r8b
    0042c985xor eax, r8l
    0042c988jmp 0x42c991
    0042c98a
    0042c98aloc_42c98a:
    0042c98amovzx r8, r8b
    0042c98exor eax, r8l
    0042c991
    0042c991loc_42c991:
    0042c991add rdx, 1
    0042c995mov ecx, eax
    0042c997shr ecx, 27
    0042c99ashl eax, 5
    0042c99dor ecx, eax
    0042c99fmov eax, ecx
    0042c9a1
    0042c9a1loc_42c9a1:
    0042c9a1movzx rcx, [rdx]
    0042c9a5test cl, cl
    0042c9a7jne 0x42c93b
    0042c9a9
    0042c9a9loc_42c9a9:
    0042c9a9add rsp, 40
    0042c9adret
    0042c930
    0042c9ae
    0042c9ae 00 00 ..
    0042c9b0 fe ff ff 07 cc cc cc cc cc cc cc cc cc cc cc cc ................
    0042c9c0
    0042c9c0fn_42c9c0:
    0042c9c0push rbx
    0042c9c1sub rsp, 32
    0042c9c5mov rax, [rip+0x377f4]
    0042c9ccmov rbx, [rax]
    0042c9cftest rbx, rbx
    0042c9d2je 0x42c9fb
    0042c9d4
    0042c9d4loc_42c9d4:
    0042c9d4cmp [rbx+48], 0
    0042c9d9je 0x42c9f3
    0042c9dbmov rcx, [rbx+48]
    0042c9dfmov rdx, [rip-630]
    0042c9e6call fn_40f8d0
    0042c9ebmov [rbx+48], 0
    0042c9f3
    0042c9f3loc_42c9f3:
    0042c9f3mov rbx, [rbx]
    0042c9f6test rbx, rbx
    0042c9f9jne 0x42c9d4
    0042c9fb
    0042c9fbloc_42c9fb:
    0042c9fbnop
    0042c9fcadd rsp, 32
    0042ca00pop rbx
    0042ca01ret
    0042c9c0
    0042ca02
    0042ca02 // align 0x10
    0042ca10
    0042ca10fn_42ca10:
    0042ca10push r14
    0042ca12push r13
    0042ca14push rdi
    0042ca15push rsi
    0042ca16push rbx
    0042ca17sub rsp, 48
    0042ca1bmov rax, [rip+0x3779e]
    0042ca22mov rax, [rax]
    0042ca25test rax, rax
    0042ca28je 0x42ca3a
    0042ca2a
    0042ca2aloc_42ca2a:
    0042ca2amov edx, ecx
    0042ca2ccmp [rax+8], rdx
    0042ca30je 0x42ca3b
    0042ca32mov rax, [rax]
    0042ca35test rax, rax
    0042ca38jne 0x42ca2a
    0042ca3a
    0042ca3aloc_42ca3a:
    0042ca3anop
    0042ca3b
    0042ca3bloc_42ca3b:
    0042ca3bnop
    0042ca3cmov [rsp+40], rax
    0042ca41mov rax, [rsp+40]
    0042ca46test rax, rax
    0042ca49je 0x42cb9a
    0042ca4fmov rax, [rsp+40]
    0042ca54cmp [rax+48], 0
    0042ca59je 0x42cb9a
    0042ca5fmov rax, [rsp+40]
    0042ca64mov rbx, [rax+48]
    0042ca68cmp [rbx], 0
    0042ca6bje 0x42ca76
    0042ca6dlea rdi, [rip+0x3ed24]
    0042ca74jmp 0x42ca7d
    0042ca76
    0042ca76loc_42ca76:
    0042ca76lea rdi, [rip+0x40d03]
    0042ca7d
    0042ca7dloc_42ca7d:
    0042ca7dmov rax, [rbx+8]
    0042ca81test rax, rax
    0042ca84je 0x42ca8a
    0042ca86mov rax, [rax-8]
    0042ca8a
    0042ca8aloc_42ca8a:
    0042ca8axor ecx, ecx
    0042ca8clea r14, [rax-1]
    0042ca90mov esi, ecx
    0042ca92cmp esi, r14l
    0042ca95jg 0x42cb7d
    0042ca9bsub r14l, ecx
    0042ca9eadd r14l, 1
    0042caa2
    0042caa2loc_42caa2:
    0042caa2movsxd r13, esi
    0042caa5mov rax, [rbx+8]
    0042caa9mov rcx, r13
    0042caaclea rcx, [rcx+4*rcx]
    0042cab0cmp [rax+8*rcx+8], 0
    0042cab6je 0x42cadc
    0042cab8mov rax, [rbx+8]
    0042cabcmov rcx, r13
    0042cabflea rcx, [rcx+4*rcx]
    0042cac3mov rax, [rax+8*rcx+8]
    0042cac8mov rcx, [rbx+8]
    0042caccmov rdx, r13
    0042cacflea rdx, [rdx+4*rdx]
    0042cad3mov rcx, [rcx+8*rdx]
    0042cad7mov [rax], rcx
    0042cadajmp 0x42cb3a
    0042cadc
    0042cadcloc_42cadc:
    0042cadcmov rax, [rbx+8]
    0042cae0mov rcx, r13
    0042cae3lea rcx, [rcx+4*rcx]
    0042cae7cmp [rax+8*rcx+24], 0
    0042caedje 0x42cb3a
    0042caefmov rax, [rbx+8]
    0042caf3mov rcx, r13
    0042caf6lea rcx, [rcx+4*rcx]
    0042cafamov rcx, [rax+8*rcx+24]
    0042caffcall fn_42c930
    0042cb04mov ecx, 1021
    0042cb09xor edx, edx
    0042cb0bdiv ecx
    0042cb0dmov rax, rdx
    0042cb10mov eax, eax
    0042cb12mov rcx, [rbx+8]
    0042cb16mov rdx, r13
    0042cb19lea rdx, [rdx+4*rdx]
    0042cb1dlea rcx, [rcx+8*rdx]
    0042cb21cmp [rdi+8*rax], rcx
    0042cb25jne 0x42cb3a
    0042cb27mov rcx, [rbx+8]
    0042cb2bmov rdx, r13
    0042cb2elea rdx, [rdx+4*rdx]
    0042cb32mov rcx, [rcx+8*rdx]
    0042cb36mov [rdi+8*rax], rcx
    0042cb3a
    0042cb3aloc_42cb3a:
    0042cb3amov rax, [rbx+8]
    0042cb3emov rcx, r13
    0042cb41lea rcx, [rcx+4*rcx]
    0042cb45cmp [rax+8*rcx], 0
    0042cb4aje 0x42cb6d
    0042cb4cmov rax, [rbx+8]
    0042cb50mov rcx, r13
    0042cb53lea rcx, [rcx+4*rcx]
    0042cb57mov rax, [rax+8*rcx]
    0042cb5bmov rcx, [rbx+8]
    0042cb5flea r13, [r13+4*r13]
    0042cb64mov rcx, [rcx+8*r13+8]
    0042cb69mov [rax+8], rcx
    0042cb6d
    0042cb6dloc_42cb6d:
    0042cb6dadd esi, 1
    0042cb70sub r14l, 1
    0042cb74test r14l, r14l
    0042cb77jne 0x42caa2
    0042cb7d
    0042cb7dloc_42cb7d:
    0042cb7dnop
    0042cb7emov rcx, rbx
    0042cb81mov rdx, [rip-1048]
    0042cb88call fn_40f8d0
    0042cb8dmov rax, [rsp+40]
    0042cb92mov [rax+48], 0
    0042cb9a
    0042cb9aloc_42cb9a:
    0042cb9aadd rsp, 48
    0042cb9epop rbx
    0042cb9fpop rsi
    0042cba0pop rdi
    0042cba1pop r13
    0042cba3pop r14
    0042cba5ret
    0042ca10
    0042cba6
    0042cba6 // align 0x10
    0042cbb0
    0042cbb0Sleep:
    0042cbb0jmp [rip+0x44b6a]
    0042cbb0
    0042cbb6
    0042cbb6 // align 0x10
    0042cbc0
    0042cbc0fn_42cbc0:
    0042cbc0sub rsp, 40
    0042cbc4call GetLastError
    0042cbc9mov ecx, eax
    0042cbcbxor edx, edx
    0042cbcdcall fn_42cbe0
    0042cbd2add rsp, 40
    0042cbd6ret
    0042cbc0
    0042cbd7
    0042cbd7 // align 0x10
    0042cbe0
    0042cbe0fn_42cbe0:
    0042cbe0push rbp
    0042cbe1add rsp, -128
    0042cbe5mov rbp, rsp
    0042cbe8mov [rbp+60], ecx
    0042cbebmov [rbp+64], rdx
    0042cbefmov [rbp+72], 0
    0042cbf7nop
    0042cbf8mov eax, [rbp+60]
    0042cbfbtest eax, eax
    0042cbfdje 0x42cc53
    0042cbffmov eax, [rbp+60]
    0042cc02mov [rbp+80], eax
    0042cc05mov [rbp+88], 0
    0042cc09lea rcx, [rbp+72]
    0042cc0dmov edx, [rbp+60]
    0042cc10xor r8, r8
    0042cc13call fn_427080
    0042cc18mov rax, [rbp+72]
    0042cc1cmov [rbp+96], rax
    0042cc20mov [rbp+104], 17
    0042cc24mov rax, [rbp+64]
    0042cc28mov [rbp+112], rax
    0042cc2cmov [rbp+120], 17
    0042cc30mov rcx, [rip-48943]
    0042cc37mov dl, 1
    0042cc39mov r8, [rip+0x374f0]
    0042cc40lea r9, [rbp+80]
    0042cc44mov [rsp+32], 2
    0042cc4ccall Exception.CreateResFmt_2
    0042cc51jmp 0x42cc68
    0042cc53
    0042cc53loc_42cc53:
    0042cc53mov rcx, [rip-48978]
    0042cc5amov dl, 1
    0042cc5cmov r8, [rip+0x375d5]
    0042cc63call Exception.CreateRes_2
    0042cc68
    0042cc68loc_42cc68:
    0042cc68mov ecx, [rbp+60]
    0042cc6bmov [rax+48], ecx
    0042cc6emov rcx, rax
    0042cc71mov rdx, [rbp+136]
    0042cc78call fn_40aee0
    0042cc7dnop
    0042cc7elea rcx, [rbp+72]
    0042cc82call fn_40bcf0
    0042cc87lea rsp, [rbp+128]
    0042cc8epop rbp
    0042cc8fret
    0042cbe0
    0042cc90
    0042cc90fn_42cc90:
    0042cc90push rbp
    0042cc91sub rsp, 32
    0042cc95mov rbp, rsp
    0042cc98lea rcx, [rdx+72]
    0042cc9ccall fn_40bcf0
    0042cca1lea rsp, [rbp+32]
    0042cca5pop rbp
    0042cca6ret
    0042cc90
    0042cca7
    0042cca7 // align 0x10
    0042ccb0
    0042ccb0fn_42ccb0:
    0042ccb0sub rsp, 40
    0042ccb4jmp 0x42cccf
    0042ccb6
    0042ccb6loc_42ccb6:
    0042ccb6mov rax, [rip+0x31563]
    0042ccbdmov rcx, [rax]
    0042ccc0mov [rip+0x31559], rcx
    0042ccc7mov rcx, rax
    0042cccacall fn_405730
    0042cccf
    0042cccfloc_42cccf:
    0042cccfcmp [rip+0x31549], 0
    0042ccd7jne 0x42ccb6
    0042ccd9add rsp, 40
    0042ccddret
    0042ccb0
    0042ccde
    0042ccde // align 0x10
    0042cce0
    0042cce0fn_42cce0:
    0042cce0sub rsp, 40
    0042cce4lea rcx, [rip+61]
    0042ccebcall GetModuleHandleW
    0042ccf0test rax, rax
    0042ccf3je 0x42cd0b
    0042ccf5mov rcx, rax
    0042ccf8lea rdx, [rip+67]
    0042ccffcall fn_416780
    0042cd04mov [rip+0x2fbbd], rax
    0042cd0b
    0042cd0bloc_42cd0b:
    0042cd0bcmp [rip+0x2fbb5], 0
    0042cd13jne 0x42cd23
    0042cd15lea rax, [rip-41260]
    0042cd1cmov [rip+0x2fba5], rax
    0042cd23
    0042cd23loc_42cd23:
    0042cd23add rsp, 40
    0042cd27ret
    0042cce0
    0042cd28
    0042cd28 6b 00 65 00 72 00 6e 00 k.e.r.n.
    0042cd30 65 00 6c 00 33 00 32 00 2e 00 64 00 6c 00 6c 00 e.l.3.2...d.l.l.
    0042cd40 00 00 47 00 65 00 74 00 44 00 69 00 73 00 6b 00 ..G.e.t.D.i.s.k.
    0042cd50 46 00 72 00 65 00 65 00 53 00 70 00 61 00 63 00 F.r.e.e.S.p.a.c.
    0042cd60 65 00 45 00 78 00 57 00 00 00 cc cc cc cc cc cc e.E.x.W.........
    0042cd70
    0042cd70fn_42cd70:
    0042cd70push r13
    0042cd72push rdi
    0042cd73push rsi
    0042cd74push rbx
    0042cd75sub rsp, 40
    0042cd79mov rbx, rcx
    0042cd7cmov rsi, rdx
    0042cd7fmov rdi, r8
    0042cd82mov r13, r9
    0042cd85lea rax, [rip-28]
    0042cd8ccmp [rip+0x2fb35], rax
    0042cd93jne 0x42cd9a
    0042cd95call fn_42cdc0
    0042cd9a
    0042cd9aloc_42cd9a:
    0042cd9amov rcx, rbx
    0042cd9dmov rdx, rsi
    0042cda0mov r8, rdi
    0042cda3mov r9, r13
    0042cda6call [rip+0x2fb1c]
    0042cdacadd rsp, 40
    0042cdb0pop rbx
    0042cdb1pop rsi
    0042cdb2pop rdi
    0042cdb3pop r13
    0042cdb5ret
    0042cd70
    0042cdb6
    0042cdb6 // align 0x10
    0042cdc0
    0042cdc0fn_42cdc0:
    0042cdc0push rbp
    0042cdc1sub rsp, 48
    0042cdc5mov rbp, rsp
    0042cdc8mov [rbp+40], rbp
    0042cdccmov rcx, [rip+0x42995]
    0042cdd3or edx, -1
    0042cdd6call fn_409960
    0042cddbnop
    0042cddclea rax, [rip-115]
    0042cde3cmp [rip+0x2fade], rax
    0042cdeajne 0x42cdf1
    0042cdeccall fn_42cce0
    0042cdf1
    0042cdf1loc_42cdf1:
    0042cdf1nop
    0042cdf2mov rcx, [rip+0x4296f]
    0042cdf9call fn_409c80
    0042cdfelea rsp, [rbp+48]
    0042ce02pop rbp
    0042ce03ret
    0042cdc0
    0042ce04
    0042ce04 48 8d 40 00 48 8d 04 05 00 00 00 00 H.@.H.......
    0042ce10
    0042ce10fn_42ce10:
    0042ce10push rbp
    0042ce11sub rsp, 32
    0042ce15mov rbp, rsp
    0042ce18mov rcx, [rip+0x42949]
    0042ce1fcall fn_409c80
    0042ce24lea rsp, [rbp+32]
    0042ce28pop rbp
    0042ce29ret
    0042ce10
    0042ce2a
    0042ce2a // align 0x10
    0042ce30
    0042ce30fn_42ce30:
    0042ce30sub rsp, 40
    0042ce34mov rax, [rcx]
    0042ce37mov [rcx], 0
    0042ce3emov rcx, rax
    0042ce41call TObject.Free
    0042ce46add rsp, 40
    0042ce4aret
    0042ce30
    0042ce4b
    0042ce4b // align 0x10
    0042ce50
    0042ce50fn_42ce50:
    0042ce50push rbx
    0042ce51sub rsp, 32
    0042ce55mov rbx, rcx
    0042ce58call fn_414a40
    0042ce5dmov rcx, [rax+552]
    0042ce64mov rdx, rbx
    0042ce67call fn_42ced0
    0042ce6cadd rsp, 32
    0042ce70pop rbx
    0042ce71ret
    0042ce50
    0042ce72
    0042ce72 // align 0x10
    0042ce80
    0042ce80fn_42ce80:
    0042ce80push rbp
    0042ce81push rbx
    0042ce82sub rsp, 2088
    0042ce89mov rbp, rsp
    0042ce8cmov rbx, rcx
    0042ce8fmov [rbp+32], 0
    0042ce95mov ecx, edx
    0042ce97mov edx, r8l
    0042ce9alea r8, [rbp+32]
    0042ce9emov r9l, 1024
    0042cea4call GetLocaleInfoW
    0042cea9mov rcx, rbx
    0042ceaclea rdx, [rbp+32]
    0042ceb0mov r8l, 1024
    0042ceb6call fn_40d7b0
    0042cebbmov rax, rbx
    0042cebelea rsp, [rbp+2088]
    0042cec5pop rbx
    0042cec6pop rbp
    0042cec7ret
    0042ce80
    0042cec8
    0042cec8 // align 0x10
    0042ced0
    0042ced0fn_42ced0:
    0042ced0push rbp
    0042ced1push rsi
    0042ced2push rbx
    0042ced3sub rsp, 160
    0042cedamov rbp, rsp
    0042ceddmov [rbp+32], rcx
    0042cee1mov [rbp+40], rdx
    0042cee5mov [rbp+104], 0
    0042ceedmov [rbp+64], 0
    0042cef5mov [rbp+56], 0
    0042cefdmov [rbp+112], 0
    0042cf05mov [rbp+136], 0
    0042cf10mov [rbp+128], 0
    0042cf1bmov [rbp+120], 0
    0042cf23mov [rbp+152], 0
    0042cf2enop
    0042cf2flea rcx, [rbp+120]
    0042cf33mov rdx, [rbp+40]
    0042cf37call fn_40d780
    0042cf3clea rcx, [rbp+128]
    0042cf43mov rdx, [rbp+120]
    0042cf47mov r8l, 5
    0042cf4dmov r9l, 4
    0042cf53call fn_40dca0
    0042cf58lea rcx, [rbp+136]
    0042cf5flea rdx, [rip+578]
    0042cf66mov r8, [rbp+128]
    0042cf6dcall fn_40da80
    0042cf72mov rcx, [rbp+136]
    0042cf79call fn_4228a0
    0042cf7emov ebx, eax
    0042cf80lea rcx, [rbp+152]
    0042cf87mov edx, ebx
    0042cf89mov r8l, 3
    0042cf8fcall fn_42ce80
    0042cf94cmp [rbp+152], 0
    0042cf9cje 0x42d11c
    0042cfa2mov rax, [rbp+32]
    0042cfa6mov rax, [rax+8]
    0042cfaatest rax, rax
    0042cfadje 0x42cfb3
    0042cfafmov rax, [rax-8]
    0042cfb3
    0042cfb3loc_42cfb3:
    0042cfb3mov rcx, [rbp+32]
    0042cfb7lea rcx, [rcx+8]
    0042cfbbmov rdx, [rip-47610]
    0042cfc2mov r8l, 1
    0042cfc8lea r9, [rax+1]
    0042cfcccall fn_410430
    0042cfd1mov rax, [rbp+32]
    0042cfd5mov rax, [rax+8]
    0042cfd9mov rsi, rax
    0042cfdctest rsi, rsi
    0042cfdfje 0x42cfe5
    0042cfe1mov rsi, [rsi-8]
    0042cfe5
    0042cfe5loc_42cfe5:
    0042cfe5lea rcx, [rbp+112]
    0042cfe9mov edx, ebx
    0042cfebmov r8l, 2
    0042cff1call fn_42ce80
    0042cff6mov rax, [rbp+32]
    0042cffamov rax, [rax+8]
    0042cffelea rcx, [rsi-1]
    0042d002mov rdx, rcx
    0042d005add rcx, rcx
    0042d008add rcx, rcx
    0042d00badd rcx, rcx
    0042d00esub rcx, rdx
    0042d011lea rcx, [rax+4*rcx]
    0042d015mov rdx, [rbp+112]
    0042d019call fn_40c360
    0042d01emov rax, [rbp+32]
    0042d022mov rax, [rax+8]
    0042d026test rax, rax
    0042d029je 0x42d02f
    0042d02bmov rax, [rax-8]
    0042d02f
    0042d02floc_42d02f:
    0042d02fmov rcx, [rbp+32]
    0042d033mov rcx, [rcx+8]
    0042d037lea rax, [rax-1]
    0042d03bmov rdx, rax
    0042d03eadd rax, rax
    0042d041add rax, rax
    0042d044add rax, rax
    0042d047sub rax, rdx
    0042d04amov [rcx+4*rax+8], ebx
    0042d04emov rax, [rbp+32]
    0042d052mov rax, [rax+8]
    0042d056test rax, rax
    0042d059je 0x42d05f
    0042d05bmov rax, [rax-8]
    0042d05f
    0042d05floc_42d05f:
    0042d05fmov rcx, [rbp+32]
    0042d063mov rcx, [rcx+8]
    0042d067lea rax, [rax-1]
    0042d06bmov rdx, rax
    0042d06eadd rax, rax
    0042d071add rax, rax
    0042d074add rax, rax
    0042d077sub rax, rdx
    0042d07alea rcx, [rcx+4*rax+12]
    0042d07fmov rdx, [rbp+152]
    0042d086call fn_40c360
    0042d08bmov rax, [rbp+32]
    0042d08fmov rax, [rax+8]
    0042d093mov rsi, rax
    0042d096test rsi, rsi
    0042d099je 0x42d09f
    0042d09bmov rsi, [rsi-8]
    0042d09f
    0042d09floc_42d09f:
    0042d09flea rcx, [rbp+64]
    0042d0a3mov edx, ebx
    0042d0a5mov r8l, 89
    0042d0abcall fn_42ce80
    0042d0b0mov rax, [rbp+64]
    0042d0b4mov [rbp+72], rax
    0042d0b8mov [rbp+80], 17
    0042d0bclea rcx, [rbp+56]
    0042d0c0mov edx, ebx
    0042d0c2mov r8l, 90
    0042d0c8call fn_42ce80
    0042d0cdmov rax, [rbp+56]
    0042d0d1mov [rbp+88], rax
    0042d0d5mov [rbp+96], 17
    0042d0d9lea rcx, [rbp+104]
    0042d0ddlea rdx, [rip+212]
    0042d0e4lea r8, [rbp+72]
    0042d0e8mov r9l, 1
    0042d0eecall fn_422fd0
    0042d0f3mov rax, [rbp+32]
    0042d0f7mov rax, [rax+8]
    0042d0fblea rcx, [rsi-1]
    0042d0ffmov rdx, rcx
    0042d102add rcx, rcx
    0042d105add rcx, rcx
    0042d108add rcx, rcx
    0042d10bsub rcx, rdx
    0042d10elea rcx, [rax+4*rcx+20]
    0042d113mov rdx, [rbp+104]
    0042d117call fn_40c360
    0042d11c
    0042d11cloc_42d11c:
    0042d11cmov eax, 1
    0042d121mov [rbp+52], eax
    0042d124nop
    0042d125lea rcx, [rbp+56]
    0042d129mov edx, 2
    0042d12ecall fn_40bdd0
    0042d133lea rcx, [rbp+104]
    0042d137mov edx, 5
    0042d13ccall fn_40bdd0
    0042d141lea rcx, [rbp+152]
    0042d148call fn_40bcf0
    0042d14dmov eax, [rbp+52]
    0042d150lea rsp, [rbp+160]
    0042d157pop rbx
    0042d158pop rsi
    0042d159pop rbp
    0042d15aret
    0042ced0
    0042d15b
    0042d15b 48 8d 44 20 00 H.D .
    0042d160
    0042d160fn_42d160:
    0042d160push rbp
    0042d161push rbx
    0042d162sub rsp, 40
    0042d166mov rbp, rsp
    0042d169mov rbx, rdx
    0042d16clea rcx, [rbx+56]
    0042d170mov edx, 2
    0042d175call fn_40bdd0
    0042d17alea rcx, [rbx+104]
    0042d17emov edx, 5
    0042d183call fn_40bdd0
    0042d188lea rcx, [rbx+152]
    0042d18fcall fn_40bcf0
    0042d194lea rsp, [rbp+40]
    0042d198pop rbx
    0042d199pop rbp
    0042d19aret
    0042d160
    0042d19b
    0042d19b 00 b0 04 02 00 .....
    0042d1a0 ff ff ff ff 01 00 00 00 24 00 00 00 b0 04 02 00 ........$.......
    0042d1b0 ff ff ff ff 05 00 00 00 25 00 73 00 2d 00 25 00 ........%.s.-.%.
    0042d1c0 73 00 00 00 cc cc cc cc cc cc cc cc cc cc cc cc s...............
    0042d1d0
    0042d1d0TLanguages.Create:
    0042d1d0push rbp
    0042d1d1push rbx
    0042d1d2sub rsp, 56
    0042d1d6mov rbp, rsp
    0042d1d9mov [rbp+40], rbp
    0042d1ddmov [rbp+80], rcx
    0042d1e1mov [rbp+88], dl
    0042d1e4cmp [rbp+88], 0
    0042d1e8je 0x42d1fc
    0042d1eamov rcx, [rbp+80]
    0042d1eemovzx rdx, [rbp+88]
    0042d1f3call fn_409530
    0042d1f8mov [rbp+80], rax
    0042d1fc
    0042d1fcloc_42d1fc:
    0042d1fcnop
    0042d1fdmov rcx, [rbp+80]
    0042d201xor edx, edx
    0042d203call TObject.Create
    0042d208call fn_414a40
    0042d20dmov rcx, [rbp+80]
    0042d211mov [rax+552], rcx
    0042d218lea rcx, [rip-975]
    0042d21fmov edx, 2
    0042d224call EnumSystemLocalesW
    0042d229cmp [rbp+88], 0
    0042d22dje 0x42d26c
    0042d22fmov rcx, [rbp+80]
    0042d233call fn_409570
    0042d238mov [rbp+80], rax
    0042d23cjmp 0x42d26c
    0042d23e
    0042d23e 90 90 ..
    0042d240 80 7d 58 00 74 20 48 83 7d 50 00 74 19 48 8b 4d .}X.t H.}P.t.H.M
    0042d250 50 b2 81 48 8b 45 50 48 8b 18 ff 53 e0 48 8b 4d P..H.EPH...S.H.M
    0042d260 50 e8 ea c2 fd ff e8 a5 dd fd ff 90 P...........
    0042d26c
    0042d26cloc_42d26c:
    0042d26cmov rax, [rbp+80]
    0042d270lea rsp, [rbp+56]
    0042d274pop rbx
    0042d275pop rbp
    0042d276ret
    0042d1d0
    0042d277
    0042d277 90 48 8d 04 05 00 00 00 00 .H.......
    0042d280
    0042d280fn_42d280:
    0042d280sub rsp, 40
    0042d284call fn_40b050
    0042d289add rsp, 40
    0042d28dret
    0042d280
    0042d28e
    0042d28e // align 0x10
    0042d290
    0042d290TLanguages.Destroy:
    0042d290push rsi
    0042d291push rbx
    0042d292sub rsp, 40
    0042d296mov rbx, rcx
    0042d299mov esi, edx
    0042d29cmov rcx, rbx
    0042d29fmov edx, esi
    0042d2a2call fn_4095d0
    0042d2a7mov rcx, rbx
    0042d2aamov edx, esi
    0042d2adand dl, 252
    0042d2b0call TObject.Destroy
    0042d2b5test sil, sil
    0042d2b8jle 0x42d2c2
    0042d2bamov rcx, rbx
    0042d2bdcall fn_409550
    0042d2c2
    0042d2c2loc_42d2c2:
    0042d2c2add rsp, 40
    0042d2c6pop rbx
    0042d2c7pop rsi
    0042d2c8ret
    0042d290
    0042d2c9
    0042d2c9 // align 0x10
    0042d2d0
    0042d2d0fn_42d2d0:
    0042d2d0mov rax, [rcx+8]
    0042d2d4test rax, rax
    0042d2d7je 0x42d2dd
    0042d2d9mov rax, [rax-8]
    0042d2dd
    0042d2ddloc_42d2dd:
    0042d2ddret
    0042d2d0
    0042d2de
    0042d2de // align 0x10
    0042d2e0
    0042d2e0TLanguages.GetExt:
    0042d2e0push rbx
    0042d2e1sub rsp, 32
    0042d2e5mov rbx, rdx
    0042d2e8mov rax, rbx
    0042d2ebmov rcx, [rcx+8]
    0042d2efmovsxd r8, r8l
    0042d2f2mov rdx, r8
    0042d2f5add r8, r8
    0042d2f8add r8, r8
    0042d2fbadd r8, r8
    0042d2fesub r8, rdx
    0042d301mov rdx, [rcx+4*r8+12]
    0042d306mov rcx, rax
    0042d309call fn_40c360
    0042d30emov rax, rbx
    0042d311add rsp, 32
    0042d315pop rbx
    0042d316ret
    0042d2e0
    0042d317
    0042d317 // align 0x10
    0042d320
    0042d320TLanguages.GetID:
    0042d320push rbp
    0042d321sub rsp, 64
    0042d325mov rbp, rsp
    0042d328mov [rbp+32], rcx
    0042d32cmov [rbp+40], rdx
    0042d330mov [rbp+52], r8l
    0042d334mov [rbp+56], 0
    0042d33cnop
    0042d33dlea rcx, [rbp+56]
    0042d341mov rax, [rbp+32]
    0042d345mov rax, [rax+8]
    0042d349mov edx, [rbp+52]
    0042d34cmovsxd rdx, edx
    0042d34fmov r8, rdx
    0042d352add rdx, rdx
    0042d355add rdx, rdx
    0042d358add rdx, rdx
    0042d35bsub rdx, r8
    0042d35emov edx, [rax+4*rdx+8]
    0042d362mov r8l, 8
    0042d368call fn_422880
    0042d36dmov rcx, [rbp+40]
    0042d371mov rdx, [rip+0x2f548]
    0042d378mov r8, [rbp+56]
    0042d37ccall fn_40da80
    0042d381nop
    0042d382lea rcx, [rbp+56]
    0042d386call fn_40bcf0
    0042d38bmov rax, [rbp+40]
    0042d38flea rsp, [rbp+64]
    0042d393pop rbp
    0042d394ret
    0042d320
    0042d395
    0042d395 48 8b c0 48 8d 04 05 00 00 00 00 H..H.......
    0042d3a0
    0042d3a0fn_42d3a0:
    0042d3a0push rbp
    0042d3a1sub rsp, 32
    0042d3a5mov rbp, rsp
    0042d3a8lea rcx, [rdx+56]
    0042d3accall fn_40bcf0
    0042d3b1lea rsp, [rbp+32]
    0042d3b5pop rbp
    0042d3b6ret
    0042d3a0
    0042d3b7
    0042d3b7 // align 0x10
    0042d3c0
    0042d3c0TLanguages.GetLocaleID:
    0042d3c0mov rax, [rcx+8]
    0042d3c4movsxd rdx, edx
    0042d3c7mov rcx, rdx
    0042d3caadd rdx, rdx
    0042d3cdadd rdx, rdx
    0042d3d0add rdx, rdx
    0042d3d3sub rdx, rcx
    0042d3d6mov eax, [rax+4*rdx+8]
    0042d3daret
    0042d3c0
    0042d3db
    0042d3db // align 0x10
    0042d3e0
    0042d3e0TLanguages.GetLocaleName:
    0042d3e0push rbx
    0042d3e1sub rsp, 32
    0042d3e5mov rbx, rdx
    0042d3e8mov rax, rbx
    0042d3ebmov rcx, [rcx+8]
    0042d3efmovsxd r8, r8l
    0042d3f2mov rdx, r8
    0042d3f5add r8, r8
    0042d3f8add r8, r8
    0042d3fbadd r8, r8
    0042d3fesub r8, rdx
    0042d401mov rdx, [rcx+4*r8+20]
    0042d406mov rcx, rax
    0042d409call fn_40c360
    0042d40emov rax, rbx
    0042d411add rsp, 32
    0042d415pop rbx
    0042d416ret
    0042d3e0
    0042d417
    0042d417 // align 0x10
    0042d420
    0042d420TLanguages.GetName:
    0042d420push rbx
    0042d421sub rsp, 32
    0042d425mov rbx, rdx
    0042d428mov rax, rbx
    0042d42bmov rcx, [rcx+8]
    0042d42fmovsxd r8, r8l
    0042d432mov rdx, r8
    0042d435add r8, r8
    0042d438add r8, r8
    0042d43badd r8, r8
    0042d43esub r8, rdx
    0042d441mov rdx, [rcx+4*r8]
    0042d445mov rcx, rax
    0042d448call fn_40c360
    0042d44dmov rax, rbx
    0042d450add rsp, 32
    0042d454pop rbx
    0042d455ret
    0042d420
    0042d456
    0042d456 // align 0x10
    0042d460
    0042d460TLanguages.GetNameFromLocaleID:
    0042d460push rdi
    0042d461push rsi
    0042d462push rbx
    0042d463sub rsp, 32
    0042d467mov rbx, rcx
    0042d46amov rsi, rdx
    0042d46dmov edi, r8l
    0042d470mov rcx, rsi
    0042d473mov rdx, [rip+0x36ace]
    0042d47acall fn_414600
    0042d47fmov rcx, rbx
    0042d482mov edx, edi
    0042d484call TLanguages.IndexOf
    0042d489cmp eax, -1
    0042d48cje 0x42d49c
    0042d48emov rcx, rbx
    0042d491mov rdx, rsi
    0042d494mov r8l, eax
    0042d497call TLanguages.GetName
    0042d49c
    0042d49cloc_42d49c:
    0042d49ccmp [rsi], 0
    0042d4a0jne 0x42d4b1
    0042d4a2mov rcx, rsi
    0042d4a5mov rdx, [rip+0x36a9c]
    0042d4accall fn_414600
    0042d4b1
    0042d4b1loc_42d4b1:
    0042d4b1mov rax, rsi
    0042d4b4add rsp, 32
    0042d4b8pop rbx
    0042d4b9pop rsi
    0042d4bapop rdi
    0042d4bbret
    0042d460
    0042d4bc
    0042d4bc // align 0x10
    0042d4c0
    0042d4c0TLanguages.GetLocaleIDFromLocaleName:
    0042d4c0push rbp
    0042d4c1sub rsp, 48
    0042d4c5mov rbp, rsp
    0042d4c8mov [rbp+40], 0
    0042d4d0mov [rbp+64], rcx
    0042d4d4nop
    0042d4d5mov ecx, 6
    0042d4daxor edx, edx
    0042d4dccall fn_42e160
    0042d4e1test al, al
    0042d4e3je 0x42d514
    0042d4e5lea rcx, [rbp+64]
    0042d4e9lea rdx, [rbp+40]
    0042d4edmov r8w, 95
    0042d4f2mov r9w, 45
    0042d4f7call fn_42dae0
    0042d4fcmov rcx, [rbp+40]
    0042d500call fn_40d710
    0042d505mov rcx, rax
    0042d508xor edx, edx
    0042d50acall LocaleNameToLCID
    0042d50fmov [rbp+36], eax
    0042d512jmp 0x42d528
    0042d514
    0042d514loc_42d514:
    0042d514call fn_42d740
    0042d519mov rcx, rax
    0042d51cmov rdx, [rbp+64]
    0042d520call TLanguages.GetLocaleIDFromName
    0042d525mov [rbp+36], eax
    0042d528
    0042d528loc_42d528:
    0042d528nop
    0042d529lea rcx, [rbp+40]
    0042d52dcall fn_40bcf0
    0042d532mov eax, [rbp+36]
    0042d535lea rsp, [rbp+48]
    0042d539pop rbp
    0042d53aret
    0042d4c0
    0042d53b
    0042d53b 48 8d 44 20 00 H.D .
    0042d540
    0042d540fn_42d540:
    0042d540push rbp
    0042d541sub rsp, 32
    0042d545mov rbp, rsp
    0042d548lea rcx, [rdx+40]
    0042d54ccall fn_40bcf0
    0042d551lea rsp, [rbp+32]
    0042d555pop rbp
    0042d556ret
    0042d540
    0042d557
    0042d557 // align 0x10
    0042d560
    0042d560TLanguages.GetNameFromLCID:
    0042d560push rsi
    0042d561push rbx
    0042d562sub rsp, 40
    0042d566mov rbx, rcx
    0042d569mov rsi, rdx
    0042d56cmov rcx, r8
    0042d56fxor edx, edx
    0042d571call fn_4228f0
    0042d576mov rcx, rbx
    0042d579mov rdx, rsi
    0042d57cmov r8l, eax
    0042d57fcall TLanguages.GetNameFromLocaleID
    0042d584mov rax, rsi
    0042d587add rsp, 40
    0042d58bpop rbx
    0042d58cpop rsi
    0042d58dret
    0042d560
    0042d58e
    0042d58e // align 0x10
    0042d590
    0042d590TLanguages.GetLocaleIDFromName:
    0042d590push rbp
    0042d591sub rsp, 64
    0042d595mov rbp, rsp
    0042d598mov [rbp+40], rcx
    0042d59cmov [rbp+56], 0
    0042d5a4mov [rbp+88], rdx
    0042d5a8nop
    0042d5a9lea rcx, [rbp+88]
    0042d5adlea rdx, [rbp+56]
    0042d5b1mov r8w, 95
    0042d5b6mov r9w, 45
    0042d5bbcall fn_42dae0
    0042d5c0mov rcx, [rbp+40]
    0042d5c4mov rdx, [rbp+56]
    0042d5c8call TLanguages.IndexOf_2
    0042d5cdtest eax, eax
    0042d5cfjl 0x42d5e1
    0042d5d1mov rcx, [rbp+40]
    0042d5d5mov edx, eax
    0042d5d7call TLanguages.GetLocaleID
    0042d5dcmov [rbp+52], eax
    0042d5dfjmp 0x42d5e6
    0042d5e1
    0042d5e1loc_42d5e1:
    0042d5e1xor eax, eax
    0042d5e3mov [rbp+52], eax
    0042d5e6
    0042d5e6loc_42d5e6:
    0042d5e6nop
    0042d5e7lea rcx, [rbp+56]
    0042d5ebcall fn_40bcf0
    0042d5f0mov eax, [rbp+52]
    0042d5f3lea rsp, [rbp+64]
    0042d5f7pop rbp
    0042d5f8ret
    0042d590
    0042d5f9
    0042d5f9 48 8d 80 00 00 00 00 H......
    0042d600
    0042d600fn_42d600:
    0042d600push rbp
    0042d601sub rsp, 32
    0042d605mov rbp, rsp
    0042d608lea rcx, [rdx+56]
    0042d60ccall fn_40bcf0
    0042d611lea rsp, [rbp+32]
    0042d615pop rbp
    0042d616ret
    0042d600
    0042d617
    0042d617 // align 0x10
    0042d620
    0042d620TLanguages.IndexOf:
    0042d620mov rax, [rcx+8]
    0042d624test rax, rax
    0042d627je 0x42d62d
    0042d629mov rax, [rax-8]
    0042d62d
    0042d62dloc_42d62d:
    0042d62dxor r8, r8
    0042d630lea r9, [rax-1]
    0042d634mov eax, r8l
    0042d637cmp eax, r9l
    0042d63ajg 0x42d66c
    0042d63csub r9l, r8l
    0042d63fadd r9l, 1
    0042d643
    0042d643loc_42d643:
    0042d643mov r8, [rcx+8]
    0042d647movsxd r10, eax
    0042d64amov r11, r10
    0042d64dadd r10, r10
    0042d650add r10, r10
    0042d653add r10, r10
    0042d656sub r10, r11
    0042d659cmp [r8+4*r10+8], edx
    0042d65eje 0x42d670
    0042d660add eax, 1
    0042d663sub r9l, 1
    0042d667test r9l, r9l
    0042d66ajne 0x42d643
    0042d66c
    0042d66cloc_42d66c:
    0042d66cnop
    0042d66dor eax, -1
    0042d670
    0042d670loc_42d670:
    0042d670ret
    0042d620
    0042d671
    0042d671 // align 0x10
    0042d680
    0042d680TLanguages.IndexOf_2:
    0042d680push r13
    0042d682push rdi
    0042d683push rsi
    0042d684push rbx
    0042d685sub rsp, 40
    0042d689mov rbx, rcx
    0042d68cmov rsi, rdx
    0042d68fmov rax, [rbx+8]
    0042d693test rax, rax
    0042d696je 0x42d69c
    0042d698mov rax, [rax-8]
    0042d69c
    0042d69cloc_42d69c:
    0042d69cxor ecx, ecx
    0042d69elea r13, [rax-1]
    0042d6a2mov edi, ecx
    0042d6a4cmp edi, r13l
    0042d6a7jg 0x42d6e3
    0042d6a9sub r13l, ecx
    0042d6acadd r13l, 1
    0042d6b0
    0042d6b0loc_42d6b0:
    0042d6b0mov rax, [rbx+8]
    0042d6b4movsxd rcx, edi
    0042d6b7mov rdx, rcx
    0042d6baadd rcx, rcx
    0042d6bdadd rcx, rcx
    0042d6c0add rcx, rcx
    0042d6c3sub rcx, rdx
    0042d6c6mov rcx, [rax+4*rcx+20]
    0042d6cbmov rdx, rsi
    0042d6cecall fn_421f40
    0042d6d3test eax, eax
    0042d6d5je 0x42d6e7
    0042d6d7add edi, 1
    0042d6dasub r13l, 1
    0042d6detest r13l, r13l
    0042d6e1jne 0x42d6b0
    0042d6e3
    0042d6e3loc_42d6e3:
    0042d6e3nop
    0042d6e4or edi, -1
    0042d6e7
    0042d6e7loc_42d6e7:
    0042d6e7mov eax, edi
    0042d6e9add rsp, 40
    0042d6edpop rbx
    0042d6eepop rsi
    0042d6efpop rdi
    0042d6f0pop r13
    0042d6f2ret
    0042d680
    0042d6f3
    0042d6f3 // align 0x10
    0042d700
    0042d700Unit13.finalization:
    0042d700sub rsp, 40
    0042d704add [rip+0x3dc31], 1
    0042d70bcmp [rip+0x3dc2a], 0
    0042d712jne 0x42d72e
    0042d714mov rax, [rip+0x42055]
    0042d71bmov [rip+0x4204a], 0
    0042d726mov rcx, rax
    0042d729call TObject.Free
    0042d72e
    0042d72eloc_42d72e:
    0042d72eadd rsp, 40
    0042d732ret
    0042d700
    0042d733
    0042d733 // align 0x10
    0042d740
    0042d740fn_42d740:
    0042d740sub rsp, 40
    0042d744cmp [rip+0x42024], 0
    0042d74cjne 0x42d763
    0042d74emov rcx, [rip-64149]
    0042d755mov dl, 1
    0042d757call TLanguages.Create
    0042d75cmov [rip+0x4200d], rax
    0042d763
    0042d763loc_42d763:
    0042d763mov rax, [rip+0x42006]
    0042d76aadd rsp, 40
    0042d76eret
    0042d740
    0042d76f
    0042d76f // align 0x10
    0042d770
    0042d770fn_42d770:
    0042d770sub rsp, 56
    0042d774mov eax, [rsp+96]
    0042d778mov [rsp+32], eax
    0042d77cmovzx rax, [rsp+104]
    0042d782mov [rsp+40], al
    0042d786mov eax, [rip+0x3dbd4]
    0042d78cmov [rsp+48], eax
    0042d790call fn_42d980
    0042d795add rsp, 56
    0042d799ret
    0042d770
    0042d79a
    0042d79a // align 0x10
    0042d7a0
    0042d7a0fn_42d7a0:
    0042d7a0sub rsp, 72
    0042d7a4cmp [rsp+128], 0
    0042d7acje 0x42d7dd
    0042d7aemov eax, [rsp+112]
    0042d7b2mov [rsp+32], eax
    0042d7b6mov eax, [rsp+120]
    0042d7bamov [rsp+40], eax
    0042d7bemovzx rax, [rip+74]
    0042d7c6mov [rsp+48], ax
    0042d7cbmov eax, [rsp+136]
    0042d7d2mov [rsp+56], eax
    0042d7d6call fn_42d8b0
    0042d7dbjmp 0x42d80a
    0042d7dd
    0042d7ddloc_42d7dd:
    0042d7ddmov eax, [rsp+112]
    0042d7e1mov [rsp+32], eax
    0042d7e5mov eax, [rsp+120]
    0042d7e9mov [rsp+40], eax
    0042d7edmovzx rax, [rip+29]
    0042d7f5mov [rsp+48], ax
    0042d7famov eax, [rsp+136]
    0042d801mov [rsp+56], eax
    0042d805call fn_42d8b0
    0042d80a
    0042d80aloc_42d80a:
    0042d80aadd rsp, 72
    0042d80eret
    0042d7a0
    0042d80f
    0042d80f 00 .
    0042d810 04 00 00 00 cc cc cc cc cc cc cc cc cc cc cc cc ................
    0042d820
    0042d820fn_42d820:
    0042d820push rdi
    0042d821push rsi
    0042d822push rbx
    0042d823sub rsp, 32
    0042d827mov [rsp+64], cx
    0042d82cxor ebx, ebx
    0042d82exor esi, esi
    0042d831lea rdi, [rip+0x30bb8]
    0042d838
    0042d838loc_42d838:
    0042d838mov eax, esi
    0042d83bcmp al, 15
    0042d83eja 0x42d85c
    0042d840mov dx, 1
    0042d844movzx cx, al
    0042d848and cx, 127
    0042d84cshl edx, cl
    0042d84emovzx rax, [rsp+64]
    0042d854test dx, ax
    0042d857setne al
    0042d85ajmp 0x42d85e
    0042d85c
    0042d85cloc_42d85c:
    0042d85cxor eax, eax
    0042d85e
    0042d85eloc_42d85e:
    0042d85etest al, al
    0042d860je 0x42d892
    0042d862test sil, sil
    0042d865jne 0x42d877
    0042d867mov ecx, 6
    0042d86cxor edx, edx
    0042d86ecall fn_42e160
    0042d873test al, al
    0042d875je 0x42d892
    0042d877
    0042d877loc_42d877:
    0042d877cmp sil, 8
    0042d87bjne 0x42d890
    0042d87dmov ecx, 6
    0042d882mov edx, 1
    0042d887call fn_42e160
    0042d88ctest al, al
    0042d88eje 0x42d892
    0042d890
    0042d890loc_42d890:
    0042d890or ebx, [rdi]
    0042d892
    0042d892loc_42d892:
    0042d892add sil, 1
    0042d896add rdi, 4
    0042d89acmp sil, 10
    0042d89ejne 0x42d838
    0042d8a0nop
    0042d8a1mov eax, ebx
    0042d8a3add rsp, 32
    0042d8a7pop rbx
    0042d8a8pop rsi
    0042d8a9pop rdi
    0042d8aaret
    0042d820
    0042d8ab
    0042d8ab // align 0x10
    0042d8b0
    0042d8b0fn_42d8b0:
    0042d8b0push rsi
    0042d8b1push rbx
    0042d8b2sub rsp, 56
    0042d8b6mov ebx, edx
    0042d8b8mov esi, r9l
    0042d8bbmov [rsp+80], rcx
    0042d8c0mov [rsp+96], r8
    0042d8c5xor eax, eax
    0042d8c7mov rcx, [rsp+80]
    0042d8cctest rcx, rcx
    0042d8cfje 0x42d8d4
    0042d8d1mov eax, [rcx-4]
    0042d8d4
    0042d8d4loc_42d8d4:
    0042d8d4test eax, eax
    0042d8d6jne 0x42d8dc
    0042d8d8mov al, 1
    0042d8dajmp 0x42d8f0
    0042d8dc
    0042d8dcloc_42d8dc:
    0042d8dcxor eax, eax
    0042d8demov rdx, [rsp+96]
    0042d8e3test rdx, rdx
    0042d8e6je 0x42d8eb
    0042d8e8mov eax, [rdx-4]
    0042d8eb
    0042d8ebloc_42d8eb:
    0042d8ebtest eax, eax
    0042d8edsete al
    0042d8f0
    0042d8f0loc_42d8f0:
    0042d8f0test al, al
    0042d8f2je 0x42d925
    0042d8f4xor eax, eax
    0042d8f6test rcx, rcx
    0042d8f9je 0x42d8fe
    0042d8fbmov eax, [rcx-4]
    0042d8fe
    0042d8feloc_42d8fe:
    0042d8fetest eax, eax
    0042d900jle 0x42d909
    0042d902mov eax, 1
    0042d907jmp 0x42d96e
    0042d909
    0042d909loc_42d909:
    0042d909xor eax, eax
    0042d90bmov rcx, [rsp+96]
    0042d910test rcx, rcx
    0042d913je 0x42d918
    0042d915mov eax, [rcx-4]
    0042d918
    0042d918loc_42d918:
    0042d918test eax, eax
    0042d91ajle 0x42d921
    0042d91cor eax, -1
    0042d91fjmp 0x42d96e
    0042d921
    0042d921loc_42d921:
    0042d921xor eax, eax
    0042d923jmp 0x42d96e
    0042d925
    0042d925loc_42d925:
    0042d925movzx rcx, [rsp+128]
    0042d92ecall fn_42d820
    0042d933mov ecx, [rsp+136]
    0042d93amov edx, eax
    0042d93cmov rax, [rsp+80]
    0042d941movsxd rbx, ebx
    0042d944lea r8, [rax+2*rbx]
    0042d948mov r9l, [rsp+112]
    0042d94dmov rax, [rsp+96]
    0042d952movsxd rsi, esi
    0042d955lea rax, [rax+2*rsi]
    0042d959mov [rsp+32], rax
    0042d95emov eax, [rsp+120]
    0042d962mov [rsp+40], eax
    0042d966call CompareStringW
    0042d96bsub eax, 2
    0042d96e
    0042d96eloc_42d96e:
    0042d96eadd rsp, 56
    0042d972pop rbx
    0042d973pop rsi
    0042d974ret
    0042d8b0
    0042d975
    0042d975 // align 0x10
    0042d980
    0042d980fn_42d980:
    0042d980sub rsp, 72
    0042d984mov eax, [rsp+112]
    0042d988mov [rsp+32], eax
    0042d98cmov eax, [rsp+112]
    0042d990mov [rsp+40], eax
    0042d994movzx rax, [rsp+120]
    0042d99amov [rsp+48], al
    0042d99emov eax, [rsp+128]
    0042d9a5mov [rsp+56], eax
    0042d9a9call fn_42d7a0
    0042d9aeadd rsp, 72
    0042d9b2ret
    0042d980
    0042d9b3
    0042d9b3 // align 0x10
    0042d9c0
    0042d9c0fn_42d9c0:
    0042d9c0push rdi
    0042d9c1push rsi
    0042d9c2push rbx
    0042d9c3sub rsp, 32
    0042d9c7mov rbx, rcx
    0042d9camov rsi, rdx
    0042d9cdmov edi, r9l
    0042d9d0mov rcx, rbx
    0042d9d3mov edx, [rsp+96]
    0042d9d7call fn_40d8d0
    0042d9dcmov rcx, [rbx]
    0042d9dfcall fn_40d710
    0042d9e4movsxd rdi, edi
    0042d9e7lea rcx, [rsi+2*rdi]
    0042d9ebmov rdx, rax
    0042d9eemov r8l, [rsp+96]
    0042d9f3add r8l, r8l
    0042d9f6movsxd r8, r8l
    0042d9f9call fn_405ac0
    0042d9femov rax, rbx
    0042da01add rsp, 32
    0042da05pop rbx
    0042da06pop rsi
    0042da07pop rdi
    0042da08ret
    0042d9c0
    0042da09
    0042da09 // align 0x10
    0042da10
    0042da10fn_42da10:
    0042da10push rdi
    0042da11push rsi
    0042da12push rbx
    0042da13sub rsp, 32
    0042da17mov rbx, rcx
    0042da1amov rsi, rdx
    0042da1dmov edi, r8l
    0042da20add edi, 1
    0042da23mov rcx, rbx
    0042da26mov edx, edi
    0042da28call fn_40d8d0
    0042da2dmov rcx, [rbx]
    0042da30call fn_40d710
    0042da35mov rcx, rsi
    0042da38mov rdx, rax
    0042da3bmov r8l, edi
    0042da3eadd r8l, r8l
    0042da41movsxd r8, r8l
    0042da44call fn_405ac0
    0042da49mov rax, rbx
    0042da4cadd rsp, 32
    0042da50pop rbx
    0042da51pop rsi
    0042da52pop rdi
    0042da53ret
    0042da10
    0042da54
    0042da54 // align 0x10
    0042da60
    0042da60fn_42da60:
    0042da60mov [rsp+8], rcx
    0042da65mov [rsp+16], rdx
    0042da6amov rax, [rsp+8]
    0042da6fmov rdx, [rax]
    0042da72mov rax, rdx
    0042da75test rax, rax
    0042da78je 0x42dacf
    0042da7axor ecx, ecx
    0042da7ctest rdx, rdx
    0042da7fje 0x42da84
    0042da81mov ecx, [rdx-4]
    0042da84
    0042da84loc_42da84:
    0042da84movsxd rcx, ecx
    0042da87lea rcx, [rax+2*rcx-2]
    0042da8ccmp rcx, rax
    0042da8fjb 0x42dace
    0042da91
    0042da91loc_42da91:
    0042da91movzx rdx, [rcx]
    0042da95cmp dx, 255
    0042da9aja 0x42daae
    0042da9cmov r8, [rsp+16]
    0042daa1movzx rdx, dx
    0042daa5bt [r8], rdx
    0042daa9setb dl
    0042daacjmp 0x42dab0
    0042daae
    0042daaeloc_42daae:
    0042daaexor edx, edx
    0042dab0
    0042dab0loc_42dab0:
    0042dab0test dl, dl
    0042dab2je 0x42dac5
    0042dab4sub rcx, rax
    0042dab7sar rcx, 1
    0042dabbjns 0x42dac1
    0042dabdadc rcx, 0
    0042dac1
    0042dac1loc_42dac1:
    0042dac1mov eax, ecx
    0042dac3jmp 0x42dad2
    0042dac5
    0042dac5loc_42dac5:
    0042dac5sub rcx, 2
    0042dac9cmp rcx, rax
    0042daccjae 0x42da91
    0042dace
    0042daceloc_42dace:
    0042dacenop
    0042dacf
    0042dacfloc_42dacf:
    0042dacfor eax, -1
    0042dad2
    0042dad2loc_42dad2:
    0042dad2ret
    0042da60
    0042dad3
    0042dad3 // align 0x10
    0042dae0
    0042dae0fn_42dae0:
    0042dae0push rbp
    0042dae1sub rsp, 96
    0042dae5mov rbp, rsp
    0042dae8mov [rbp+56], rcx
    0042daecmov [rbp+64], rdx
    0042daf0mov [rbp+76], r8w
    0042daf5mov [rbp+78], r9w
    0042dafamov [rbp+88], 0
    0042db02mov [rbp+80], 0
    0042db0anop
    0042db0blea rcx, [rbp+88]
    0042db0fmovzx rdx, [rbp+76]
    0042db14call fn_40d730
    0042db19lea rcx, [rbp+80]
    0042db1dmovzx rdx, [rbp+78]
    0042db22call fn_40d730
    0042db27mov rcx, [rbp+64]
    0042db2bmov rax, [rbp+56]
    0042db2fmov rdx, [rax]
    0042db32mov r8, [rbp+88]
    0042db36mov r9, [rbp+80]
    0042db3amovzx rax, [rip+74]
    0042db42mov [rsp+32], al
    0042db46call fn_42bd20
    0042db4bnop
    0042db4clea rcx, [rbp+80]
    0042db50mov edx, 2
    0042db55call fn_40bdd0
    0042db5amov rax, [rbp+64]
    0042db5elea rsp, [rbp+96]
    0042db62pop rbp
    0042db63ret
    0042dae0
    0042db64
    0042db64 48 8d 40 00 48 8d 04 05 00 00 00 00 H.@.H.......
    0042db70
    0042db70fn_42db70:
    0042db70push rbp
    0042db71sub rsp, 32
    0042db75mov rbp, rsp
    0042db78lea rcx, [rdx+80]
    0042db7cmov edx, 2
    0042db81call fn_40bdd0
    0042db86lea rsp, [rbp+32]
    0042db8apop rbp
    0042db8bret
    0042db70
    0042db8c
    0042db8c 01 cc cc cc ....
    0042db90
    0042db90fn_42db90:
    0042db90push rbx
    0042db91sub rsp, 32
    0042db95mov rbx, rdx
    0042db98mov [rsp+48], rcx
    0042db9dxor eax, eax
    0042db9fmov rcx, [rsp+48]
    0042dba4mov rcx, [rcx]
    0042dba7test rcx, rcx
    0042dbaaje 0x42dbaf
    0042dbacmov eax, [rcx-4]
    0042dbaf
    0042dbafloc_42dbaf:
    0042dbafmov rcx, [rsp+48]
    0042dbb4mov rdx, rbx
    0042dbb7xor r8, r8
    0042dbbamov r9l, eax
    0042dbbdcall fn_42dbd0
    0042dbc2mov rax, rbx
    0042dbc5add rsp, 32
    0042dbc9pop rbx
    0042dbcaret
    0042db90
    0042dbcb
    0042dbcb // align 0x10
    0042dbd0
    0042dbd0fn_42dbd0:
    0042dbd0push r13
    0042dbd2push rdi
    0042dbd3push rsi
    0042dbd4push rbx
    0042dbd5sub rsp, 40
    0042dbd9mov rbx, rcx
    0042dbdcmov rsi, rdx
    0042dbdfmov edi, r8l
    0042dbe2mov r13l, r9l
    0042dbe5mov rcx, rsi
    0042dbe8mov rdx, [rip-0x2ae3f]
    0042dbefmov r8l, 1
    0042dbf5movsxd r9, r13l
    0042dbf8call fn_410430
    0042dbfdmov rcx, [rbx]
    0042dc00call fn_40d710
    0042dc05movsxd rdi, edi
    0042dc08lea rcx, [rax+2*rdi]
    0042dc0cmov rdx, [rsi]
    0042dc0fmov r8l, r13l
    0042dc12add r8l, r8l
    0042dc15movsxd r8, r8l
    0042dc18call fn_405ac0
    0042dc1dmov rax, rsi
    0042dc20add rsp, 40
    0042dc24pop rbx
    0042dc25pop rsi
    0042dc26pop rdi
    0042dc27pop r13
    0042dc29ret
    0042dbd0
    0042dc2a
    0042dc2a // align 0x10
    0042dc30
    0042dc30fn_42dc30:
    0042dc30push rbx
    0042dc31sub rsp, 32
    0042dc35mov rbx, rdx
    0042dc38mov rdx, rbx
    0042dc3bmov r8l, [rip+0x3d71e]
    0042dc42call fn_42dc50
    0042dc47mov rax, rbx
    0042dc4aadd rsp, 32
    0042dc4epop rbx
    0042dc4fret
    0042dc30
    0042dc50
    0042dc50fn_42dc50:
    0042dc50push r13
    0042dc52push rdi
    0042dc53push rsi
    0042dc54push rbx
    0042dc55sub rsp, 56
    0042dc59mov ebx, r8l
    0042dc5cmov [rsp+96], rcx
    0042dc61mov [rsp+104], rdx
    0042dc66mov rcx, [rsp+104]
    0042dc6bmov rax, [rsp+96]
    0042dc70mov rdx, [rax]
    0042dc73call fn_40c360
    0042dc78mov rax, [rsp+104]
    0042dc7dcmp [rax], 0
    0042dc81je 0x42dcf2
    0042dc83mov rcx, [rsp+104]
    0042dc88call fn_40c6a0
    0042dc8dxor esi, esi
    0042dc8fmov rax, [rsp+96]
    0042dc94mov rax, [rax]
    0042dc97test rax, rax
    0042dc9aje 0x42dc9f
    0042dc9cmov esi, [rax-4]
    0042dc9f
    0042dc9floc_42dc9f:
    0042dc9fxor edi, edi
    0042dca1mov rax, [rsp+104]
    0042dca6mov rax, [rax]
    0042dca9test rax, rax
    0042dcacje 0x42dcb1
    0042dcaemov edi, [rax-4]
    0042dcb1
    0042dcb1loc_42dcb1:
    0042dcb1mov rax, [rsp+96]
    0042dcb6mov rcx, [rax]
    0042dcb9call fn_40d710
    0042dcbemov r13, rax
    0042dcc1mov rax, [rsp+104]
    0042dcc6mov rcx, [rax]
    0042dcc9call fn_40d710
    0042dccemov ecx, ebx
    0042dcd0mov edx, 0x1000100
    0042dcd5mov r8, r13
    0042dcd8mov r9l, esi
    0042dcdbmov [rsp+32], rax
    0042dce0mov [rsp+40], edi
    0042dce4call LCMapStringW
    0042dce9test eax, eax
    0042dcebjne 0x42dcf2
    0042dcedcall fn_42cbc0
    0042dcf2
    0042dcf2loc_42dcf2:
    0042dcf2mov rax, [rsp+104]
    0042dcf7add rsp, 56
    0042dcfbpop rbx
    0042dcfcpop rsi
    0042dcfdpop rdi
    0042dcfepop r13
    0042dd00ret
    0042dc50
    0042dd01
    0042dd01 // align 0x10
    0042dd10
    0042dd10fn_42dd10:
    0042dd10push rbp
    0042dd11sub rsp, 320
    0042dd18mov rbp, rsp
    0042dd1blea rcx, [rbp+36]
    0042dd1fmov edx, 284
    0042dd24xor r8, r8
    0042dd27call fn_4069b0
    0042dd2cmov [rbp+318], 1
    0042dd33xor ecx, ecx
    0042dd35mov edx, 128
    0042dd3amov r8b, 1
    0042dd3dcall VerSetConditionMask
    0042dd42lea rcx, [rbp+36]
    0042dd46mov edx, 128
    0042dd4bmov r8, rax
    0042dd4ecall VerifyVersionInfoW
    0042dd53test eax, eax
    0042dd55sete al
    0042dd58lea rsp, [rbp+320]
    0042dd5fpop rbp
    0042dd60ret
    0042dd10
    0042dd61
    0042dd61 // align 0x10
    0042dd70
    0042dd70Unit16.initialization:
    0042dd70push rbp
    0042dd71sub rsp, 384
    0042dd78mov rbp, rsp
    0042dd7bsub [rip+0x3d7aa], 1
    0042dd82cmp [rip+0x3d7a3], -1
    0042dd89jne 0x42e12e
    0042dd8flea rcx, [rbp+52]
    0042dd93mov edx, 284
    0042dd98xor r8, r8
    0042dd9bcall fn_4069b0
    0042dda0mov [rbp+52], 284
    0042dda7lea rcx, [rbp+52]
    0042ddabcall GetVersionExW
    0042ddb0mov [rip+0x3d769], 0
    0042ddb7mov eax, [rbp+56]
    0042ddbamov [rip+0x3d750], eax
    0042ddc0mov eax, [rbp+60]
    0042ddc3mov [rip+0x3d74b], eax
    0042ddc9mov eax, [rbp+64]
    0042ddccmov [rip+0x3d73a], eax
    0042ddd2movzx eax, [rbp+328]
    0042ddd9mov [rip+0x3d745], eax
    0042dddfmovzx eax, [rbp+330]
    0042dde6mov [rip+0x3d73c], eax
    0042ddeclea rcx, [rbp+336]
    0042ddf3mov edx, 48
    0042ddf8xor r8, r8
    0042ddfbcall fn_4069b0
    0042de00mov ecx, 5
    0042de05mov edx, 1
    0042de0acall fn_42e160
    0042de0ftest al, al
    0042de11je 0x42de1f
    0042de13lea rcx, [rbp+336]
    0042de1acall GetNativeSystemInfo
    0042de1f
    0042de1floc_42de1f:
    0042de1flea rax, [rip+0x306ba]
    0042de26cmp [rbp+336], 9
    0042de2esete cl
    0042de31movzx rcx, cl
    0042de35movzx rax, [rax+rcx]
    0042de3amov [rip+0x3d6c8], al
    0042de40cmp [rip+0x3d6c9], 6
    0042de47jg 0x42de5b
    0042de49cmp [rip+0x3d6c0], 6
    0042de50jne 0x42decb
    0042de52cmp [rip+0x3d6bb], 1
    0042de59jle 0x42decb
    0042de5b
    0042de5bloc_42de5b:
    0042de5blea rcx, [rip+738]
    0042de62lea rdx, [rbp+48]
    0042de66lea r8, [rbp+44]
    0042de6alea r9, [rbp+40]
    0042de6ecall fn_42b3d0
    0042de73test al, al
    0042de75je 0x42dea8
    0042de77mov eax, [rbp+48]
    0042de7amov [rip+0x3d690], eax
    0042de80mov eax, [rbp+44]
    0042de83mov [rip+0x3d68b], eax
    0042de89cmp [rip+0x3d680], 10
    0042de90jl 0x42de9d
    0042de92mov eax, [rip+0x3d674]
    0042de98cmp eax, [rbp+40]
    0042de9bjg 0x42decb
    0042de9d
    0042de9dloc_42de9d:
    0042de9dmov eax, [rbp+40]
    0042dea0mov [rip+0x3d666], eax
    0042dea6jmp 0x42decb
    0042dea8
    0042dea8loc_42dea8:
    0042dea8lea rcx, [rbp+48]
    0042deaclea rdx, [rbp+44]
    0042deb0call fn_42b1e0
    0042deb5test al, al
    0042deb7je 0x42decb
    0042deb9mov eax, [rbp+48]
    0042debcmov [rip+0x3d64e], eax
    0042dec2mov eax, [rbp+44]
    0042dec5mov [rip+0x3d649], eax
    0042decb
    0042decbloc_42decb:
    0042decblea rcx, [rip+0x3d646]
    0042ded2mov rdx, [rip+0x36377]
    0042ded9call fn_414600
    0042dedemov eax, [rip+0x3d62c]
    0042dee4sub eax, 5
    0042dee7test eax, eax
    0042dee9je 0x42e087
    0042deefsub eax, 1
    0042def2test eax, eax
    0042def4je 0x42df73
    0042def6sub eax, 4
    0042def9test eax, eax
    0042defbjne 0x42e12e
    0042df01mov eax, [rip+0x3d60d]
    0042df07sub eax, 1
    0042df0acmp eax, -1
    0042df0djne 0x42e12e
    0042df13mov rcx, rbp
    0042df16call fn_42dd10
    0042df1btest al, al
    0042df1djne 0x42df37
    0042df1flea rcx, [rip+0x3d5f2]
    0042df26mov rdx, [rip+0x36263]
    0042df2dcall fn_414600
    0042df32jmp 0x42e12e
    0042df37
    0042df37loc_42df37:
    0042df37cmp [rip+0x3d5cb], 17763
    0042df41jl 0x42df5b
    0042df43lea rcx, [rip+0x3d5ce]
    0042df4amov rdx, [rip+0x3628f]
    0042df51call fn_414600
    0042df56jmp 0x42e12e
    0042df5b
    0042df5bloc_42df5b:
    0042df5blea rcx, [rip+0x3d5b6]
    0042df62mov rdx, [rip+0x3623f]
    0042df69call fn_414600
    0042df6ejmp 0x42e12e
    0042df73
    0042df73loc_42df73:
    0042df73mov eax, [rip+0x3d59b]
    0042df79sub eax, 1
    0042df7ccmp eax, -1
    0042df7fje 0x42dfa0
    0042df81test eax, eax
    0042df83je 0x42dfd9
    0042df85sub eax, 1
    0042df88test eax, eax
    0042df8aje 0x42e012
    0042df90sub eax, 1
    0042df93test eax, eax
    0042df95jne 0x42e12e
    0042df9bjmp 0x42e04b
    0042dfa0
    0042dfa0loc_42dfa0:
    0042dfa0cmp [rbp+334], 1
    0042dfa7jne 0x42dfc1
    0042dfa9lea rcx, [rip+0x3d568]
    0042dfb0mov rdx, [rip+0x360b9]
    0042dfb7call fn_414600
    0042dfbcjmp 0x42e12e
    0042dfc1
    0042dfc1loc_42dfc1:
    0042dfc1lea rcx, [rip+0x3d550]
    0042dfc8mov rdx, [rip+0x36181]
    0042dfcfcall fn_414600
    0042dfd4jmp 0x42e12e
    0042dfd9
    0042dfd9loc_42dfd9:
    0042dfd9cmp [rbp+334], 1
    0042dfe0jne 0x42dffa
    0042dfe2lea rcx, [rip+0x3d52f]
    0042dfe9mov rdx, [rip+0x362a0]
    0042dff0call fn_414600
    0042dff5jmp 0x42e12e
    0042dffa
    0042dffaloc_42dffa:
    0042dffalea rcx, [rip+0x3d517]
    0042e001mov rdx, [rip+0x36048]
    0042e008call fn_414600
    0042e00djmp 0x42e12e
    0042e012
    0042e012loc_42e012:
    0042e012cmp [rbp+334], 1
    0042e019jne 0x42e033
    0042e01blea rcx, [rip+0x3d4f6]
    0042e022mov rdx, [rip+0x35e2f]
    0042e029call fn_414600
    0042e02ejmp 0x42e12e
    0042e033
    0042e033loc_42e033:
    0042e033lea rcx, [rip+0x3d4de]
    0042e03amov rdx, [rip+0x35e37]
    0042e041call fn_414600
    0042e046jmp 0x42e12e
    0042e04b
    0042e04bloc_42e04b:
    0042e04bmov rcx, rbp
    0042e04ecall fn_42dd10
    0042e053test al, al
    0042e055jne 0x42e06f
    0042e057lea rcx, [rip+0x3d4ba]
    0042e05emov rdx, [rip+0x36163]
    0042e065call fn_414600
    0042e06ajmp 0x42e12e
    0042e06f
    0042e06floc_42e06f:
    0042e06flea rcx, [rip+0x3d4a2]
    0042e076mov rdx, [rip+0x3618b]
    0042e07dcall fn_414600
    0042e082jmp 0x42e12e
    0042e087
    0042e087loc_42e087:
    0042e087mov eax, [rip+0x3d487]
    0042e08dsub eax, 1
    0042e090cmp eax, -1
    0042e093je 0x42e0a6
    0042e095test eax, eax
    0042e097je 0x42e0bb
    0042e099sub eax, 1
    0042e09ctest eax, eax
    0042e09ejne 0x42e12e
    0042e0a4jmp 0x42e0d0
    0042e0a6
    0042e0a6loc_42e0a6:
    0042e0a6lea rcx, [rip+0x3d46b]
    0042e0admov rdx, [rip+0x361d4]
    0042e0b4call fn_414600
    0042e0b9jmp 0x42e12e
    0042e0bb
    0042e0bbloc_42e0bb:
    0042e0bblea rcx, [rip+0x3d456]
    0042e0c2mov rdx, [rip+0x36027]
    0042e0c9call fn_414600
    0042e0cejmp 0x42e12e
    0042e0d0
    0042e0d0loc_42e0d0:
    0042e0d0cmp [rbp+334], 1
    0042e0d7jne 0x42e0f8
    0042e0d9cmp [rbp+336], 9
    0042e0e1jne 0x42e0f8
    0042e0e3lea rcx, [rip+0x3d42e]
    0042e0eamov rdx, [rip+0x35fff]
    0042e0f1call fn_414600
    0042e0f6jmp 0x42e12e
    0042e0f8
    0042e0f8loc_42e0f8:
    0042e0f8mov ecx, 89
    0042e0fdcall GetSystemMetrics
    0042e102test eax, eax
    0042e104jne 0x42e11b
    0042e106lea rcx, [rip+0x3d40b]
    0042e10dmov rdx, [rip+0x35d4c]
    0042e114call fn_414600
    0042e119jmp 0x42e12e
    0042e11b
    0042e11bloc_42e11b:
    0042e11blea rcx, [rip+0x3d3f6]
    0042e122mov rdx, [rip+0x360a7]
    0042e129call fn_414600
    0042e12e
    0042e12eloc_42e12e:
    0042e12elea rsp, [rbp+384]
    0042e135pop rbp
    0042e136ret
    0042dd70
    0042e137
    0042e137 00 b0 04 02 00 ff ff ff ff .........
    0042e140 0c 00 00 00 6b 00 65 00 72 00 6e 00 65 00 6c 00 ....k.e.r.n.e.l.
    0042e150 33 00 32 00 2e 00 64 00 6c 00 6c 00 00 00 cc cc 3.2...d.l.l.....
    0042e160
    0042e160fn_42e160:
    0042e160cmp [rip+0x3d3aa], ecx
    0042e166jg 0x42e17c
    0042e168cmp [rip+0x3d3a2], ecx
    0042e16ejne 0x42e178
    0042e170cmp [rip+0x3d39e], edx
    0042e176jge 0x42e17c
    0042e178
    0042e178loc_42e178:
    0042e178xor eax, eax
    0042e17ajmp 0x42e17e
    0042e17c
    0042e17cloc_42e17c:
    0042e17cmov al, 1
    0042e17e
    0042e17eloc_42e17e:
    0042e17eret
    0042e160
    0042e17f
    0042e17f 00 .
    0042e180 88 e1 42 00 00 00 00 00 14 12 50 52 65 73 53 74 ..B.......PResSt
    0042e190 72 69 6e 67 48 61 73 68 49 74 65 6d a8 e1 42 00 ringHashItem..B.
    0042e1a0 00 00 00 00 02 00 00 00 b0 e1 42 00 00 00 00 00 ..........B.....
    0042e1b0 0e 12 54 52 65 73 53 74 72 69 6e 67 48 61 73 68 ..TResStringHash
    0042e1c0 49 74 65 6d 18 00 00 00 01 00 00 00 40 12 40 00 Item........@.@.
    0042e1d0 00 00 00 00 10 00 00 00 00 00 00 00 00 03 00 00 ................
    0042e1e0 00 90 11 40 00 00 00 00 00 00 00 00 00 00 00 00 ...@............
    0042e1f0 00 02 0a 49 64 65 6e 74 69 66 69 65 72 02 00 80 ...Identifier...
    0042e200 e1 42 00 00 00 00 00 08 00 00 00 00 00 00 00 02 .B..............
    0042e210 04 4e 65 78 74 02 00 40 12 40 00 00 00 00 00 10 .Next..@.@......
    0042e220 00 00 00 00 00 00 00 02 05 56 61 6c 75 65 02 00 .........Value..
    0042e230 02 00 00 00 cc cc cc cc cc cc cc cc cc cc cc cc ................
    0042e240
    0042e240fn_42e240:
    0042e240push rdi
    0042e241push rsi
    0042e242push rbx
    0042e243sub rsp, 32
    0042e247mov rbx, rcx
    0042e24axor esi, esi
    0042e24c
    0042e24cloc_42e24c:
    0042e24cmovsxd rdi, esi
    0042e24fmov rax, rdi
    0042e252lea rax, [rax+2*rax]
    0042e256lea rcx, [rbx+8*rax+40]
    0042e25bcall fn_40bcf0
    0042e260lea rdi, [rdi+2*rdi]
    0042e264mov rdi, [rbx+8*rdi+32]
    0042e269test rdi, rdi
    0042e26cje 0x42e289
    0042e26e
    0042e26eloc_42e26e:
    0042e26emov rax, rdi
    0042e271mov rdi, [rdi+8]
    0042e275mov rcx, rax
    0042e278mov rdx, [rip-215]
    0042e27fcall fn_40f8d0
    0042e284test rdi, rdi
    0042e287jne 0x42e26e
    0042e289
    0042e289loc_42e289:
    0042e289nop
    0042e28aadd esi, 1
    0042e28dcmp esi, 512
    0042e293jne 0x42e24c
    0042e295nop
    0042e296mov rcx, rbx
    0042e299call fn_405730
    0042e29eadd rsp, 32
    0042e2a2pop rbx
    0042e2a3pop rsi
    0042e2a4pop rdi
    0042e2a5ret
    0042e240