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

Disassembly:
mov eax, 0x198c
call fcn.1007d430
mov eax, dword [0x1008a2c0]
xor eax, esp
mov dword [esp + 0x1988], eax
push ebx
push ebp
push esi
push edi
mov ebx, dword [esp + 0x19a4]
mov eax, dword [esp + 0x19a0]
mov ebp, dword [eax + 0x18]
mov edi, dword [eax + 8]
mov dword [esp + 0x94], edi
mov edi, dword [eax + 0x10]
shr edi, 2
mov dword [esp + 0x30], edi
mov edi, dword [edx + 0x10]
shr edi, 2
imul ecx, edi
mov dword [esp + 0x4c], ebp
mov ebp, dword [eax + 4]
mov dword [esp + 0x74], ebp
mov ebp, dword [eax + 0xc]
mov eax, dword [edx + 0x18]
lea ecx, [eax + ecx*4]
xor edx, edx
mov eax, 0x4000
div dword [esp + 0x30]
sub ebp, dword [esp + 0x19a8]
inc ebp
lea esi, [esp + 0x98]
mov dword [esp + 0x40], edi
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x50], ecx
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x10053346
mov dword [esp + 0x3c], 1
jmp 0x1005335f
cmp eax, 0x640
jle 0x10053363
lea edx, [eax*4]
push edx
call sub.MSVCR100.dll_malloc
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x60], 0
test ebp, ebp
jle 0x1005399a
fldz
mov ecx, eax
imul eax, edi
imul ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x60]
add ecx, ecx
add ecx, ecx
add eax, eax
add eax, eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0x90], eax
jmp 0x100533af
mov ebp, dword [esp + 0x6c]
mov eax, dword [esp + 0x3c]
sub ebp, edi
mov dword [esp + 0x18], ebp
cmp ebp, eax
jle 0x100533c3
mov ebp, eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x10053979
mov edi, dword [esp + 0x58]
lea ecx, [eax - 1]
sub edi, edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x50], eax
jmp 0x100533f7
mov edi, dword [esp + 0x8c]
mov eax, 1
shl eax, cl
test dword [esp + 0x19ac], eax
je 0x1005394a
add edi, edx
mov dword [esp + 0x48], edi
mov dword [esp + 0x54], edx
test ebp, ebp
jle 0x10053421
mov ecx, ebp
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x94]
test ecx, ecx
jle 0x1005394a
mov eax, dword [esp + 0x30]
lea edx, [eax*8]
lea edi, [eax*4]
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x19a8]
mov ecx, dword [esp + 0x48]
add eax, 0xfffffffc
xor ebp, ebp
mov dword [esp + 0x70], ecx
mov dword [esp + 0x44], eax
test eax, eax
jle 0x100535cd
mov eax, dword [esp + 0x30]
mov ebp, edi
sub ebp, edx
mov dword [esp + 0x84], ebp
mov ebp, dword [esp + 0x30]
lea ebp, [ebp + ebp*2]
add ebp, ebp
add ebp, ebp
sub ebp, edx
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x44]
dec ebp
shl eax, 4
shr ebp, 2
inc ebp
mov dword [esp + 0x64], eax
mov dword [esp + 0x44], ebp
mov eax, ecx
add eax, edx
add ebp, ebp
add ebx, 8
add ebp, ebp
mov dword [esp + 0x68], eax
mov dword [esp + 0x38], ebp
fld dword [ebx - 8]
mov ebp, dword [esp + 0x18]
fstp dword [esp + 0x14]
fld dword [ebx - 4]
fstp dword [esp + 0x2c]
fld dword [ebx]
fstp dword [esp + 0x24]
fld dword [ebx + 4]
fstp dword [esp + 0x34]
fld dword [ecx]
mov ecx, dword [esp + 0x84]
fstp dword [esp + 0x10]
fld dword [ecx + eax]
mov ecx, dword [esp + 0x5c]
fstp dword [esp + 0x1c]
add ecx, eax
fld dword [eax]
xor eax, eax
fstp dword [esp + 0x28]
test ebp, ebp
jle 0x1005359d
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fld dword [esp + 0x1c]
fld dword [esp + 0x28]
jmp 0x1005350b
fxch st(2)
fxch st(2)
add eax, 2
fstp dword [esp + 0x14]
fstp dword [esp + 0x20]
fstp dword [esp + 0x10]
fld dword [ecx]
fstp dword [esp + 0x1c]
fld dword [edi + ecx]
add ecx, edx
fstp dword [esp + 0x28]
fld dword [esp + 0x20]
fld st(0)
fmul dword [esp + 0x2c]
fld dword [esp + 0x14]
fmul st(3)
faddp st(1)
fld dword [esp + 0x10]
fld st(0)
fmul dword [esp + 0x24]
faddp st(2)
fld dword [esp + 0x1c]
fld st(0)
fmul dword [esp + 0x34]
faddp st(3)
fld dword [esi + eax*4 - 8]
faddp st(3)
fxch st(2)
fstp dword [esi + eax*4 - 8]
fld st(3)
fmulp st(3)
fld st(0)
fmul dword [esp + 0x2c]
faddp st(3)
fld st(1)
fmul dword [esp + 0x24]
faddp st(3)
fld dword [esp + 0x28]
fld st(0)
fmul dword [esp + 0x34]
faddp st(4)
fld dword [esi + eax*4 - 4]
faddp st(4)
fxch st(3)
fstp dword [esi + eax*4 - 4]
cmp eax, ebp
jl 0x10053509
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x70]
mov ebp, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
add ecx, ebp
add eax, ebp
add ebx, 0x10
dec dword [esp + 0x44]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], eax
jne 0x100534ae
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x19a4]
fld dword [ebx + ebp*4]
lea eax, [edi + ecx]
fstp dword [esp + 0x14]
mov dword [esp + 0x64], eax
fld dword [ebx + ebp*4 + 4]
mov dword [esp + 0x5c], ecx
fstp dword [esp + 0x2c]
fld dword [ebx + ebp*4 + 8]
fstp dword [esp + 0x24]
fld dword [ebx + ebp*4 + 0xc]
mov ebx, dword [esp + 0x19a8]
fstp dword [esp + 0x34]
sub ebx, ebp
fld dword [ecx]
mov ebp, dword [esp + 0x18]
fstp dword [esp + 0x10]
fld dword [eax]
lea eax, [edx + ecx]
fstp dword [esp + 0x1c]
mov dword [esp + 0x38], eax
fld dword [eax]
mov eax, dword [esp + 0x54]
fstp dword [esp + 0x28]
cmp ebx, 4
jne 0x10053743
mov ebx, dword [esp + 0x30]
fld dword [esp + 0x14]
fld dword [esp + 0x2c]
lea ebx, [ebx + ebx*2]
fld dword [esp + 0x10]
lea ebx, [ecx + ebx*4]
fld dword [esp + 0x1c]
xor ecx, ecx
add ebp, 0xfffffffe
fld dword [esp + 0x28]
jns 0x1005369a
fxch st(2)
fxch st(5)
fxch st(2)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
mov ebp, dword [esp + 0x18]
cmp ecx, ebp
jge 0x100539c9
fmulp st(2)
fxch st(4)
fmulp st(3)
faddp st(2)
fmul dword [esp + 0x24]
faddp st(1)
fld dword [ebx]
fmul dword [esp + 0x34]
faddp st(1)
fadd dword [esi + ecx*4]
fstp dword [eax]
fst dword [esi + ecx*4]
jmp 0x10053925
fxch st(1)
fxch st(5)
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
fxch st(2)
mov ebp, dword [esp + 0x40]
fstp dword [esp + 0x14]
add ecx, 2
fstp dword [esp + 0x20]
fstp dword [esp + 0x10]
fld dword [ebx]
fstp dword [esp + 0x1c]
fld dword [edi + ebx]
add ebx, edx
fstp dword [esp + 0x28]
fld dword [esp + 0x20]
fmul st(1)
fld dword [esp + 0x14]
fmul st(3)
faddp st(1)
fld dword [esp + 0x10]
fld st(0)
fmul dword [esp + 0x24]
faddp st(2)
fld dword [esp + 0x1c]
fld st(0)
fmul dword [esp + 0x34]
faddp st(3)
fld dword [esi + ecx*4 - 8]
faddp st(3)
fxch st(2)
fstp dword [eax]
fld dword [esp + 0x20]
fmul st(4)
fld st(1)
fmulp st(4)
faddp st(3)
fld st(1)
fmul dword [esp + 0x24]
faddp st(3)
fld dword [esp + 0x28]
fld st(0)
fmul dword [esp + 0x34]
faddp st(4)
fld dword [esi + ecx*4 - 4]
faddp st(4)
fxch st(3)
fstp dword [eax + ebp*4]
add ebp, ebp
add ebp, ebp
fxch st(4)
add ebp, ebp
fst dword [esi + ecx*4 - 8]
add eax, ebp
fst dword [esi + ecx*4 - 4]
mov ebp, dword [esp + 0x18]
fld dword [esp + 0x2c]
add ebp, 0xfffffffe
cmp ecx, ebp
jle 0x1005368c
jmp 0x1005365d
xor ecx, ecx
cmp ebx, 3
jne 0x1005383c
add ebp, 0xfffffffe
fld dword [esp + 0x14]
fld dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
fld dword [esp + 0x24]
js 0x10053805
fld dword [esp + 0x10]
fld dword [esp + 0x1c]
jmp 0x10053779
fxch st(1)
fxch st(5)
fxch st(1)
fxch st(2)
fxch st(1)
mov ebp, dword [esp + 0x40]
fstp dword [esp + 0x14]
add ecx, 2
fstp dword [esp + 0x20]
fld dword [ebx]
fstp dword [esp + 0x10]
fld dword [edi + ebx]
add ebx, edx
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fmul st(2)
fld dword [esp + 0x14]
fmul st(4)
faddp st(1)
fld dword [esp + 0x10]
fld st(0)
fmul st(3)
faddp st(2)
fld dword [esi + ecx*4 - 8]
faddp st(2)
fxch st(1)
fstp dword [eax]
fld dword [esp + 0x20]
fmul st(4)
fld st(1)
fmul st(4)
faddp st(1)
fld dword [esp + 0x1c]
fld st(0)
fmulp st(4)
fxch st(1)
faddp st(3)
fld dword [esi + ecx*4 - 4]
faddp st(3)
fxch st(2)
fstp dword [eax + ebp*4]
add ebp, ebp
add ebp, ebp
fxch st(4)
add ebp, ebp
fst dword [esi + ecx*4 - 8]
add eax, ebp
fst dword [esi + ecx*4 - 4]
mov ebp, dword [esp + 0x18]
fld dword [esp + 0x24]
add ebp, 0xfffffffe
cmp ecx, ebp
jle 0x10053771
jmp 0x10053813
fld dword [esp + 0x1c]
fld dword [esp + 0x10]
fxch st(5)
fxch st(1)
fxch st(2)
mov ebp, dword [esp + 0x18]
cmp ecx, ebp
jge 0x100539d6
fxch st(2)
fmulp st(3)
fxch st(4)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [ebx]
faddp st(1)
fadd dword [esi + ecx*4]
fstp dword [eax]
fst dword [esi + ecx*4]
jmp 0x10053925
cmp ebx, 2
jne 0x100538e8
add ebp, 0xfffffffe
fld dword [esp + 0x14]
fld dword [esp + 0x2c]
mov ebx, dword [esp + 0x64]
fld dword [esp + 0x10]
jns 0x1005387f
fxch st(3)
mov ebp, dword [esp + 0x18]
cmp ecx, ebp
jge 0x100539e3
fxch st(3)
fmulp st(2)
fmul dword [ebx]
faddp st(1)
fadd dword [esi + ecx*4]
fstp dword [eax]
fst dword [esi + ecx*4]
jmp 0x10053925
fxch st(3)
fstp dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
fld dword [ebx]
add ecx, 2
fstp dword [esp + 0x20]
fld dword [edi + ebx]
add ebx, edx
fstp dword [esp + 0x10]
fld dword [esp + 0x20]
fld st(0)
fmul st(2)
fld dword [esp + 0x14]
fmul st(4)
faddp st(1)
fadd dword [esi + ecx*4 - 8]
fstp dword [eax]
fmul st(2)
fld dword [esp + 0x10]
fld st(0)
fmul st(3)
faddp st(2)
fld dword [esi + ecx*4 - 4]
faddp st(2)
fxch st(1)
fstp dword [eax + ebp*4]
add ebp, ebp
add ebp, ebp
fxch st(3)
add ebp, ebp
fst dword [esi + ecx*4 - 8]
add eax, ebp
fst dword [esi + ecx*4 - 4]
mov ebp, dword [esp + 0x18]
add ebp, 0xfffffffe
cmp ecx, ebp
jle 0x1005387d
jmp 0x1005385c
test ebp, ebp
jle 0x10053925
mov ebx, dword [esp + 0x40]
fld dword [esp + 0x14]
add ebx, ebx
add ebx, ebx
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x5c]
jmp 0x10053904
fxch st(1)
fld dword [ebx]
mov ebp, dword [esp + 0x18]
fmul st(1)
inc ecx
add ebx, edi
fadd dword [esi + ecx*4 - 4]
fstp dword [eax]
add eax, dword [esp + 0x38]
fxch st(1)
fst dword [esi + ecx*4 - 4]
cmp ecx, ebp
jl 0x10053902
fstp st(1)
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x19a4]
add eax, eax
add eax, eax
add dword [esp + 0x48], eax
add dword [esp + 0x54], eax
dec dword [esp + 0x78]
jne 0x10053446
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
dec ecx
add edx, 4
dec dword [esp + 0x50]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], edx
jne 0x100533f0
mov ecx, dword [esp + 0x88]
mov edi, dword [esp + 0x60]
mov edx, dword [esp + 0x4c]
add edx, dword [esp + 0x90]
add dword [esp + 0x58], ecx
add edi, ebp
mov dword [esp + 0x4c], edx
mov dword [esp + 0x60], edi
cmp edi, dword [esp + 0x6c]
jl 0x100533ab
fstp st(0)
lea edx, [esp + 0x98]
cmp esi, edx
je 0x100539ae
push esi
call sub.MSVCR100.dll_free
add esp, 4
mov ecx, dword [esp + 0x1998]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.1007d356
add esp, 0x198c
ret
fstp st(5)
fstp st(1)
fstp st(1)
fstp st(1)
jmp 0x10053923
fstp st(5)
fstp st(1)
fstp st(2)
fstp st(0)
jmp 0x10053923
fstp st(3)
fstp st(1)
fstp st(0)
jmp 0x10053925