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

Disassembly:
sub esp, 0x20
movzx eax, byte [esp + 0x64]
fldz
mov edx, dword [esp + 0x3c]
fld1
push ebx
push ebp
mov ebp, dword [esp + 0x38]
mov ecx, 1
sub ecx, eax
mov eax, dword [esp + 0x40]
push esi
mov esi, ecx
imul ecx, eax
mov ebx, ecx
imul esi, ebp
mov ecx, dword [esp + 0x38]
test ecx, ecx
push edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
je 0x10033e91
add ecx, 0xffffffff
mov edx, 1
shl edx, cl
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fstp dword [esp + 0x24]
fild dword [esp + 0x40]
fld dword [esp + 0x24]
fld st(0)
fdivp st(2)
fxch st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fcom st(3)
fnstsw ax
test ah, 1
jne 0x10033d77
fld st(0)
call fcn.10060570
fld st(0)
mov ecx, eax
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10033d6e
fstp st(0)
mov dword [esp + 0x18], ecx
jmp 0x10033d80
fadd st(2)
call fcn.10060570
jmp 0x10033d7c
call fcn.10060570
mov dword [esp + 0x18], eax
fild dword [esp + 0x48]
fdiv st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fcom st(3)
fnstsw ax
test ah, 1
jne 0x10033dc4
fld st(0)
call fcn.10060570
fld st(0)
mov ecx, eax
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10033dbb
fstp st(0)
mov dword [esp + 0x1c], ecx
jmp 0x10033dcd
fadd st(2)
call fcn.10060570
jmp 0x10033dc9
call fcn.10060570
mov dword [esp + 0x1c], eax
fild dword [esp + 0x44]
fdiv st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fcom st(3)
fnstsw ax
test ah, 1
jne 0x10033e11
fld st(0)
call fcn.10060570
fld st(0)
mov ecx, eax
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10033e08
fstp st(0)
mov dword [esp + 0x10], ecx
jmp 0x10033e1a
fadd st(2)
call fcn.10060570
jmp 0x10033e16
call fcn.10060570
mov dword [esp + 0x10], eax
fidivr dword [esp + 0x4c]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fcom st(2)
fnstsw ax
test ah, 1
jne 0x10033e5c
fld st(0)
call fcn.10060570
fld st(0)
mov ecx, eax
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10033e53
fstp st(0)
mov dword [esp + 0x14], ecx
jmp 0x10033e65
fadd st(1)
call fcn.10060570
jmp 0x10033e61
call fcn.10060570
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
sub edi, eax
test al, 1
jne 0x10033e76
add edi, 1
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
sar edi, 1
sub edx, eax
test al, 1
je 0x10033e8a
sar edx, 1
jmp 0x10033e9d
add edx, 1
sar edx, 1
jmp 0x10033e9d
sub edx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebp
sub edi, ebp
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x68]
sub ecx, dword [eax]
jne 0x10033ead
fld1
jmp 0x10033ed0
test ecx, ecx
mov eax, 1
jge 0x10033ec6
neg ecx
shl eax, cl
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fdivr st(1)
jmp 0x10033ed0
shl eax, cl
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
mov ecx, dword [esp + 0x6c]
fstp dword [esp + 0x20]
fild dword [ecx]
add edx, ebx
cmp ebx, edx
fmul qword [0x1008aec8]
fadd st(1)
fmul dword [esp + 0x20]
fstp dword [esp + 0x28]
jge 0x10033fa1
fld dword [esp + 0x28]
lea ebp, [edi + esi]
mov edi, dword [esp + 0x34]
mov eax, ebp
sub eax, esi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x50]
mov ecx, ebx
imul ecx, eax
mov dword [esp + 0x20], ecx
add ecx, esi
lea ecx, [edi + ecx*4]
sub edx, ebx
mov dword [esp + 0x24], ecx
mov ebx, edx
cmp dword [esp + 0x2c], 4
mov edi, esi
jl 0x10033f65
mov ecx, dword [esp + 0x24]
mov edx, ebp
sub edx, esi
sub edx, 4
shr edx, 2
add edx, 1
lea edi, [esi + edx*4]
fld dword [ecx]
add ecx, 0x10
sub edx, 1
fmul st(1)
fstp dword [ecx - 0x10]
fld dword [ecx - 0xc]
fmul st(1)
fstp dword [ecx - 0xc]
fld dword [ecx - 8]
fmul st(1)
fstp dword [ecx - 8]
fld dword [ecx - 4]
fmul st(1)
fstp dword [ecx - 4]
jne 0x10033f3e
cmp edi, ebp
jge 0x10033f89
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
add edx, edi
lea ecx, [ecx + edx*4]
mov edx, ebp
sub edx, edi
fld dword [ecx]
add ecx, 4
sub edx, 1
fmul st(1)
fstp dword [ecx - 4]
jne 0x10033f7a
add dword [esp + 0x20], eax
lea ecx, [eax*4]
add dword [esp + 0x24], ecx
sub ebx, 1
jne 0x10033f21
fstp st(0)
jmp 0x10033fa5
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x3c]
xor esi, esi
test edi, edi
jle 0x100341ab
fild dword [esp + 0x40]
mov ebx, dword [esp + 0x70]
lea edx, [edi - 2]
mov dword [esp + 0x40], edx
fstp dword [esp + 0x3c]
fild dword [esp + 0x48]
fstp dword [esp + 0x2c]
fild dword [esp + 0x44]
fstp dword [esp + 0x44]
fild dword [esp + 0x4c]
fstp dword [esp + 0x4c]
jmp 0x10033fe4
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x10]
je 0x1003404a
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x14]
je 0x1003404a
mov ebp, dword [esp + 0x74]
fstp st(1)
push ebp
fstp st(0)
fld dword [esp + 0x68]
mov ebp, dword [esp + 0x64]
push ebx
push dword [esp + 0x74]
push dword [esp + 0x74]
push ecx
fstp dword [esp]
push ebp
mov ebp, dword [esp + 0x74]
push ebp
push dword [esp + 0x74]
mov ebp, dword [esp + 0x74]
push edi
push esi
push ebp
push eax
mov eax, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x48]
push ecx
push edx
mov edx, dword [esp + 0x78]
push edx
push eax
call fcn.10033c20
fldz
fld1
add esp, 0x48
mov ecx, dword [esp + 0x40]
mov edx, 1
shl edx, cl
mov dword [esp + 0x48], edx
fild dword [esp + 0x48]
fstp dword [esp + 0x48]
fld dword [esp + 0x3c]
fld dword [esp + 0x48]
fld st(0)
fdivp st(2)
fxch st(1)
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fcom st(3)
fnstsw ax
test ah, 1
jne 0x100340ad
fld st(0)
call fcn.10060570
fld st(0)
mov ecx, eax
mov dword [esp + 0x48], ecx
fild dword [esp + 0x48]
fucompp
fnstsw ax
test ah, 0x44
jp 0x100340a4
fstp st(0)
mov dword [esp + 0x18], ecx
jmp 0x100340b6
fadd st(2)
call fcn.10060570
jmp 0x100340b2
call fcn.10060570
mov dword [esp + 0x18], eax
fld dword [esp + 0x2c]
fdiv st(1)
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fcom st(3)
fnstsw ax
test ah, 1
jne 0x100340fa
fld st(0)
call fcn.10060570
fld st(0)
mov ecx, eax
mov dword [esp + 0x48], ecx
fild dword [esp + 0x48]
fucompp
fnstsw ax
test ah, 0x44
jp 0x100340f1
fstp st(0)
mov dword [esp + 0x1c], ecx
jmp 0x10034103
fadd st(2)
call fcn.10060570
jmp 0x100340ff
call fcn.10060570
mov dword [esp + 0x1c], eax
fld dword [esp + 0x44]
fdiv st(1)
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fcom st(3)
fnstsw ax
test ah, 1
jne 0x10034147
fld st(0)
call fcn.10060570
fld st(0)
mov ecx, eax
mov dword [esp + 0x48], ecx
fild dword [esp + 0x48]
fucompp
fnstsw ax
test ah, 0x44
jp 0x1003413e
fstp st(0)
mov dword [esp + 0x10], ecx
jmp 0x10034150
fadd st(2)
call fcn.10060570
jmp 0x1003414c
call fcn.10060570
mov dword [esp + 0x10], eax
fdivr dword [esp + 0x4c]
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fcom st(2)
fnstsw ax
test ah, 1
jne 0x10034192
fld st(0)
call fcn.10060570
fld st(0)
mov ecx, eax
mov dword [esp + 0x48], ecx
fild dword [esp + 0x48]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10034189
fstp st(0)
mov dword [esp + 0x14], ecx
jmp 0x1003419b
fadd st(1)
call fcn.10060570
jmp 0x10034197
call fcn.10060570
mov dword [esp + 0x14], eax
sub dword [esp + 0x40], 1
add esi, 1
cmp esi, edi
jl 0x10033fe0
pop edi
fstp st(1)
pop esi
fstp st(0)
pop ebp
pop ebx
add esp, 0x20
ret