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

Disassembly:
sub esp, 0x1d0
push ebx
mov ebx, dword [esp + 0x1e4]
push ebp
push esi
push edi
mov edi, dword [esp + 0x1e8]
mov ebp, ecx
mov dword [esp + 0x14], 0
test ebx, ebx
jle 0x10038fa0
mov eax, dword [esp + 0x1e4]
mov edx, dword [esp + 0x1ec]
sub eax, edi
sub edx, edi
mov ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
jmp 0x10038f68
mov eax, dword [esp + 0x18]
mov eax, dword [eax + ecx]
mov esi, dword [ecx]
sub eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x100
jg 0x10038fa0
mov edx, dword [esp + 0x1c]
mov eax, esi
sub eax, dword [edx + ecx]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x100
jg 0x10038fa0
mov eax, dword [esp + 0x14]
inc eax
add ecx, 4
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x10038f64
cmp dword [esp + 0x14], ebx
je 0x1003922c
cmp dword [esp + 0x1f4], 6
je 0x1003922c
fld qword [esp + 0x1f8]
fld st(0)
fld qword [esp + 0x208]
fadd st(1), st(0)
fld qword [0x1026bd40]
fmul st(2), st(0)
fxch st(2)
fst qword [esp + 0x40]
fld qword [esp + 0x200]
fld st(0)
fld qword [esp + 0x210]
fadd st(1), st(0)
fxch st(1)
fmul st(5)
fst qword [esp + 0x58]
fld qword [esp + 0x218]
fadd st(5), st(0)
fxch st(5)
fmul st(6)
fstp qword [esp + 0x20]
fld qword [esp + 0x220]
fadd st(2), st(0)
fxch st(2)
fmul st(6)
fstp qword [esp + 0x30]
fld st(6)
faddp st(5)
fxch st(4)
fmul st(5)
fst qword [esp + 0x48]
fld st(2)
faddp st(2)
fxch st(1)
fmulp st(5)
fxch st(4)
fst qword [esp + 0x50]
test ebx, ebx
jle 0x100390d1
mov edx, dword [esp + 0x1ec]
lea eax, [esp + 0xe0]
sub eax, edi
sub edx, edi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x1c], edx
lea esi, [esp + 0x60]
sub esi, edi
sub eax, edi
lea edx, [esp + 0x160]
sub edx, edi
mov ecx, edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], ebx
jmp 0x10039084
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
mov edi, dword [ecx + eax]
mov ebx, dword [ecx]
lea eax, [edi + ebx]
cdq
sub eax, edx
sar eax, 1
mov dword [esi + ecx], eax
mov eax, dword [esp + 0x1c]
mov esi, dword [ecx + eax]
lea eax, [esi + ebx]
cdq
sub eax, edx
mov edx, dword [esp + 0x38]
sar eax, 1
mov dword [edx + ecx], eax
lea eax, [esi + edi]
cdq
sub eax, edx
mov edx, dword [esp + 0x2c]
sar eax, 1
mov dword [edx + ecx], eax
add ecx, 4
sub dword [esp + 0x14], 1
jne 0x1003907c
mov ebx, dword [esp + 0x1f0]
mov edi, dword [esp + 0x1e8]
mov esi, dword [esp + 0x1f4]
sub esp, 0x30
fstp qword [esp + 0x28]
mov edx, dword [esp + 0x214]
fxch st(3)
inc esi
fstp qword [esp + 0x20]
lea eax, [esp + 0x190]
fxch st(1)
lea ecx, [esp + 0x90]
fstp qword [esp + 0x18]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
push esi
push ebx
push eax
push ecx
push edx
mov ecx, ebp
call fcn.10038f20
fld qword [esp + 0x30]
sub esp, 0x30
fstp qword [esp + 0x28]
lea eax, [esp + 0x110]
fld qword [esp + 0x50]
lea ecx, [esp + 0x90]
fstp qword [esp + 0x20]
fld qword [esp + 0x240]
fstp qword [esp + 0x18]
fld qword [esp + 0x238]
fstp qword [esp + 0x10]
fld qword [esp + 0x88]
fstp qword [esp + 8]
fld qword [esp + 0x70]
fstp qword [esp]
push esi
push ebx
push eax
push edi
push ecx
mov ecx, ebp
call fcn.10038f20
fld qword [esp + 0x50]
sub esp, 0x30
fstp qword [esp + 0x28]
lea edx, [esp + 0x190]
fld qword [esp + 0x78]
lea eax, [esp + 0x110]
fstp qword [esp + 0x20]
lea ecx, [esp + 0x90]
fld qword [esp + 0x60]
fstp qword [esp + 0x18]
fld qword [esp + 0x50]
fstp qword [esp + 0x10]
fld qword [esp + 0x88]
fstp qword [esp + 8]
fld qword [esp + 0x70]
fstp qword [esp]
push esi
push ebx
push edx
push eax
push ecx
mov ecx, ebp
call fcn.10038f20
fld qword [esp + 0x220]
sub esp, 0x30
fstp qword [esp + 0x28]
fld qword [esp + 0x248]
fstp qword [esp + 0x20]
fld qword [esp + 0x60]
fstp qword [esp + 0x18]
fld qword [esp + 0x50]
fstp qword [esp + 0x10]
fld qword [esp + 0x80]
fstp qword [esp + 8]
fld qword [esp + 0x78]
fstp qword [esp]
push esi
push ebx
mov edx, dword [esp + 0x224]
push edx
lea eax, [esp + 0x11c]
push eax
lea ecx, [esp + 0x1a0]
push ecx
mov ecx, ebp
call fcn.10038f20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1d0
ret 0x44
mov edi, dword [ebp + 0x20]
mov esi, dword [esp + 0x1e4]
add edi, 0xe0
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x20]
mov edx, dword [edx + 0x80]
push eax
call edx
mov eax, dword [ebp + 0x20]
fld qword [esp + 0x200]
sub esp, 0x10
fst qword [eax + 0x2c8]
fld qword [esp + 0x208]
fst qword [eax + 0x2c0]
mov eax, dword [eax + 0x2bc]
fstp qword [eax + 8]
mov dword [eax + 4], 1
fstp qword [eax + 0x10]
mov eax, dword [ebp + 0x20]
fld qword [esp + 0x220]
mov ecx, dword [eax + 0x2bc]
fst qword [eax + 0x2c8]
fld qword [esp + 0x218]
fst qword [eax + 0x2c0]
fxch st(1)
fstp qword [esp + 8]
fstp qword [esp]
call fcn.10050d80
mov eax, dword [ebp + 0x20]
fld qword [esp + 0x220]
mov ecx, dword [eax + 0x2bc]
fst qword [eax + 0x2c8]
fld qword [esp + 0x218]
sub esp, 0x10
fst qword [eax + 0x2c0]
fxch st(1)
fstp qword [esp + 8]
fstp qword [esp]
call fcn.10050d80
mov esi, dword [ebp + 0x20]
mov ebx, dword [esi + 0x2bc]
call fcn.10050f60
mov eax, dword [esi + 0x2bc]
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
mov ecx, dword [edx + ecx*4 - 4]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx]
fld qword [ecx + edx*8 - 8]
fstp qword [esi + 0x2c0]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + edx*4 - 4]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 4]
fld qword [edx + ecx*8 - 8]
fstp qword [esi + 0x2c8]
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x1003933f
cmp dword [eax], 0
jne 0x10039350
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov edx, dword [ebp + 0x20]
mov eax, dword [eax + 0xc8]
push edx
call eax
mov edi, dword [ebp + 0x20]
call fcn.10051ad0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1d0
ret 0x44