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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov eax, dword [esp + 0x7c]
cmp dword [esp + 0x78], eax
mov esi, dword [esp + 0x90]
jge 0xb3dc3e
movzx ecx, byte [esp + 0x6c]
mov eax, 1
shl eax, cl
mov edi, eax
mov eax, dword [esp + 0x78]
add eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x70]
imul eax, dword [esp + 0x78]
add eax, dword [esp + 0x68]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0x20]
lea edx, [ecx + 2]
mov dword [esp + 0x38], edx
movsx edx, word [eax + ecx + 2]
movsx eax, word [eax + ecx]
mov ecx, dword [esp + 0x78]
sub edx, eax
mov eax, dword [esp + 0x8c]
mov ebx, edx
mov dword [esp + 0x14], edx
xor edx, edx
mov eax, dword [eax + ecx*4]
movzx ecx, byte [esp + 0x6c]
add eax, 1
div ebx
shr eax, cl
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fld dword [0xe034d0]
fmulp st(1)
fld qword [0xe034c8]
fmulp st(1)
fstp qword [esp]
call sub.msvcrt.dll_exp
fstp dword [esp + 0x3c]
movzx ecx, byte [esp + 0x6c]
mov edx, ebx
fld dword [esp + 0x3c]
fmul dword [0xe034d4]
shl edx, cl
mov dword [esp + 0x34], edx
fstp dword [esp + 0x2c]
fild dword [esp + 0x34]
fld st(0)
fsqrt
fldz
fucomp st(2)
fnstsw ax
sahf
jbe 0xb3da88
fstp qword [esp + 0x18]
fstp qword [esp]
call sub.msvcrt.dll_sqrt
fstp st(0)
fld qword [esp + 0x18]
jmp 0xb3da8a
fstp st(1)
fstp dword [esp + 0x3c]
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], 0
fld dword [esp + 0x3c]
fdivr dword [0xe0349c]
fstp dword [esp + 0x30]
lea esi, [esi]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x84]
imul edx, ecx
add edx, dword [esp + 0x78]
cmp dword [esp + 0x70], 1
fld dword [eax + edx*4]
mov eax, dword [esp + 0x88]
fld dword [eax + edx*4]
je 0xb3dcb0
jmp 0xb3daf0
fstp st(2)
fxch st(1)
mov esi, esi
lea edi, [edi]
mov eax, dword [esp + 0x80]
fld dword [eax + edx*4]
fxch st(1)
fucom st(2)
fnstsw ax
sahf
jbe 0xb3db09
fstp st(0)
fxch st(1)
jmp 0xb3db0d
fstp st(2)
fxch st(1)
fsubp st(1)
fldz
fucomp st(1)
fnstsw ax
sahf
ja 0xb3dcf1
fchs
fld qword [0xe034c8]
fmulp st(1)
fstp qword [esp]
call sub.msvcrt.dll_exp
cmp dword [esp + 0x6c], 3
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fadd st(0)
je 0xb3dc6b
fld dword [esp + 0x2c]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
jbe 0xb3db54
fstp st(0)
jmp 0xb3db56
fstp st(1)
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x28]
fmul dword [esp + 0x30]
mov eax, dword [eax + 0x20]
movsx eax, word [eax + ecx]
movzx ecx, byte [esp + 0x6c]
shl eax, cl
add eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x64]
test edi, edi
lea ebp, [ecx + eax*4]
jle 0xb3dbf4
fld st(0)
xor edx, edx
xor ecx, ecx
fchs
mov esi, esi
lea edi, [edi]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
movzx eax, byte [eax + ebx]
sar eax, cl
and eax, 1
jne 0xb3dbe3
mov edx, dword [esp + 0x14]
test edx, edx
jle 0xb3dbde
xor edx, edx
lea esi, [esi]
imul esi, esi, 0x19660d
lea ebx, [edx + ecx]
fld st(1)
lea ebx, [ebp + ebx*4]
add esi, 0x3c6ef35f
test esi, 0x8000
jne 0xb3dbd1
fstp st(0)
fld st(0)
add eax, 1
add edx, edi
cmp dword [esp + 0x14], eax
fstp dword [ebx]
jne 0xb3dbb0
mov edx, 1
add ecx, 1
cmp ecx, edi
jne 0xb3db90
fstp st(0)
fstp st(0)
test edx, edx
jne 0xb3dc46
jmp 0xb3dc00
fstp st(0)
lea esi, [esi]
lea edi, [edi]
add dword [esp + 0x18], 1
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x18]
add dword [esp + 0x24], edx
cmp dword [esp + 0x70], eax
jg 0xb3dab0
mov eax, dword [esp + 0x38]
add dword [esp + 0x78], 1
mov ecx, dword [esp + 0x70]
add dword [esp + 0x20], ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x78]
cmp dword [esp + 0x7c], eax
jne 0xb3d9e5
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x94]
mov dword [esp + 8], 0x3f800000
mov dword [esp], ebp
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.00b4b780
jmp 0xb3dc00
fmul dword [0xe034d8]
fld dword [esp + 0x2c]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
sahf
jbe 0xb3db56
fstp st(0)
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x28]
fld dword [esp + 0x2c]
mov eax, dword [eax + 0x20]
fmul dword [esp + 0x30]
movsx eax, word [eax + ecx]
mov ecx, dword [esp + 0x24]
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x64]
lea ebp, [ecx + eax*4]
jmp 0xb3db7f
add ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x84]
fld dword [eax + ecx*4]
fxch st(2)
fucom st(2)
fnstsw ax
sahf
ja 0xb3dccd
fstp st(0)
fxch st(1)
jmp 0xb3dcd1
fstp st(2)
fxch st(1)
mov eax, dword [esp + 0x88]
fld dword [eax + ecx*4]
fxch st(2)
fucom st(2)
fnstsw ax
sahf
ja 0xb3dae3
fstp st(0)
fxch st(1)
jmp 0xb3daf0
fstp st(0)
fldz
fchs
jmp 0xb3db26