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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb0
mov esi, esp
mov dword [esi + 0x98], ebp
lea eax, [esi + 0xa0]
mov dword [esi + 0x1c], ecx
mov ebx, dword [ebp + 8]
mov dword [esi + 8], edx
mov dword [eax - 4], esp
or dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x583ff0
cmp byte [ebp + 0xc], 2
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
jne 0x43b1a7
mov edi, dword [ebx + 0x50]
mov eax, dword [ebx + 0x4c]
shl edi, 3
test edi, edi
je 0x43b1b8
mov edx, dword [eax]
mov ecx, dword [esi + 8]
lea ebx, [eax + 8]
push dword [eax + 4]
call fcn.0044574a
pop ecx
add edi, 0xfffffff8
mov eax, ebx
jmp 0x43b18b
mov eax, dword [ebx + 0xfc]
mov edi, dword [ebx + 0x100]
jmp 0x43b2c5
lea eax, [esi + 0x20]
mov ecx, dword [ebp + 8]
and dword [eax], 0
mov dword [eax + 4], 4
and dword [eax + 8], 0
mov eax, dword [esi + 8]
mov edx, dword [ecx + 0xfc]
mov ecx, dword [ecx + 0x100]
mov ebx, dword [eax + 0x24]
mov eax, dword [eax + 0x28]
mov dword [esi + 0x10], edx
mov dword [esi + 0xc], ecx
lea eax, [ebx + eax*8]
mov dword [esi + 0x18], eax
cmp ebx, dword [esi + 0x18]
mov dword [esi + 0x34], ebx
je 0x43b24e
mov eax, dword [esi + 0x1c]
mov edi, ebx
add ebx, 8
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x4c]
push dword [edi + 4]
push dword [edi]
call fcn.0041af22
pop ecx
pop edx
test eax, eax
je 0x43b1ed
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
mov edi, eax
push dword [eax + 0x50]
push dword [eax + 0x4c]
call fcn.00426b02
pop ecx
pop edx
test al, al
je 0x43b1ed
and dword [esi + 0xa8], 0
add edi, 0xfc
lea ecx, [esi + 0x20]
mov dword [esi + 4], ebx
mov edx, edi
call fcn.0042583b
mov ebx, dword [esi + 4]
jmp 0x43b1ed
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x28]
mov eax, dword [esi + 0x20]
lea edx, [ecx + edi*4]
shl edi, 2
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], eax
mov dword [esi + 4], ecx
mov dword [esi + 0x30], edx
mov dword [esi + 0x44], edx
test edi, edi
je 0x43b2a1
mov ecx, dword [esi + 4]
add edi, 0xfffffffc
mov dword [esi + 0x14], edi
mov eax, dword [ecx]
add ecx, 4
mov dword [esi + 4], ecx
mov ecx, dword [esi + 8]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0xa8], 1
push eax
call fcn.0044574a
mov edi, dword [esi + 0x14]
add esp, 4
jmp 0x43b26c
mov eax, dword [esi + 0x30]
lea ecx, [esi + 0x38]
mov dword [ecx + 8], eax
call fcn.0042d910
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 0xc]
mov ebx, dword [ebp + 8]
mov dword [esi + 0xa8], 2
lea ecx, [esi + 0x20]
mov dword [esi + 0xc], edi
push edi
mov dword [esi + 0x10], eax
push eax
call fcn.0043beb2
pop eax
pop ecx
cmp dword [ebx + 0x28], 5
mov eax, dword [ebx + 0x104]
lea ecx, [ebx + 0x28]
mov edx, 0x5a74bc
mov dword [esi + 0xa8], 2
cmovne edx, ecx
lea ecx, [esi + 0x78]
mov dword [esi + 4], eax
call fcn.0042d9e6
mov eax, dword [esi + 0x84]
lea edx, [esi + 0x38]
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0x7c]
mov ecx, dword [esi + 0x80]
mov ebx, dword [esi + 0x78]
mov byte [edx + 0x3d], 3
and dword [edx + 0x18], 0
push 4
pop eax
mov dword [edx + 0x1c], eax
and dword [edx + 0x20], 0
and dword [edx + 4], 0
mov dword [edx], 1
mov dword [edx + 0x10], ecx
mov ecx, dword [esi + 0x14]
mov dword [edx + 0xc], edi
mov dword [edx + 8], ebx
or dword [esi + 0xa8], 0xffffffff
lea edi, [esi + 0x20]
mov dword [edx + 0x14], ecx
and dword [edx + 0x24], 0
mov dword [edx + 0x28], eax
and dword [edx + 0x2c], 0
and dword [edx + 0x30], 0
mov dword [edx + 0x34], eax
mov eax, dword [esi + 4]
and dword [edx + 0x38], 0
mov ecx, edi
shr eax, 0xb
and al, 1
mov byte [edx + 0x3c], al
call fcn.0043bf22
mov dl, byte [ebp + 0xc]
movzx ecx, byte [eax + 0x3d]
movzx ebx, dl
cmp cl, dl
mov edx, ecx
cmovbe edx, ebx
cmp cl, 3
mov ecx, eax
mov dword [esi + 0x18], ebx
cmove edx, ebx
mov byte [eax + 0x3d], dl
call fcn.0043c00b
cmp byte [ebp + 0xc], 0
je 0x43b4d7
mov eax, dword [esi + 0x1c]
lea edx, [esi + 0x88]
mov ebx, dword [esi + 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x6c]
imul eax, dword [eax + 0x70], 0x30
add eax, ecx
mov dword [edx], ecx
mov ecx, dword [esi + 0xc]
mov dword [edx + 4], eax
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ecx
lea ecx, [esi + 0x88]
call fcn.00427b81
test eax, eax
je 0x43b4d7
mov ebx, edx
mov edx, dword [esi + 8]
mov ecx, edi
mov dword [esi + 4], ebx
push ebx
mov dword [esi + 0x14], eax
push eax
call fcn.0043beb2
pop eax
pop ecx
and dword [esi + 0x50], 0
mov ecx, edi
push 4
pop edi
mov dword [esi + 0x54], edi
and dword [esi + 0x58], 0
and dword [esi + 0x3c], 0
and dword [esi + 0x38], 0
and dword [esi + 0x5c], 0
mov dword [esi + 0x60], edi
and dword [esi + 0x64], 0
and dword [esi + 0x68], 0
mov dword [esi + 0x6c], edi
and dword [esi + 0x70], 0
or dword [esi + 0xa8], 0xffffffff
lea edx, [esi + 0x38]
mov word [esi + 0x74], 0x300
call fcn.0043bf22
movzx ecx, byte [eax + 0x3d]
mov ebx, dword [esi + 0x18]
cmp cl, byte [ebp + 0xc]
mov edx, ecx
cmovbe edx, ebx
cmp cl, 3
mov ecx, eax
cmove edx, ebx
mov byte [eax + 0x3d], dl
call fcn.0043c00b
push 0x10
pop ecx
push 4
pop edx
call fcn.0042029e
mov ebx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x20]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], 0x5a8f78
mov dword [esi + 0x4c], 0x85dc44ca
mov dword [esi + 0x48], 0x18b84948
mov dword [esi + 0x44], 0x745b0508
mov dword [esi + 0x40], 0x70552ea7
mov byte [esi + 3], 1
mov dword [esi + 0xa8], 3
push ebx
call fcn.0041aef5
pop eax
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x14]
lea eax, [esi + 0x20]
mov byte [esi + 3], 0
push eax
lea eax, [esi + 0x38]
push eax
push dword [esi + 4]
call fcn.0043e815
add esp, 0xc
lea edi, [esi + 0x20]
jmp 0x43b3ca
mov eax, dword [esi + 0xa0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret