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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xf4
push ebx
push esi
push edi
mov esi, eax
call fcn.004249d0
push eax
mov eax, dword [ebp + 8]
push eax
lea ecx, [esp + 0xc8]
push ecx
call fcn.00403485
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x20], edx
lea edx, [esp + 0xc0]
mov dword [esp + 0x24], eax
push edx
lea eax, [esp + 0x24]
mov dword [esp + 0x2c], ecx
push eax
lea ecx, [esp + 0x38]
push ecx
mov dword [esp + 0x38], 0x3f800000
call fcn.004032fc
fld dword [0x87076c]
fdiv dword [esp + 0x3c]
mov edx, dword [esi + 0x10]
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], edx
push ecx
lea edx, [esp + 0x48]
push edx
fst dword [esp + 0x48]
fmul dword [esp + 0x3c]
fstp dword [esp + 0x3c]
fld dword [esp + 0x40]
fmul dword [esp + 0x48]
fstp dword [esp + 0x40]
fld dword [esp + 0x48]
fmul dword [esp + 0x44]
fstp dword [esp + 0x44]
call fcn.004032fc
fld dword [0x87076c]
mov eax, dword [esi + 0x14]
fdiv dword [esp + 0x4c]
lea ecx, [esp + 0xc0]
push ecx
lea edx, [esp + 0x24]
mov dword [esp + 0x28], eax
push edx
lea eax, [esp + 0x68]
push eax
fstp dword [esp + 0x58]
fld dword [esp + 0x4c]
fmul dword [esp + 0x58]
fstp dword [esp + 0x4c]
fld dword [esp + 0x50]
fmul dword [esp + 0x58]
fstp dword [esp + 0x50]
fld dword [esp + 0x54]
fmul dword [esp + 0x58]
fstp dword [esp + 0x54]
call fcn.004032fc
fld dword [0x87076c]
mov ecx, dword [esi + 4]
fdiv dword [esp + 0x6c]
mov dword [esp + 0x20], ecx
lea edx, [esp + 0xc0]
fstp dword [esp + 0x6c]
fld dword [esp + 0x60]
fmul dword [esp + 0x6c]
fstp dword [esp + 0x60]
fld dword [esp + 0x64]
fmul dword [esp + 0x6c]
fstp dword [esp + 0x64]
fld dword [esp + 0x68]
fmul dword [esp + 0x6c]
fstp dword [esp + 0x68]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x58]
push ecx
call fcn.004032fc
fld dword [0x87076c]
fdiv dword [esp + 0x5c]
mov edx, dword [esi + 0x18]
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x2c], edx
push ecx
lea edx, [esp + 0x98]
push edx
fstp dword [esp + 0x68]
fld dword [esp + 0x5c]
fmul dword [esp + 0x68]
fstp dword [esp + 0x5c]
fld dword [esp + 0x60]
fmul dword [esp + 0x68]
fstp dword [esp + 0x60]
fld dword [esp + 0x64]
fmul dword [esp + 0x68]
fstp dword [esp + 0x64]
call fcn.004032fc
fld dword [0x87076c]
mov eax, dword [esi + 0x10]
fdiv dword [esp + 0x9c]
lea ecx, [esp + 0xc0]
push ecx
lea edx, [esp + 0x24]
mov dword [esp + 0x24], eax
push edx
lea eax, [esp + 0xa8]
push eax
fstp dword [esp + 0xa8]
fld dword [esp + 0x9c]
fmul dword [esp + 0xa8]
fstp dword [esp + 0x9c]
fld dword [esp + 0xa0]
fmul dword [esp + 0xa8]
fstp dword [esp + 0xa0]
fld dword [esp + 0xa4]
fmul dword [esp + 0xa8]
fstp dword [esp + 0xa4]
call fcn.004032fc
fld dword [0x87076c]
mov ecx, dword [esi + 8]
fdiv dword [esp + 0xac]
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0x24]
mov dword [esp + 0x28], ecx
push eax
lea ecx, [esp + 0x88]
push ecx
fstp dword [esp + 0xb8]
fld dword [esp + 0xac]
fmul dword [esp + 0xb8]
fstp dword [esp + 0xac]
fld dword [esp + 0xb0]
fmul dword [esp + 0xb8]
fstp dword [esp + 0xb0]
fld dword [esp + 0xb4]
fmul dword [esp + 0xb8]
fstp dword [esp + 0xb4]
call fcn.004032fc
fld dword [0x87076c]
fdiv dword [esp + 0x8c]
fstp dword [esp + 0x8c]
fld dword [esp + 0x80]
fmul dword [esp + 0x8c]
fstp dword [esp + 0x80]
fld dword [esp + 0x84]
fmul dword [esp + 0x8c]
fstp dword [esp + 0x84]
fld dword [esp + 0x88]
fmul dword [esp + 0x8c]
fstp dword [esp + 0x88]
mov edx, dword [esi + 4]
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], edx
push ecx
lea edx, [esp + 0x78]
push edx
call fcn.004032fc
fld dword [0x87076c]
fdiv dword [esp + 0x7c]
mov edx, 1
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov ebx, edx
mov edi, edx
mov esi, edx
mov dword [esp + 0xbc], 0
fstp dword [esp + 0x7c]
fld dword [esp + 0x70]
fmul dword [esp + 0x7c]
fstp dword [esp + 0x70]
fld dword [esp + 0x74]
fmul dword [esp + 0x7c]
fstp dword [esp + 0x74]
fld dword [esp + 0x78]
fmul dword [esp + 0x7c]
fstp dword [esp + 0x78]
jmp 0x4171c0
mov ecx, dword [esp + 0xbc]
shl ecx, 4
fld dword [esp + ecx + 0x30]
fld dword [esp + ecx + 0x34]
fstp dword [esp + 0x10]
fld dword [esp + ecx + 0x38]
fstp dword [esp + 0x14]
fld dword [esp + ecx + 0x3c]
fcomp dword [0x879dc4]
fnstsw ax
test ah, 5
jp 0x417205
fchs
fld dword [esp + 0x10]
fchs
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fchs
fstp dword [esp + 0x14]
fcom dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x41721a
mov dword [esp + 0x18], 0
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x41722f
mov dword [esp + 0x1c], 0
fld dword [esp + 0x10]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x417242
xor ebx, ebx
fld dword [esp + 0x10]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x417255
xor edi, edi
fld dword [esp + 0x14]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x417268
xor esi, esi
fld dword [esp + 0x14]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x41727b
xor edx, edx
fld dword [esp + ecx + 0x40]
fld dword [esp + ecx + 0x44]
fstp dword [esp + 0x10]
fld dword [esp + ecx + 0x48]
fstp dword [esp + 0x14]
fld dword [esp + ecx + 0x4c]
fcomp dword [0x879dc4]
fnstsw ax
test ah, 5
jp 0x4172b6
fchs
fld dword [esp + 0x10]
fchs
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fchs
fstp dword [esp + 0x14]
fcom dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x4172cb
mov dword [esp + 0x18], 0
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x4172e0
mov dword [esp + 0x1c], 0
fld dword [esp + 0x10]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x4172f3
xor ebx, ebx
fld dword [esp + 0x10]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x417306
xor edi, edi
fld dword [esp + 0x14]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x417319
xor esi, esi
fld dword [esp + 0x14]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x41732c
xor edx, edx
fld dword [esp + ecx + 0x50]
fld dword [esp + ecx + 0x54]
fstp dword [esp + 0x10]
fld dword [esp + ecx + 0x58]
fstp dword [esp + 0x14]
fld dword [esp + ecx + 0x5c]
fcomp dword [0x879dc4]
fnstsw ax
test ah, 5
jp 0x417367
fchs
fld dword [esp + 0x10]
fchs
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fchs
fstp dword [esp + 0x14]
fcom dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x41737c
mov dword [esp + 0x18], 0
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x417391
mov dword [esp + 0x1c], 0
fld dword [esp + 0x10]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x4173a4
xor ebx, ebx
fld dword [esp + 0x10]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x4173b7
xor edi, edi
fld dword [esp + 0x14]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x4173ca
xor esi, esi
fld dword [esp + 0x14]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x4173dd
xor edx, edx
fld dword [esp + ecx + 0x60]
fld dword [esp + ecx + 0x64]
fstp dword [esp + 0x10]
fld dword [esp + ecx + 0x68]
fstp dword [esp + 0x14]
fld dword [esp + ecx + 0x6c]
fcomp dword [0x879dc4]
fnstsw ax
test ah, 5
jp 0x417418
fchs
fld dword [esp + 0x10]
fchs
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fchs
fstp dword [esp + 0x14]
fcom dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x41742d
mov dword [esp + 0x18], 0
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x417442
mov dword [esp + 0x1c], 0
fld dword [esp + 0x10]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x417455
xor ebx, ebx
fld dword [esp + 0x10]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x417468
xor edi, edi
fld dword [esp + 0x14]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x41747b
xor esi, esi
fld dword [esp + 0x14]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x41748e
xor edx, edx
fld dword [esp + ecx + 0x70]
fld dword [esp + ecx + 0x74]
fstp dword [esp + 0x10]
fld dword [esp + ecx + 0x78]
fstp dword [esp + 0x14]
fld dword [esp + ecx + 0x7c]
fcomp dword [0x879dc4]
fnstsw ax
test ah, 5
jp 0x4174c9
fchs
fld dword [esp + 0x10]
fchs
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fchs
fstp dword [esp + 0x14]
fcom dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x4174de
mov dword [esp + 0x18], 0
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x4174f3
mov dword [esp + 0x1c], 0
fld dword [esp + 0x10]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x417506
xor ebx, ebx
fld dword [esp + 0x10]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x417519
xor edi, edi
fld dword [esp + 0x14]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x41752c
xor esi, esi
fld dword [esp + 0x14]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x41753f
xor edx, edx
fld dword [esp + ecx + 0x80]
fld dword [esp + ecx + 0x84]
fstp dword [esp + 0x10]
fld dword [esp + ecx + 0x88]
fstp dword [esp + 0x14]
fld dword [esp + ecx + 0x8c]
fcomp dword [0x879dc4]
fnstsw ax
test ah, 5
jp 0x417586
fchs
fld dword [esp + 0x10]
fchs
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fchs
fstp dword [esp + 0x14]
fcom dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x41759b
mov dword [esp + 0x18], 0
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x4175b0
mov dword [esp + 0x1c], 0
fld dword [esp + 0x10]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x4175c3
xor ebx, ebx
fld dword [esp + 0x10]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x4175d6
xor edi, edi
fld dword [esp + 0x14]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x4175e9
xor esi, esi
fld dword [esp + 0x14]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x4175fc
xor edx, edx
fld dword [esp + ecx + 0x90]
fld dword [esp + ecx + 0x94]
fstp dword [esp + 0x10]
fld dword [esp + ecx + 0x98]
fstp dword [esp + 0x14]
fld dword [esp + ecx + 0x9c]
fcomp dword [0x879dc4]
fnstsw ax
test ah, 5
jp 0x417643
fchs
fld dword [esp + 0x10]
fchs
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fchs
fstp dword [esp + 0x14]
fcom dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x417658
mov dword [esp + 0x18], 0
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x41766d
mov dword [esp + 0x1c], 0
fld dword [esp + 0x10]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x417680
xor ebx, ebx
fld dword [esp + 0x10]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x417693
xor edi, edi
fld dword [esp + 0x14]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x4176a6
xor esi, esi
fld dword [esp + 0x14]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x4176b9
xor edx, edx
fld dword [esp + ecx + 0xa0]
fld dword [esp + ecx + 0xa4]
fstp dword [esp + 0x10]
fld dword [esp + ecx + 0xa8]
fstp dword [esp + 0x14]
fld dword [esp + ecx + 0xac]
fcomp dword [0x879dc4]
fnstsw ax
test ah, 5
jp 0x417700
fchs
fld dword [esp + 0x10]
fchs
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fchs
fstp dword [esp + 0x14]
fcom dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x417715
mov dword [esp + 0x18], 0
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x41772a
mov dword [esp + 0x1c], 0
fld dword [esp + 0x10]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x41773d
xor ebx, ebx
fld dword [esp + 0x10]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x417750
xor edi, edi
fld dword [esp + 0x14]
fcomp dword [0x870e28]
fnstsw ax
test ah, 0x41
jne 0x417763
xor esi, esi
fld dword [esp + 0x14]
fcomp dword [0x87076c]
fnstsw ax
test ah, 5
jp 0x417776
xor edx, edx
mov eax, dword [esp + 0xbc]
add eax, 8
cmp eax, 8
mov dword [esp + 0xbc], eax
jl 0x4171c0
mov ecx, dword [esp + 0x18]
mov eax, edx
mov edx, dword [esp + 0x1c]
or eax, esi
or eax, edi
or eax, ebx
pop edi
or eax, edx
pop esi
or eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret