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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x13c
mov ecx, dword [ebp + 0xc]
push ebx
fld dword [ecx + 0xdc]
mov ebx, eax
fld dword [ecx + 0xe0]
mov eax, 0x800000
cdq
idiv dword [ecx + 0xe4]
push esi
push edi
mov dword [esp + 0x20], pe_nt_image_headers32
mov esi, eax
mov eax, 0x800000
cdq
idiv dword [ecx + 0xe8]
mov edx, 3
cmp dword [ecx + 0x268], edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x28], eax
jne 0x3b25dd
mov dword [esp + 0x1c], edx
jmp 0x3b25e9
mov edx, esi
shr edx, 0x11
shr eax, 0x11
mov dword [esp + 0x1c], eax
fld st(1)
fmul dword [0x41bcc0]
fcomp dword [0x3f8290]
fnstsw ax
test ah, 1
jne 0x3b262a
fld dword [0x3f8290]
fdiv st(2)
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
or ah, 0xc
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
fldcw word [esp + 0x12]
fild dword [ebp + 0x18]
lea esi, [ebx + 0x88]
fnstcw word [esp + 0x12]
lea edi, [esp + 0xc0]
movzx eax, word [esp + 0x12]
fmul st(2)
or ah, 0xc
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
mov ecx, 0x22
fldcw word [esp + 0x12]
rep movsd dword es:[edi], dword [esi]
fild dword [ebp + 0x1c]
fnstcw word [esp + 0x12]
fmul st(1)
movzx eax, word [esp + 0x12]
or ah, 0xc
lea esi, [ebx + 0x1c8]
mov ecx, 0x22
lea edi, [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x248]
fldcw word [esp + 0x12]
lea ecx, [eax + eax*2]
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, eax
mov eax, dword [ecx*4 + 0x41c808]
and eax, 0xfc000
je 0x3b26eb
cmp eax, 0x4000
je 0x3b26d9
cmp eax, 0x30000
jne 0x3b26fb
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x14], 7
mov dword [esp + 0x24], 4
jmp 0x3b26fb
mov dword [esp + 0x14], 3
mov dword [esp + 0x24], 0xa
mov eax, dword [ebx + 0x284]
fnstcw word [esp + 0x12]
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebx + 0x140]
add esi, dword [ebp + 0x10]
mov edi, dword [ebx + 0x144]
add eax, ecx
mov dword [esp + 0x18], eax
movzx eax, word [esp + 0x12]
fild dword [esp + 0x18]
or ah, 0xc
add edi, ecx
mov ecx, dword [ebp + 0xc]
fmul st(1)
mov ecx, dword [ecx + 0x75c]
shl esi, 4
add esi, edx
mov edx, dword [ecx + 0x10160]
mov dword [esp + 0x18], eax
sub edx, 1
not edx
fldcw word [esp + 0x18]
shl edi, 4
add edi, dword [esp + 0x1c]
fistp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
and edx, eax
mov dword [esp + 0x18], eax
imul edx, dword [esp + 0x44]
fstp st(0)
fldcw word [esp + 0x12]
add dword [esp + 0x38], edx
fnstcw word [esp + 0x12]
mov edx, dword [ebx + 0x280]
mov ebx, dword [esp + 0x38]
adc dword [esp + 0x3c], 0
mov eax, dword [ecx + 0x10160]
add edx, dword [ebp + 0x10]
sub eax, 1
and dword [esp + 0x18], eax
movzx eax, word [esp + 0x12]
or ah, 0xc
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul st(1)
mov dword [esp + 0x1c], eax
fldcw word [esp + 0x1c]
fistp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
imul eax, dword [esp + 0x88]
fstp st(0)
fldcw word [esp + 0x12]
add ebx, eax
adc dword [esp + 0x3c], 0
mov dword [esp + 0x38], ebx
mov eax, dword [ecx + 0x1015c]
mov ecx, dword [esp + 0x3c]
cdq
push edx
push eax
push ecx
push ebx
call fcn.003f46b0
mov ecx, eax
mov eax, dword [esp + 0x88]
mov ebx, edx
cdq
push edx
push eax
push ebx
push ecx
call fcn.003f4610
mov ecx, dword [esp + 0x88]
mov edx, ecx
imul edx, eax
sub dword [esp + 0x38], edx
sbb dword [esp + 0x3c], 0
cmp ecx, 3
jne 0x3b2819
lea eax, [eax + eax*2]
lea esi, [esi + esi*2]
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
push 0
push 0
push 1
shr ecx, 0x10
push ecx
mov ecx, dword [esp + 0x44]
shr ecx, 0x10
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x34]
push edx
push eax
mov eax, dword [esp + 0x4c]
push edi
push esi
push 0
push 0
push eax
push ecx
mov ecx, dword [0x3fa0b8]
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0x104]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [eax + ecx*4 + fcn.000128ec]
add esp, 0x4c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret