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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x329c
call fcn.1007d430
mov eax, dword [0x1008a2c0]
xor eax, esp
mov dword [esp + 0x3298], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [eax + 0x10]
push esi
mov esi, dword [eax + 8]
mov dword [esp + 0x7c], esi
mov esi, dword [edx + 0x10]
shr esi, 2
mov dword [esp + 0x14], esi
imul ecx, dword [esp + 0x14]
mov esi, dword [eax + 0x18]
push edi
mov edi, dword [eax + 0xc]
mov dword [esp + 0x38], esi
mov esi, dword [eax + 4]
mov eax, dword [edx + 0x18]
lea ecx, [eax + ecx*4]
shr ebx, 2
xor edx, edx
mov eax, 0x4000
div ebx
sub edi, dword [ebp + 0x10]
mov dword [esp + 0x54], esi
inc edi
mov dword [esp + 0x14], ebx
lea esi, [esp + 0xa0]
mov dword [esp + 0x84], edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x10048f4c
mov dword [esp + 0x1c], 1
jmp 0x10048f67
cmp eax, 0x640
jle 0x10048f67
mov edx, eax
lea eax, [edx*8]
push eax
call sub.MSVCR100.dll_malloc
add esp, 4
mov esi, eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x48], 0
test edi, edi
jle 0x100496eb
mov ecx, dword [esp + 0x1c]
fld qword [0x1007e228]
mov eax, ecx
imul eax, ebx
add eax, eax
add eax, eax
mov dword [esp + 0x9c], eax
mov eax, ecx
imul eax, dword [esp + 0x18]
add eax, eax
add eax, eax
mov dword [esp + 0x8c], eax
jmp 0x10048fbc
mov edi, dword [esp + 0x84]
sub edi, dword [esp + 0x48]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], edi
cmp edi, eax
jle 0x10048fd0
mov dword [esp + 0x10], eax
cmp dword [esp + 0x54], 0
jle 0x100496ba
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
lea ecx, [edx - 1]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x64]
sub ecx, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0x38], edx
mov ecx, dword [esp + 0x4c]
mov edx, 1
shl edx, cl
test dword [ebp + 0x14], edx
je 0x100496a2
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x88]
add ecx, eax
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], eax
test ecx, ecx
jle 0x1004903e
and ecx, 0x1fffffff
add ecx, ecx
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
cmp dword [esp + 0x80], 0
jle 0x100496a2
mov edx, dword [esp + 0x80]
mov dword [esp + 0x3c], edx
mov ecx, dword [ebp + 0x10]
mov ebx, dword [esp + 0x34]
add ecx, 0xfffffffc
xor eax, eax
test ecx, ecx
jle 0x100491ae
mov eax, dword [esp + 0x14]
mov ecx, eax
shl ecx, 4
mov dword [esp + 0x58], ecx
lea ecx, [eax*8]
add eax, eax
add eax, eax
sub eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x14]
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
sub eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x10]
add eax, 0xfffffffb
shr eax, 2
mov edx, ebx
inc eax
lea edi, [ecx + edx]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x24], eax
add eax, eax
add edx, 0x10
add eax, eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x40], eax
fld qword [edx - 0x10]
mov ecx, dword [esp + 0xc]
fld qword [edx - 8]
xor eax, eax
fst qword [esp + 0x90]
fld qword [edx]
fstp qword [esp + 0x70]
fld qword [edx + 8]
fstp qword [esp + 0x28]
fild dword [ebx]
fild dword [ecx + edi]
mov ecx, dword [esp + 0x78]
fild dword [edi]
add ecx, edi
cmp dword [esp + 0x10], eax
jle 0x10049187
fstp st(5)
jmp 0x10049102
fxch st(1)
fxch st(4)
fxch st(1)
fxch st(2)
mov edi, dword [esp + 0x14]
fild dword [ecx]
add edi, edi
add edi, edi
fild dword [edi + ecx]
mov edi, dword [esp + 0x14]
fld st(2)
add edi, edi
fmulp st(5)
add edi, edi
fxch st(3)
add edi, edi
add eax, 2
fmul st(5)
add ecx, edi
faddp st(4)
fld st(5)
fmul qword [esp + 0x70]
faddp st(4)
fld qword [esp + 0x28]
fmul st(1)
faddp st(4)
fxch st(3)
fadd qword [esi + eax*8 - 0x10]
fstp qword [esi + eax*8 - 0x10]
fmul st(3)
fld st(4)
fld qword [esp + 0x90]
fmul st(1), st(0)
fxch st(2)
faddp st(1)
fld st(3)
fmul qword [esp + 0x70]
faddp st(1)
fld st(2)
fmul qword [esp + 0x28]
faddp st(1)
fadd qword [esi + eax*8 - 8]
fstp qword [esi + eax*8 - 8]
cmp eax, dword [esp + 0x10]
jl 0x100490fa
mov edi, dword [esp + 0x20]
fstp st(4)
fstp st(1)
fstp st(0)
fstp st(0)
fstp st(0)
fld qword [0x1007e228]
jmp 0x10049191
fstp st(2)
fstp st(0)
fstp st(0)
fstp st(1)
fstp st(0)
mov eax, dword [esp + 0x58]
add edi, eax
add ebx, eax
add edx, 0x20
dec dword [esp + 0x24]
mov dword [esp + 0x20], edi
jne 0x100490bf
mov eax, dword [esp + 0x40]
mov ecx, dword [ebp + 0xc]
fld qword [ecx + eax*8]
mov edx, dword [esp + 0x14]
fld qword [ecx + eax*8 + 8]
mov edi, dword [esp + 0x6c]
fld qword [ecx + eax*8 + 0x10]
mov dword [esp + 0xc], ebx
fst qword [esp + 0x70]
fld qword [ecx + eax*8 + 0x18]
lea ecx, [ebx + edx*4]
fstp qword [esp + 0x28]
mov dword [esp + 0x58], ecx
fild dword [ebx]
fild dword [ecx]
lea ecx, [ebx + edx*8]
fild dword [ecx]
mov dword [esp + 0x40], ecx
mov ecx, dword [ebp + 0x10]
sub ecx, eax
cmp ecx, 4
jne 0x10049363
mov eax, dword [esp + 0x10]
lea ecx, [edx + edx*2]
lea edx, [ebx + ecx*4]
xor ebx, ebx
add eax, 0xfffffffe
mov dword [esp + 0xc], edx
js 0x10049318
mov ecx, dword [esp + 0x14]
fxch st(2)
mov eax, dword [esp + 0xc]
fstp qword [esp + 0x90]
add ecx, ecx
fst qword [esp + 0x58]
add ecx, ecx
fild dword [eax]
fild dword [ecx + eax]
fstp qword [esp + 0x40]
fxch st(1)
fmul st(4)
fld qword [esp + 0x90]
fmul st(6)
faddp st(1)
fld st(2)
fmulp st(4)
faddp st(3)
fld qword [esp + 0x28]
fmul st(1)
faddp st(3)
fxch st(2)
fadd qword [esi + ebx*8]
fstp qword [esp + 0x78]
fld qword [esp + 0x58]
fmul st(4)
fld st(1)
fmul st(4)
faddp st(1)
fld st(2)
fmul qword [esp + 0x70]
faddp st(1)
fld qword [esp + 0x40]
fmul qword [esp + 0x28]
faddp st(1)
fadd qword [esi + ebx*8 + 8]
fld qword [esp + 0x78]
fcom st(6)
fnstsw ax
test ah, 0x41
jne 0x1004928c
fstp st(0)
fld st(5)
jmp 0x100492a3
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x100492a3
fstp st(0)
fld qword [0x1007e220]
call fcn.1007d380
fcom st(5)
mov dword [edi], eax
fnstsw ax
test ah, 0x41
jne 0x100492b9
fstp st(0)
fld st(4)
jmp 0x100492ce
fld qword [0x1007e220]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100492cc
fstp st(1)
jmp 0x100492ce
fstp st(0)
call fcn.1007d380
fldz
mov ecx, dword [esp + 0x18]
mov dword [edi + ecx*4], eax
fst qword [esi + ebx*8]
mov eax, dword [esp + 0x14]
fstp qword [esi + ebx*8 + 8]
fld qword [esp + 0x40]
add eax, eax
fld qword [esp + 0x70]
add eax, eax
add eax, eax
fxch st(3)
add dword [esp + 0xc], eax
fxch st(1)
lea eax, [ecx*8]
add edi, eax
mov eax, dword [esp + 0x10]
add ebx, 2
add eax, 0xfffffffe
cmp ebx, eax
jle 0x1004920f
cmp ebx, dword [esp + 0x10]
jge 0x10049676
mov eax, dword [esp + 0xc]
fxch st(1)
fmulp st(4)
fxch st(1)
fmulp st(4)
fxch st(2)
faddp st(3)
fmulp st(1)
faddp st(1)
fild dword [eax]
fmul qword [esp + 0x28]
faddp st(1)
fadd qword [esi + ebx*8]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100495d7
fstp st(0)
fld st(0)
call fcn.1007d380
fldz
mov dword [edi], eax
fstp qword [esi + ebx*8]
jmp 0x10049688
xor ebx, ebx
fstp st(0)
cmp ecx, 3
jne 0x100494b8
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
add eax, 0xfffffffe
mov dword [esp + 0xc], ecx
mov dword [esp + 0x20], eax
js 0x10049479
mov edx, dword [esp + 0x18]
lea eax, [edx*8]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x14]
fst qword [esp + 0x58]
mov eax, dword [esp + 0xc]
fild dword [eax]
add ecx, ecx
add ecx, ecx
fild dword [ecx + eax]
fxch st(2)
fmul st(5)
fxch st(3)
fmul st(6)
faddp st(3)
fld st(0)
fmul st(4)
faddp st(3)
fxch st(2)
fadd qword [esi + ebx*8]
fstp qword [esp + 0x78]
fld qword [esp + 0x58]
fmul st(5)
fld st(2)
fmul st(5)
faddp st(1)
fld st(1)
fmul st(4)
faddp st(1)
fadd qword [esi + ebx*8 + 8]
fstp qword [esp + 0x28]
fld qword [esp + 0x78]
fcom st(6)
fnstsw ax
test ah, 0x41
jne 0x100493f3
fstp st(0)
fld st(5)
jmp 0x1004940a
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1004940a
fstp st(0)
fld qword [0x1007e220]
call fcn.1007d380
fxch st(5)
fcom qword [esp + 0x28]
mov dword [edi], eax
fnstsw ax
test ah, 5
jp 0x10049424
fst qword [esp + 0x28]
jmp 0x1004943f
fld qword [0x1007e220]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 0x41
jne 0x1004943f
fld qword [0x1007e220]
fstp qword [esp + 0x28]
fld qword [esp + 0x28]
call fcn.1007d380
fldz
mov ecx, dword [esp + 0x18]
mov dword [edi + ecx*4], eax
fst qword [esi + ebx*8]
mov eax, dword [esp + 0x14]
fstp qword [esi + ebx*8 + 8]
add edi, dword [esp + 0x24]
fxch st(5)
add eax, eax
add eax, eax
add eax, eax
add dword [esp + 0xc], eax
add ebx, 2
cmp ebx, dword [esp + 0x20]
jle 0x10049398
cmp ebx, dword [esp + 0x10]
jge 0x10049678
mov edx, dword [esp + 0xc]
fmulp st(3)
fmulp st(3)
fxch st(1)
faddp st(2)
fimul dword [edx]
faddp st(1)
fadd qword [esi + ebx*8]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100495d7
fstp st(0)
fld st(0)
call fcn.1007d380
fldz
mov dword [edi], eax
fstp qword [esi + ebx*8]
jmp 0x10049688
fstp st(0)
fstp st(1)
cmp ecx, 2
jne 0x10049609
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffffe
mov dword [esp + 0x20], eax
js 0x100495a0
mov ecx, dword [esp + 0x18]
lea edx, [ecx*8]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
fild dword [eax]
add ecx, ecx
add ecx, ecx
fild dword [ecx + eax]
fld st(1)
fmul st(4)
fxch st(3)
fmul st(5)
faddp st(3)
fxch st(2)
fadd qword [esi + ebx*8]
fxch st(1)
fmul st(4)
fld st(2)
fmul st(4)
faddp st(1)
fadd qword [esi + ebx*8 + 8]
fxch st(1)
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x1004952c
fstp st(0)
fld st(4)
jmp 0x10049541
fld qword [0x1007e220]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x1004953f
fstp st(1)
jmp 0x10049541
fstp st(0)
call fcn.1007d380
fcom st(4)
mov dword [edi], eax
fnstsw ax
test ah, 0x41
jne 0x10049557
fstp st(0)
fld st(3)
jmp 0x1004956c
fld qword [0x1007e220]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x1004956a
fstp st(1)
jmp 0x1004956c
fstp st(0)
call fcn.1007d380
fldz
mov ecx, dword [esp + 0x18]
mov dword [edi + ecx*4], eax
fst qword [esi + ebx*8]
mov eax, dword [esp + 0x14]
fstp qword [esi + ebx*8 + 8]
add edi, dword [esp + 0x24]
add eax, eax
add eax, eax
add eax, eax
add dword [esp + 0xc], eax
add ebx, 2
cmp ebx, dword [esp + 0x20]
jle 0x100494ed
cmp ebx, dword [esp + 0x10]
jge 0x10049682
mov edx, dword [esp + 0xc]
fild dword [edx]
fmulp st(2)
fmulp st(2)
faddp st(1)
fadd qword [esi + ebx*8]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100495d7
fstp st(0)
fld st(0)
call fcn.1007d380
fldz
mov dword [edi], eax
fstp qword [esi + ebx*8]
jmp 0x10049688
fld qword [0x1007e220]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100495f9
fstp st(1)
call fcn.1007d380
fldz
mov dword [edi], eax
fstp qword [esi + ebx*8]
jmp 0x10049688
fstp st(0)
call fcn.1007d380
fldz
mov dword [edi], eax
fstp qword [esi + ebx*8]
jmp 0x10049688
fstp st(0)
fstp st(0)
cmp dword [esp + 0x10], ebx
jle 0x10049686
mov eax, dword [esp + 0x18]
lea ecx, [eax*4]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0xc]
fild dword [edx]
fmul st(1)
fadd qword [esi + ebx*8]
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x1004963c
fstp st(0)
fld st(1)
jmp 0x10049651
fld qword [0x1007e220]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x1004964f
fstp st(1)
jmp 0x10049651
fstp st(0)
call fcn.1007d380
fldz
mov dword [edi], eax
fstp qword [esi + ebx*8]
mov eax, dword [esp + 0x14]
add edi, dword [esp + 0x40]
add eax, eax
add eax, eax
add dword [esp + 0xc], eax
inc ebx
cmp ebx, dword [esp + 0x10]
jl 0x10049622
jmp 0x10049686
fstp st(0)
fstp st(1)
fstp st(0)
fstp st(1)
fstp st(1)
jmp 0x10049686
fstp st(0)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x54]
add eax, eax
add eax, eax
add dword [esp + 0x34], eax
add dword [esp + 0x6c], eax
dec dword [esp + 0x3c]
jne 0x10049057
add dword [esp + 0x68], 4
mov eax, 1
sub dword [esp + 0x4c], eax
sub dword [esp + 0x38], eax
jne 0x10048fff
mov eax, dword [esp + 0x9c]
add dword [esp + 0x64], eax
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x8c]
add dword [esp + 0x50], ecx
mov dword [esp + 0x48], eax
cmp eax, dword [esp + 0x84]
jl 0x10048fb5
fstp st(0)
lea edx, [esp + 0xa0]
cmp esi, edx
je 0x100496ff
push esi
call sub.MSVCR100.dll_free
add esp, 4
mov ecx, dword [esp + 0x32a4]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.1007d356
mov esp, ebp
pop ebp
ret