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

Disassembly:
sub esp, 0x58
push edi
mov edi, dword [esp + 0x60]
mov ecx, dword [edi + 4]
mov edx, ecx
imul edx, dword [esp + 0x64]
dec edx
cmp edx, dword [esp + 0x68]
jle 0x10043073
mov eax, 0x7d2
pop edi
add esp, 0x58
ret
xor eax, eax
push esi
jmp 0x10043080
cmp ecx, dword [eax*4 + 0x1007abe0]
je 0x100434e0
inc eax
cmp eax, 7
jl 0x10043080
push ebx
push ebp
lea eax, [esp + 0x4c]
push eax
push dword [edi + 0x14]
call fcn.1002b990
lea eax, [esp + 0x30]
push eax
push dword [edi + 0x14]
call fcn.1002b990
mov eax, dword [edi + 0x14]
lea ecx, [esp + 0x68]
xor ebx, ebx
mov dword [esp + 0x34], eax
push ecx
push eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x60], eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
call fcn.1002a0a0
push 0x18
push dword [esp + 0x80]
mov dword [esp + 0x78], 1
call fcn.10050400
add esp, 0x20
mov dword [esp + 0x5c], eax
test eax, eax
jne 0x10043112
mov ebp, 0x3e9
jmp 0x10043435
push eax
push dword [esp + 0x68]
call fcn.10037ad0
push dword [esp + 0x64]
push dword [edi + 4]
call fcn.10038390
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x10043435
mov eax, dword [esp + 0x5c]
xor esi, esi
mov ecx, dword [edi + 4]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x5c]
mov dword [eax + 8], ebx
mov eax, dword [edi + 4]
add eax, 0x20
test eax, 0xffffffe0
jle 0x10043173
mov eax, dword [esp + 0x5c]
mov edx, dword [edi + 0xc]
mov ecx, dword [eax + 0xc]
mov eax, dword [edx + esi*4]
mov dword [ecx + esi*4], eax
inc esi
mov eax, dword [edi + 4]
add eax, 0x20
sar eax, 5
cmp esi, eax
jl 0x10043155
push 0xcc
push dword [esp + 0x68]
call fcn.10050640
add esp, 8
mov dword [esp + 0x60], eax
test eax, eax
jne 0x10043196
mov ebp, 0x3e9
jmp 0x10043435
push eax
push dword [esp + 0x68]
call fcn.1002b520
lea eax, [esp + 0x60]
push eax
call fcn.1002dbb0
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x10043435
mov ebx, dword [esp + 0x60]
lea eax, [esp + 0x4c]
push eax
mov dword [esp + 0x70], ebx
push dword [ebx + 0x84]
call fcn.1002b9b0
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x10043431
lea eax, [esp + 0x28]
push eax
push dword [ebx + 0x84]
call fcn.1002b9b0
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x10043431
lea eax, [esp + 0x1c]
push eax
push dword [ebx + 0x84]
call fcn.10042c10
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x10043431
lea eax, [esp + 0x34]
push eax
push dword [ebx + 0x84]
call fcn.10042c10
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x10043431
lea eax, [esp + 0x40]
push eax
push dword [ebx + 0x84]
call fcn.10050400
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x10043431
mov eax, dword [esp + 0x4c]
add eax, 0x1f
sar eax, 5
shl eax, 2
push eax
push ebp
push dword [esp + 0x58]
call fcn.100506f0
mov eax, dword [esp + 0x5c]
mov dword [eax], 2
mov eax, dword [esp + 0x34]
add eax, 0x1f
sar eax, 5
shl eax, 2
push eax
push ebp
push dword [esp + 0x40]
call fcn.100506f0
mov eax, dword [esp + 0x44]
xor edi, edi
add esp, 0x18
mov dword [eax], 2
cmp dword [ebx + 0x84], edi
jle 0x10043317
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x44]
sub eax, esi
mov dword [esp + 0x74], eax
nop
add eax, esi
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.1002be30
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x10043431
push esi
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x30]
push eax
mov eax, dword [ebx + 0xac]
push ebx
call eax
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x10043431
lea eax, [esp + 0x28]
push eax
push eax
mov eax, dword [ebx + 0xb0]
push ebx
call eax
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x10043431
mov eax, dword [esp + 0x74]
inc edi
add esi, 0xc
cmp edi, dword [ebx + 0x84]
jl 0x100432b0
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.10042ca0
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x10043431
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.10042ef0
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x18], ebp
test ebp, ebp
jne 0x10043431
mov ebx, dword [ebx + 0x84]
xor edi, edi
test ebx, ebx
jle 0x1004342d
mov eax, dword [esp + 0x6c]
mov edx, 4
xor ecx, ecx
mov dword [esp + 0x10], edx
test ebx, ebx
jle 0x1004340b
mov eax, dword [esp + 0x78]
mov esi, edi
neg esi
add eax, ecx
mov dword [esp + 0x74], eax
lea ecx, [ecx]
test edi, edi
jne 0x10043398
xor ecx, ecx
jmp 0x1004339c
mov ecx, ebx
sub ecx, edi
mov eax, ecx
cdq
and edx, 0x1f
add edx, eax
sar edx, 5
and ecx, 0x8000001f
jns 0x100433b4
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, 1
shl eax, cl
mov ecx, esi
mov dword [esp + 0x14], eax
test esi, esi
jns 0x100433c8
lea ecx, [esi + ebx]
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + eax*4 + 4]
mov ecx, dword [esp + 0x14]
test dword [eax + edx*4], ecx
je 0x100433f1
mov ecx, dword [esp + 0x74]
lea eax, [esi + edi]
mov dword [ecx], eax
add ecx, 4
mov dword [esp + 0x74], ecx
test ebp, ebp
je 0x10043403
dec ebp
mov eax, dword [esp + 0x6c]
inc esi
mov ebx, dword [eax + 0x84]
lea eax, [esi + edi]
cmp eax, ebx
jl 0x10043390
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x70]
mov ecx, edx
inc edi
lea ebx, [ebp*4]
add edx, ebx
mov ebx, dword [eax + 0x84]
mov dword [esp + 0x10], edx
cmp edi, ebx
jl 0x10043377
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
lea eax, [esp + 0x4c]
push eax
call fcn.1002ba00
lea eax, [esp + 0x2c]
push eax
call fcn.1002ba00
mov edi, dword [esp + 0x24]
add esp, 8
test edi, edi
jle 0x10043465
mov esi, ebx
push esi
call fcn.1002ba00
add esp, 4
add esi, 0xc
dec edi
jne 0x10043456
push ebx
push dword [esp + 0x28]
call fcn.10050630
mov edi, dword [esp + 0x3c]
add esp, 8
test edi, edi
jle 0x1004348f
mov esi, dword [esp + 0x38]
mov edi, edi
push esi
call fcn.1002ba00
add esp, 4
add esi, 0xc
dec edi
jne 0x10043480
push dword [esp + 0x38]
push dword [esp + 0x40]
call fcn.10050630
mov edi, dword [esp + 0x48]
add esp, 8
mov ebx, dword [esp + 0x44]
test edi, edi
jle 0x100434bf
mov esi, ebx
lea ecx, [ecx]
push esi
call fcn.1002ba00
add esp, 4
add esi, 0xc
dec edi
jne 0x100434b0
push ebx
push dword [esp + 0x4c]
call fcn.10050630
lea eax, [esp + 0x60]
push eax
call fcn.10050400
add esp, 0xc
mov eax, ebp
pop ebp
pop ebx
pop esi
pop edi
add esp, 0x58
ret
xor ecx, ecx
test edx, edx
jle 0x100434fd
mov esi, dword [eax*4 + 0x1007abfc]
mov edi, dword [esp + 0x70]
movzx eax, byte [esi + ecx]
mov dword [edi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x100434f1
pop esi
xor eax, eax
pop edi
add esp, 0x58
ret