Function at 0x43a900
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc4
push ebp
mov ebp, dword [esp + 0xcc]
push esi
mov esi, dword [esp + 0xd4]
test esi, esi
push edi
mov edi, dword [ebp]
mov eax, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edi
je 0x43b61e
cmp byte [edi + 0x1e], 0
jne 0x43b61e
cmp dword [ebp + 0x40], 0
jne 0x43b61e
push 0x2c
lea eax, [esp + 0x6c]
push 0
push eax
call fcn.0045c6f6
mov ecx, dword [esp + 0xe8]
add esp, 0xc
cmp byte [ecx], 4
ja 0x43a979
mov edx, dword [esi + 0x18]
push edx
call fcn.00410ab0
add esp, 4
and word [esi + 6], 0xfffe
mov dword [esi + 0x18], 0
push ebx
push 0
push esi
push ebp
call fcn.0043a7e0
mov ebx, dword [esi + 0x18]
mov eax, dword [esi + 8]
mov ecx, dword [esi]
add esp, 0xc
cmp dword [ebp + 0x40], 0
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], ecx
jne 0x43b5f9
mov edx, edi
cmp byte [edx + 0x1e], 0
jne 0x43b5f9
movzx eax, byte [esi + 6]
shr eax, 2
and eax, 1
mov edi, ebp
mov dword [esp + 0x2c], eax
call fcn.004144d0
test eax, eax
mov dword [esp + 0x10], eax
je 0x43b5f9
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov eax, dword [esp + 0xe0]
push edx
call fcn.0041ba10
add esp, 4
test eax, eax
jne 0x43b5f9
cmp dword [esi + 0x1c], eax
mov dword [esp + 0x18], eax
jne 0x43ab00
lea esp, [esp]
mov eax, dword [esp + 0x28]
movsx ecx, word [eax]
cmp dword [esp + 0x18], ecx
jge 0x43ab00
mov eax, dword [esp + 0x18]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [esp + 0x28]
mov edi, dword [eax + edx*8 + 0x18]
test edi, edi
lea ebx, [eax + edx*8 + 8]
je 0x43aaed
cmp byte [ebx + 0x14], 0
jne 0x43aaed
mov eax, esi
call fcn.00410b90
add dword [ebp + 0x218], eax
movzx eax, byte [edi + 6]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
shr eax, 2
and eax, 1
push eax
push ecx
push edx
mov dword [esp + 0x48], eax
push ebp
mov eax, esi
call fcn.0041ae70
add esp, 0x10
test eax, eax
je 0x43aa8f
cmp dword [esp + 0x3c], 0
je 0x43aa85
or word [esi + 6], 4
mov dword [esp + 0x2c], 1
mov dword [esp + 0x18], 0xffffffff
jmp 0x43aab8
mov edx, dword [ebx + 0x18]
push 9
lea eax, [esp + 0xc8]
call fcn.00408aa0
push eax
push edi
push ebp
call fcn.0043a900
mov ecx, dword [ebx + 0xc]
mov byte [ebx + 0x14], 1
mov edx, dword [edi + 0x48]
add esp, 0x10
mov dword [ecx + 0x18], edx
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x1e], 0
jne 0x43b5f9
mov eax, esi
call fcn.00410b90
sub dword [ebp + 0x218], eax
mov edx, dword [esp + 0xe0]
cmp byte [edx], 4
mov ecx, dword [esi + 8]
mov dword [esp + 0x28], ecx
jbe 0x43aaed
mov eax, dword [esi + 0x18]
mov dword [esp + 0x1c], eax
add dword [esp + 0x18], 1
cmp dword [esi + 0x1c], 0
mov ebx, dword [esp + 0x1c]
je 0x43aa00
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi]
mov dword [esp + 0x14], edx
mov dl, byte [esi + 6]
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x14]
and dl, 5
cmp dl, 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x5c], ecx
jne 0x43ab43
push 0
push eax
mov eax, dword [esp + 0x28]
push eax
call fcn.00414ab0
add esp, 0xc
and word [esi + 6], 0xfffe
mov dword [esi + 0x10], eax
mov dword [esp + 0x14], eax
mov edi, dword [esi + 0x10]
push ebx
call fcn.00409000
add esp, 4
test eax, eax
jne 0x43abfa
mov ecx, dword [esp + 0x20]
test byte [ecx + 0xc], 0x20
jne 0x43abfa
mov dword [esp + 0x1c], eax
or ebx, 0xffffffff
mov ecx, dword [esp + 0xe0]
cmp byte [ecx], 9
jne 0x43ab93
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov ecx, dword [ecx + 4]
push eax
mov eax, dword [edx]
mov edx, 0x29
call fcn.004189e0
add esp, 4
mov eax, dword [esp + 0x10]
call fcn.004176a0
push eax
mov dword [esp + 0x9c], eax
or edi, 0xffffffff
push esi
mov eax, ebp
mov dword [esi + 0x48], edi
mov dword [esi + 0x4c], 0x7fffffff
call fcn.0041b3b0
add esp, 8
test byte [esi + 6], 1
je 0x43ac38
mov edi, dword [ebp + 0x44]
lea eax, [edi + 1]
mov dword [ebp + 0x44], eax
mov ecx, dword [esi]
push ecx
push ebp
mov dword [esp + 0x44], edi
call fcn.0041eef0
push 0xfffffffffffffff0
push eax
mov edx, edi
mov edi, dword [esp + 0x20]
push 0x29
xor eax, eax
xor ecx, ecx
call fcn.004189b0
add esp, 0x14
mov dl, 0x10
mov eax, edi
call fcn.00409c40
jmp 0x43ac3c
test ebx, ebx
je 0x43ab69
push ebx
push ebp
call fcn.0041eef0
mov edx, dword [ebp + 0x44]
mov edi, dword [esp + 0x18]
mov dword [ebx + 8], edx
add dword [ebp + 0x44], 1
mov ecx, dword [ebx]
mov edx, dword [ebx + 8]
push 0xfffffffffffffff0
push eax
add ecx, 2
push 0x29
xor eax, eax
call fcn.004189b0
mov ebx, eax
add esp, 0x14
mov dword [esi + 0x40], ebx
jmp 0x43ab6c
mov dword [esp + 0x3c], edi
xor edi, edi
cmp dword [esp + 0x2c], edi
jne 0x43ace2
mov edx, dword [esp + 0x14]
cmp edx, edi
jne 0x43acec
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
push edi
lea edx, [esp + 0x20]
push edx
push eax
push ecx
push ebp
call fcn.00431f30
mov edi, eax
add esp, 0x14
test edi, edi
je 0x43b5f9
mov eax, dword [edi + 0x2c]
cmp eax, dword [esi + 0x4c]
mov ecx, dword [edi + 0x28]
jg 0x43ac8f
jl 0x43ac89
cmp ecx, dword [esi + 0x48]
jae 0x43ac8f
mov dword [esi + 0x48], ecx
mov dword [esi + 0x4c], eax
test ebx, ebx
jl 0x43acb1
cmp dword [esp + 0x1c], 0
jne 0x43acb1
mov edx, dword [esp + 0x10]
mov eax, 1
mov ecx, ebx
call fcn.004174b0
mov dword [esi + 0x40], 0xffffffff
mov edx, dword [edi + 0x14]
mov eax, dword [edi + 0x10]
mov ebx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x34]
push eax
push ebx
push 0xffffffffffffffff
push ecx
push edx
push esi
push ebp
call fcn.0041efa0
push edi
call fcn.004190b0
add esp, 0x24
jmp 0x43b5ab
cmp dword [esp + 0x14], edi
je 0x43ad43
mov edx, dword [esp + 0x14]
mov ecx, dword [esi]
mov eax, dword [ecx]
cmp eax, edi
mov ecx, dword [ecx + 0xc]
jle 0x43ad0d
add ecx, 0x10
lea ebx, [ebx]
mov word [ecx], di
sub eax, 1
add ecx, 0x14
cmp eax, edi
jg 0x43ad00
mov eax, dword [edx]
cmp eax, edi
mov ecx, dword [edx + 0xc]
jle 0x43ad2d
add ecx, 0x10
lea esp, [esp]
mov word [ecx], di
sub eax, 1
add ecx, 0x14
cmp eax, edi
jg 0x43ad20
cmp dword [esi + 0x4c], edi
jl 0x43ad4d
mov eax, 0x64
jg 0x43ad3e
cmp dword [esi + 0x48], eax
jbe 0x43ad4d
mov dword [esi + 0x48], eax
jmp 0x43ad4a
mov dword [esi + 0x48], 1
mov dword [esi + 0x4c], edi
mov eax, dword [esp + 0x10]
call fcn.004176a0
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x14]
cmp eax, edi
lea ecx, [esp + 0x6c]
mov dword [esp + 0xa0], ebp
mov dword [esp + 0xbc], ecx
je 0x43adcb
mov edx, dword [eax]
add edx, 1
mov dword [esp + 0x78], edx
jmp 0x43adcf
mov dword [esp + 0x78], edi
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x30]
lea ecx, [esp + 0xa0]
push ecx
mov dword [esp + 0x78], eax
call fcn.00419ed0
mov ebx, dword [esp + 0x20]
lea edx, [esp + 0xa4]
push edx
call fcn.00419ed0
mov ecx, dword [esp + 0x64]
add esp, 8
test ecx, ecx
je 0x43ae10
lea eax, [esp + 0xa0]
call fcn.00418720
cmp dword [esp + 0x90], 0
mov eax, dword [esp + 0x80]
mov dword [esp + 0x88], eax
mov dword [esp + 0x18], 0
jle 0x43ae66
xor edi, edi
mov ecx, dword [esp + 0x8c]
mov edx, dword [edi + ecx]
mov ebx, dword [edx + 0x10]
lea eax, [esp + 0xa0]
push eax
call fcn.00419ed0
mov eax, dword [esp + 0x1c]
add eax, 1
add esp, 4
add edi, 0x10
cmp eax, dword [esp + 0x90]
mov dword [esp + 0x18], eax
jl 0x43ae32
mov ecx, dword [esp + 0x20]
cmp byte [ecx + 0x1e], 0
jne 0x43b5f9
xor ebx, ebx
cmp dword [esp + 0x14], ebx
je 0x43b382
mov eax, dword [ebp + 0x44]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x70], eax
push edx
add eax, 1
push ebp
mov dword [ebp + 0x44], eax
call fcn.0041eef0
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x18]
push 0xfffffffffffffff0
push eax
mov dword [esp + 0xac], eax
push 0x29
xor eax, eax
call fcn.004189b0
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0x48]
add eax, 1
lea ebx, [eax + 1]
mov dword [esp + 0x7c], eax
lea eax, [ebx + 1]
mov dword [ebp + 0x48], eax
mov eax, edi
mov dword [esp + 0x6c], ebx
call fcn.004176a0
add dword [ebp + 0x48], 1
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x54], eax
mov eax, edi
call fcn.004176a0
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x48]
lea ecx, [eax + 1]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add eax, edx
mov dword [ebp + 0x48], eax
mov ecx, dword [ecx]
add ecx, eax
lea edx, [eax + 1]
mov dword [ebp + 0x48], ecx
xor ecx, ecx
mov dword [esp + 0x40], edx
push edi
mov eax, ebx
lea edx, [ecx + 7]
call fcn.004189e0
mov eax, dword [esp + 0x80]
xor ecx, ecx
push edi
lea edx, [ecx + 7]
call fcn.004189e0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
push edi
mov edx, 2
call fcn.004189e0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x48]
push 0
lea edx, [esp + 0x38]
push edx
push eax
push ecx
push ebp
call fcn.00431f30
add esp, 0x34
test eax, eax
mov dword [esp + 0x50], eax
je 0x43b5f9
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x43af89
mov edx, dword [esi + 0x10]
mov dword [esp + 0x14], edx
mov dword [esp + 0x34], eax
jmp 0x43b102
mov eax, dword [eax]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x48], eax
add eax, 1
test edx, edx
mov dword [esp + 0x34], 1
mov dword [esp + 0x18], eax
mov esi, eax
mov dword [esp + 0x24], eax
jle 0x43afcc
mov ecx, dword [esp + 0x7c]
add ecx, 0xc
cmp dword [ecx], eax
jl 0x43afc0
add esi, 1
add eax, 1
add ecx, 0x18
sub edx, 1
jne 0x43afb6
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x24]
mov ecx, ebp
call fcn.00408f70
mov edi, eax
mov eax, ebp
call fcn.0040cc80
mov eax, dword [esp + 0x14]
push 0
mov ecx, edi
mov ebx, ebp
call fcn.00419f00
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x78]
add eax, edi
mov edx, 0x35
call fcn.004189e0
mov edx, dword [esp + 0x20]
xor esi, esi
add esp, 8
cmp dword [esp + 0x80], esi
mov dword [esp + 0x48], edx
mov dword [esp + 0x18], esi
jle 0x43b08e
mov eax, edx
lea ebx, [edi + eax]
mov eax, dword [esp + 0x7c]
jmp 0x43b030
mov ecx, dword [esp + 0x48]
cmp dword [esi + eax + 0xc], ecx
jl 0x43b077
mov edx, dword [esi + eax + 4]
mov ecx, dword [esi + eax]
mov eax, dword [esi + eax + 8]
push ebx
push edx
push ecx
push ebp
call fcn.004278b0
mov ecx, eax
add esp, 0x10
cmp ebx, ecx
je 0x43b06b
mov edx, dword [esp + 0x10]
push edx
mov eax, ebx
mov edx, 0xf
call fcn.004189e0
add esp, 4
add dword [esp + 0x48], 1
mov eax, dword [esp + 0x7c]
add ebx, 1
mov ecx, dword [esp + 0x18]
add ecx, 1
add esi, 0x18
cmp ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
jl 0x43b030
mov eax, ebp
call fcn.00408fe0
mov ebx, dword [esp + 0x10]
mov esi, eax
mov eax, dword [esp + 0x24]
push esi
push eax
push edi
push 0x1e
mov eax, ebx
call fcn.00417700
mov ecx, dword [esp + 0x80]
push ebx
mov eax, esi
mov edx, 0x46
call fcn.004189e0
mov edx, ebp
call fcn.00408fa0
mov esi, dword [esp + 0x38]
mov ecx, edi
mov eax, ebp
call fcn.0040f1a0
mov ecx, dword [esp + 0x64]
push ecx
call fcn.004190b0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x88]
push ebx
mov edx, 0x40
call fcn.004189e0
add esp, 0x1c
mov eax, ebp
mov byte [esp + 0x6d], 1
call fcn.0040cc80
mov eax, dword [esp + 0x10]
call fcn.00409c90
mov dword [esp + 0x24], eax
mov eax, ebp
call fcn.0040cc80
mov edx, dword [esp + 0x14]
xor edi, edi
cmp dword [edx], edi
jle 0x43b16e
xor ebx, ebx
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x2c]
je 0x43b147
mov edx, dword [esp + 0x70]
lea ecx, [edi + eax]
mov eax, dword [esp + 0x10]
push ecx
push edi
push edx
push 0x1c
call fcn.00417700
add esp, 0x10
jmp 0x43b160
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x6c], 1
mov edx, dword [ecx + 0xc]
mov ecx, dword [edx + ebx]
lea esi, [edi + eax]
mov eax, ebp
call fcn.00419f60
mov eax, dword [esp + 0x14]
add edi, 1
add ebx, 0x14
cmp edi, dword [eax]
jl 0x43b122
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x64]
mov eax, dword [ebx]
mov edi, dword [esp + 0x10]
push 0xfffffffffffffffa
push ecx
mov ecx, dword [esp + 0x34]
push 0x18
mov edx, esi
call fcn.004189b0
mov eax, edi
call fcn.00409c90
mov dword [esp + 0x70], eax
add eax, 1
push eax
push 0
push eax
push 0x19
mov eax, edi
call fcn.00417700
mov edx, dword [ebx]
mov ebx, esi
mov esi, dword [esp + 0x48]
push edx
mov edi, ebp
call fcn.00418750
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x80]
push esi
add ecx, 1
mov edx, 2
call fcn.004189e0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x7c]
push esi
mov edx, 0x71
call fcn.004189e0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
push esi
mov edx, 2
call fcn.004189e0
mov eax, dword [esp + 0x90]
mov ecx, esi
call fcn.0040d100
lea eax, [esp + 0x98]
push eax
mov eax, ebp
call fcn.0041eab0
mov eax, dword [esp + 0x98]
mov ecx, 1
push esi
lea edx, [ecx + 6]
call fcn.004189e0
add esp, 0x34
cmp dword [esp + 0x34], 0
je 0x43b255
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x70]
push esi
mov edx, 0x43
call fcn.004189e0
add esp, 4
jmp 0x43b278
mov ecx, dword [esp + 0x50]
push ecx
call fcn.004190b0
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x14]
add esp, 4
mov eax, 1
call fcn.004174b0
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
lea ebx, [edi + 1]
push esi
mov ecx, ebx
mov edx, 2
call fcn.004189e0
mov eax, dword [esp + 0x50]
xor ecx, ecx
push esi
lea edx, [ecx + 1]
call fcn.004189e0
mov eax, esi
call fcn.00409c90
mov ecx, 1
mov dword [esp + 0x5c], eax
push esi
mov eax, edi
lea edx, [ecx + 6]
call fcn.004189e0
push esi
mov eax, ebx
mov ecx, 3
call fcn.00418a00
mov edx, dword [esp + 0x70]
mov ecx, esi
call fcn.00409cb0
mov eax, esi
call fcn.00409c90
mov ecx, dword [esp + 0x78]
mov edi, eax
lea eax, [edi + 2]
push esi
mov edx, 0x71
call fcn.004189e0
push esi
mov eax, ebx
mov ecx, 3
call fcn.00418a00
lea edx, [esp + 0x84]
push edx
mov eax, ebp
call fcn.00419450
mov eax, dword [esp + 0x78]
push 8
add edi, 1
push edi
push eax
push ebp
call fcn.0042f970
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x10c]
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x4c]
push edi
push edx
push eax
mov eax, dword [esp + 0x118]
mov edx, dword [eax]
push ecx
push edx
push eax
push ebp
call fcn.0041efa0
add esp, 0x4c
push esi
mov eax, ebx
mov ecx, 3
call fcn.00418a00
mov edx, dword [esp + 0x48]
mov ecx, esi
call fcn.00409cb0
push ebp
lea ebx, [esp + 0x74]
call fcn.004216c0
mov eax, dword [esp + 0x48]
push esi
mov ecx, 3
call fcn.00418a00
add esp, 0xc
jmp 0x43b592
lea edx, [esp + 0x6c]
mov eax, esi
mov dword [esp + 0x44], ebx
call fcn.00408970
mov edi, eax
cmp edi, ebx
je 0x43b464
mov esi, dword [edi + 0x40]
mov ecx, dword [ebp]
call fcn.00408ac0
mov esi, eax
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x54], eax
add eax, 1
mov dword [ebp + 0x44], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x50], eax
xor ebx, ebx
mov eax, ebp
mov dword [esp + 0x3c], ebx
call fcn.0042e400
mov eax, dword [edi + 0x10]
test eax, eax
je 0x43b406
test ebx, ebx
je 0x43b3dc
mov ecx, dword [eax + 4]
cmp ecx, dword [ebx + 4]
jge 0x43b3de
mov ebx, eax
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x43b3d0
test ebx, ebx
je 0x43b406
mov edx, dword [ebx + 4]
cmp edx, dword [edi + 8]
jge 0x43b406
mov eax, dword [ebx + 0x14]
push ebx
push ebp
mov dword [esp + 0x58], eax
call fcn.0041f630
add esp, 8
mov edi, eax
jmp 0x43b40a
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
push esi
mov esi, dword [esp + 0x14]
push ecx
push ebx
push 0x26
mov eax, esi
call fcn.00417700
add esp, 0x10
test edi, edi
je 0x43b43b
push edi
push esi
mov ecx, 0xfffffff0
or eax, 0xffffffff
call fcn.00417360
add esp, 8
mov edx, dword [esp + 0x8c]
mov eax, dword [edx + 8]
push esi
mov ecx, ebx
mov edx, 0x1f
call fcn.004189e0
push esi
mov eax, ebx
mov ecx, 0x2b
call fcn.00418a00
jmp 0x43b541
mov eax, esi
mov dword [esp + 0x40], ebx
call fcn.0040c2d0
mov bl, al
test bl, bl
mov byte [esp + 0x3b], bl
je 0x43b4b9
mov eax, dword [esi]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov esi, dword [esp + 0x20]
push 0
push eax
push esi
call fcn.00414ab0
add esp, 0xc
test eax, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
je 0x43b4b9
cmp byte [esi + 0x1e], 0
jne 0x43b4b9
mov edx, dword [eax + 0xc]
cmp bl, 1
setne cl
mov byte [edx + 0xc], cl
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov byte [ecx], 0x98
push ebp
lea ebx, [esp + 0x70]
call fcn.004216c0
mov bl, byte [esp + 0x3f]
mov ecx, dword [esp + 0x38]
movzx dx, bl
lea eax, [esp + 0x44]
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
push edx
push ebp
call fcn.00431f30
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x43b500
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x20]
push eax
call fcn.00410ab0
add esp, 4
jmp 0x43b5f9
lea ecx, [esp + 0x6c]
push ecx
mov eax, ebp
call fcn.0041eab0
add esp, 4
cmp dword [esp + 0x40], 0
jne 0x43b52f
test bl, bl
je 0x43b52f
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x14]
xor ecx, ecx
push edx
lea edx, [ecx + 1]
call fcn.004189e0
add esp, 4
push esi
call fcn.004190b0
lea eax, [esp + 0x70]
push eax
mov eax, ebp
call fcn.00419450
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x64]
add esp, 8
push 8
push esi
push ecx
push ebp
mov dword [esp + 0x2c], 0
call fcn.0042f970
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xec]
mov ecx, dword [eax]
push esi
push esi
push edx
push 0xffffffffffffffff
push 0
push ecx
push eax
push ebp
call fcn.0041efa0
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x50]
push edx
call fcn.00410ab0
mov esi, dword [esp + 0x44]
add esp, 0x34
mov edx, dword [esp + 0x4c]
mov ecx, esi
call fcn.00409cb0
mov esi, dword [esp + 0xdc]
mov ebx, dword [esp + 0xe0]
cmp dword [esp + 0x1c], 0
je 0x43b5c9
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
mov edx, dword [esp + 0x10]
push ebx
push ecx
push edx
push esi
push ebp
call fcn.0041b770
add esp, 0x14
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x10]
call fcn.00409cb0
cmp byte [ebx], 5
mov dword [esp + 0x24], 0
jne 0x43b5f9
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
push eax
push ecx
push ebp
call fcn.0041ed50
add esp, 0xc
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x20]
push edx
push esi
call fcn.00410460
mov eax, dword [esp + 0x94]
push eax
push esi
call fcn.00410460
mov eax, dword [esp + 0x34]
add esp, 0x10
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xc4
ret