Function at 0x43df00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc
mov eax, dword [esp + 0x20]
push ebx
mov ebx, dword [esp + 0x14]
push ebp
push esi
mov esi, dword [esp + 0x24]
xor ebp, ebp
push edi
mov edi, dword [esp + 0x24]
mov dword [esp + 0x18], ebp
mov byte [esp + 0x13], 0
mov byte [eax], 0
mov eax, dword [ebx + 0x248]
test eax, eax
jne 0x43df34
mov eax, 0x4000
mov ecx, dword [esi]
cmp ecx, 0xffffffff
je 0x43df4a
cmp byte [esi + 0x30], 0
jne 0x43df4a
sub ecx, dword [esi + 0x10]
cmp ecx, eax
jge 0x43df4a
mov eax, ecx
test eax, eax
je 0x43df7f
lea ecx, [esp + 0x14]
push ecx
push eax
push dword [esi + 0x7c]
push dword [edi + 0x268]
push edi
call fcn.00430950
mov ebp, eax
add esp, 0x14
cmp ebp, 0x51
je 0x43e535
test ebp, ebp
jg 0x43e3c8
mov ecx, dword [esp + 0x14]
jmp 0x43df85
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [esi + 0x10], 0
jne 0x43dfb1
cmp dword [esi + 0x14], 0
jne 0x43dfb1
push 7
push ebx
call fcn.0043ea10
add esp, 8
cmp dword [esi + 0x68], 0
jle 0x43dfad
call fcn.00435b40
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], edx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
or dword [eax], 1
test ecx, ecx
jne 0x43dfc6
cmp dword [esi + 0x78], ecx
jne 0x43dfc6
lea eax, [ecx + 1]
jmp 0x43dfc8
xor eax, eax
test eax, eax
setne al
mov byte [esp + 0x20], al
test ecx, ecx
jg 0x43dfdd
test al, al
je 0x43e3d2
mov eax, dword [esi + 0x7c]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x44], eax
mov eax, dword [edi + 0x25c]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x43e01c
lea ecx, [esp + 0x13]
push ecx
lea ecx, [esp + 0x18]
push ecx
push edi
push ebx
call eax
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x43e3c8
cmp byte [esp + 0x13], al
jne 0x43e535
cmp byte [esi + 0x30], 0
je 0x43e08d
lea eax, [esp + 0x28]
mov byte [esp + 0x28], 0
push eax
lea eax, [esp + 0x18]
push eax
push edi
push ebx
call fcn.00437f50
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x43e3c8
mov eax, dword [edi + 0x25c]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x43e082
cmp dword [esi + 8], ebp
jg 0x43e082
cmp dword [esp + 0x14], ebp
jle 0x43e082
lea ecx, [esp + 0x13]
push ecx
lea ecx, [esp + 0x18]
push ecx
push edi
push ebx
call eax
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x43e3c8
cmp byte [esp + 0x13], al
jne 0x43e535
cmp byte [esp + 0x28], 0
jne 0x43e3de
cmp dword [esi + 0x44], 0
mov cl, byte [esp + 0x20]
je 0x43e374
cmp byte [esi + 0x30], 0
jne 0x43e374
cmp dword [esp + 0x14], 0
jg 0x43e0b4
test cl, cl
je 0x43e374
cmp dword [esi + 0x78], 0
jne 0x43e14a
test cl, cl
jne 0x43e14a
mov eax, dword [edi + 0x25c]
test dword [eax + 0x3c], 0x40003
je 0x43e14a
cmp dword [ebx + 0xe0], 0
je 0x43e0ff
cmp byte [edi + 0x230], cl
jne 0x43e45a
push 0x459cd8
push ebx
mov byte [esi + 0x8d], 1
call fcn.00430890
add esp, 8
cmp dword [ebx + 0x85f4], 0
je 0x43e124
cmp byte [esi + 0x54], 0
jne 0x43e124
cmp dword [ebx + 0x200], 1
jne 0x43e124
cmp byte [esi + 0x8d], 0
je 0x43e43b
cmp dword [ebx + 0x1f8], 0
je 0x43e14a
cmp dword [ebx + 0x85f0], 0
jne 0x43e14a
push dword [esi + 0x74]
push ebx
call fcn.0043d410
add esp, 8
test al, al
je 0x43e48d
inc dword [esi + 0x78]
cmp byte [ebx + 0x284], 0
je 0x43e18a
cmp dword [esi + 0x34], 0
push edi
je 0x43e178
push dword [esi + 0x40]
push dword [ebx + 0x4bc]
push 3
push ebx
call fcn.004306f0
add esp, 0x14
cmp dword [esi + 0x34], 1
jne 0x43e18a
push edi
push dword [esp + 0x18]
push dword [esi + 0x44]
push 3
push ebx
call fcn.004306f0
add esp, 0x14
cmp byte [esi + 0xa0], 0
je 0x43e209
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x18]
push dword [esi + 0x44]
push edi
call fcn.004481c0
add esp, 0x10
test eax, eax
jg 0x43e4bd
cmp eax, 0xffffffff
jne 0x43e209
and dword [esi + 0x88], 0xfffffffe
mov eax, dword [edi + 0x24]
mov dword [esp + 0x28], eax
test eax, eax
je 0x43e209
push eax
push 0x459dac
push dword [edi]
call fcn.00430890
mov eax, dword [edi]
push dword [eax + 0x40]
call fcn.00431140
add esp, 0x10
test al, al
je 0x43e209
push dword [esp + 0x28]
push 0x459dd4
push dword [edi]
call fcn.00430890
mov eax, dword [esp + 0x34]
add esp, 0xc
sub dword [edi + 0x2dc], eax
mov byte [edi + 0x245], 1
cmp dword [esi + 0x34], 0
je 0x43e21e
cmp byte [esi + 0x8d], 0
jne 0x43e21e
mov eax, dword [esi + 0x40]
add dword [esi + 0x10], eax
mov ecx, dword [esi + 8]
cmp ecx, 0xffffffff
je 0x43e2d0
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0x10]
add eax, edx
cmp eax, ecx
jl 0x43e2d0
mov eax, edx
sub eax, ecx
add eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
je 0x43e2b4
cmp byte [esi + 0x8d], 0
jne 0x43e2b4
mov eax, dword [edi]
push dword [eax + 0x40]
call fcn.00431140
add esp, 4
test al, al
je 0x43e29a
push dword [esp + 0x14]
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esi]
push dword [ebx + 0x85e8]
push dword [esp + 0x2c]
push 0x459df0
push ebx
call fcn.00430890
mov eax, dword [esp + 0x38]
add esp, 0x20
sub dword [edi + 0x2dc], eax
mov byte [edi + 0x245], 1
jmp 0x43e2b4
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esi]
push dword [esp + 0x24]
push 0x459e60
push ebx
call fcn.00430890
add esp, 0x18
mov ecx, dword [esi + 8]
mov eax, 0
sub ecx, dword [esi + 0x10]
sets al
dec eax
and eax, ecx
and dword [esi + 0x88], 0xfffffffe
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add dword [esi + 0x10], eax
push dword [esi + 0x10]
push ebx
call fcn.0043e960
add esp, 8
cmp byte [esi + 0xa0], 0
jne 0x43e370
cmp dword [esp + 0x14], 0
jne 0x43e305
cmp dword [esi + 0x34], 0
jne 0x43e30b
mov cl, byte [esp + 0x20]
test cl, cl
je 0x43e374
cmp dword [esi + 0x34], 0
je 0x43e342
cmp byte [esi + 0x8d], 0
jne 0x43e342
mov eax, dword [esi + 8]
cmp eax, 0xffffffff
je 0x43e324
cmp dword [esi + 0x40], eax
jle 0x43e324
push eax
jmp 0x43e327
push dword [esi + 0x40]
push dword [ebx + 0x4bc]
push 1
push edi
call fcn.004306c0
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x43e3c8
cmp dword [esi + 0x34], 2
jge 0x43e365
cmp byte [esi + 0x8d], 0
jne 0x43e365
push dword [esp + 0x14]
push dword [esi + 0x44]
push 1
push edi
call fcn.004306c0
add esp, 0x10
mov ebp, eax
mov dword [esi + 0x34], 0
test ebp, ebp
jne 0x43e3c8
mov cl, byte [esp + 0x20]
mov eax, dword [edi + 0x25c]
cmp dword [eax + 0x34], 0
je 0x43e395
mov edx, dword [esp + 0x18]
test edx, edx
je 0x43e395
cmp byte [edi + 0x245], 0
je 0x43e4ff
test cl, cl
je 0x43e3a0
and dword [esi + 0x88], 0xfffffffe
mov eax, dword [edi + 0x25c]
test byte [eax + 0x3c], 0x30
jne 0x43df25
push 0
push edi
call fcn.0042ff00
add esp, 8
test al, al
jne 0x43df25
jmp 0x43e535
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0xc
ret
and dword [esi + 0x88], 0xfffffffe
jmp 0x43e535
cmp dword [esp + 0x14], 0
jle 0x43e535
mov eax, dword [edi]
push dword [eax + 0x40]
call fcn.00431140
add esp, 4
push dword [ebx + 0x85e8]
push dword [esp + 0x18]
test al, al
je 0x43e428
push 0x459c44
push ebx
call fcn.00430890
mov eax, dword [esp + 0x24]
add esp, 0x10
sub dword [edi + 0x2dc], eax
mov byte [edi + 0x245], 1
jmp 0x43e535
push 0x459c88
push ebx
call fcn.00430890
add esp, 0x10
jmp 0x43e535
mov eax, dword [esi]
cmp eax, dword [ebx + 0x85f4]
jne 0x43e472
push 0x459cf4
push ebx
call fcn.00430890
add esp, 8
mov byte [edi + 0x230], 1
and dword [esi + 0x88], 0xfffffffe
mov eax, dword [esp + 0x30]
pop edi
pop esi
pop ebp
mov byte [eax], 1
xor eax, eax
pop ebx
add esp, 0xc
ret
push 0x459d20
push ebx
call fcn.004307c0
add esp, 8
mov eax, 0x21
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x30]
push 0x459d60
push ebx
mov byte [eax], 1
mov dword [ebx + 0x8624], 0x130
call fcn.00430890
add esp, 8
mov byte [edi + 0x230], 1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp eax, 4
jne 0x43e4dd
push 0x459d80
push ebx
call fcn.004307c0
add esp, 8
mov eax, 0x17
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push eax
call fcn.00448140
push eax
push 0x459d94
push ebx
call fcn.004307c0
add esp, 0x10
mov eax, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x13]
add dword [esi + 0x44], eax
mov eax, dword [edi + 0x25c]
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], edx
push ecx
mov eax, dword [eax + 0x34]
push edi
push ebx
call eax
add esp, 0x10
test eax, eax
jne 0x43e561
cmp byte [esp + 0x13], al
je 0x43e535
or dword [esi + 0x88], 1
mov eax, dword [esi + 0x88]
and al, 3
cmp al, 2
jne 0x43e55f
cmp byte [edi + 0x230], 0
je 0x43e55f
push 0x459ec4
push ebx
call fcn.00430890
add esp, 8
and dword [esi + 0x88], 0xfffffffd
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret