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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
mov eax, dword [ebp + 0x14]
push ebx
push esi
push edi
cmp dword [eax + 0x484], 0
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x68], 0
mov ecx, dword [edi]
mov dword [esp + 0x3c], ecx
jle 0x42b2fd
fldz
lea edx, [eax + 0x888]
mov eax, dword [ebp + 0x20]
sub eax, dword [ebp + 0x1c]
fld1
fld qword [0x45d778]
mov ebx, dword [ebp + 0x28]
mov dword [esp + 0x38], edx
mov dword [ebp + 0x20], eax
mov esi, dword [edx - 0x400]
cmp dword [ebx + esi*4], 0
jne 0x42ae95
mov eax, dword [edx]
cmp dword [ebx + eax*4], 0
je 0x42b2d4
mov ebx, dword [ebp + 0x18]
mov edi, dword [esp + 0x3c]
mov eax, dword [ebx + esi*4]
mov dword [esp + 0x50], eax
mov eax, dword [edx]
mov edx, dword [esp + 0x50]
mov ebx, dword [ebx + eax*4]
lea edx, [edx + edi*4]
mov dword [esp + 0x4c], ebx
mov edi, dword [ebp + 0x24]
mov dword [esp + 0x34], edx
mov eax, dword [edi + eax*4]
mov edx, dword [edi + esi*4]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x70], edx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax*4 + 0xfc]
fld qword [eax*8 + 0x46e850]
mov eax, dword [ebp + 8]
fstp dword [esp + 0x2c]
mov eax, dword [edx + eax*4 + 0x138]
fld qword [eax*8 + 0x46e850]
mov eax, dword [edi + 4]
fstp dword [esp + 0x24]
cmp dword [eax + 0x1f8], 0
je 0x42af0a
mov ecx, dword [eax + 0x200]
mov eax, dword [eax]
mov dword [esp + 0x28], ecx
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, dword [ebp + 8]
cmp dword [esp + 0x3c], 0x3e8
mov eax, dword [edx + ecx*4 + 0x84]
mov ecx, dword [ebp + 0x28]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + esi*4], 1
mov eax, dword [eax]
mov dword [ecx + eax*4], 1
jle 0x42af62
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx*4 + 0x138]
fld qword [eax*8 + 0x46e898]
fstp dword [esp + 0x24]
mov ecx, dword [edi]
xor eax, eax
mov dword [esp + 0x64], eax
test ecx, ecx
jle 0x42b304
fld dword [esp + 0x2c]
xor edi, edi
mov esi, dword [esp + 0x28]
fld dword [esp + 0x24]
mov dword [esp + 0x48], edi
jmp 0x42af8e
fxch st(3)
fxch st(4)
fxch st(3)
fxch st(2)
fxch st(4)
fst dword [esp + 0x1c]
test esi, esi
jle 0x42b13a
mov ecx, dword [esp + 0x70]
mov esi, eax
mov eax, dword [esp + 0x6c]
add ebx, edi
sub eax, ecx
mov dword [esp + 0x20], edi
sub ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x4c]
sub edx, eax
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x54], edx
sub ecx, eax
lea edx, [eax + edi*4]
mov dword [esp + 0x44], esi
mov edi, dword [esp + 0x54]
sub edx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], edx
cmp esi, dword [ebp + 0x2c]
jge 0x42b1bd
cmp esi, dword [esp + 0x60]
jl 0x42b163
fld dword [ecx + ebx]
fabs
fcomp st(5)
fnstsw ax
test ah, 5
jp 0x42b163
fld dword [ebx]
fabs
fcomp st(5)
fnstsw ax
fstp st(4)
test ah, 5
jp 0x42b165
fstp st(0)
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
add eax, ebx
xor ebx, ebx
mov edi, dword [eax + ecx]
mov ecx, 0x1f
mov esi, dword [eax]
cmp esi, edi
mov eax, esi
setg bl
sub eax, edi
cdq
dec ebx
xor eax, edx
sub eax, edx
sub ecx, eax
mov eax, ebx
not eax
and ebx, edi
and eax, esi
mov edi, dword [esp + 0x54]
or eax, ebx
mov ebx, dword [esp + 0x58]
fld dword [eax*4 + 0x468930]
xor eax, eax
test ecx, ecx
sets al
sub esp, 8
dec eax
and eax, ecx
mov ecx, dword [esp + 0x28]
fld dword [eax*4 + 0x468d30]
mov eax, dword [ebp + 0x1c]
faddp st(3)
fxch st(2)
mov eax, dword [eax]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fmul dword [ecx + eax]
mov eax, dword [esp + 0x38]
fstp dword [edi + ebx]
fxch st(1)
fstp dword [eax + ebx]
fadd dword [edi + ebx]
fstp qword [esp]
call sub.MSVCRT.dll_floor
fldz
add esp, 8
mov esi, dword [esp + 0x44]
fucompp
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
fnstsw ax
test ah, 0x44
mov eax, dword [esp + 0x20]
jp 0x42b0f3
fld dword [edi + ebx]
fmul st(0), st(0)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fldz
fld dword [esp + 0x24]
fld dword [esp + 0x2c]
fld1
fld qword [0x45d778]
fxch st(3)
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(2)
fxch st(1)
add eax, 4
add ebx, 4
inc esi
mov dword [esp + 0x20], eax
dec dword [esp + 0x5c]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x44], esi
jne 0x42aff3
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x48]
mov ecx, dword [ebp + 0x10]
fstp st(0)
fstp st(3)
fstp st(2)
mov eax, dword [ecx + 4]
cmp dword [eax + 0x1f8], 0
je 0x42b280
xor ebx, ebx
test esi, esi
jle 0x42b280
fld dword [esp + 0x1c]
jmp 0x42b1cc
fstp st(4)
fld dword [ecx + ebx]
fabs
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x42b185
fld dword [ebx]
fabs
fcompp
fnstsw ax
test ah, 5
jp 0x42b187
jmp 0x42b02d
fstp st(3)
lea eax, [edx + ebx]
fstp st(2)
push eax
fstp st(0)
lea eax, [edi + ebx]
push eax
fstp st(0)
sub esp, 8
fld dword [ebx]
fstp dword [esp + 4]
fld dword [ecx + ebx]
fstp dword [esp]
call fcn.0042d0a0
mov ecx, dword [esp + 0x50]
add esp, 0x10
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
jmp 0x42b0f3
fst dword [edi + ebx]
fst dword [edx + ebx]
jmp 0x42b111
fxch st(2)
fxch st(1)
mov eax, dword [ecx + 4]
fcomp qword [eax + 0x208]
fnstsw ax
test ah, 1
jne 0x42b278
mov esi, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov eax, dword [esi + eax]
mov esi, dword [edi + eax]
cmp esi, dword [ebp + 0x2c]
jge 0x42b270
cmp esi, dword [esp + 0x60]
jl 0x42b270
fstp st(0)
sub esp, 8
fadd dword [edx + esi*4]
fstp qword [esp]
call sub.MSVCRT.dll_floor
fldz
add esp, 8
mov edx, dword [esp + 0x34]
fucompp
mov ecx, dword [ebp + 0x10]
fnstsw ax
test ah, 0x44
jp 0x42b248
fld dword [edx + esi*4]
fstp dword [esp + 0x7c]
fld dword [esp + 0x1c]
fld1
mov eax, dword [esp + 0x7c]
fsub st(1), st(0)
and eax, 0xbf800000
fxch st(1)
or eax, 0x3f800000
mov dword [edx + esi*4], eax
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
jmp 0x42b250
fld dword [esp + 0x1c]
fld1
fxch st(1)
mov esi, dword [esp + 0x28]
inc ebx
fld qword [0x45d778]
add edi, 4
cmp ebx, esi
jl 0x42b1c8
mov edi, dword [esp + 0x48]
fstp st(1)
fstp st(0)
jmp 0x42b282
fstp st(1)
fld dword [esp + 0x1c]
jmp 0x42b250
mov edi, dword [esp + 0x48]
fstp st(1)
jmp 0x42b282
fstp st(1)
mov eax, dword [esp + 0x64]
lea ebx, [esi*4]
fldz
add eax, esi
fld dword [esp + 0x24]
add edi, ebx
mov ecx, dword [ecx]
fld dword [esp + 0x2c]
fld qword [0x45d778]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x48], edi
cmp eax, ecx
jl 0x42af86
mov edx, dword [esp + 0x38]
fstp st(3)
mov ebx, dword [ebp + 0x28]
fstp st(1)
fstp st(0)
fstp st(0)
fldz
fld qword [0x45d778]
fxch st(1)
fxch st(2)
fxch st(1)
mov eax, dword [esp + 0x68]
add edx, 4
mov esi, dword [ebp + 0x14]
inc eax
add dword [ebp + 0x1c], 4
mov dword [esp + 0x68], eax
mov dword [esp + 0x38], edx
cmp eax, dword [esi + 0x484]
jl 0x42ae7d
fstp st(2)
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x38]
mov ebx, dword [ebp + 0x28]
jmp 0x42b2d4