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

Disassembly:
sub esp, 0x760
push ebx
push ebp
mov ebp, ecx
mov ecx, dword [ebp]
xor ebx, ebx
cmp ecx, ebx
push esi
push edi
je 0x42d16b
mov eax, dword [ecx]
push 1
call dword [eax]
cmp dword [ebp + 4], ebx
mov dword [ebp], ebx
mov dword [ebp + 0x74], ebx
mov dword [ebp + 0x70], ebx
je 0x42d31c
mov eax, dword [0x511a84]
test ah, 8
mov edi, dword [esp + 0x780]
je 0x42d196
cmp edi, ebx
je 0x42d31c
mov esi, dword [esp + 0x77c]
cmp esi, ebx
je 0x42d31c
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx]
call dword [edx + 0xf0]
mov ebx, eax
test bl, 0x10
jne 0x42d1c7
cmp dword [esp + 0x774], 0xffffffff
je 0x42d31c
mov eax, dword [esp + 0x774]
test eax, eax
je 0x42d31c
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x20]
test ecx, ecx
mov dword [ebp + 0x60], ecx
jne 0x42d1ec
mov dword [ebp + 0x60], 1
mov edx, dword [ebp + 0x60]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], 0
fild qword [esp + 0x1c]
fmul qword [0x4cb350]
fadd qword [0x4c8b28]
fstp qword [esp + 0x28]
call dword [eax + 8]
fadd qword [esp + 0x28]
mov eax, dword [ebp + 0x60]
cmp esi, eax
fadd qword [0x4c8b28]
fst qword [ebp + 0x68]
jae 0x42d249
fstp st(0)
xor edi, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edi
fild qword [esp + 0x1c]
fadd qword [esp + 0x28]
fadd qword [0x4c8b28]
fstp qword [ebp + 0x68]
jmp 0x42d260
fcomp qword [0x4cb348]
fnstsw ax
test ah, 0x41
jp 0x42d25e
test edi, edi
je 0x42d31c
xor edi, edi
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x774]
mov ecx, dword [eax + 0x80]
and edx, ecx
mov dword [esp + 0x774], edx
je 0x42d63b
mov edx, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x7c]
or edx, dword [esp + 0x778]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ecx
mov edx, dword [eax + 0x174]
mov ecx, dword fs:[0x2c]
mov dword [esp + 0x78], eax
mov eax, dword [0x51fdf4]
mov ebx, dword [ecx + eax*4]
push edi
mov dword [esp + 0x78], edx
mov edx, dword [ebx + 8]
lea eax, [esp + 0x4c]
push 0x800
mov dword [esp + 0x6c], edi
push eax
mov dword [esp + 0x30], ebx
mov dword [edx + 0x5fc], 1
call fcn.00471ce0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x60]
lea edx, [eax + eax*2]
shl edx, 2
push edx
lea eax, [esp + 0x58]
push eax
call fcn.00481a10
add esp, 0x14
cmp eax, edi
mov dword [esp + 0x80], eax
jne 0x42d32b
mov ecx, dword [ebx + 8]
lea edx, [esp + 0x48]
push edi
push edx
mov dword [ecx + 0x5fc], edi
call fcn.00481ac0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x760
ret 0x10
mov esi, eax
mov eax, dword [ebx + 4]
lea ecx, [esp + 0x48]
mov dword [ebx + 4], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x5c]
xor ecx, ecx
cmp edx, edi
mov dword [esp + 0x10], ecx
jbe 0x42d440
mov dword [esp + 0x18], edi
lea esp, [esp]
mov edi, dword [esp + 0x774]
mov edx, 1
shl edx, cl
test edi, edx
je 0x42d420
mov edi, dword [eax + 0x84]
mov edx, dword [esp + 0x18]
mov al, byte [edi + edx + 4]
add edi, edx
test al, al
js 0x42d420
mov eax, dword [esp + 0x64]
mov dword [esp + eax*4 + 0x88], esi
mov eax, dword [edi + 8]
test eax, eax
mov dword [esp + 0x14], 0
jbe 0x42d411
xor ebx, ebx
lea ebx, [ebx]
mov cx, word [esp + 0x64]
mov dx, word [esp + 0x14]
mov word [esi], cx
mov word [esi + 2], dx
mov eax, dword [edi + 0x14]
mov cx, word [ebx + eax + 0xc]
mov word [esi + 4], cx
mov edx, dword [edi + 0x14]
mov eax, dword [ebx + edx]
mov dword [esi + 8], eax
mov ecx, dword [edi + 0x14]
mov dl, byte [ebx + ecx + 0x16]
mov ecx, eax
mov byte [esi + 6], dl
mov eax, dword [ecx]
call dword [eax + 0x48]
cmp eax, 0xfc
jne 0x42d3f3
add word [esi + 4], 2
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 8]
inc eax
add ebx, 0x18
add esi, 0xc
cmp eax, ecx
mov dword [esp + 0x14], eax
jb 0x42d3b0
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x64]
mov dword [esp + edx*4 + 0x108], ecx
inc dword [esp + 0x64]
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x5c]
inc ecx
add edi, 0x24
cmp ecx, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], edi
jb 0x42d360
xor edi, edi
mov eax, dword [ebp + 4]
push eax
lea ecx, [esp + 0x64]
push ecx
mov dword [esp + 0x8c], esi
call fcn.0042d670
mov ecx, eax
add esp, 8
cmp ecx, edi
mov dword [esp + 0x28], ecx
je 0x42d617
mov eax, dword [ecx]
cmp eax, edi
jne 0x42d482
mov dword [ebp + 0x60], edi
mov dword [ebp + 0x68], 0xffe00000
mov dword [ebp + 0x6c], 0x41efffff
jmp 0x42d617
cmp eax, 3
je 0x42d490
cmp eax, 4
jne 0x42d617
mov eax, dword [esp + 0x64]
lea edi, [ecx + 4]
lea eax, [edi + eax*4]
xor edx, edx
xor ebx, ebx
cmp edi, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
je 0x42d611
mov edi, edi
mov eax, dword [edi]
test eax, eax
je 0x42d5b7
cmp dword [eax + 0x34], 2
je 0x42d4c7
mov cl, byte [eax + 2]
test cl, cl
je 0x42d4d8
mov ecx, dword [esp + edx*4 + 0x108]
mov eax, 1
shl eax, cl
or dword [ebp + 0x74], eax
mov ecx, dword [edi]
push ecx
push edx
lea edx, [esp + 0x68]
push edx
call fcn.0042fc10
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x42d57e
cmp esi, 2
jbe 0x42d57e
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + ecx*4 + 0x108]
mov eax, dword [ebp + 8]
mov edx, 1
shl edx, cl
test dword [eax + 0x198], edx
je 0x42d57e
mov eax, dword [eax]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xf0]
test ah, 4
je 0x42d57e
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 0x84]
mov edx, dword [esp + 0x10]
mov edx, dword [esp + edx*4 + 0x108]
lea edx, [edx + edx*8]
mov eax, dword [eax + edx*4]
add eax, dword [ecx + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 0x1c]
mov ecx, dword [esp + 0x18]
shr eax, 1
xor edx, edx
div ecx
inc eax
lea ecx, [eax + esi - 1]
mov dword [esp + 0x40], ecx
xor ecx, ecx
mov dword [esp + 0x44], ecx
fild qword [esp + 0x40]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
fild qword [esp + 0x30]
fdivp st(1)
jmp 0x42d5a1
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
mov eax, dword [ecx]
push esi
call dword [eax + 0xc]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], 0
fild qword [esp + 0x38]
fmul qword [0x4cb350]
faddp st(1)
fcom qword [ebp + 0x68]
fnstsw ax
test ah, 5
jp 0x42d5b5
fstp qword [ebp + 0x68]
mov dword [ebp + 0x60], esi
mov ebx, edi
jmp 0x42d5b7
fstp st(0)
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add edi, 4
inc edx
cmp edi, eax
mov dword [esp + 0x10], edx
jne 0x42d4b0
test ebx, ebx
je 0x42d611
mov eax, dword [ebp + 0x60]
test eax, eax
je 0x42d611
mov ecx, dword [ebx]
sub ebx, dword [esp + 0x28]
push ecx
sub ebx, 4
sar ebx, 2
lea edx, [esp + 0x64]
push ebx
push edx
call fcn.004303c0
add esp, 0xc
test eax, eax
mov dword [ebp], eax
je 0x42d611
mov ecx, dword [ebp + 0x60]
mov dword [eax + 0x60], ecx
mov edx, dword [ebp]
mov eax, dword [ebp + 0x68]
mov dword [edx + 0x68], eax
mov ecx, dword [ebp + 0x6c]
mov dword [edx + 0x6c], ecx
mov ebx, dword [esp + 0x24]
xor edi, edi
lea edx, [esp + 0x48]
push edi
push edx
call fcn.00481ac0
mov eax, dword [esp + 0x24]
mov ecx, dword [ebx + 8]
mov dword [ebx + 4], eax
add esp, 8
mov dword [ecx + 0x5fc], edi
cmp dword [ebp + 0x60], edi
je 0x42d657
mov ecx, dword [ebp]
xor eax, eax
cmp ecx, edi
pop edi
pop esi
pop ebp
setne al
pop ebx
add esp, 0x760
ret 0x10
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x760
ret 0x10