File trigona_be6dfedd91e1ebc81d58a61b05b0ef93322425b247636a0f7f5c3eeebbc52edd.exe
Function:
    0043ba30
    0043ba30fn_43ba30:
    0043ba30push rbp
    0043ba31push r14
    0043ba33push r13
    0043ba35push rdi
    0043ba36push rsi
    0043ba37push rbx
    0043ba38sub rsp, 168
    0043ba3fmov rbp, rsp
    0043ba42mov [rbp+40], rcx
    0043ba46mov [rbp+152], 0
    0043ba51nop
    0043ba52xor eax, eax
    0043ba54mov [rbp+52], eax
    0043ba57
    0043ba57loc_43ba57:
    0043ba57xor eax, eax
    0043ba59mov [rbp+56], eax
    0043ba5c
    0043ba5cloc_43ba5c:
    0043ba5cxor eax, eax
    0043ba5emov [rbp+60], eax
    0043ba61
    0043ba61loc_43ba61:
    0043ba61xor ebx, ebx
    0043ba63
    0043ba63loc_43ba63:
    0043ba63xor esi, esi
    0043ba65
    0043ba65loc_43ba65:
    0043ba65xor edi, edi
    0043ba67
    0043ba67loc_43ba67:
    0043ba67xor r13, r13
    0043ba6a
    0043ba6aloc_43ba6a:
    0043ba6axor r14, r14
    0043ba6d
    0043ba6dloc_43ba6d:
    0043ba6dmov [rbp+136], 1
    0043ba74mov eax, [rbp+52]
    0043ba77add al, 48
    0043ba7amov [rbp+137], al
    0043ba80lea rcx, [rbp+128]
    0043ba87lea rdx, [rbp+136]
    0043ba8ecall fn_40c750
    0043ba93mov [rbp+120], 1
    0043ba97mov eax, [rbp+56]
    0043ba9aadd al, 48
    0043ba9dmov [rbp+121], al
    0043baa0lea rcx, [rbp+128]
    0043baa7lea rdx, [rbp+120]
    0043baabmov r8l, 2
    0043bab1call fn_40c780
    0043bab6lea rcx, [rbp+112]
    0043babalea rdx, [rbp+128]
    0043bac1call fn_40c750
    0043bac6mov [rbp+120], 1
    0043bacamov eax, [rbp+60]
    0043bacdadd al, 48
    0043bad0mov [rbp+121], al
    0043bad3lea rcx, [rbp+112]
    0043bad7lea rdx, [rbp+120]
    0043badbmov r8l, 3
    0043bae1call fn_40c780
    0043bae6lea rcx, [rbp+104]
    0043baealea rdx, [rbp+112]
    0043baeecall fn_40c750
    0043baf3mov [rbp+120], 1
    0043baf7mov eax, ebx
    0043baf9add al, 48
    0043bafcmov [rbp+121], al
    0043bafflea rcx, [rbp+104]
    0043bb03lea rdx, [rbp+120]
    0043bb07mov r8l, 4
    0043bb0dcall fn_40c780
    0043bb12lea rcx, [rbp+96]
    0043bb16lea rdx, [rbp+104]
    0043bb1acall fn_40c750
    0043bb1fmov [rbp+120], 1
    0043bb23mov eax, esi
    0043bb26add al, 48
    0043bb29mov [rbp+121], al
    0043bb2clea rcx, [rbp+96]
    0043bb30lea rdx, [rbp+120]
    0043bb34mov r8l, 5
    0043bb3acall fn_40c780
    0043bb3flea rcx, [rbp+88]
    0043bb43lea rdx, [rbp+96]
    0043bb47call fn_40c750
    0043bb4cmov [rbp+120], 1
    0043bb50mov eax, edi
    0043bb53add al, 48
    0043bb56mov [rbp+121], al
    0043bb59lea rcx, [rbp+88]
    0043bb5dlea rdx, [rbp+120]
    0043bb61mov r8l, 6
    0043bb67call fn_40c780
    0043bb6clea rcx, [rbp+80]
    0043bb70lea rdx, [rbp+88]
    0043bb74call fn_40c750
    0043bb79mov [rbp+120], 1
    0043bb7dmov eax, r13l
    0043bb80add al, 48
    0043bb83mov [rbp+121], al
    0043bb86lea rcx, [rbp+80]
    0043bb8alea rdx, [rbp+120]
    0043bb8emov r8l, 7
    0043bb94call fn_40c780
    0043bb99lea rcx, [rbp+64]
    0043bb9dlea rdx, [rbp+80]
    0043bba1call fn_40c750
    0043bba6mov [rbp+120], 1
    0043bbaamov eax, r14l
    0043bbadadd al, 48
    0043bbb0mov [rbp+121], al
    0043bbb3lea rcx, [rbp+64]
    0043bbb7lea rdx, [rbp+120]
    0043bbbbmov r8l, 8
    0043bbc1call fn_40c780
    0043bbc6lea rcx, [rbp+152]
    0043bbcdlea rdx, [rbp+64]
    0043bbd1xor r8, r8
    0043bbd4call fn_40c890
    0043bbd9lea rcx, [rbp+151]
    0043bbe0mov rdx, [rbp+152]
    0043bbe7call fn_43b980
    0043bbecmovzx rax, [rbp+151]
    0043bbf4mov rcx, [rbp+40]
    0043bbf8lea rcx, [rcx+8*rax]
    0043bbfcmov rdx, [rbp+152]
    0043bc03call fn_40c4a0
    0043bc08add r14l, 1
    0043bc0ccmp r14l, 2
    0043bc10jne 0x43ba6d
    0043bc16nop
    0043bc17add r13l, 1
    0043bc1bcmp r13l, 2
    0043bc1fjne 0x43ba6a
    0043bc25nop
    0043bc26add edi, 1
    0043bc29cmp edi, 2
    0043bc2cjne 0x43ba67
    0043bc32nop
    0043bc33add esi, 1
    0043bc36cmp esi, 2
    0043bc39jne 0x43ba65
    0043bc3fnop
    0043bc40add ebx, 1
    0043bc43cmp ebx, 2
    0043bc46jne 0x43ba63
    0043bc4cnop
    0043bc4dmov eax, [rbp+60]
    0043bc50add eax, 1
    0043bc53mov [rbp+60], eax
    0043bc56mov eax, [rbp+60]
    0043bc59cmp eax, 2
    0043bc5cjne 0x43ba61
    0043bc62nop
    0043bc63mov eax, [rbp+56]
    0043bc66add eax, 1
    0043bc69mov [rbp+56], eax
    0043bc6cmov eax, [rbp+56]
    0043bc6fcmp eax, 2
    0043bc72jne 0x43ba5c
    0043bc78nop
    0043bc79mov eax, [rbp+52]
    0043bc7cadd eax, 1
    0043bc7fmov [rbp+52], eax
    0043bc82mov eax, [rbp+52]
    0043bc85cmp eax, 2
    0043bc88jne 0x43ba57
    0043bc8enop
    0043bc8fnop
    0043bc90lea rcx, [rbp+152]
    0043bc97call fn_40bd40
    0043bc9clea rsp, [rbp+168]
    0043bca3pop rbx
    0043bca4pop rsi
    0043bca5pop rdi
    0043bca6pop r13
    0043bca8pop r14
    0043bcaapop rbp
    0043bcabret
    0043ba30
    0043bcac
    0043bcac 48 8d 40 00 H.@.
    0043bcb0
    0043bcb0fn_43bcb0:
    0043bcb0push rbp
    0043bcb1sub rsp, 32
    0043bcb5mov rbp, rsp
    0043bcb8lea rcx, [rdx+152]
    0043bcbfcall fn_40bd40
    0043bcc4lea rsp, [rbp+32]
    0043bcc8pop rbp
    0043bcc9ret
    0043bcb0
    0043bcca
    0043bcca // align 0x10
    0043bcd0
    0043bcd0fn_43bcd0:
    0043bcd0push rbp
    0043bcd1push rbx
    0043bcd2sub rsp, 88
    0043bcd6mov rbp, rsp
    0043bcd9mov [rbp+40], rdx
    0043bcddmov [rbp+48], 0
    0043bce5mov [rbp+56], 0
    0043bcedmov [rbp+112], rcx
    0043bcf1mov rcx, [rbp+112]
    0043bcf5call fn_40bee0
    0043bcfanop
    0043bcfbmov rcx, [rbp+40]
    0043bcffcall fn_40bd40
    0043bd04jmp 0x43bd1a
    0043bd06
    0043bd06loc_43bd06:
    0043bd06lea rcx, [rbp+112]
    0043bd0alea rdx, [rip+279]
    0043bd11mov r8, [rbp+112]
    0043bd15call fn_40ca10
    0043bd1a
    0043bd1aloc_43bd1a:
    0043bd1axor eax, eax
    0043bd1cmov rcx, [rbp+112]
    0043bd20test rcx, rcx
    0043bd23je 0x43bd28
    0043bd25mov eax, [rcx-4]
    0043bd28
    0043bd28loc_43bd28:
    0043bd28and eax, 0xffffffff80000007
    0043bd2ejns 0x43bd39
    0043bd30sub eax, 1
    0043bd33or eax, -8
    0043bd36add eax, 1
    0043bd39
    0043bd39loc_43bd39:
    0043bd39test eax, eax
    0043bd3bjne 0x43bd06
    0043bd3dxor eax, eax
    0043bd3fmov rcx, [rbp+112]
    0043bd43test rcx, rcx
    0043bd46je 0x43bd4b
    0043bd48mov eax, [rcx-4]
    0043bd4b
    0043bd4bloc_43bd4b:
    0043bd4btest eax, eax
    0043bd4djns 0x43bd52
    0043bd4fadd eax, 7
    0043bd52
    0043bd52loc_43bd52:
    0043bd52sar eax, 3
    0043bd55mov ecx, 1
    0043bd5amov ebx, eax
    0043bd5cmov eax, ecx
    0043bd5ecmp eax, ebx
    0043bd60jg 0x43bdc6
    0043bd62sub ebx, ecx
    0043bd64add ebx, 1
    0043bd67
    0043bd67loc_43bd67:
    0043bd67lea rcx, [rbp+56]
    0043bd6bmov rdx, [rbp+112]
    0043bd6fmov r8l, 1
    0043bd75mov r9l, 8
    0043bd7bcall fn_40ce30
    0043bd80lea rcx, [rbp+79]
    0043bd84mov rdx, [rbp+56]
    0043bd88call fn_43b980
    0043bd8dlea rcx, [rbp+48]
    0043bd91movzx rdx, [rbp+79]
    0043bd96xor r8, r8
    0043bd99call fn_40c820
    0043bd9emov rcx, [rbp+40]
    0043bda2mov rdx, [rbp+48]
    0043bda6call fn_40c910
    0043bdablea rcx, [rbp+112]
    0043bdafmov edx, 1
    0043bdb4mov r8l, 8
    0043bdbacall fn_40ceb0
    0043bdbfsub ebx, 1
    0043bdc2test ebx, ebx
    0043bdc4jne 0x43bd67
    0043bdc6
    0043bdc6loc_43bdc6:
    0043bdc6nop
    0043bdc7nop
    0043bdc8lea rcx, [rbp+48]
    0043bdccmov edx, 2
    0043bdd1call fn_40be20
    0043bdd6lea rcx, [rbp+112]
    0043bddacall fn_40bd40
    0043bddflea rsp, [rbp+88]
    0043bde3pop rbx
    0043bde4pop rbp
    0043bde5ret
    0043bcd0
    0043bde6
    0043bde6 48 90 48 8d 04 05 00 00 00 00 H.H.......
    0043bdf0
    0043bdf0fn_43bdf0:
    0043bdf0push rbp
    0043bdf1push rbx
    0043bdf2sub rsp, 40
    0043bdf6mov rbp, rsp
    0043bdf9mov rbx, rdx
    0043bdfclea rcx, [rbx+48]
    0043be00mov edx, 2
    0043be05call fn_40be20
    0043be0alea rcx, [rbx+112]
    0043be0ecall fn_40bd40
    0043be13lea rsp, [rbp+40]
    0043be17pop rbx
    0043be18pop rbp
    0043be19ret
    0043bdf0
    0043be1a
    0043be1a 00 00 e3 04 01 00 ......
    0043be20 ff ff ff ff 01 00 00 00 30 00 cc cc cc cc cc cc ........0.......
    0043be30
    0043be30fn_43be30:
    0043be30push r13
    0043be32push rdi
    0043be33push rsi
    0043be34push rbx
    0043be35sub rsp, 40
    0043be39mov rbx, rdx
    0043be3cmov [rsp+80], rcx
    0043be41mov rcx, rbx
    0043be44call fn_40bd40
    0043be49mov eax, 1
    0043be4emov rcx, [rsp+80]
    0043be53mov rcx, [rcx+8]
    0043be57mov r13l, [rcx]
    0043be5amov esi, eax
    0043be5ccmp esi, r13l
    0043be5fja 0x43bebf
    0043be61sub r13l, eax
    0043be64add r13l, 1
    0043be68
    0043be68loc_43be68:
    0043be68xor edi, edi
    0043be6a
    0043be6aloc_43be6a:
    0043be6amov rax, [rsp+80]
    0043be6fmov rax, [rax+8]
    0043be73mov ecx, esi
    0043be75mov eax, [rax+4*rcx]
    0043be78mov ecx, edi
    0043be7ashr eax, cl
    0043be7cand eax, 1
    0043be7fcmp eax, 1
    0043be82jne 0x43be98
    0043be84mov rcx, rbx
    0043be87lea rdx, [rip+142]
    0043be8emov r8, [rbx]
    0043be91call fn_40ca10
    0043be96jmp 0x43beaa
    0043be98
    0043be98loc_43be98:
    0043be98mov rcx, rbx
    0043be9blea rdx, [rip+138]
    0043bea2mov r8, [rbx]
    0043bea5call fn_40ca10
    0043beaa
    0043beaaloc_43beaa:
    0043beaaadd edi, 1
    0043beadcmp edi, 31
    0043beb0jne 0x43be6a
    0043beb2nop
    0043beb3add esi, 1
    0043beb6sub r13l, 1
    0043bebatest r13l, r13l
    0043bebdjne 0x43be68
    0043bebf
    0043bebfloc_43bebf:
    0043bebfnop
    0043bec0jmp 0x43bed5
    0043bec2
    0043bec2loc_43bec2:
    0043bec2mov rcx, rbx
    0043bec5mov edx, 1
    0043becamov r8l, 1
    0043bed0call fn_40ceb0
    0043bed5
    0043bed5loc_43bed5:
    0043bed5xor eax, eax
    0043bed7mov rcx, [rbx]
    0043bedatest rcx, rcx
    0043beddje 0x43bee2
    0043bedfmov eax, [rcx-4]
    0043bee2
    0043bee2loc_43bee2:
    0043bee2cmp eax, 1
    0043bee5jle 0x43beef
    0043bee7mov rax, [rbx]
    0043beeacmp [rax], 48
    0043beedje 0x43bec2
    0043beef
    0043beefloc_43beef:
    0043beefcmp [rbx], 0
    0043bef3jne 0x43bf04
    0043bef5mov rcx, rbx
    0043bef8lea rdx, [rip+45]
    0043beffcall fn_40c4a0
    0043bf04
    0043bf04loc_43bf04:
    0043bf04add rsp, 40
    0043bf08pop rbx
    0043bf09pop rsi
    0043bf0apop rdi
    0043bf0bpop r13
    0043bf0dret
    0043be30
    0043bf0e
    0043bf0e 00 00 ..
    0043bf10 e3 04 01 00 ff ff ff ff 01 00 00 00 31 00 00 00 ............1...
    0043bf20 e3 04 01 00 ff ff ff ff 01 00 00 00 30 00 cc cc ............0...
    0043bf30
    0043bf30fn_43bf30:
    0043bf30push rbp
    0043bf31push rdi
    0043bf32push rsi
    0043bf33push rbx
    0043bf34sub rsp, 56
    0043bf38mov rbp, rsp
    0043bf3bmov [rbp+40], rdx
    0043bf3fmov [rbp+96], rcx
    0043bf43mov rcx, [rbp+96]
    0043bf47call fn_40bee0
    0043bf4cnop
    0043bf4djmp 0x43bf63
    0043bf4f
    0043bf4floc_43bf4f:
    0043bf4flea rcx, [rbp+96]
    0043bf53mov edx, 1
    0043bf58mov r8l, 1
    0043bf5ecall fn_40ceb0
    0043bf63
    0043bf63loc_43bf63:
    0043bf63mov rax, [rbp+96]
    0043bf67cmp [rax], 48
    0043bf6ajne 0x43bf82
    0043bf6cxor eax, eax
    0043bf6emov rcx, [rbp+96]
    0043bf72test rcx, rcx
    0043bf75je 0x43bf7a
    0043bf77mov eax, [rcx-4]
    0043bf7a
    0043bf7aloc_43bf7a:
    0043bf7acmp eax, 1
    0043bf7dsetg al
    0043bf80jmp 0x43bf84
    0043bf82
    0043bf82loc_43bf82:
    0043bf82xor eax, eax
    0043bf84
    0043bf84loc_43bf84:
    0043bf84test al, al
    0043bf86jne 0x43bf4f
    0043bf88xor eax, eax
    0043bf8amov rcx, [rbp+96]
    0043bf8etest rcx, rcx
    0043bf91je 0x43bf96
    0043bf93mov eax, [rcx-4]
    0043bf96
    0043bf96loc_43bf96:
    0043bf96mov r8l, 31
    0043bf9ccdq
    0043bf9didiv r8l
    0043bfa0mov rdi, rax
    0043bfa3xor eax, eax
    0043bfa5test rcx, rcx
    0043bfa8je 0x43bfad
    0043bfaamov eax, [rcx-4]
    0043bfad
    0043bfadloc_43bfad:
    0043bfadmov ecx, 31
    0043bfb2cdq
    0043bfb3idiv ecx
    0043bfb5test edx, edx
    0043bfb7je 0x43bfbc
    0043bfb9add edi, 1
    0043bfbc
    0043bfbcloc_43bfbc:
    0043bfbcmov rax, [rbp+40]
    0043bfc0lea rcx, [rax+8]
    0043bfc4mov rdx, [rip-1811]
    0043bfcbmov r8l, 1
    0043bfd1mov r9l, edi
    0043bfd4add r9l, 1
    0043bfd8mov r9l, r9l
    0043bfdbcall fn_410430
    0043bfe0mov rax, [rbp+40]
    0043bfe4mov rax, [rax+8]
    0043bfe8mov [rax], edi
    0043bfeamov esi, 1
    0043bfefmov rax, [rbp+40]
    0043bff3mov rax, [rax+8]
    0043bff7mov ecx, esi
    0043bff9mov [rax+4*rcx], 0
    0043c000xor ebx, ebx
    0043c002jmp 0x43c076
    0043c004
    0043c004loc_43c004:
    0043c004xor eax, eax
    0043c006test rcx, rcx
    0043c009je 0x43c00e
    0043c00bmov eax, [rcx-4]
    0043c00e
    0043c00eloc_43c00e:
    0043c00emov rcx, [rbp+96]
    0043c012movsxd rax, eax
    0043c015cmp [rcx+rax-1], 49
    0043c01ajne 0x43c035
    0043c01cmov rax, [rbp+40]
    0043c020mov rax, [rax+8]
    0043c024mov ecx, esi
    0043c026lea rax, [rax+4*rcx]
    0043c02amov edx, 1
    0043c02fmov ecx, ebx
    0043c031shl edx, cl
    0043c033or [rax], edx
    0043c035
    0043c035loc_43c035:
    0043c035add ebx, 1
    0043c038cmp ebx, 31
    0043c03bjne 0x43c057
    0043c03dxor ebx, ebx
    0043c03fadd esi, 1
    0043c042cmp esi, edi
    0043c044ja 0x43c057
    0043c046mov rax, [rbp+40]
    0043c04amov rax, [rax+8]
    0043c04emov ecx, esi
    0043c050mov [rax+4*rcx], 0
    0043c057
    0043c057loc_43c057:
    0043c057xor eax, eax
    0043c059mov rcx, [rbp+96]
    0043c05dtest rcx, rcx
    0043c060je 0x43c065
    0043c062mov eax, [rcx-4]
    0043c065
    0043c065loc_43c065:
    0043c065lea rcx, [rbp+96]
    0043c069mov edx, eax
    0043c06bmov r8l, 1
    0043c071call fn_40ceb0
    0043c076
    0043c076loc_43c076:
    0043c076xor eax, eax
    0043c078mov rcx, [rbp+96]
    0043c07ctest rcx, rcx
    0043c07fje 0x43c084
    0043c081mov eax, [rcx-4]
    0043c084
    0043c084loc_43c084:
    0043c084test eax, eax
    0043c086jg 0x43c004
    0043c08cmov rax, [rbp+40]
    0043c090mov [rax], 1
    0043c093nop
    0043c094lea rcx, [rbp+96]
    0043c098call fn_40bd40
    0043c09dlea rsp, [rbp+56]
    0043c0a1pop rbx
    0043c0a2pop rsi
    0043c0a3pop rdi
    0043c0a4pop rbp
    0043c0a5ret
    0043bf30
    0043c0a6
    0043c0a6 48 90 48 8d 04 05 00 00 00 00 H.H.......
    0043c0b0
    0043c0b0fn_43c0b0:
    0043c0b0push rbp
    0043c0b1sub rsp, 32
    0043c0b5mov rbp, rsp
    0043c0b8lea rcx, [rdx+96]
    0043c0bccall fn_40bd40
    0043c0c1lea rsp, [rbp+32]
    0043c0c5pop rbp
    0043c0c6ret
    0043c0b0
    0043c0c7
    0043c0c7 // align 0x10
    0043c0d0
    0043c0d0fn_43c0d0:
    0043c0d0push rbp
    0043c0d1push rsi
    0043c0d2push rbx
    0043c0d3sub rsp, 2112
    0043c0damov rbp, rsp
    0043c0ddmov [rbp+40], rdx
    0043c0e1mov [rbp+2104], 0
    0043c0ecmov [rbp+2144], rcx
    0043c0f3mov rcx, [rbp+2144]
    0043c0facall fn_40bee0
    0043c0fflea rcx, [rbp+56]
    0043c103mov rdx, [rip-0x3ae9a]
    0043c10amov r8l, 256
    0043c110call fn_40e2c0
    0043c115nop
    0043c116lea rcx, [rbp+2104]
    0043c11dcall fn_40bd40
    0043c122lea rcx, [rbp+56]
    0043c126mov edx, 255
    0043c12bcall fn_43ba30
    0043c130xor eax, eax
    0043c132mov rcx, [rbp+2144]
    0043c139test rcx, rcx
    0043c13cje 0x43c141
    0043c13emov eax, [rcx-4]
    0043c141
    0043c141loc_43c141:
    0043c141mov ecx, 1
    0043c146mov esi, eax
    0043c148mov ebx, ecx
    0043c14acmp ebx, esi
    0043c14cjg 0x43c17e
    0043c14esub esi, ecx
    0043c150add esi, 1
    0043c153
    0043c153loc_43c153:
    0043c153lea rcx, [rbp+2104]
    0043c15amov rax, [rbp+2144]
    0043c161movsxd rdx, ebx
    0043c164movzx rax, [rax+rdx-1]
    0043c16amov rdx, [rbp+8*rax+56]
    0043c16fcall fn_40c910
    0043c174add ebx, 1
    0043c177sub esi, 1
    0043c17atest esi, esi
    0043c17cjne 0x43c153
    0043c17e
    0043c17eloc_43c17e:
    0043c17enop
    0043c17fjmp 0x43c198
    0043c181
    0043c181loc_43c181:
    0043c181lea rcx, [rbp+2104]
    0043c188mov edx, 1
    0043c18dmov r8l, 1
    0043c193call fn_40ceb0
    0043c198
    0043c198loc_43c198:
    0043c198mov rax, [rbp+2104]
    0043c19fcmp [rax], 48
    0043c1a2jne 0x43c1bb
    0043c1a4mov rcx, [rbp+2104]
    0043c1ablea rdx, [rip+174]
    0043c1b2call fn_40cdc0
    0043c1b7test eax, eax
    0043c1b9jne 0x43c181
    0043c1bb
    0043c1bbloc_43c1bb:
    0043c1bbmov rcx, [rbp+2104]
    0043c1c2mov rdx, [rbp+40]
    0043c1c6call fn_43bf30
    0043c1cbnop
    0043c1cclea rcx, [rbp+56]
    0043c1d0mov rdx, [rip-0x3af67]
    0043c1d7mov r8l, 256
    0043c1ddcall fn_40ec40
    0043c1e2lea rcx, [rbp+2104]
    0043c1e9call fn_40bd40
    0043c1eelea rcx, [rbp+2144]
    0043c1f5call fn_40bd40
    0043c1falea rsp, [rbp+2112]
    0043c201pop rbx
    0043c202pop rsi
    0043c203pop rbp
    0043c204ret
    0043c0d0
    0043c205
    0043c205 48 8b c0 48 8d 04 05 00 00 00 00 H..H.......
    0043c210
    0043c210fn_43c210:
    0043c210push rbp
    0043c211push rbx
    0043c212sub rsp, 40
    0043c216mov rbp, rsp
    0043c219mov rbx, rdx
    0043c21clea rcx, [rbx+56]
    0043c220mov rdx, [rip-0x3afb7]
    0043c227mov r8l, 256
    0043c22dcall fn_40ec40
    0043c232lea rcx, [rbx+2104]
    0043c239call fn_40bd40
    0043c23elea rcx, [rbx+2144]
    0043c245call fn_40bd40
    0043c24alea rsp, [rbp+40]
    0043c24epop rbx
    0043c24fpop rbp
    0043c250ret
    0043c210
    0043c251
    0043c251 00 00 00 e3 04 01 00 ff ff ff ff 01 00 00 00 ...............
    0043c260 30 00 cc cc cc cc cc cc cc cc cc cc cc cc cc cc 0...............
    0043c270
    0043c270fn_43c270:
    0043c270push rdi
    0043c271push rsi
    0043c272push rbx
    0043c273sub rsp, 32
    0043c277mov rbx, rdx
    0043c27amov rax, [rbx+8]
    0043c27emov esi, [rax]
    0043c280xor eax, eax
    0043c282mov ecx, esi
    0043c284cmp ecx, 1
    0043c287jb 0x43c2bf
    0043c289
    0043c289loc_43c289:
    0043c289imul eax, eax, 10000
    0043c28fmov r11l, ecx
    0043c292mov rdx, [rbx+8]
    0043c296mov r10l, eax
    0043c299add r10l, [rdx+4*r11]
    0043c29dmov rdi, [rbx+8]
    0043c2a1mov eax, r10l
    0043c2a4xor edx, edx
    0043c2a6div r8l
    0043c2a9mov [rdi+4*r11], eax
    0043c2admov eax, r10l
    0043c2b0xor edx, edx
    0043c2b2div r8l
    0043c2b5mov rax, rdx
    0043c2b8sub ecx, 1
    0043c2bbtest ecx, ecx
    0043c2bdjne 0x43c289
    0043c2bf
    0043c2bfloc_43c2bf:
    0043c2bfnop
    0043c2c0mov [r9], ax
    0043c2c4jmp 0x43c2c9
    0043c2c6
    0043c2c6loc_43c2c6:
    0043c2c6sub esi, 1
    0043c2c9
    0043c2c9loc_43c2c9:
    0043c2c9mov rax, [rbx+8]
    0043c2cdmov ecx, esi
    0043c2cfcmp [rax+4*rcx], 0
    0043c2d3jne 0x43c2da
    0043c2d5cmp esi, 1
    0043c2d8ja 0x43c2c6
    0043c2da
    0043c2daloc_43c2da:
    0043c2damov rax, [rbx+8]
    0043c2decmp esi, [rax]
    0043c2e0je 0x43c308
    0043c2e2lea rcx, [rbx+8]
    0043c2e6mov rdx, [rip-2613]
    0043c2edmov r8l, 1
    0043c2f3mov r9l, esi
    0043c2f6add r9l, 1
    0043c2famov r9l, r9l
    0043c2fdcall fn_410430
    0043c302mov rax, [rbx+8]
    0043c306mov [rax], esi
    0043c308
    0043c308loc_43c308:
    0043c308add rsp, 32
    0043c30cpop rbx
    0043c30dpop rsi
    0043c30epop rdi
    0043c30fret
    0043c270
    0043c310
    0043c310fn_43c310:
    0043c310push rbp
    0043c311push r13
    0043c313push rdi
    0043c314push rsi
    0043c315push rbx
    0043c316sub rsp, 112
    0043c31amov rbp, rsp
    0043c31dmov [rbp+40], rdx
    0043c321mov [rbp+56], 0
    0043c329mov [rbp+48], 0
    0043c331mov [rbp+64], 0
    0043c339mov [rbp+72], 0
    0043c341mov [rbp+96], 0
    0043c349mov [rbp+88], 0
    0043c351mov [rbp+160], rcx
    0043c358mov rcx, [rbp+160]
    0043c35fcall fn_40bee0
    0043c364nop
    0043c365jmp 0x43c37e
    0043c367
    0043c367loc_43c367:
    0043c367lea rcx, [rbp+160]
    0043c36emov edx, 1
    0043c373mov r8l, 1
    0043c379call fn_40ceb0
    0043c37e
    0043c37eloc_43c37e:
    0043c37emov rax, [rbp+160]
    0043c385movzx rax, [rax]
    0043c389sub al, 40
    0043c38ccmp al, 31
    0043c38fja 0x43c3ac
    0043c391mov edx, 1
    0043c396movzx rcx, al
    0043c39aand ecx, 127
    0043c39dshl edx, cl
    0043c39fmov eax, [rip+811]
    0043c3a5test edx, eax
    0043c3a7setne al
    0043c3aajmp 0x43c3ae
    0043c3ac
    0043c3acloc_43c3ac:
    0043c3acxor eax, eax
    0043c3ae
    0043c3aeloc_43c3ae:
    0043c3aetest al, al
    0043c3b0jne 0x43c3cb
    0043c3b2xor eax, eax
    0043c3b4mov rcx, [rbp+160]
    0043c3bbtest rcx, rcx
    0043c3beje 0x43c3c3
    0043c3c0mov eax, [rcx-4]
    0043c3c3
    0043c3c3loc_43c3c3:
    0043c3c3cmp eax, 1
    0043c3c6setg al
    0043c3c9jmp 0x43c3cd
    0043c3cb
    0043c3cbloc_43c3cb:
    0043c3cbxor eax, eax
    0043c3cd
    0043c3cdloc_43c3cd:
    0043c3cdtest al, al
    0043c3cfjne 0x43c367
    0043c3d1lea rcx, [rbp+72]
    0043c3d5mov rdx, [rbp+160]
    0043c3dcmov r8l, 1
    0043c3e2mov r9l, 1
    0043c3e8call fn_40ce30
    0043c3edmov rcx, [rbp+72]
    0043c3f1lea rdx, [rip+744]
    0043c3f8call fn_40cdc0
    0043c3fdtest eax, eax
    0043c3ffjne 0x43c41d
    0043c401xor edi, edi
    0043c404lea rcx, [rbp+160]
    0043c40bmov edx, 1
    0043c410mov r8l, 1
    0043c416call fn_40ceb0
    0043c41bjmp 0x43c439
    0043c41d
    0043c41dloc_43c41d:
    0043c41dmov dil, 1
    0043c420jmp 0x43c439
    0043c422
    0043c422loc_43c422:
    0043c422lea rcx, [rbp+160]
    0043c429mov edx, 1
    0043c42emov r8l, 1
    0043c434call fn_40ceb0
    0043c439
    0043c439loc_43c439:
    0043c439xor eax, eax
    0043c43bmov rcx, [rbp+160]
    0043c442test rcx, rcx
    0043c445je 0x43c44a
    0043c447mov eax, [rcx-4]
    0043c44a
    0043c44aloc_43c44a:
    0043c44acmp eax, 1
    0043c44djle 0x43c47f
    0043c44flea rcx, [rbp+64]
    0043c453mov rdx, [rbp+160]
    0043c45amov r8l, 1
    0043c460mov r9l, 1
    0043c466call fn_40ce30
    0043c46bmov rcx, [rbp+64]
    0043c46flea rdx, [rip+634]
    0043c476call fn_40cdc0
    0043c47btest eax, eax
    0043c47dje 0x43c422
    0043c47f
    0043c47floc_43c47f:
    0043c47fxor eax, eax
    0043c481mov rcx, [rbp+160]
    0043c488test rcx, rcx
    0043c48bje 0x43c490
    0043c48dmov eax, [rcx-4]
    0043c490
    0043c490loc_43c490:
    0043c490mov esi, eax
    0043c492test esi, esi
    0043c494jns 0x43c499
    0043c496add esi, 3
    0043c499
    0043c499loc_43c499:
    0043c499sar esi, 2
    0043c49cxor eax, eax
    0043c49etest rcx, rcx
    0043c4a1je 0x43c4a6
    0043c4a3mov eax, [rcx-4]
    0043c4a6
    0043c4a6loc_43c4a6:
    0043c4a6and eax, 0xffffffff80000003
    0043c4acjns 0x43c4b7
    0043c4aesub eax, 1
    0043c4b1or eax, -4
    0043c4b4add eax, 1
    0043c4b7
    0043c4b7loc_43c4b7:
    0043c4b7test eax, eax
    0043c4b9je 0x43c4be
    0043c4bbadd esi, 1
    0043c4be
    0043c4beloc_43c4be:
    0043c4bemov rax, [rbp+40]
    0043c4c2lea rcx, [rax+8]
    0043c4c6mov rdx, [rip-3093]
    0043c4cdmov r8l, 1
    0043c4d3mov r9l, esi
    0043c4d6add r9l, 1
    0043c4damov r9l, r9l
    0043c4ddcall fn_410430
    0043c4e2mov rax, [rbp+40]
    0043c4e6mov rax, [rax+8]
    0043c4eamov [rax], esi
    0043c4ecmov eax, 1
    0043c4f1mov r13l, esi
    0043c4f4sub r13l, 1
    0043c4f8mov ebx, eax
    0043c4facmp ebx, r13l
    0043c4fdja 0x43c57e
    0043c4ffsub r13l, eax
    0043c502add r13l, 1
    0043c506
    0043c506loc_43c506:
    0043c506xor eax, eax
    0043c508mov rcx, [rbp+160]
    0043c50ftest rcx, rcx
    0043c512je 0x43c517
    0043c514mov eax, [rcx-4]
    0043c517
    0043c517loc_43c517:
    0043c517lea rcx, [rbp+88]
    0043c51bmov rdx, [rbp+160]
    0043c522mov r8l, eax
    0043c525sub r8l, 3
    0043c529mov r9l, 4
    0043c52fcall fn_40ce30
    0043c534mov rcx, [rbp+88]
    0043c538call fn_430580
    0043c53dmov rcx, [rbp+40]
    0043c541mov rcx, [rcx+8]
    0043c545mov edx, ebx
    0043c547mov [rcx+4*rdx], eax
    0043c54axor eax, eax
    0043c54cmov rcx, [rbp+160]
    0043c553test rcx, rcx
    0043c556je 0x43c55b
    0043c558mov eax, [rcx-4]
    0043c55b
    0043c55bloc_43c55b:
    0043c55blea rcx, [rbp+160]
    0043c562mov edx, eax
    0043c564sub edx, 3
    0043c567mov r8l, 4
    0043c56dcall fn_40ceb0
    0043c572add ebx, 1
    0043c575sub r13l, 1
    0043c579test r13l, r13l
    0043c57cjne 0x43c506
    0043c57e
    0043c57eloc_43c57e:
    0043c57enop
    0043c57fmov rcx, [rbp+160]
    0043c586call fn_430580
    0043c58bmov rcx, [rbp+40]
    0043c58fmov rcx, [rcx+8]
    0043c593mov esi, esi
    0043c595mov [rcx+4*rsi], eax
    0043c598lea rcx, [rbp+96]
    0043c59ccall fn_40bd40
    0043c5a1jmp 0x43c5e7
    0043c5a3
    0043c5a3loc_43c5a3:
    0043c5a3mov rcx, rbp
    0043c5a6mov rdx, [rbp+40]
    0043c5aamov r8l, 2
    0043c5b0lea r9, [rbp+110]
    0043c5b4call fn_43c270
    0043c5b9lea rcx, [rbp+56]
    0043c5bdmovzx edx, [rbp+110]
    0043c5c1call fn_4225b0
    0043c5c6lea rcx, [rbp+48]
    0043c5camov rdx, [rbp+56]
    0043c5cexor r8, r8
    0043c5d1call fn_40cff0
    0043c5d6lea rcx, [rbp+96]
    0043c5damov rdx, [rbp+48]
    0043c5demov r8, [rbp+96]
    0043c5e2call fn_40ca10
    0043c5e7
    0043c5e7loc_43c5e7:
    0043c5e7mov rax, [rbp+40]
    0043c5ebmov rax, [rax+8]
    0043c5efcmp [rax], 1
    0043c5f2jne 0x43c5a3
    0043c5f4mov rax, [rbp+40]
    0043c5f8mov rax, [rax+8]
    0043c5fccmp [rax+4], 0
    0043c600jne 0x43c5a3
    0043c602cmp [rbp+96], 0
    0043c607jne 0x43c619
    0043c609lea rcx, [rbp+96]
    0043c60dlea rdx, [rip+220]
    0043c614call fn_40c520
    0043c619
    0043c619loc_43c619:
    0043c619mov rcx, [rbp+40]
    0043c61dcall fn_43c700
    0043c622mov rcx, [rbp+96]
    0043c626mov rdx, [rbp+40]
    0043c62acall fn_43bf30
    0043c62fmov rax, [rbp+40]
    0043c633mov [rax], dil
    0043c636nop
    0043c637lea rcx, [rbp+48]
    0043c63bcall fn_40bd40
    0043c640lea rcx, [rbp+56]
    0043c644call fn_40bcf0
    0043c649lea rcx, [rbp+64]
    0043c64dmov edx, 2
    0043c652call fn_40be20
    0043c657lea rcx, [rbp+88]
    0043c65bmov edx, 2
    0043c660call fn_40be20
    0043c665lea rcx, [rbp+160]
    0043c66ccall fn_40bd40
    0043c671lea rsp, [rbp+112]
    0043c675pop rbx
    0043c676pop rsi
    0043c677pop rdi
    0043c678pop r13
    0043c67apop rbp
    0043c67bret
    0043c310
    0043c67c
    0043c67c 48 8d 40 00 H.@.
    0043c680
    0043c680fn_43c680:
    0043c680push rbp
    0043c681push rbx
    0043c682sub rsp, 40
    0043c686mov rbp, rsp
    0043c689mov rbx, rdx
    0043c68clea rcx, [rbx+48]
    0043c690call fn_40bd40
    0043c695lea rcx, [rbx+56]
    0043c699call fn_40bcf0
    0043c69elea rcx, [rbx+64]
    0043c6a2mov edx, 2
    0043c6a7call fn_40be20
    0043c6aclea rcx, [rbx+88]
    0043c6b0mov edx, 2
    0043c6b5call fn_40be20
    0043c6balea rcx, [rbx+160]
    0043c6c1call fn_40bd40
    0043c6c6lea rsp, [rbp+40]
    0043c6capop rbx
    0043c6cbpop rbp
    0043c6ccret
    0043c680
    0043c6cd
    0043c6cd 00 00 00 ...
    0043c6d0 20 ff 03 00 e3 04 01 00 ff ff ff ff 01 00 00 00 ...............
    0043c6e0 2d 00 00 00 e3 04 01 00 ff ff ff ff 01 00 00 00 -...............
    0043c6f0 30 00 cc cc cc cc cc cc cc cc cc cc cc cc cc cc 0...............
    0043c700
    0043c700fn_43c700:
    0043c700sub rsp, 40
    0043c704lea rcx, [rcx+8]
    0043c708mov rdx, [rip-3671]
    0043c70fcall fn_410600
    0043c714add rsp, 40
    0043c718ret
    0043c700
    0043c719
    0043c719 // align 0x10
    0043c720
    0043c720fn_43c720:
    0043c720mov [rsp+8], rcx
    0043c725mov [rsp+16], rdx
    0043c72amov al, 2
    0043c72cmov rcx, [rsp+8]
    0043c731mov rcx, [rcx+8]
    0043c735mov ecx, [rcx]
    0043c737mov rdx, [rsp+16]
    0043c73cmov rdx, [rdx+8]
    0043c740mov edx, [rdx]
    0043c742cmp ecx, edx
    0043c744jbe 0x43c74a
    0043c746xor eax, eax
    0043c748jmp 0x43c7a9
    0043c74a
    0043c74aloc_43c74a:
    0043c74acmp ecx, edx
    0043c74cjae 0x43c755
    0043c74emov al, 1
    0043c750jmp 0x43c7a9
    0043c752
    0043c752loc_43c752:
    0043c752sub edx, 1
    0043c755
    0043c755loc_43c755:
    0043c755mov ecx, edx
    0043c757mov r8, [rsp+8]
    0043c75cmov r8, [r8+8]
    0043c760mov r9, [rsp+16]
    0043c765mov r9, [r9+8]
    0043c769mov r8l, [r8+4*rcx]
    0043c76dcmp r8l, [r9+4*rcx]
    0043c771jne 0x43c778
    0043c773cmp edx, 1
    0043c776ja 0x43c752
    0043c778
    0043c778loc_43c778:
    0043c778mov edx, edx
    0043c77amov rcx, [rsp+8]
    0043c77fmov rcx, [rcx+8]
    0043c783mov ecx, [rcx+4*rdx]
    0043c786mov r8, [rsp+16]
    0043c78bmov r8, [r8+8]
    0043c78fmov edx, [r8+4*rdx]
    0043c793cmp ecx, edx
    0043c795jne 0x43c79b
    0043c797mov al, 2
    0043c799jmp 0x43c7a9
    0043c79b
    0043c79bloc_43c79b:
    0043c79bcmp ecx, edx
    0043c79djae 0x43c7a3
    0043c79fmov al, 1
    0043c7a1jmp 0x43c7a9
    0043c7a3
    0043c7a3loc_43c7a3:
    0043c7a3cmp ecx, edx
    0043c7a5jbe 0x43c7a9
    0043c7a7xor eax, eax
    0043c7a9
    0043c7a9loc_43c7a9:
    0043c7a9ret
    0043c720
    0043c7aa
    0043c7aa // align 0x10
    0043c7b0
    0043c7b0fn_43c7b0:
    0043c7b0push rdi
    0043c7b1push rsi
    0043c7b2push rbx
    0043c7b3sub rsp, 32
    0043c7b7mov rbx, r8
    0043c7bamov [rsp+64], rcx
    0043c7bfmov [rsp+72], rdx
    0043c7c4mov rax, [rsp+64]
    0043c7c9mov rax, [rax+8]
    0043c7cdmov esi, [rax]
    0043c7cfmov rax, [rsp+72]
    0043c7d4mov rax, [rax+8]
    0043c7d8mov edi, [rax]
    0043c7dacmp esi, edi
    0043c7dcjae 0x43c7f5
    0043c7demov rcx, [rsp+72]
    0043c7e3mov rdx, [rsp+64]
    0043c7e8mov r8, rbx
    0043c7ebcall fn_43c7b0
    0043c7f0jmp 0x43ca91
    0043c7f5
    0043c7f5loc_43c7f5:
    0043c7f5mov rax, [rsp+64]
    0043c7famovzx rax, [rax]
    0043c7femov rcx, [rsp+72]
    0043c803cmp al, [rcx]
    0043c805jne 0x43c931
    0043c80bmov [rbx], al
    0043c80dlea rcx, [rbx+8]
    0043c811mov rdx, [rip-3936]
    0043c818mov r8l, 1
    0043c81emov r9l, esi
    0043c821add r9l, 2
    0043c825mov r9l, r9l
    0043c828call fn_410430
    0043c82dxor ecx, ecx
    0043c82fmov edx, 1
    0043c834mov r9l, edi
    0043c837mov eax, edx
    0043c839cmp eax, r9l
    0043c83cja 0x43c887
    0043c83esub r9l, edx
    0043c841add r9l, 1
    0043c845
    0043c845loc_43c845:
    0043c845mov r8l, eax
    0043c848mov rdx, [rsp+64]
    0043c84dmov rdx, [rdx+8]
    0043c851mov edx, [rdx+4*r8]
    0043c855mov r10, [rsp+72]
    0043c85amov r10, [r10+8]
    0043c85eadd edx, [r10+4*r8]
    0043c862add edx, ecx
    0043c864mov rcx, [rbx+8]
    0043c868mov r10l, edx
    0043c86band r10l, 0x7fffffff
    0043c872mov [rcx+4*r8], r10l
    0043c876mov ecx, edx
    0043c878shr ecx, 31
    0043c87badd eax, 1
    0043c87esub r9l, 1
    0043c882test r9l, r9l
    0043c885jne 0x43c845
    0043c887
    0043c887loc_43c887:
    0043c887nop
    0043c888mov edx, edi
    0043c88aadd edx, 1
    0043c88dmov r9l, esi
    0043c890mov eax, edx
    0043c892cmp eax, r9l
    0043c895ja 0x43c8d3
    0043c897sub r9l, edx
    0043c89aadd r9l, 1
    0043c89e
    0043c89eloc_43c89e:
    0043c89emov r8l, eax
    0043c8a1mov rdx, [rsp+64]
    0043c8a6mov rdx, [rdx+8]
    0043c8aamov edx, [rdx+4*r8]
    0043c8aeadd edx, ecx
    0043c8b0mov rcx, [rbx+8]
    0043c8b4mov r10l, edx
    0043c8b7and r10l, 0x7fffffff
    0043c8bemov [rcx+4*r8], r10l
    0043c8c2mov ecx, edx
    0043c8c4shr ecx, 31
    0043c8c7add eax, 1
    0043c8casub r9l, 1
    0043c8cetest r9l, r9l
    0043c8d1jne 0x43c89e
    0043c8d3
    0043c8d3loc_43c8d3:
    0043c8d3nop
    0043c8d4mov edi, esi
    0043c8d6add edi, 1
    0043c8d9mov rax, [rbx+8]
    0043c8ddmov [rax], edi
    0043c8dfmov rax, [rbx+8]
    0043c8e3mov edx, edi
    0043c8e5mov [rax+4*rdx], ecx
    0043c8e8jmp 0x43c8ed
    0043c8ea
    0043c8ealoc_43c8ea:
    0043c8easub edi, 1
    0043c8ed
    0043c8edloc_43c8ed:
    0043c8edmov rax, [rbx+8]
    0043c8f1mov ecx, edi
    0043c8f3cmp [rax+4*rcx], 0
    0043c8f7jne 0x43c8fe
    0043c8f9cmp edi, 1
    0043c8fcja 0x43c8ea
    0043c8fe
    0043c8feloc_43c8fe:
    0043c8femov rax, [rbx+8]
    0043c902cmp [rax], edi
    0043c904je 0x43c926
    0043c906lea rcx, [rbx+8]
    0043c90amov rdx, [rip-4185]
    0043c911mov r8l, 1
    0043c917mov r9l, edi
    0043c91aadd r9l, 1
    0043c91emov r9l, r9l
    0043c921call fn_410430
    0043c926
    0043c926loc_43c926:
    0043c926mov rax, [rbx+8]
    0043c92amov [rax], edi
    0043c92cjmp 0x43ca91
    0043c931
    0043c931loc_43c931:
    0043c931mov rcx, [rsp+72]
    0043c936mov rdx, [rsp+64]
    0043c93bcall fn_43c720
    0043c940test al, al
    0043c942jne 0x43c95b
    0043c944mov rcx, [rsp+72]
    0043c949mov rdx, [rsp+64]
    0043c94emov r8, rbx
    0043c951call fn_43c7b0
    0043c956jmp 0x43ca91
    0043c95b
    0043c95bloc_43c95b:
    0043c95blea rcx, [rbx+8]
    0043c95fmov rdx, [rip-4270]
    0043c966mov r8l, 1
    0043c96cmov r9l, esi
    0043c96fadd r9l, 1
    0043c973mov r9l, r9l
    0043c976call fn_410430
    0043c97bxor ecx, ecx
    0043c97dmov edx, 1
    0043c982mov r9l, edi
    0043c985mov eax, edx
    0043c987cmp eax, r9l
    0043c98aja 0x43c9e6
    0043c98csub r9l, edx
    0043c98fadd r9l, 1
    0043c993
    0043c993loc_43c993:
    0043c993mov edx, 0xffffffff80000000
    0043c998mov r8l, eax
    0043c99bmov r10, [rsp+64]
    0043c9a0mov r10, [r10+8]
    0043c9a4add edx, [r10+4*r8]
    0043c9a8mov r10, [rsp+72]
    0043c9admov r10, [r10+8]
    0043c9b1sub edx, [r10+4*r8]
    0043c9b5sub edx, ecx
    0043c9b7mov rcx, [rbx+8]
    0043c9bbmov r10l, edx
    0043c9beand r10l, 0x7fffffff
    0043c9c5mov [rcx+4*r8], r10l
    0043c9c9cmp edx, 0x7fffffff
    0043c9cfjbe 0x43c9d5
    0043c9d1xor ecx, ecx
    0043c9d3jmp 0x43c9da
    0043c9d5
    0043c9d5loc_43c9d5:
    0043c9d5mov ecx, 1
    0043c9da
    0043c9daloc_43c9da:
    0043c9daadd eax, 1
    0043c9ddsub r9l, 1
    0043c9e1test r9l, r9l
    0043c9e4jne 0x43c993
    0043c9e6
    0043c9e6loc_43c9e6:
    0043c9e6nop
    0043c9e7mov edx, edi
    0043c9e9add edx, 1
    0043c9ecmov r9l, esi
    0043c9efmov eax, edx
    0043c9f1cmp eax, r9l
    0043c9f4ja 0x43ca43
    0043c9f6sub r9l, edx
    0043c9f9add r9l, 1
    0043c9fd
    0043c9fdloc_43c9fd:
    0043c9fdmov edx, 0xffffffff80000000
    0043ca02mov r8l, eax
    0043ca05mov r10, [rsp+64]
    0043ca0amov r10, [r10+8]
    0043ca0eadd edx, [r10+4*r8]
    0043ca12sub edx, ecx
    0043ca14mov rcx, [rbx+8]
    0043ca18mov r10l, edx
    0043ca1band r10l, 0x7fffffff
    0043ca22mov [rcx+4*r8], r10l
    0043ca26cmp edx, 0x7fffffff
    0043ca2cjbe 0x43ca32
    0043ca2exor ecx, ecx
    0043ca30jmp 0x43ca37
    0043ca32
    0043ca32loc_43ca32:
    0043ca32mov ecx, 1
    0043ca37
    0043ca37loc_43ca37:
    0043ca37add eax, 1
    0043ca3asub r9l, 1
    0043ca3etest r9l, r9l
    0043ca41jne 0x43c9fd
    0043ca43
    0043ca43loc_43ca43:
    0043ca43nop
    0043ca44mov edi, esi
    0043ca46jmp 0x43ca4b
    0043ca48
    0043ca48loc_43ca48:
    0043ca48sub edi, 1
    0043ca4b
    0043ca4bloc_43ca4b:
    0043ca4bmov rax, [rbx+8]
    0043ca4fmov ecx, edi
    0043ca51cmp [rax+4*rcx], 0
    0043ca55jne 0x43ca5c
    0043ca57cmp edi, 1
    0043ca5aja 0x43ca48
    0043ca5c
    0043ca5cloc_43ca5c:
    0043ca5ccmp edi, esi
    0043ca5eje 0x43ca80
    0043ca60lea rcx, [rbx+8]
    0043ca64mov rdx, [rip-4531]
    0043ca6bmov r8l, 1
    0043ca71mov r9l, edi
    0043ca74add r9l, 1
    0043ca78mov r9l, r9l
    0043ca7bcall fn_410430
    0043ca80
    0043ca80loc_43ca80:
    0043ca80mov rax, [rbx+8]
    0043ca84mov [rax], edi
    0043ca86mov rax, [rsp+64]
    0043ca8bmovzx rax, [rax]
    0043ca8fmov [rbx], al
    0043ca91
    0043ca91loc_43ca91:
    0043ca91add rsp, 32
    0043ca95pop rbx
    0043ca96pop rsi
    0043ca97pop rdi
    0043ca98ret
    0043c7b0
    0043ca99
    0043ca99 // align 0x10
    0043caa0
    0043caa0fn_43caa0:
    0043caa0cmp [rcx], 0
    0043caa3jne 0x43caaa
    0043caa5mov [rcx], 1
    0043caa8jmp 0x43caad
    0043caaa
    0043caaaloc_43caaa:
    0043caaamov [rcx], 0
    0043caad
    0043caadloc_43caad:
    0043caadret
    0043caa0
    0043caae
    0043caae // align 0x10
    0043cab0
    0043cab0fn_43cab0:
    0043cab0push rdi
    0043cab1push rsi
    0043cab2push rbx
    0043cab3sub rsp, 32
    0043cab7mov rbx, rcx
    0043cabamov rsi, rdx
    0043cabdmov rdi, r8
    0043cac0mov rcx, rsi
    0043cac3call fn_43caa0
    0043cac8mov rcx, rbx
    0043cacbmov rdx, rsi
    0043cacemov r8, rdi
    0043cad1call fn_43c7b0
    0043cad6mov rcx, rsi
    0043cad9call fn_43caa0
    0043cadeadd rsp, 32
    0043cae2pop rbx
    0043cae3pop rsi
    0043cae4pop rdi
    0043cae5ret
    0043cab0
    0043cae6
    0043cae6 // align 0x10
    0043caf0
    0043caf0fn_43caf0:
    0043caf0push rdi
    0043caf1push rsi
    0043caf2push rbx
    0043caf3sub rsp, 32
    0043caf7mov rbx, rcx
    0043cafamov esi, edx
    0043cafcmov rax, [rbx+8]
    0043cb00mov edi, [rax]
    0043cb02lea rcx, [rbx+8]
    0043cb06mov rdx, [rip-4693]
    0043cb0dmov r8l, 1
    0043cb13mov r9l, edi
    0043cb16add r9l, 2
    0043cb1amov r9l, r9l
    0043cb1dcall fn_410430
    0043cb22xor ecx, ecx
    0043cb24mov edx, 1
    0043cb29mov r9l, edi
    0043cb2cmov eax, edx
    0043cb2ecmp eax, r9l
    0043cb31ja 0x43cb76
    0043cb33sub r9l, edx
    0043cb36add r9l, 1
    0043cb3a
    0043cb3aloc_43cb3a:
    0043cb3amov r8l, eax
    0043cb3dmov rdx, [rbx+8]
    0043cb41mov edx, [rdx+4*r8]
    0043cb45mov r10l, esi
    0043cb48imul rdx, r10
    0043cb4cmov ecx, ecx
    0043cb4eadd rdx, rcx
    0043cb51mov rcx, [rbx+8]
    0043cb55mov r10l, edx
    0043cb58and r10l, 0x7fffffff
    0043cb5fmov [rcx+4*r8], r10l
    0043cb63mov rcx, rdx
    0043cb66shr rcx, 31
    0043cb6aadd eax, 1
    0043cb6dsub r9l, 1
    0043cb71test r9l, r9l
    0043cb74jne 0x43cb3a
    0043cb76
    0043cb76loc_43cb76:
    0043cb76nop
    0043cb77test ecx, ecx
    0043cb79je 0x43cb89
    0043cb7badd edi, 1
    0043cb7emov rax, [rbx+8]
    0043cb82mov edx, edi
    0043cb84mov [rax+4*rdx], ecx
    0043cb87jmp 0x43cba9
    0043cb89
    0043cb89loc_43cb89:
    0043cb89lea rcx, [rbx+8]
    0043cb8dmov rdx, [rip-4828]
    0043cb94mov r8l, 1
    0043cb9amov r9l, edi
    0043cb9dadd r9l, 1
    0043cba1mov r9l, r9l
    0043cba4call fn_410430
    0043cba9
    0043cba9loc_43cba9:
    0043cba9mov rax, [rbx+8]
    0043cbadmov [rax], edi
    0043cbafadd rsp, 32
    0043cbb3pop rbx
    0043cbb4pop rsi
    0043cbb5pop rdi
    0043cbb6ret
    0043caf0
    0043cbb7
    0043cbb7 // align 0x10
    0043cbc0
    0043cbc0fn_43cbc0:
    0043cbc0push r13
    0043cbc2push rdi
    0043cbc3push rsi
    0043cbc4push rbx
    0043cbc5sub rsp, 40
    0043cbc9mov rbx, rcx
    0043cbccmov ecx, edx
    0043cbcemov rax, [rbx+8]
    0043cbd2mov esi, [rax]
    0043cbd4xor eax, eax
    0043cbd6mov r9l, esi
    0043cbd9cmp r9l, 1
    0043cbddjb 0x43cc1b
    0043cbdf
    0043cbdfloc_43cbdf:
    0043cbdfshl rax, 31
    0043cbe3mov r11l, r9l
    0043cbe6mov rdx, [rbx+8]
    0043cbeamov edx, [rdx+4*r11]
    0043cbeemov r10, rax
    0043cbf1or r10, rdx
    0043cbf4mov edi, ecx
    0043cbf6mov r13, [rbx+8]
    0043cbfamov rax, r10
    0043cbfdcqo
    0043cbffidiv rdi
    0043cc02mov [r13+4*r11], eax
    0043cc07mov rax, r10
    0043cc0acqo
    0043cc0cidiv rdi
    0043cc0fmov rax, rdx
    0043cc12sub r9l, 1
    0043cc16test r9l, r9l
    0043cc19jne 0x43cbdf
    0043cc1b
    0043cc1bloc_43cc1b:
    0043cc1bnop
    0043cc1cmov [r8], eax
    0043cc1fjmp 0x43cc24
    0043cc21
    0043cc21loc_43cc21:
    0043cc21sub esi, 1
    0043cc24
    0043cc24loc_43cc24:
    0043cc24mov rax, [rbx+8]
    0043cc28mov ecx, esi
    0043cc2acmp [rax+4*rcx], 0
    0043cc2ejne 0x43cc35
    0043cc30cmp esi, 1
    0043cc33ja 0x43cc21
    0043cc35
    0043cc35loc_43cc35:
    0043cc35mov rax, [rbx+8]
    0043cc39cmp esi, [rax]
    0043cc3bje 0x43cc63
    0043cc3dlea rcx, [rbx+8]
    0043cc41mov rdx, [rip-5008]
    0043cc48mov r8l, 1
    0043cc4emov r9l, esi
    0043cc51add r9l, 1
    0043cc55mov r9l, r9l
    0043cc58call fn_410430
    0043cc5dmov rax, [rbx+8]
    0043cc61mov [rax], esi
    0043cc63
    0043cc63loc_43cc63:
    0043cc63add rsp, 40
    0043cc67pop rbx
    0043cc68pop rsi
    0043cc69pop rdi
    0043cc6apop r13
    0043cc6cret
    0043cbc0
    0043cc6d
    0043cc6d // align 0x10
    0043cc70
    0043cc70fn_43cc70:
    0043cc70mov [rcx], 1
    0043cc73ret
    0043cc70
    0043cc74
    0043cc74 // align 0x10
    0043cc80
    0043cc80fn_43cc80:
    0043cc80push rsi
    0043cc81push rbx
    0043cc82sub rsp, 40
    0043cc86mov rbx, rcx
    0043cc89mov rsi, rdx
    0043cc8cmovzx rax, [rbx]
    0043cc90mov [rsi], al
    0043cc92lea rcx, [rsi+8]
    0043cc96mov rdx, [rip-5093]
    0043cc9dcall fn_410600
    0043cca2lea rcx, [rsi+8]
    0043cca6mov rdx, [rbx+8]
    0043ccaamov r8, [rip-5113]
    0043ccb1xor r9, r9
    0043ccb4mov rax, [rbx+8]
    0043ccb8mov eax, [rax]
    0043ccbaadd eax, 1
    0043ccbdmov eax, eax
    0043ccbfmov [rsp+32], rax
    0043ccc4call fn_4104a0
    0043ccc9add rsp, 40
    0043cccdpop rbx
    0043cccepop rsi
    0043cccfret
    0043cc80
    0043ccd0
    0043ccd0fn_43ccd0:
    0043ccd0push rsi
    0043ccd1push rbx
    0043ccd2sub rsp, 40
    0043ccd6mov rbx, rcx
    0043ccd9mov rax, [rbx+8]
    0043ccddmov esi, [rax]
    0043ccdfcmp esi, 1
    0043cce2jbe 0x43cd45
    0043cce4mov ecx, 1
    0043cce9mov edx, esi
    0043ccebsub edx, 1
    0043cceemov eax, ecx
    0043ccf0cmp eax, edx
    0043ccf2ja 0x43cd20
    0043ccf4sub edx, ecx
    0043ccf6add edx, 1
    0043ccf9
    0043ccf9loc_43ccf9:
    0043ccf9mov rcx, [rbx+8]
    0043ccfdmov r8l, eax
    0043cd00mov r9, [rbx+8]
    0043cd04mov r10l, eax
    0043cd07add r10l, 1
    0043cd0bmov r10l, r10l
    0043cd0emov r9l, [r9+4*r10]
    0043cd12mov [rcx+4*r8], r9l
    0043cd16add eax, 1
    0043cd19sub edx, 1
    0043cd1ctest edx, edx
    0043cd1ejne 0x43ccf9
    0043cd20
    0043cd20loc_43cd20:
    0043cd20nop
    0043cd21lea rcx, [rbx+8]
    0043cd25mov rdx, [rip-5236]
    0043cd2cmov r8l, 1
    0043cd32mov r9l, esi
    0043cd35call fn_410430
    0043cd3amov rax, [rbx+8]
    0043cd3esub esi, 1
    0043cd41mov [rax], esi
    0043cd43jmp 0x43cd50
    0043cd45
    0043cd45loc_43cd45:
    0043cd45mov rax, [rbx+8]
    0043cd49mov [rax+4], 0
    0043cd50
    0043cd50loc_43cd50:
    0043cd50add rsp, 40
    0043cd54pop rbx
    0043cd55pop rsi
    0043cd56ret
    0043ccd0
    0043cd57
    0043cd57 // align 0x10
    0043cd60
    0043cd60fn_43cd60:
    0043cd60push rsi
    0043cd61push rbx
    0043cd62sub rsp, 40
    0043cd66mov rbx, rcx
    0043cd69mov [rsp+72], rdx
    0043cd6emov rax, [rbx+8]
    0043cd72mov eax, [rax]
    0043cd74mov rcx, [rsp+72]
    0043cd79mov rcx, [rcx+8]
    0043cd7dmov ecx, [rcx]
    0043cd7fxor edx, edx
    0043cd81mov r8l, 1
    0043cd87mov r10l, ecx
    0043cd8amov esi, r8l
    0043cd8dcmp esi, r10l
    0043cd90ja 0x43cde8
    0043cd92sub r10l, r8l
    0043cd95add r10l, 1
    0043cd99
    0043cd99loc_43cd99:
    0043cd99mov r9l, esi
    0043cd9cmov r8, [rbx+8]
    0043cda0mov r8l, [r8+4*r9]
    0043cda4or r8l, 0xffffffff80000000
    0043cdabmov r11, [rsp+72]
    0043cdb0mov r11, [r11+8]
    0043cdb4sub r8l, [r11+4*r9]
    0043cdb8sub r8l, edx
    0043cdbbcmp r8l, 0x7fffffff
    0043cdc2jbe 0x43cdc8
    0043cdc4xor edx, edx
    0043cdc6jmp 0x43cdcd
    0043cdc8
    0043cdc8loc_43cdc8:
    0043cdc8mov edx, 1
    0043cdcd
    0043cdcdloc_43cdcd:
    0043cdcdmov r11, [rbx+8]
    0043cdd1and r8l, 0x7fffffff
    0043cdd8mov [r11+4*r9], r8l
    0043cddcadd esi, 1
    0043cddfsub r10l, 1
    0043cde3test r10l, r10l
    0043cde6jne 0x43cd99
    0043cde8
    0043cde8loc_43cde8:
    0043cde8nop
    0043cde9add ecx, 1
    0043cdecmov r9l, eax
    0043cdefmov esi, ecx
    0043cdf1cmp esi, r9l
    0043cdf4ja 0x43ce3e
    0043cdf6sub r9l, ecx
    0043cdf9add r9l, 1
    0043cdfd
    0043cdfdloc_43cdfd:
    0043cdfdmov ecx, esi
    0043cdffmov r8, [rbx+8]
    0043ce03mov r8l, [r8+4*rcx]
    0043ce07or r8l, 0xffffffff80000000
    0043ce0esub r8l, edx
    0043ce11cmp r8l, 0x7fffffff
    0043ce18jbe 0x43ce1e
    0043ce1axor edx, edx
    0043ce1cjmp 0x43ce23
    0043ce1e
    0043ce1eloc_43ce1e:
    0043ce1emov edx, 1
    0043ce23
    0043ce23loc_43ce23:
    0043ce23mov r10, [rbx+8]
    0043ce27and r8l, 0x7fffffff
    0043ce2emov [r10+4*rcx], r8l
    0043ce32add esi, 1
    0043ce35sub r9l, 1
    0043ce39test r9l, r9l
    0043ce3cjne 0x43cdfd
    0043ce3e
    0043ce3eloc_43ce3e:
    0043ce3enop
    0043ce3fmov esi, eax
    0043ce41jmp 0x43ce46
    0043ce43
    0043ce43loc_43ce43:
    0043ce43sub esi, 1
    0043ce46
    0043ce46loc_43ce46:
    0043ce46mov rcx, [rbx+8]
    0043ce4amov edx, esi
    0043ce4ccmp [rcx+4*rdx], 0
    0043ce50jne 0x43ce57
    0043ce52cmp esi, 1
    0043ce55ja 0x43ce43
    0043ce57
    0043ce57loc_43ce57:
    0043ce57cmp esi, eax
    0043ce59je 0x43ce81
    0043ce5blea rcx, [rbx+8]
    0043ce5fmov rdx, [rip-5550]
    0043ce66mov r8l, 1
    0043ce6cmov r9l, esi
    0043ce6fadd r9l, 1
    0043ce73mov r9l, r9l
    0043ce76call fn_410430
    0043ce7bmov rax, [rbx+8]
    0043ce7fmov [rax], esi
    0043ce81
    0043ce81loc_43ce81:
    0043ce81add rsp, 40
    0043ce85pop rbx
    0043ce86pop rsi
    0043ce87ret
    0043cd60
    0043ce88
    0043ce88 // align 0x10
    0043ce90
    0043ce90fn_43ce90:
    0043ce90push r13
    0043ce92push rdi
    0043ce93push rsi
    0043ce94push rbx
    0043ce95sub rsp, 40
    0043ce99mov rbx, r8
    0043ce9cmov [rsp+80], rcx
    0043cea1mov [rsp+88], rdx
    0043cea6mov rax, [rsp+80]
    0043ceabmov rax, [rax+8]
    0043ceafmov edi, [rax]
    0043ceb1mov rax, [rsp+88]
    0043ceb6mov rax, [rax+8]
    0043cebamov r13l, [rax]
    0043cebdmov esi, edi
    0043cebfadd esi, r13l
    0043cec2lea rcx, [rbx+8]
    0043cec6mov rdx, [rip-5653]
    0043cecdmov r8l, 1
    0043ced3mov r9l, esi
    0043ced6add r9l, 1
    0043cedamov r9l, r9l
    0043ceddcall fn_410430
    0043cee2mov ecx, 1
    0043cee7mov edx, esi
    0043cee9mov eax, ecx
    0043ceebcmp eax, edx
    0043ceedja 0x43cf0d
    0043ceefsub edx, ecx
    0043cef1add edx, 1
    0043cef4
    0043cef4loc_43cef4:
    0043cef4mov rcx, [rbx+8]
    0043cef8mov r8l, eax
    0043cefbmov [rcx+4*r8], 0
    0043cf03add eax, 1
    0043cf06sub edx, 1
    0043cf09test edx, edx
    0043cf0bjne 0x43cef4
    0043cf0d
    0043cf0dloc_43cf0d:
    0043cf0dnop
    0043cf0emov ecx, 1
    0043cf13mov r10l, r13l
    0043cf16mov eax, ecx
    0043cf18cmp eax, r10l
    0043cf1bja 0x43cfcb
    0043cf21sub r10l, ecx
    0043cf24add r10l, 1
    0043cf28
    0043cf28loc_43cf28:
    0043cf28xor edx, edx
    0043cf2amov r8l, 1
    0043cf30mov r11l, edi
    0043cf33mov ecx, r8l
    0043cf36cmp ecx, r11l
    0043cf39ja 0x43cfa9
    0043cf3bsub r11l, r8l
    0043cf3eadd r11l, 1
    0043cf42
    0043cf42loc_43cf42:
    0043cf42mov r8, [rsp+80]
    0043cf47mov r8, [r8+8]
    0043cf4bmov r9l, ecx
    0043cf4emov r8l, [r8+4*r9]
    0043cf52mov r9, [rsp+88]
    0043cf57mov r9, [r9+8]
    0043cf5bmov r13l, eax
    0043cf5emov r9l, [r9+4*r13]
    0043cf62imul r8, r9
    0043cf66mov r9l, ecx
    0043cf69add r9l, eax
    0043cf6csub r9l, 1
    0043cf70mov r9l, r9l
    0043cf73mov r13, [rbx+8]
    0043cf77mov r13l, [r13+4*r9]
    0043cf7cadd r8, r13
    0043cf7fmov edx, edx
    0043cf81add r8, rdx
    0043cf84mov rdx, [rbx+8]
    0043cf88mov r13l, r8l
    0043cf8band r13l, 0x7fffffff
    0043cf92mov [rdx+4*r9], r13l
    0043cf96mov rdx, r8
    0043cf99shr rdx, 31
    0043cf9dadd ecx, 1
    0043cfa0sub r11l, 1
    0043cfa4test r11l, r11l
    0043cfa7jne 0x43cf42
    0043cfa9
    0043cfa9loc_43cfa9:
    0043cfa9nop
    0043cfaamov rcx, [rbx+8]
    0043cfaemov r8l, eax
    0043cfb1add r8l, edi
    0043cfb4mov r8l, r8l
    0043cfb7mov [rcx+4*r8], edx
    0043cfbbadd eax, 1
    0043cfbesub r10l, 1
    0043cfc2test r10l, r10l
    0043cfc5jne 0x43cf28
    0043cfcb
    0043cfcbloc_43cfcb:
    0043cfcbnop
    0043cfccmov rax, [rbx+8]
    0043cfd0mov [rax], esi
    0043cfd2jmp 0x43cfd7
    0043cfd4
    0043cfd4loc_43cfd4:
    0043cfd4sub esi, 1
    0043cfd7
    0043cfd7loc_43cfd7:
    0043cfd7mov rax, [rbx+8]
    0043cfdbmov ecx, esi
    0043cfddcmp [rax+4*rcx], 0
    0043cfe1jne 0x43cfe8
    0043cfe3cmp esi, 1
    0043cfe6ja 0x43cfd4
    0043cfe8
    0043cfe8loc_43cfe8:
    0043cfe8mov rax, [rbx+8]
    0043cfeccmp esi, [rax]
    0043cfeeje 0x43d016
    0043cff0lea rcx, [rbx+8]
    0043cff4mov rdx, [rip-5955]
    0043cffbmov r8l, 1
    0043d001mov r9l, esi
    0043d004add r9l, 1
    0043d008mov r9l, r9l
    0043d00bcall fn_410430
    0043d010mov rax, [rbx+8]
    0043d014mov [rax], esi
    0043d016
    0043d016loc_43d016:
    0043d016mov rax, [rsp+80]
    0043d01bmov rcx, [rsp+88]
    0043d020movzx rax, [rax]
    0043d024cmp al, [rcx]
    0043d026jne 0x43d02d
    0043d028mov [rbx], 1
    0043d02bjmp 0x43d030
    0043d02d
    0043d02dloc_43d02d:
    0043d02dmov [rbx], 0
    0043d030
    0043d030loc_43d030:
    0043d030add rsp, 40
    0043d034pop rbx
    0043d035pop rsi
    0043d036pop rdi
    0043d037pop r13
    0043d039ret
    0043ce90
    0043d03a
    0043d03a // align 0x10
    0043d040
    0043d040fn_43d040:
    0043d040push r13
    0043d042push rdi
    0043d043push rsi
    0043d044push rbx
    0043d045sub rsp, 40
    0043d049mov rbx, rdx
    0043d04cmov [rsp+80], rcx
    0043d051mov rax, [rsp+80]
    0043d056mov rax, [rax+8]
    0043d05amov edi, [rax]
    0043d05cmov esi, edi
    0043d05eadd esi, esi
    0043d060lea rcx, [rbx+8]
    0043d064mov rdx, [rip-6067]
    0043d06bmov r8l, 1
    0043d071mov r9l, esi
    0043d074add r9l, 1
    0043d078mov r9l, r9l
    0043d07bcall fn_410430
    0043d080mov rax, [rbx+8]
    0043d084mov [rax], esi
    0043d086mov ecx, 1
    0043d08bmov edx, esi
    0043d08dmov eax, ecx
    0043d08fcmp eax, edx
    0043d091ja 0x43d0b1
    0043d093sub edx, ecx
    0043d095add edx, 1
    0043d098
    0043d098loc_43d098:
    0043d098mov rcx, [rbx+8]
    0043d09cmov r8l, eax
    0043d09fmov [rcx+4*r8], 0
    0043d0a7add eax, 1
    0043d0aasub edx, 1
    0043d0adtest edx, edx
    0043d0afjne 0x43d098
    0043d0b1
    0043d0b1loc_43d0b1:
    0043d0b1nop
    0043d0b2mov ecx, 1
    0043d0b7mov r10l, edi
    0043d0bamov eax, ecx
    0043d0bccmp eax, r10l
    0043d0bfja 0x43d1b7
    0043d0c5sub r10l, ecx
    0043d0c8add r10l, 1
    0043d0cc
    0043d0ccloc_43d0cc:
    0043d0ccmov rcx, [rsp+80]
    0043d0d1mov rcx, [rcx+8]
    0043d0d5mov edx, eax
    0043d0d7mov ecx, [rcx+4*rdx]
    0043d0damov r8l, ecx
    0043d0ddmov ecx, ecx
    0043d0dfimul r8, rcx
    0043d0e3mov ecx, eax
    0043d0e5add ecx, ecx
    0043d0e7sub ecx, 1
    0043d0eamov ecx, ecx
    0043d0ecmov rdx, [rbx+8]
    0043d0f0mov edx, [rdx+4*rcx]
    0043d0f3add r8, rdx
    0043d0f6mov rdx, [rbx+8]
    0043d0famov r9l, r8l
    0043d0fdand r9l, 0x7fffffff
    0043d104mov [rdx+4*rcx], r9l
    0043d108mov rdx, r8
    0043d10bshr rdx, 31
    0043d10fmov r8l, eax
    0043d112add r8l, 1
    0043d116mov r11l, edi
    0043d119mov ecx, r8l
    0043d11ccmp ecx, r11l
    0043d11fja 0x43d195
    0043d121sub r11l, r8l
    0043d124add r11l, 1
    0043d128
    0043d128loc_43d128:
    0043d128mov r8, [rsp+80]
    0043d12dmov r8, [r8+8]
    0043d131mov r9l, eax
    0043d134mov r8l, [r8+4*r9]
    0043d138add r8l, r8l
    0043d13bmov r8l, r8l
    0043d13emov r9, [rsp+80]
    0043d143mov r9, [r9+8]
    0043d147mov r13l, ecx
    0043d14amov r9l, [r9+4*r13]
    0043d14eimul r8, r9
    0043d152mov r9l, eax
    0043d155add r9l, ecx
    0043d158sub r9l, 1
    0043d15cmov r9l, r9l
    0043d15fmov r13, [rbx+8]
    0043d163mov r13l, [r13+4*r9]
    0043d168add r8, r13
    0043d16bmov edx, edx
    0043d16dadd r8, rdx
    0043d170mov rdx, [rbx+8]
    0043d174mov r13l, r8l
    0043d177and r13l, 0x7fffffff
    0043d17emov [rdx+4*r9], r13l
    0043d182mov rdx, r8
    0043d185shr rdx, 31
    0043d189add ecx, 1
    0043d18csub r11l, 1
    0043d190test r11l, r11l
    0043d193jne 0x43d128
    0043d195
    0043d195loc_43d195:
    0043d195nop
    0043d196mov rcx, [rbx+8]
    0043d19amov r8l, eax
    0043d19dadd r8l, edi
    0043d1a0mov r8l, r8l
    0043d1a3mov [rcx+4*r8], edx
    0043d1a7add eax, 1
    0043d1aasub r10l, 1
    0043d1aetest r10l, r10l
    0043d1b1jne 0x43d0cc
    0043d1b7
    0043d1b7loc_43d1b7:
    0043d1b7nop
    0043d1b8mov [rbx], 1
    0043d1bbjmp 0x43d1c0
    0043d1bd
    0043d1bdloc_43d1bd:
    0043d1bdsub esi, 1
    0043d1c0
    0043d1c0loc_43d1c0:
    0043d1c0mov rax, [rbx+8]
    0043d1c4mov ecx, esi
    0043d1c6cmp [rax+4*rcx], 0
    0043d1cajne 0x43d1d1
    0043d1cccmp esi, 1
    0043d1cfja 0x43d1bd
    0043d1d1
    0043d1d1loc_43d1d1:
    0043d1d1add edi, edi
    0043d1d3cmp esi, edi
    0043d1d5je 0x43d1fd
    0043d1d7lea rcx, [rbx+8]
    0043d1dbmov rdx, [rip-6442]
    0043d1e2mov r8l, 1
    0043d1e8mov r9l, esi
    0043d1ebadd r9l, 1
    0043d1efmov r9l, r9l
    0043d1f2call fn_410430
    0043d1f7mov rax, [rbx+8]
    0043d1fbmov [rax], esi
    0043d1fd
    0043d1fdloc_43d1fd:
    0043d1fdadd rsp, 40
    0043d201pop rbx
    0043d202pop rsi
    0043d203pop rdi
    0043d204pop r13
    0043d206ret
    0043d040
    0043d207
    0043d207 // align 0x10
    0043d210
    0043d210fn_43d210:
    0043d210push rsi
    0043d211push rbx
    0043d212sub rsp, 40
    0043d216mov rbx, rcx
    0043d219mov rax, [rbx+8]
    0043d21dmov esi, [rax]
    0043d21flea rcx, [rbx+8]
    0043d223mov rdx, [rip-6514]
    0043d22amov r8l, 1
    0043d230mov r9l, esi
    0043d233add r9l, 2
    0043d237movsxd r9, r9l
    0043d23acall fn_410430
    0043d23fxor eax, eax
    0043d241mov ecx, 1
    0043d246mov r9l, esi
    0043d249add r9l, 1
    0043d24dmov edx, ecx
    0043d24fcmp edx, r9l
    0043d252jg 0x43d27c
    0043d254sub r9l, ecx
    0043d257add r9l, 1
    0043d25b
    0043d25bloc_43d25b:
    0043d25bmovsxd r8, edx
    0043d25emov rcx, [rbx+8]
    0043d262mov ecx, [rcx+4*r8]
    0043d266mov r10, [rbx+8]
    0043d26amov [r10+4*r8], eax
    0043d26emov eax, ecx
    0043d270add edx, 1
    0043d273sub r9l, 1
    0043d277test r9l, r9l
    0043d27ajne 0x43d25b
    0043d27c
    0043d27cloc_43d27c:
    0043d27cnop
    0043d27dmov rax, [rbx+8]
    0043d281add esi, 1
    0043d284mov [rax], esi
    0043d286add rsp, 40
    0043d28apop rbx
    0043d28bpop rsi
    0043d28cret
    0043d210
    0043d28d
    0043d28d // align 0x10
    0043d290
    0043d290fn_43d290:
    0043d290push rbp
    0043d291push r14
    0043d293push r13
    0043d295push rdi
    0043d296push rsi
    0043d297push rbx
    0043d298sub rsp, 136
    0043d29fmov rbp, rsp
    0043d2a2mov [rbp+32], rcx
    0043d2a6mov [rbp+40], rdx
    0043d2aamov [rbp+48], r8
    0043d2aemov [rbp+56], r9
    0043d2b2lea rcx, [rbp+112]
    0043d2b6mov rdx, [rip-6581]
    0043d2bdcall fn_40e160
    0043d2c2lea rcx, [rbp+96]
    0043d2c6mov rdx, [rip-6597]
    0043d2cdcall fn_40e160
    0043d2d2lea rcx, [rbp+80]
    0043d2d6mov rdx, [rip-6613]
    0043d2ddcall fn_40e160
    0043d2e2lea rcx, [rbp+64]
    0043d2e6mov rdx, [rip-6629]
    0043d2edcall fn_40e160
    0043d2f2nop
    0043d2f3mov rax, [rbp+32]
    0043d2f7movzx rbx, [rax]
    0043d2fbmov rax, [rbp+40]
    0043d2ffmovzx rsi, [rax]
    0043d303mov rcx, [rbp+32]
    0043d307call fn_43cc70
    0043d30cmov rcx, [rbp+40]
    0043d310call fn_43cc70
    0043d315mov rcx, [rbp+32]
    0043d319mov rdx, [rbp+56]
    0043d31dcall fn_43cc80
    0043d322mov rcx, [rbp+40]
    0043d326lea rdx, [rbp+80]
    0043d32acall fn_43cc80
    0043d32fmov rcx, [rbp+32]
    0043d333mov rdx, [rbp+40]
    0043d337call fn_43c720
    0043d33ccmp al, 1
    0043d33fje 0x43d551
    0043d345mov rax, [rbp+32]
    0043d349mov rax, [rax+8]
    0043d34dmov rcx, [rbp+40]
    0043d351mov rcx, [rcx+8]
    0043d355mov edi, [rax]
    0043d357sub edi, [rcx]
    0043d359mov rax, [rbp+48]
    0043d35dlea rcx, [rax+8]
    0043d361mov rdx, [rip-6832]
    0043d368mov r8l, 1
    0043d36emov r9l, edi
    0043d371add r9l, 2
    0043d375mov r9l, r9l
    0043d378call fn_410430
    0043d37dmov rax, [rbp+48]
    0043d381mov rax, [rax+8]
    0043d385mov ecx, edi
    0043d387add ecx, 1
    0043d38amov [rax], ecx
    0043d38cmov eax, 1
    0043d391mov r14l, edi
    0043d394mov r13l, eax
    0043d397cmp r13l, r14l
    0043d39aja 0x43d3cb
    0043d39csub r14l, eax
    0043d39fadd r14l, 1
    0043d3a3
    0043d3a3loc_43d3a3:
    0043d3a3lea rcx, [rbp+80]
    0043d3a7call fn_43d210
    0043d3acmov rax, [rbp+48]
    0043d3b0mov rax, [rax+8]
    0043d3b4mov ecx, r13l
    0043d3b7mov [rax+4*rcx], 0
    0043d3beadd r13l, 1
    0043d3c2sub r14l, 1
    0043d3c6test r14l, r14l
    0043d3c9jne 0x43d3a3
    0043d3cb
    0043d3cbloc_43d3cb:
    0043d3cbnop
    0043d3ccadd edi, 1
    0043d3cfmov rax, [rbp+48]
    0043d3d3mov rax, [rax+8]
    0043d3d7mov ecx, edi
    0043d3d9mov [rax+4*rcx], 0
    0043d3e0jmp 0x43d53d
    0043d3e5
    0043d3e5 e9 0d 01 00 00 .....
    0043d3ea
    0043d3ealoc_43d3ea:
    0043d3eamov rax, [rbp+56]
    0043d3eemov rax, [rax+8]
    0043d3f2mov eax, [rax]
    0043d3f4mov rcx, [rbp+88]
    0043d3f8mov ecx, [rcx]
    0043d3facmp eax, ecx
    0043d3fcjbe 0x43d43f
    0043d3femov rdx, [rbp+56]
    0043d402mov rdx, [rdx+8]
    0043d406mov r8l, eax
    0043d409mov r13l, [rdx+4*r8]
    0043d40dshl r13, 31
    0043d411mov rdx, [rbp+56]
    0043d415mov rdx, [rdx+8]
    0043d419sub eax, 1
    0043d41cmov eax, eax
    0043d41emov eax, [rdx+4*rax]
    0043d421add r13, rax
    0043d424mov rax, [rbp+88]
    0043d428mov ecx, ecx
    0043d42amov eax, [rax+4*rcx]
    0043d42dadd eax, 1
    0043d430mov ecx, eax
    0043d432mov rax, r13
    0043d435cqo
    0043d437idiv rcx
    0043d43amov r13, rax
    0043d43djmp 0x43d463
    0043d43f
    0043d43floc_43d43f:
    0043d43fmov rdx, [rbp+56]
    0043d443mov rdx, [rdx+8]
    0043d447mov eax, eax
    0043d449mov r8, [rbp+88]
    0043d44dmov ecx, ecx
    0043d44fmov ecx, [r8+4*rcx]
    0043d453add ecx, 1
    0043d456mov eax, [rdx+4*rax]
    0043d459xor edx, edx
    0043d45bdiv ecx
    0043d45dmov r13, rax
    0043d460mov r13l, r13l
    0043d463
    0043d463loc_43d463:
    0043d463test r13, r13
    0043d466je 0x43d4d9
    0043d468lea rcx, [rbp+80]
    0043d46clea rdx, [rbp+64]
    0043d470call fn_43cc80
    0043d475lea rcx, [rbp+64]
    0043d479mov edx, r13l
    0043d47ccall fn_43caf0
    0043d481mov rcx, [rbp+56]
    0043d485lea rdx, [rbp+64]
    0043d489call fn_43cd60
    0043d48emov r14l, edi
    0043d491mov rax, [rbp+48]
    0043d495mov rax, [rax+8]
    0043d499lea rax, [rax+4*r14]
    0043d49dadd [rax], r13l
    0043d4a0mov rcx, [rbp+56]
    0043d4a4lea rdx, [rbp+64]
    0043d4a8call fn_43c720
    0043d4adcmp al, 1
    0043d4b0je 0x43d4ce
    0043d4b2mov rax, [rbp+48]
    0043d4b6mov rax, [rax+8]
    0043d4balea rax, [rax+4*r14]
    0043d4beadd [rax], r13l
    0043d4c1mov rcx, [rbp+56]
    0043d4c5lea rdx, [rbp+64]
    0043d4c9call fn_43cd60
    0043d4ce
    0043d4celoc_43d4ce:
    0043d4celea rcx, [rbp+64]
    0043d4d2call fn_43c700
    0043d4d7jmp 0x43d4f7
    0043d4d9
    0043d4d9loc_43d4d9:
    0043d4d9mov rax, [rbp+48]
    0043d4ddmov rax, [rax+8]
    0043d4e1mov ecx, edi
    0043d4e3lea rax, [rax+4*rcx]
    0043d4e7add [rax], 1
    0043d4eamov rcx, [rbp+56]
    0043d4eelea rdx, [rbp+80]
    0043d4f2call fn_43cd60
    0043d4f7
    0043d4f7loc_43d4f7:
    0043d4f7mov rcx, [rbp+56]
    0043d4fblea rdx, [rbp+80]
    0043d4ffcall fn_43c720
    0043d504cmp al, 1
    0043d507jne 0x43d3ea
    0043d50dmov rax, [rbp+56]
    0043d511mov rax, [rax+8]
    0043d515mov rcx, [rbp+88]
    0043d519mov eax, [rax]
    0043d51bcmp eax, [rcx]
    0043d51dja 0x43d53d
    0043d51flea rcx, [rbp+80]
    0043d523mov rdx, [rbp+40]
    0043d527call fn_43c720
    0043d52ccmp al, 2
    0043d52fje 0x43d53d
    0043d531lea rcx, [rbp+80]
    0043d535call fn_43ccd0
    0043d53asub edi, 1
    0043d53d
    0043d53dloc_43d53d:
    0043d53dmov rcx, [rbp+56]
    0043d541mov rdx, [rbp+40]
    0043d545call fn_43c720
    0043d54acmp al, 1
    0043d54djne 0x43d4f7
    0043d54fjmp 0x43d561
    0043d551
    0043d551loc_43d551:
    0043d551lea rcx, [rip+424]
    0043d558mov rdx, [rbp+48]
    0043d55ccall fn_43c310
    0043d561
    0043d561loc_43d561:
    0043d561mov rax, [rbp+48]
    0043d565mov rax, [rax+8]
    0043d569mov edi, [rax]
    0043d56bjmp 0x43d570
    0043d56d
    0043d56dloc_43d56d:
    0043d56dsub edi, 1
    0043d570
    0043d570loc_43d570:
    0043d570cmp edi, 1
    0043d573jbe 0x43d585
    0043d575mov rax, [rbp+48]
    0043d579mov rax, [rax+8]
    0043d57dmov ecx, edi
    0043d57fcmp [rax+4*rcx], 0
    0043d583je 0x43d56d
    0043d585
    0043d585loc_43d585:
    0043d585mov rax, [rbp+48]
    0043d589mov rax, [rax+8]
    0043d58dcmp edi, [rax]
    0043d58fjae 0x43d5bf
    0043d591mov rax, [rbp+48]
    0043d595lea rcx, [rax+8]
    0043d599mov rdx, [rip-7400]
    0043d5a0mov r8l, 1
    0043d5a6mov r9l, edi
    0043d5a9add r9l, 1
    0043d5admov r9l, r9l
    0043d5b0call fn_410430
    0043d5b5mov rax, [rbp+48]
    0043d5b9mov rax, [rax+8]
    0043d5bdmov [rax], edi
    0043d5bf
    0043d5bfloc_43d5bf:
    0043d5bfmov rax, [rbp+48]
    0043d5c3mov [rax], 1
    0043d5c6lea rcx, [rbp+80]
    0043d5cacall fn_43c700
    0043d5cflea rcx, [rip+298]
    0043d5d6lea rdx, [rbp+96]
    0043d5dacall fn_43c310
    0043d5dflea rcx, [rip+298]
    0043d5e6lea rdx, [rbp+112]
    0043d5eacall fn_43c310
    0043d5eftest bl, bl
    0043d5f1jne 0x43d678
    0043d5f7mov rcx, [rbp+56]
    0043d5fblea rdx, [rbp+96]
    0043d5ffcall fn_43c720
    0043d604cmp al, 2
    0043d607je 0x43d669
    0043d609mov rcx, [rbp+48]
    0043d60dlea rdx, [rbp+112]
    0043d611lea r8, [rbp+80]
    0043d615call fn_43c7b0
    0043d61amov rcx, [rbp+48]
    0043d61ecall fn_43c700
    0043d623lea rcx, [rbp+80]
    0043d627mov rdx, [rbp+48]
    0043d62bcall fn_43cc80
    0043d630lea rcx, [rbp+80]
    0043d634call fn_43c700
    0043d639mov rcx, [rbp+40]
    0043d63dmov rdx, [rbp+56]
    0043d641lea r8, [rbp+80]
    0043d645call fn_43cab0
    0043d64amov rcx, [rbp+56]
    0043d64ecall fn_43c700
    0043d653lea rcx, [rbp+80]
    0043d657mov rdx, [rbp+56]
    0043d65bcall fn_43cc80
    0043d660lea rcx, [rbp+80]
    0043d664call fn_43c700
    0043d669
    0043d669loc_43d669:
    0043d669cmp sil, 1
    0043d66djne 0x43d67f
    0043d66fmov rax, [rbp+48]
    0043d673mov [rax], 0
    0043d676jmp 0x43d67f
    0043d678
    0043d678loc_43d678:
    0043d678mov rax, [rbp+48]
    0043d67cmov [rax], sil
    0043d67f
    0043d67floc_43d67f:
    0043d67flea rcx, [rbp+112]
    0043d683call fn_43c700
    0043d688lea rcx, [rbp+96]
    0043d68ccall fn_43c700
    0043d691mov rax, [rbp+32]
    0043d695mov [rax], bl
    0043d697mov rax, [rbp+40]
    0043d69bmov [rax], sil
    0043d69enop
    0043d69flea rcx, [rbp+64]
    0043d6a3mov rdx, [rip-7586]
    0043d6aamov r8l, 4
    0043d6b0call fn_40ec40
    0043d6b5lea rsp, [rbp+136]
    0043d6bcpop rbx
    0043d6bdpop rsi
    0043d6bepop rdi
    0043d6bfpop r13
    0043d6c1pop r14
    0043d6c3pop rbp
    0043d6c4ret
    0043d290
    0043d6c5
    0043d6c5 48 8b c0 48 8d 04 05 00 00 00 00 H..H.......
    0043d6d0
    0043d6d0fn_43d6d0:
    0043d6d0push rbp
    0043d6d1sub rsp, 32
    0043d6d5mov rbp, rsp
    0043d6d8lea rcx, [rdx+64]
    0043d6dcmov rdx, [rip-7643]
    0043d6e3mov r8l, 4
    0043d6e9call fn_40ec40
    0043d6eelea rsp, [rbp+32]
    0043d6f2pop rbp
    0043d6f3ret
    0043d6d0
    0043d6f4
    0043d6f4 e3 04 01 00 ff ff ff ff 01 00 00 00 ............
    0043d700 30 00 00 00 e3 04 01 00 ff ff ff ff 01 00 00 00 0...............
    0043d710 31 00 cc cc cc cc cc cc cc cc cc cc cc cc cc cc 1...............
    0043d720
    0043d720fn_43d720:
    0043d720push rbp
    0043d721push rdi
    0043d722push rsi
    0043d723push rbx
    0043d724sub rsp, 136
    0043d72bmov rbp, rsp
    0043d72emov [rbp+40], rcx
    0043d732mov [rbp+48], rdx
    0043d736mov [rbp+56], r8
    0043d73alea rcx, [rbp+112]
    0043d73emov rdx, [rip-7741]
    0043d745call fn_40e160
    0043d74alea rcx, [rbp+96]
    0043d74emov rdx, [rip-7757]
    0043d755call fn_40e160
    0043d75alea rcx, [rbp+80]
    0043d75emov rdx, [rip-7773]
    0043d765call fn_40e160
    0043d76alea rcx, [rbp+64]
    0043d76emov rdx, [rip-7789]
    0043d775call fn_40e160
    0043d77anop
    0043d77bmov rax, [rbp+40]
    0043d77fmovzx rbx, [rax]
    0043d783mov rax, [rbp+48]
    0043d787movzx rsi, [rax]
    0043d78bmov rcx, [rbp+40]
    0043d78fcall fn_43cc70
    0043d794mov rcx, [rbp+48]
    0043d798call fn_43cc70
    0043d79dmov rcx, [rbp+40]
    0043d7a1mov rdx, [rbp+56]
    0043d7a5call fn_43cc80
    0043d7aamov rcx, [rbp+48]
    0043d7aelea rdx, [rbp+80]
    0043d7b2call fn_43cc80
    0043d7b7mov rcx, [rbp+40]
    0043d7bbmov rdx, [rbp+48]
    0043d7bfcall fn_43c720
    0043d7c4cmp al, 1
    0043d7c7je 0x43d93c
    0043d7cdmov rax, [rbp+40]
    0043d7d1mov rax, [rax+8]
    0043d7d5mov rcx, [rbp+48]
    0043d7d9mov rcx, [rcx+8]
    0043d7ddmov eax, [rax]
    0043d7dfsub eax, [rcx]
    0043d7e1mov ecx, 1
    0043d7e6mov edi, eax
    0043d7e8mov eax, ecx
    0043d7eacmp eax, edi
    0043d7ecja 0x43d803
    0043d7eesub edi, ecx
    0043d7f0add edi, 1
    0043d7f3
    0043d7f3loc_43d7f3:
    0043d7f3lea rcx, [rbp+80]
    0043d7f7call fn_43d210
    0043d7fcsub edi, 1
    0043d7fftest edi, edi
    0043d801jne 0x43d7f3
    0043d803
    0043d803loc_43d803:
    0043d803nop
    0043d804jmp 0x43d92a
    0043d809
    0043d809 e9 d9 00 00 00 .....
    0043d80e
    0043d80eloc_43d80e:
    0043d80emov rax, [rbp+56]
    0043d812mov rax, [rax+8]
    0043d816mov eax, [rax]
    0043d818mov rcx, [rbp+88]
    0043d81cmov ecx, [rcx]
    0043d81ecmp eax, ecx
    0043d820jbe 0x43d863
    0043d822mov rdx, [rbp+56]
    0043d826mov rdx, [rdx+8]
    0043d82amov r8l, eax
    0043d82dmov edi, [rdx+4*r8]
    0043d831shl rdi, 31
    0043d835mov rdx, [rbp+56]
    0043d839mov rdx, [rdx+8]
    0043d83dsub eax, 1
    0043d840mov eax, eax
    0043d842mov eax, [rdx+4*rax]
    0043d845add rdi, rax
    0043d848mov rax, [rbp+88]
    0043d84cmov ecx, ecx
    0043d84emov eax, [rax+4*rcx]
    0043d851add eax, 1
    0043d854mov ecx, eax
    0043d856mov rax, rdi
    0043d859cqo
    0043d85bidiv rcx
    0043d85emov rdi, rax
    0043d861jmp 0x43d886
    0043d863
    0043d863loc_43d863:
    0043d863mov rdx, [rbp+56]
    0043d867mov rdx, [rdx+8]
    0043d86bmov eax, eax
    0043d86dmov r8, [rbp+88]
    0043d871mov ecx, ecx
    0043d873mov ecx, [r8+4*rcx]
    0043d877add ecx, 1
    0043d87amov eax, [rdx+4*rax]
    0043d87dxor edx, edx
    0043d87fdiv ecx
    0043d881mov rdi, rax
    0043d884mov edi, edi
    0043d886
    0043d886loc_43d886:
    0043d886test rdi, rdi
    0043d889je 0x43d8da
    0043d88blea rcx, [rbp+80]
    0043d88flea rdx, [rbp+64]
    0043d893call fn_43cc80
    0043d898lea rcx, [rbp+64]
    0043d89cmov edx, edi
    0043d89ecall fn_43caf0
    0043d8a3mov rcx, [rbp+56]
    0043d8a7lea rdx, [rbp+64]
    0043d8abcall fn_43cd60
    0043d8b0mov rcx, [rbp+56]
    0043d8b4lea rdx, [rbp+64]
    0043d8b8call fn_43c720
    0043d8bdcmp al, 1
    0043d8c0je 0x43d8cf
    0043d8c2mov rcx, [rbp+56]
    0043d8c6lea rdx, [rbp+64]
    0043d8cacall fn_43cd60
    0043d8cf
    0043d8cfloc_43d8cf:
    0043d8cflea rcx, [rbp+64]
    0043d8d3call fn_43c700
    0043d8d8jmp 0x43d8e7
    0043d8da
    0043d8daloc_43d8da:
    0043d8damov rcx, [rbp+56]
    0043d8delea rdx, [rbp+80]
    0043d8e2call fn_43cd60
    0043d8e7
    0043d8e7loc_43d8e7:
    0043d8e7mov rcx, [rbp+56]
    0043d8eblea rdx, [rbp+80]
    0043d8efcall fn_43c720
    0043d8f4cmp al, 1
    0043d8f7jne 0x43d80e
    0043d8fdmov rax, [rbp+56]
    0043d901mov rax, [rax+8]
    0043d905mov rcx, [rbp+88]
    0043d909mov eax, [rax]
    0043d90bcmp eax, [rcx]
    0043d90dja 0x43d92a
    0043d90flea rcx, [rbp+80]
    0043d913mov rdx, [rbp+48]
    0043d917call fn_43c720
    0043d91ccmp al, 2
    0043d91fje 0x43d92a
    0043d921lea rcx, [rbp+80]
    0043d925call fn_43ccd0
    0043d92a
    0043d92aloc_43d92a:
    0043d92amov rcx, [rbp+56]
    0043d92emov rdx, [rbp+48]
    0043d932call fn_43c720
    0043d937cmp al, 1
    0043d93ajne 0x43d8e7
    0043d93c
    0043d93cloc_43d93c:
    0043d93clea rcx, [rbp+80]
    0043d940call fn_43c700
    0043d945lea rcx, [rip+212]
    0043d94clea rdx, [rbp+96]
    0043d950call fn_43c310
    0043d955lea rcx, [rip+212]
    0043d95clea rdx, [rbp+112]
    0043d960call fn_43c310
    0043d965test bl, bl
    0043d967jne 0x43d9ab
    0043d969mov rcx, [rbp+56]
    0043d96dlea rdx, [rbp+96]
    0043d971call fn_43c720
    0043d976cmp al, 2
    0043d979je 0x43d9ab
    0043d97bmov rcx, [rbp+48]
    0043d97fmov rdx, [rbp+56]
    0043d983lea r8, [rbp+80]
    0043d987call fn_43cab0
    0043d98cmov rcx, [rbp+56]
    0043d990call fn_43c700
    0043d995lea rcx, [rbp+80]
    0043d999mov rdx, [rbp+56]
    0043d99dcall fn_43cc80
    0043d9a2lea rcx, [rbp+80]
    0043d9a6call fn_43c700
    0043d9ab
    0043d9abloc_43d9ab:
    0043d9ablea rcx, [rbp+112]
    0043d9afcall fn_43c700
    0043d9b4lea rcx, [rbp+96]
    0043d9b8call fn_43c700
    0043d9bdmov rax, [rbp+40]
    0043d9c1mov [rax], bl
    0043d9c3mov rax, [rbp+48]
    0043d9c7mov [rax], sil
    0043d9canop
    0043d9cblea rcx, [rbp+64]
    0043d9cfmov rdx, [rip-8398]
    0043d9d6mov r8l, 4
    0043d9dccall fn_40ec40
    0043d9e1lea rsp, [rbp+136]
    0043d9e8pop rbx
    0043d9e9pop rsi
    0043d9eapop rdi
    0043d9ebpop rbp
    0043d9ecret
    0043d720
    0043d9ed
    0043d9ed 48 8b c0 H..
    0043d9f0
    0043d9f0fn_43d9f0:
    0043d9f0push rbp
    0043d9f1sub rsp, 32
    0043d9f5mov rbp, rsp
    0043d9f8lea rcx, [rdx+64]
    0043d9fcmov rdx, [rip-8443]
    0043da03mov r8l, 4
    0043da09call fn_40ec40
    0043da0elea rsp, [rbp+32]
    0043da12pop rbp
    0043da13ret
    0043d9f0
    0043da14
    0043da14 e3 04 01 00 ff ff ff ff 01 00 00 00 ............
    0043da20 30 00 00 00 e3 04 01 00 ff ff ff ff 01 00 00 00 0...............
    0043da30 31 00 cc cc cc cc cc cc cc cc cc cc cc cc cc cc 1...............
    0043da40
    0043da40fn_43da40:
    0043da40push rbp
    0043da41sub rsp, 80
    0043da45mov rbp, rsp
    0043da48mov [rbp+32], rcx
    0043da4cmov [rbp+40], rdx
    0043da50mov [rbp+48], r8
    0043da54mov [rbp+56], r9
    0043da58lea rcx, [rbp+64]
    0043da5cmov rdx, [rip-8539]
    0043da63call fn_40e160
    0043da68nop
    0043da69mov rcx, [rbp+32]
    0043da6dmov rdx, [rbp+40]
    0043da71lea r8, [rbp+64]
    0043da75call fn_43ce90
    0043da7alea rcx, [rbp+64]
    0043da7emov rdx, [rbp+48]
    0043da82mov r8, [rbp+56]
    0043da86call fn_43d720
    0043da8blea rcx, [rbp+64]
    0043da8fcall fn_43c700
    0043da94nop
    0043da95lea rcx, [rbp+64]
    0043da99mov rdx, [rip-8600]
    0043daa0call fn_40e630
    0043daa5lea rsp, [rbp+80]
    0043daa9pop rbp
    0043daaaret
    0043da40
    0043daab
    0043daab 48 8d 44 20 00 H.D .
    0043dab0
    0043dab0fn_43dab0:
    0043dab0push rbp
    0043dab1sub rsp, 32
    0043dab5mov rbp, rsp
    0043dab8lea rcx, [rdx+64]
    0043dabcmov rdx, [rip-8635]
    0043dac3call fn_40e630
    0043dac8lea rsp, [rbp+32]
    0043daccpop rbp
    0043dacdret
    0043dab0
    0043dace
    0043dace // align 0x10
    0043dad0
    0043dad0fn_43dad0:
    0043dad0push r13
    0043dad2push rdi
    0043dad3push rsi
    0043dad4push rbx
    0043dad5sub rsp, 40
    0043dad9mov rbx, rdx
    0043dadcmov esi, r8l
    0043dadfmov edi, r9l
    0043dae2mov [rsp+80], rcx
    0043dae7mov rax, [rsp+80]
    0043daecmov rax, [rax+8]
    0043daf0cmp esi, [rax]
    0043daf2ja 0x43dba6
    0043daf8lea rcx, [rbx+8]
    0043dafcmov rdx, [rip-8779]
    0043db03mov r8l, 1
    0043db09mov r9l, esi
    0043db0cadd r9l, 1
    0043db10mov r9l, r9l
    0043db13call fn_410430
    0043db18xor eax, eax
    0043db1amov ecx, esi
    0043db1cmov r13l, eax
    0043db1fcmp r13l, ecx
    0043db22ja 0x43db4c
    0043db24sub ecx, eax
    0043db26add ecx, 1
    0043db29
    0043db29loc_43db29:
    0043db29mov eax, r13l
    0043db2cmov rdx, [rbx+8]
    0043db30mov r8, [rsp+80]
    0043db35mov r8, [r8+8]
    0043db39mov r8l, [r8+4*rax]
    0043db3dmov [rdx+4*rax], r8l
    0043db41add r13l, 1
    0043db45sub ecx, 1
    0043db48test ecx, ecx
    0043db4ajne 0x43db29
    0043db4c
    0043db4cloc_43db4c:
    0043db4cnop
    0043db4dmov rax, [rbx+8]
    0043db51mov ecx, esi
    0043db53lea rax, [rax+4*rcx]
    0043db57and [rax], edi
    0043db59mov r13l, esi
    0043db5cjmp 0x43db62
    0043db5e
    0043db5eloc_43db5e:
    0043db5esub r13l, 1
    0043db62
    0043db62loc_43db62:
    0043db62mov rax, [rbx+8]
    0043db66mov ecx, r13l
    0043db69cmp [rax+4*rcx], 0
    0043db6djne 0x43db75
    0043db6fcmp r13l, 1
    0043db73ja 0x43db5e
    0043db75
    0043db75loc_43db75:
    0043db75cmp r13l, esi
    0043db78jae 0x43db9a
    0043db7alea rcx, [rbx+8]
    0043db7emov rdx, [rip-8909]
    0043db85mov r8l, 1
    0043db8bmov r9l, r13l
    0043db8eadd r9l, 1
    0043db92mov r9l, r9l
    0043db95call fn_410430
    0043db9a
    0043db9aloc_43db9a:
    0043db9amov rax, [rbx+8]
    0043db9emov [rax], r13l
    0043dba1mov [rbx], 1
    0043dba4jmp 0x43dbb3
    0043dba6
    0043dba6loc_43dba6:
    0043dba6mov rcx, [rsp+80]
    0043dbabmov rdx, rbx
    0043dbaecall fn_43cc80
    0043dbb3
    0043dbb3loc_43dbb3:
    0043dbb3add rsp, 40
    0043dbb7pop rbx
    0043dbb8pop rsi
    0043dbb9pop rdi
    0043dbbapop r13
    0043dbbcret
    0043dad0