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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x3b74
call fcn.1007d430
mov eax, dword [0x1008a2c0]
xor eax, esp
mov dword [esp + 0x3b70], eax
push ebx
push esi
push edi
mov eax, dword [ebp + 0x1c]
fld qword [0x1007e250]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x38], eax
mov esi, dword [ebp + 0xc]
lea eax, [esp + 0x178]
mov dword [esp + 0x74], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0xa4], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x10]
shr eax, 1
lea edx, [esp + 0xf8]
mov dword [esp + 0xe4], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0xa0], edx
lea edx, [esp + 0x978]
shr eax, 1
mov dword [esp + 0xb4], edx
mov edx, dword [esi + 8]
mov dword [esp + 0xec], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x64], ecx
mov ecx, dword [ebp + 0x2c]
xor ebx, ebx
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x58], edx
mov edx, dword [esi + 0x18]
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xf0], edx
mov dword [esp + 0xf4], eax
cmp ecx, 0x1e
jle 0x100427b7
fstp st(0)
sub ecx, 0x1e
fld qword [0x1007e278]
mov edx, 1
imul edi, dword [ebp + 0x14]
shl edx, cl
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fdivp st(1)
fst qword [esp + 0xd0]
cmp edi, 0x100
jle 0x10042800
lea eax, [edi*8]
fstp st(0)
push eax
call sub.MSVCR100.dll_malloc
add esp, 4
mov dword [esp + 0x74], eax
cmp eax, ebx
je 0x10042928
fld qword [esp + 0xd0]
xor ebx, ebx
cmp edi, 4
jl 0x1004284b
mov ecx, dword [esp + 0x74]
mov eax, dword [ebp + 0x10]
lea edx, [edi - 4]
shr edx, 2
add ecx, 0x10
add eax, 8
inc edx
lea ebx, [edx*4]
fild dword [eax - 8]
add eax, 0x10
add ecx, 0x20
dec edx
fmul st(1)
fstp qword [ecx - 0x30]
fild dword [eax - 0x14]
fmul st(1)
fstp qword [ecx - 0x28]
fild dword [eax - 0x10]
fmul st(1)
fstp qword [ecx - 0x20]
fild dword [eax - 0xc]
fmul st(1)
fstp qword [ecx - 0x18]
jne 0x10042822
cmp ebx, edi
jge 0x10042864
mov ecx, dword [esp + 0x74]
mov eax, dword [ebp + 0x10]
fild dword [eax + ebx*4]
inc ebx
fmul st(1)
fstp qword [ecx + ebx*8 - 8]
cmp ebx, edi
jl 0x10042856
mov eax, dword [ebp + 0x14]
fstp st(0)
cmp eax, 1
jne 0x100428be
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
mov edi, dword [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x24]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x74]
push edi
push esi
call fcn.10041a50
lea edx, [esp + 0x190]
add esp, 0x18
mov esi, eax
cmp edi, edx
je 0x100428a7
push edi
call sub.MSVCR100.dll_free
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x3b70]
xor ecx, esp
call fcn.1007d356
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x58]
lea edi, [ecx + eax - 1]
mov ecx, dword [esp + 0x20]
lea esi, [ecx + 3]
imul esi, edi
cmp esi, 0x640
jg 0x100428dd
cmp ecx, 0xf
jle 0x10042950
mov edx, ecx
add edx, esi
lea eax, [edx*8 + 8]
push eax
call sub.MSVCR100.dll_malloc
add esp, 4
mov dword [esp + 0xb4], eax
test eax, eax
jne 0x10042942
lea ecx, [esp + 0x978]
test ecx, ecx
je 0x10042910
push eax
call sub.MSVCR100.dll_free
add esp, 4
mov eax, dword [esp + 0x74]
lea edx, [esp + 0x178]
cmp eax, edx
je 0x10042928
push eax
call sub.MSVCR100.dll_free
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x3b70]
xor ecx, esp
call fcn.1007d356
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x20]
lea eax, [eax + esi*8]
mov dword [esp + 0xa0], eax
mov edx, dword [esp + 0xa0]
inc ecx
xor eax, eax
test ecx, ecx
jle 0x1004297a
mov esi, dword [esp + 0xb4]
lea ebx, [edi*8]
lea esp, [esp]
mov dword [edx + eax*4], esi
inc eax
add esi, ebx
cmp eax, ecx
jl 0x10042970
xor eax, eax
test ecx, ecx
jle 0x10042995
mov esi, dword [esp + 0x20]
lea esi, [edx + esi*4 + 4]
mov ebx, dword [edx + eax*4]
mov dword [esi], ebx
inc eax
add esi, 4
cmp eax, ecx
jl 0x10042988
mov ecx, dword [esp + 0x20]
mov ebx, dword [edx + ecx*4]
lea eax, [edi*8]
add ebx, eax
add eax, ebx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x38]
add eax, dword [ebp + 0x20]
mov dword [esp + 0xb0], 0
sub edi, eax
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x50], edi
jle 0x1004416e
jmp 0x100429e0
mov ecx, dword [esp + 0x1c]
sub ecx, dword [esp + 0xb0]
mov edx, 1
dec ecx
shl edx, cl
test dword [ebp + 0x30], edx
je 0x10044155
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
lea esi, [ecx + eax*2]
lea eax, [edx + eax*2]
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
cmp dword [esp + 0x20], eax
jle 0x10042c9b
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xa0]
mov edi, dword [edx + eax*4]
xor eax, eax
mov dword [esp + 0x14], edi
cmp ecx, 4
jl 0x10042aa5
lea eax, [ecx - 4]
shr eax, 2
inc eax
mov dword [esp + 0x2c], eax
add eax, eax
lea edx, [edi + 0x10]
add eax, eax
lea ebx, [ebx]
movsx ecx, word [esi]
mov dword [esp + 0x18], ecx
add edx, 0x20
dec dword [esp + 0x2c]
fild dword [esp + 0x18]
fstp qword [edx - 0x30]
movsx ecx, word [esi]
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fstp qword [edx - 0x28]
movsx ecx, word [esi]
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fstp qword [edx - 0x20]
movsx ecx, word [esi]
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fstp qword [edx - 0x18]
jne 0x10042a60
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x10042ac4
lea esp, [esp]
movsx edx, word [esi]
mov dword [esp + 0x18], edx
inc eax
fild dword [esp + 0x18]
fstp qword [edi + eax*8 - 8]
cmp eax, ecx
jl 0x10042ab0
xor edx, edx
cmp dword [esp + 0x50], 4
jl 0x10042b7f
mov edx, dword [esp + 0x1c]
lea eax, [edi + ecx*8]
mov ecx, dword [esp + 0x1c]
lea edi, [ecx + ecx*2]
lea edi, [esi + edi*2]
mov dword [esp + 0x48], edi
lea edi, [esi + ecx*4]
add ecx, ecx
add ecx, esi
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x50]
add edx, edx
add ecx, 0xfffffffc
add edx, edx
shr ecx, 2
add edx, edx
inc ecx
mov dword [esp + 0x4c], edi
lea edi, [ecx*4]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x5c]
movsx edi, word [edi]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x54]
add dword [esp + 0x5c], edx
fild dword [esp + 0x18]
add dword [esp + 0x54], edx
add eax, 0x20
fstp qword [eax - 0x20]
movsx edi, word [edi]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x4c]
add dword [esp + 0x4c], edx
fild dword [esp + 0x18]
fstp qword [eax - 0x18]
movsx edi, word [edi]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x48]
add dword [esp + 0x48], edx
dec ecx
fild dword [esp + 0x18]
fstp qword [eax - 0x10]
movsx edi, word [edi]
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
fstp qword [eax - 8]
jne 0x10042b15
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
cmp edx, dword [esp + 0x50]
jge 0x10042bce
mov eax, edx
imul eax, dword [esp + 0x1c]
lea eax, [esi + eax*2]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x50]
add ecx, edx
lea ecx, [edi + ecx*8]
sub eax, edx
jmp 0x10042ba4
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x5c]
movsx edx, word [edx]
mov dword [esp + 0x18], edx
add ecx, 8
fild dword [esp + 0x18]
mov dword [esp + 0x18], ecx
fstp qword [ecx - 8]
mov ecx, dword [esp + 0x1c]
add ecx, ecx
add dword [esp + 0x5c], ecx
dec eax
jne 0x10042ba0
mov ecx, dword [esp + 0x38]
cmp dword [ebp + 0x20], 4
mov dword [esp + 0x24], 0
jl 0x10042c26
mov eax, dword [ebp + 0x20]
add ecx, dword [esp + 0x50]
add eax, 0xfffffffc
shr eax, 2
lea edi, [edi + ecx*8]
inc eax
lea ecx, [eax*4]
mov edx, edi
mov dword [esp + 0x24], ecx
lea ebx, [ebx]
fld qword [edi - 8]
add edx, 0x20
dec eax
fstp qword [edx - 0x20]
fld qword [edi - 8]
fstp qword [edx - 0x18]
fld qword [edi - 8]
fstp qword [edx - 0x10]
fld qword [edi - 8]
fstp qword [edx - 8]
jne 0x10042c00
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
cmp edx, dword [ebp + 0x20]
jge 0x10042c5f
mov eax, dword [esp + 0x50]
add eax, ecx
add eax, edx
lea edx, [edi + eax*8]
mov eax, dword [ebp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x50]
add edx, ecx
fld qword [edi + edx*8 - 8]
mov edx, dword [esp + 0x2c]
fstp qword [edx]
add edx, 8
dec eax
mov dword [esp + 0x2c], edx
jne 0x10042c45
mov eax, dword [esp + 0x44]
cmp eax, dword [ebp + 0x24]
jl 0x10042c88
mov edx, dword [esp + 0x20]
sub edx, dword [ebp + 0x28]
mov edi, dword [esp + 0xa4]
lea edx, [edx + edi - 2]
cmp eax, edx
jge 0x10042c88
mov edx, dword [esp + 0xe4]
lea esi, [esi + edx*2]
inc eax
mov dword [esp + 0x44], eax
cmp eax, dword [esp + 0x20]
jl 0x10042a33
mov dword [esp + 0x48], esi
xor esi, esi
mov dword [esp + 0x5c], esi
cmp dword [esp + 0x58], esi
jle 0x10042cbb
mov esi, dword [esp + 0x58]
mov ecx, esi
and ecx, 0x1fffffff
add ecx, ecx
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
cmp dword [esp + 0xa4], 0
mov dword [esp + 0x18], 0
jle 0x10044155
mov eax, dword [esp + 0xa4]
sub eax, dword [ebp + 0x28]
add eax, 0xfffffffe
mov dword [esp + 0xe8], eax
jmp 0x10042cf0
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x5c]
lea eax, [ecx + edx*4]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x64], eax
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x44], 0
test ecx, ecx
jle 0x10043db3
jmp 0x10042d30
cmp dword [ebp + 0x14], 0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x44]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], 0
jle 0x10043da0
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffffe
jmp 0x10042d60
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
lea edi, [eax + esi*8]
mov eax, dword [ebp + 0x14]
mov edx, eax
sub edx, esi
mov dword [esp + 0x24], edx
cmp edx, 0xe
jle 0x10042d85
mov dword [esp + 0x24], 7
jmp 0x10042d98
cmp edx, 7
jle 0x10042d9c
mov eax, edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x14]
mov edx, dword [esp + 0x24]
fld qword [edi]
add esi, edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x2c], esi
cmp edx, 7
jne 0x10043164
mov edx, dword [esp + 0x54]
fld qword [edi + 8]
fld qword [edi + 0x10]
fld qword [edi + 0x18]
fld qword [edi + 0x20]
fld qword [edi + 0x28]
fstp qword [esp + 0xc8]
fld qword [edx]
fst qword [esp + 0xd8]
fld qword [edx + 8]
fstp qword [esp + 0xc0]
fld qword [edx + 0x10]
fstp qword [esp + 0x88]
fld qword [edx + 0x18]
fstp qword [esp + 0x68]
fld qword [edx + 0x20]
fstp qword [esp + 0x90]
fld qword [edx + 0x28]
fstp qword [esp + 0xa8]
fld qword [edx + 0x30]
mov edx, dword [esp + 0x20]
dec edx
fstp qword [esp + 0xd0]
cmp dword [esp + 0x44], edx
jl 0x10043058
cmp esi, eax
jl 0x10043058
xor esi, esi
test ecx, ecx
js 0x10043ec4
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x48]
add edx, edx
add edx, dword [esp + 0x40]
add edi, 0x38
sub eax, dword [esp + 0x40]
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x34], edi
mov dword [esp + 0x60], eax
jmp 0x10042e85
fld qword [esp + 0xd8]
mov eax, dword [esp + 0x60]
fxch st(3)
fxch st(5)
fxch st(2)
fxch st(4)
fxch st(3)
movsx eax, word [edx + eax]
fxch st(5)
fstp qword [esp + 0xb8]
cdq
fxch st(3)
fst qword [esp + 0x78]
mov edx, dword [esp + 0x10]
fld qword [esp + 0xc8]
xor ecx, ecx
fld qword [edi - 8]
fld qword [edi]
mov edi, eax
movsx eax, word [edx]
fstp qword [esp + 0xc8]
cdq
or ecx, eax
mov eax, dword [esp + 0x9c]
xor edx, edx
mov dword [eax + esi*4], ecx
or edi, edx
mov dword [eax + esi*4 + 4], edi
fld qword [eax + esi*4]
mov eax, dword [esp + 0x14]
fstp qword [esp + 0x80]
fild dword [esp + 0x80]
fstp qword [eax]
fild dword [esp + 0x84]
fstp qword [eax + 8]
fxch st(2)
fmul qword [esp + 0xc0]
fld qword [esp + 0xb8]
fmul st(7)
faddp st(1)
fld qword [esp + 0x88]
fmul st(5)
faddp st(1)
fld qword [esp + 0x68]
fmul st(4)
faddp st(1)
fld qword [esp + 0x90]
fmul st(6)
faddp st(1)
fld qword [esp + 0xa8]
fmul st(2)
faddp st(1)
fld qword [esp + 0xd0]
fmul st(3)
faddp st(1)
fadd qword [ebx + esi*8]
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x10042f50
fstp st(0)
mov edi, 0x80000000
jmp 0x10042f6f
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x10042f68
fstp st(0)
mov edi, 0x7fffffff
jmp 0x10042f6f
call fcn.1007d380
mov edi, eax
fld qword [esp + 0x78]
fmulp st(6)
fld qword [esp + 0xc0]
fmul st(4)
faddp st(6)
fld qword [esp + 0x88]
fmul st(3)
faddp st(6)
fld qword [esp + 0x68]
fmul st(5)
faddp st(6)
fld qword [esp + 0x90]
fmul st(1)
faddp st(6)
fld qword [esp + 0xa8]
fmul st(2)
faddp st(6)
fld qword [esp + 0xd0]
fmul qword [esp + 0xc8]
faddp st(6)
fxch st(5)
fadd qword [ebx + esi*8 + 8]
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x10042fd7
fstp st(0)
mov eax, 0x80000000
jmp 0x10042ff4
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x10042fef
fstp st(0)
mov eax, 0x7fffffff
jmp 0x10042ff4
call fcn.1007d380
mov ecx, dword [esp + 0x3c]
fldz
mov edx, dword [esp + 0x28]
add dword [esp + 0x14], 0x10
sar edi, 0x10
mov word [ecx], di
mov edi, dword [esp + 0x34]
sar eax, 0x10
mov word [edx], ax
fst qword [ebx + esi*8]
mov eax, dword [esp + 0x1c]
fstp qword [ebx + esi*8 + 8]
add eax, eax
add eax, eax
add dword [esp + 0x10], eax
add ecx, eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x58]
add edx, eax
add esi, 2
add edi, 0x10
add ecx, 0xfffffffe
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], edi
cmp esi, ecx
jle 0x10042e70
fstp st(2)
fstp st(0)
fstp st(1)
fstp st(1)
jmp 0x10043d82
xor esi, esi
test ecx, ecx
js 0x10043ec4
fld qword [esp + 0xc8]
lea edx, [edi + 0x38]
jmp 0x10043085
fld qword [esp + 0xd8]
fxch st(4)
fxch st(6)
fxch st(3)
fxch st(5)
fxch st(2)
fxch st(4)
fxch st(1)
fxch st(2)
fxch st(6)
add esi, 2
fstp qword [esp + 0xb8]
add edx, 0x10
fxch st(4)
fst qword [esp + 0x78]
fld qword [edx - 0x18]
fld qword [edx - 0x10]
fstp qword [esp + 0xc8]
fxch st(1)
fmul qword [esp + 0xc0]
fld qword [esp + 0xb8]
fmul st(6)
faddp st(1)
fld qword [esp + 0x88]
fmul st(5)
faddp st(1)
fld qword [esp + 0x68]
fmul st(4)
faddp st(1)
fld qword [esp + 0x90]
fmul st(3)
faddp st(1)
fld qword [esp + 0xa8]
fmul st(7)
faddp st(1)
fld qword [esp + 0xd0]
fmul st(2)
faddp st(1)
fadd qword [ebx + esi*8 - 0x10]
fstp qword [ebx + esi*8 - 0x10]
fld qword [esp + 0x78]
fmulp st(5)
fld qword [esp + 0xc0]
fmul st(4)
faddp st(5)
fld qword [esp + 0x88]
fmul st(3)
faddp st(5)
fld qword [esp + 0x68]
fmul st(2)
faddp st(5)
fld qword [esp + 0x90]
fmul st(6)
faddp st(5)
fld qword [esp + 0xa8]
fmul st(1)
faddp st(5)
fld qword [esp + 0xd0]
fld qword [esp + 0xc8]
fmul st(1), st(0)
fxch st(6)
faddp st(1)
fadd qword [ebx + esi*8 - 8]
fstp qword [ebx + esi*8 - 8]
cmp esi, ecx
jle 0x1004306e
fstp st(4)
fstp st(2)
fstp st(0)
fstp st(0)
fstp st(1)
jmp 0x10043d82
cmp edx, 6
jne 0x100434bf
mov edx, dword [esp + 0x54]
fld qword [edi + 8]
fld qword [edi + 0x10]
fld qword [edi + 0x18]
fld qword [edi + 0x20]
fld qword [edx]
fst qword [esp + 0xd8]
fld qword [edx + 8]
fst qword [esp + 0xc0]
fld qword [edx + 0x10]
fstp qword [esp + 0x88]
fld qword [edx + 0x18]
fstp qword [esp + 0x68]
fld qword [edx + 0x20]
fstp qword [esp + 0x90]
fld qword [edx + 0x28]
mov edx, dword [esp + 0x20]
dec edx
fstp qword [esp + 0xa8]
cmp dword [esp + 0x44], edx
jl 0x100433df
cmp esi, eax
jl 0x100433df
xor esi, esi
test ecx, ecx
js 0x10043ec2
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x48]
add edx, edx
add edx, dword [esp + 0x40]
add edi, 0x30
sub eax, dword [esp + 0x40]
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x60], eax
jmp 0x10043225
fld qword [esp + 0xd8]
mov eax, dword [esp + 0x60]
fxch st(4)
fxch st(6)
fxch st(3)
fxch st(5)
fxch st(2)
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(2)
movsx eax, word [edx + eax]
fxch st(6)
fstp qword [esp + 0xb8]
cdq
fxch st(4)
mov edx, dword [esp + 0x10]
fstp qword [esp + 0x78]
fld qword [edi - 8]
xor ecx, ecx
fld qword [edi]
mov edi, eax
movsx eax, word [edx]
cdq
or ecx, eax
mov eax, dword [esp + 0x9c]
xor edx, edx
mov dword [eax + esi*4], ecx
or edi, edx
mov dword [eax + esi*4 + 4], edi
fld qword [eax + esi*4]
mov eax, dword [esp + 0x14]
fstp qword [esp + 0x80]
fild dword [esp + 0x80]
fstp qword [eax]
fild dword [esp + 0x84]
fstp qword [eax + 8]
fld qword [esp + 0x78]
fmulp st(7)
fld qword [esp + 0xb8]
fmul st(6)
faddp st(7)
fld qword [esp + 0x88]
fmul st(5)
faddp st(7)
fld qword [esp + 0x68]
fmul st(4)
faddp st(7)
fld qword [esp + 0x90]
fmul st(3)
faddp st(7)
fld qword [esp + 0xa8]
fmul st(2)
faddp st(7)
fxch st(6)
fadd qword [ebx + esi*8]
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x100432d6
fstp st(0)
mov edi, 0x80000000
jmp 0x10043302
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x100432ee
fstp st(0)
mov edi, 0x7fffffff
jmp 0x10043302
fstp st(5)
fxch st(4)
call fcn.1007d380
fld qword [esp + 0xd8]
mov edi, eax
fxch st(4)
fld qword [esp + 0x78]
fmulp st(5)
fld qword [esp + 0xc0]
fld st(0)
fmul st(5)
faddp st(6)
fld qword [esp + 0x88]
fmul st(4)
faddp st(6)
fld qword [esp + 0x68]
fmul st(3)
faddp st(6)
fld qword [esp + 0x90]
fmul st(2)
faddp st(6)
fld qword [esp + 0xa8]
fmul st(7)
faddp st(6)
fxch st(5)
fadd qword [ebx + esi*8 + 8]
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1004335c
fstp st(0)
mov eax, 0x80000000
jmp 0x10043379
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x10043374
fstp st(0)
mov eax, 0x7fffffff
jmp 0x10043379
call fcn.1007d380
mov ecx, dword [esp + 0x3c]
fldz
mov edx, dword [esp + 0x34]
add dword [esp + 0x14], 0x10
sar edi, 0x10
mov word [ecx], di
mov edi, dword [esp + 0x28]
sar eax, 0x10
mov word [edx], ax
fst qword [ebx + esi*8]
mov eax, dword [esp + 0x1c]
fstp qword [ebx + esi*8 + 8]
add eax, eax
add eax, eax
add dword [esp + 0x10], eax
add ecx, eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x58]
add edx, eax
add esi, 2
add edi, 0x10
add ecx, 0xfffffffe
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], edi
cmp esi, ecx
jle 0x10043208
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
fstp st(1)
jmp 0x10043d82
xor esi, esi
test ecx, ecx
js 0x10043ec2
lea edx, [edi + 0x30]
jmp 0x10043405
fld qword [esp + 0xd8]
fxch st(4)
fxch st(6)
fxch st(3)
fxch st(5)
fxch st(2)
fxch st(4)
fxch st(1)
fxch st(2)
fxch st(6)
add esi, 2
fstp qword [esp + 0xb8]
add edx, 0x10
fxch st(4)
fst qword [esp + 0x78]
fld qword [edx - 0x18]
fld qword [edx - 0x10]
fxch st(2)
fmulp st(7)
fld qword [esp + 0xb8]
fmul st(6)
faddp st(7)
fld qword [esp + 0x88]
fmul st(5)
faddp st(7)
fld qword [esp + 0x68]
fmul st(4)
faddp st(7)
fld qword [esp + 0x90]
fmul st(3)
faddp st(7)
fld qword [esp + 0xa8]
fmul st(1)
faddp st(7)
fxch st(6)
fadd qword [ebx + esi*8 - 0x10]
fstp qword [ebx + esi*8 - 0x10]
fld qword [esp + 0x78]
fmulp st(5)
fld qword [esp + 0xc0]
fld st(0)
fmul st(5)
faddp st(6)
fld qword [esp + 0x88]
fmul st(4)
faddp st(6)
fld qword [esp + 0x68]
fmul st(3)
faddp st(6)
fld qword [esp + 0x90]
fmul st(7)
faddp st(6)
fld qword [esp + 0xa8]
fmul st(2)
faddp st(6)
fxch st(5)
fadd qword [ebx + esi*8 - 8]
fstp qword [ebx + esi*8 - 8]
cmp esi, ecx
jle 0x100433ee
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(1)
jmp 0x10043d82
cmp edx, 5
jne 0x1004377e
mov edx, dword [esp + 0x54]
fld qword [edi + 8]
fld qword [edi + 0x10]
fld qword [edi + 0x18]
fld qword [edx]
fld qword [edx + 8]
fld qword [edx + 0x10]
fstp qword [esp + 0x88]
fld qword [edx + 0x18]
fstp qword [esp + 0x68]
fld qword [edx + 0x20]
mov edx, dword [esp + 0x20]
dec edx
fstp qword [esp + 0x90]
cmp dword [esp + 0x44], edx
jl 0x100436d4
cmp esi, eax
jl 0x100436d4
xor esi, esi
test ecx, ecx
js 0x10043ec4
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x48]
add edx, edx
add edx, dword [esp + 0x40]
add edi, 0x28
sub eax, dword [esp + 0x40]
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x60], eax
jmp 0x10043554
mov eax, dword [esp + 0x60]
fxch st(3)
fxch st(5)
fxch st(2)
fxch st(4)
movsx eax, word [edx + eax]
fxch st(4)
fstp qword [esp + 0x78]
cdq
fld qword [edi - 8]
fld qword [edi]
mov edx, dword [esp + 0x10]
mov edi, eax
movsx eax, word [edx]
cdq
xor ecx, ecx
or ecx, eax
mov eax, dword [esp + 0x9c]
xor edx, edx
mov dword [eax + esi*4], ecx
or edi, edx
mov dword [eax + esi*4 + 4], edi
fld qword [eax + esi*4]
mov eax, dword [esp + 0x14]
fstp qword [esp + 0x80]
fild dword [esp + 0x80]
fstp qword [eax]
fild dword [esp + 0x84]
fstp qword [eax + 8]
fld qword [esp + 0x78]
fmul st(6)
fxch st(7)
fmul st(3)
faddp st(7)
fld qword [esp + 0x88]
fmul st(5)
faddp st(7)
fld qword [esp + 0x68]
fmul st(4)
faddp st(7)
fld qword [esp + 0x90]
fmul st(2)
faddp st(7)
fxch st(6)
fadd qword [ebx + esi*8]
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x100435ec
fstp st(0)
mov edi, 0x80000000
jmp 0x1004360b
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x10043604
fstp st(0)
mov edi, 0x7fffffff
jmp 0x1004360b
call fcn.1007d380
mov edi, eax
fld qword [esp + 0x78]
fmul st(2)
fld st(5)
fmul st(5)
faddp st(1)
fld qword [esp + 0x88]
fmul st(4)
faddp st(1)
fld qword [esp + 0x68]
fmul st(2)
faddp st(1)
fld qword [esp + 0x90]
fmul st(7)
faddp st(1)
fadd qword [ebx + esi*8 + 8]
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x10043651
fstp st(0)
mov eax, 0x80000000
jmp 0x1004366e
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x10043669
fstp st(0)
mov eax, 0x7fffffff
jmp 0x1004366e
call fcn.1007d380
mov ecx, dword [esp + 0x3c]
fldz
mov edx, dword [esp + 0x34]
add dword [esp + 0x14], 0x10
sar edi, 0x10
mov word [ecx], di
mov edi, dword [esp + 0x28]
sar eax, 0x10
mov word [edx], ax
fst qword [ebx + esi*8]
mov eax, dword [esp + 0x1c]
fstp qword [ebx + esi*8 + 8]
add eax, eax
add eax, eax
add dword [esp + 0x10], eax
add ecx, eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x58]
add edx, eax
add esi, 2
add edi, 0x10
add ecx, 0xfffffffe
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], edi
cmp esi, ecx
jle 0x10043548
fstp st(3)
fstp st(1)
fstp st(1)
fstp st(2)
fstp st(1)
jmp 0x10043d82
xor esi, esi
test ecx, ecx
js 0x10043ec4
lea edx, [edi + 0x28]
jmp 0x100436f1
fxch st(3)
fxch st(5)
fxch st(2)
fxch st(4)
fxch st(2)
fxch st(3)
fxch st(2)
fxch st(4)
add esi, 2
fst qword [esp + 0x78]
add edx, 0x10
fld qword [edx - 0x18]
fld qword [edx - 0x10]
fxch st(2)
fmul st(6)
fxch st(7)
fmul st(3)
faddp st(7)
fld qword [esp + 0x88]
fmul st(5)
faddp st(7)
fld qword [esp + 0x68]
fmul st(4)
faddp st(7)
fld qword [esp + 0x90]
fmul st(1)
faddp st(7)
fxch st(6)
fadd qword [ebx + esi*8 - 0x10]
fstp qword [ebx + esi*8 - 0x10]
fld qword [esp + 0x78]
fmul st(2)
fld st(5)
fmul st(5)
faddp st(1)
fld qword [esp + 0x88]
fmul st(4)
faddp st(1)
fld qword [esp + 0x68]
fmul st(7)
faddp st(1)
fld qword [esp + 0x90]
fmul st(2)
faddp st(1)
fadd qword [ebx + esi*8 - 8]
fstp qword [ebx + esi*8 - 8]
cmp esi, ecx
jle 0x100436e3
fstp st(3)
fstp st(1)
fstp st(3)
fstp st(0)
fstp st(1)
jmp 0x10043d82
cmp edx, 4
jne 0x100439dd
mov edx, dword [esp + 0x54]
fld qword [edi + 8]
fld qword [edi + 0x10]
fld qword [edx]
fld qword [edx + 8]
fld qword [edx + 0x10]
fld qword [edx + 0x18]
mov edx, dword [esp + 0x20]
dec edx
fstp qword [esp + 0x68]
cmp dword [esp + 0x44], edx
jl 0x1004395f
cmp esi, eax
jl 0x1004395f
xor esi, esi
test ecx, ecx
js 0x10043ec4
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x48]
add edx, edx
add edx, dword [esp + 0x40]
add edi, 0x20
sub eax, dword [esp + 0x40]
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x60], eax
jmp 0x100437ff
mov eax, dword [esp + 0x60]
fxch st(3)
fxch st(5)
fxch st(3)
fxch st(4)
movsx eax, word [edx + eax]
fxch st(4)
fstp qword [esp + 0x78]
cdq
fld qword [edi - 8]
fld qword [edi]
mov edx, dword [esp + 0x10]
mov edi, eax
movsx eax, word [edx]
cdq
xor ecx, ecx
or ecx, eax
mov eax, dword [esp + 0x9c]
xor edx, edx
mov dword [eax + esi*4], ecx
or edi, edx
mov dword [eax + esi*4 + 4], edi
fld qword [eax + esi*4]
mov eax, dword [esp + 0x14]
fstp qword [esp + 0x80]
fild dword [esp + 0x80]
fstp qword [eax]
fild dword [esp + 0x84]
fstp qword [eax + 8]
fld qword [esp + 0x78]
fmul st(3)
fxch st(7)
fmul st(4)
faddp st(7)
fld st(5)
fmul st(5)
faddp st(7)
fld qword [esp + 0x68]
fmul st(2)
faddp st(7)
fxch st(6)
fadd qword [ebx + esi*8]
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x10043887
fstp st(0)
mov edi, 0x80000000
jmp 0x100438a6
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1004389f
fstp st(0)
mov edi, 0x7fffffff
jmp 0x100438a6
call fcn.1007d380
mov edi, eax
fld qword [esp + 0x78]
fmul st(3)
fld st(2)
fmul st(5)
faddp st(1)
fld st(5)
fmul st(2)
faddp st(1)
fld qword [esp + 0x68]
fmul st(7)
faddp st(1)
fadd qword [ebx + esi*8 + 8]
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x100438dc
fstp st(0)
mov eax, 0x80000000
jmp 0x100438f9
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x100438f4
fstp st(0)
mov eax, 0x7fffffff
jmp 0x100438f9
call fcn.1007d380
mov ecx, dword [esp + 0x3c]
fldz
mov edx, dword [esp + 0x34]
add dword [esp + 0x14], 0x10
sar edi, 0x10
mov word [ecx], di
mov edi, dword [esp + 0x28]
sar eax, 0x10
mov word [edx], ax
fst qword [ebx + esi*8]
mov eax, dword [esp + 0x1c]
fstp qword [ebx + esi*8 + 8]
add eax, eax
add eax, eax
add dword [esp + 0x10], eax
add ecx, eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x58]
add edx, eax
add esi, 2
add edi, 0x10
add ecx, 0xfffffffe
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], edi
cmp esi, ecx
jle 0x100437f3
fstp st(3)
fstp st(2)
fstp st(3)
fstp st(2)
fstp st(1)
jmp 0x10043d82
xor esi, esi
test ecx, ecx
js 0x10043ec4
lea edx, [edi + 0x20]
jmp 0x10043974
fxch st(3)
fxch st(5)
fxch st(4)
fxch st(4)
add esi, 2
fst qword [esp + 0x78]
add edx, 0x10
fld qword [edx - 0x18]
fld qword [edx - 0x10]
fxch st(2)
fmul st(3)
fxch st(7)
fmul st(4)
faddp st(7)
fld st(5)
fmul st(5)
faddp st(7)
fld qword [esp + 0x68]
fmul st(1)
faddp st(7)
fxch st(6)
fadd qword [ebx + esi*8 - 0x10]
fstp qword [ebx + esi*8 - 0x10]
fld qword [esp + 0x78]
fmul st(3)
fld st(2)
fmul st(5)
faddp st(1)
fld st(5)
fmul st(7)
faddp st(1)
fld qword [esp + 0x68]
fmul st(2)
faddp st(1)
fadd qword [ebx + esi*8 - 8]
fstp qword [ebx + esi*8 - 8]
cmp esi, ecx
jle 0x1004396e
fstp st(3)
fstp st(4)
fstp st(1)
fstp st(0)
fstp st(1)
jmp 0x10043d82
cmp edx, 3
mov edx, dword [esp + 0x54]
jne 0x10043bf9
fld qword [edi + 8]
fld qword [edx]
fld qword [edx + 8]
fld qword [edx + 0x10]
mov edx, dword [esp + 0x20]
dec edx
cmp dword [esp + 0x44], edx
jl 0x10043b96
cmp esi, eax
jl 0x10043b96
xor esi, esi
test ecx, ecx
js 0x10043ed1
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x48]
add edx, edx
add edx, dword [esp + 0x40]
add edi, 0x18
sub eax, dword [esp + 0x40]
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x60], eax
jmp 0x10043a52
mov eax, dword [esp + 0x60]
fxch st(3)
fxch st(4)
fxch st(3)
movsx eax, word [eax + edx]
fld qword [edi - 8]
fld qword [edi]
cdq
mov edx, dword [esp + 0x10]
mov edi, eax
movsx eax, word [edx]
cdq
xor ecx, ecx
or ecx, eax
mov eax, dword [esp + 0x9c]
xor edx, edx
mov dword [eax + esi*4], ecx
or edi, edx
mov dword [eax + esi*4 + 4], edi
fld qword [eax + esi*4]
mov eax, dword [esp + 0x14]
fstp qword [esp + 0x80]
fild dword [esp + 0x80]
fstp qword [eax]
fild dword [esp + 0x84]
fstp qword [eax + 8]
fld st(5)
fmul st(4)
fxch st(7)
fmul st(5)
faddp st(7)
fld st(2)
fmul st(2)
faddp st(7)
fxch st(6)
fadd qword [ebx + esi*8]
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x10043aca
fstp st(0)
mov edi, 0x80000000
jmp 0x10043ae9
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x10043ae2
fstp st(0)
mov edi, 0x7fffffff
jmp 0x10043ae9
call fcn.1007d380
mov edi, eax
fxch st(4)
fmul st(3)
fld st(2)
fmul st(5)
faddp st(1)
fld st(1)
fmul st(6)
faddp st(1)
fadd qword [ebx + esi*8 + 8]
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x10043b15
fstp st(0)
mov eax, 0x80000000
jmp 0x10043b32
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x10043b2d
fstp st(0)
mov eax, 0x7fffffff
jmp 0x10043b32
call fcn.1007d380
mov ecx, dword [esp + 0x3c]
fldz
mov edx, dword [esp + 0x34]
add dword [esp + 0x14], 0x10
sar edi, 0x10
mov word [ecx], di
mov edi, dword [esp + 0x28]
sar eax, 0x10
mov word [edx], ax
fst qword [ebx + esi*8]
mov eax, dword [esp + 0x1c]
fstp qword [ebx + esi*8 + 8]
add eax, eax
add eax, eax
add dword [esp + 0x10], eax
add ecx, eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x58]
add edx, eax
add esi, 2
add edi, 0x10
add ecx, 0xfffffffe
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], edi
cmp esi, ecx
jle 0x10043a48
fstp st(3)
fstp st(3)
fstp st(0)
fstp st(1)
jmp 0x10043d82
xor esi, esi
test ecx, ecx
js 0x10043ed1
lea edx, [edi + 0x18]
jmp 0x10043bab
fxch st(3)
fxch st(4)
fxch st(3)
fld qword [edx - 8]
add esi, 2
fld qword [edx]
add edx, 0x10
fld st(5)
fmul st(4)
fxch st(7)
fmul st(5)
faddp st(7)
fld st(2)
fmul st(2)
faddp st(7)
fxch st(6)
fadd qword [ebx + esi*8 - 0x10]
fstp qword [ebx + esi*8 - 0x10]
fxch st(4)
fmul st(3)
fld st(2)
fmul st(5)
faddp st(1)
fld st(1)
fmul st(6)
faddp st(1)
fadd qword [ebx + esi*8 - 8]
fstp qword [ebx + esi*8 - 8]
cmp esi, ecx
jle 0x10043ba5
fstp st(3)
fstp st(3)
fstp st(0)
fstp st(1)
jmp 0x10043d82
fld qword [edx]
fld qword [edx + 8]
mov edx, dword [esp + 0x20]
dec edx
cmp dword [esp + 0x44], edx
jl 0x10043e7d
cmp esi, eax
jl 0x10043e7d
xor esi, esi
test ecx, ecx
js 0x10043d7e
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x48]
add edx, edx
add edx, dword [esp + 0x40]
add edi, 0x10
sub eax, dword [esp + 0x40]
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x60], eax
jmp 0x10043c55
mov eax, dword [esp + 0x60]
movsx eax, word [edx + eax]
fld qword [edi - 8]
fld qword [edi]
cdq
mov edx, dword [esp + 0x10]
mov edi, eax
movsx eax, word [edx]
cdq
xor ecx, ecx
or ecx, eax
mov eax, dword [esp + 0x9c]
xor edx, edx
mov dword [eax + esi*4], ecx
or edi, edx
mov dword [eax + esi*4 + 4], edi
fld qword [eax + esi*4]
mov eax, dword [esp + 0x14]
fstp qword [esp + 0x80]
fild dword [esp + 0x80]
fstp qword [eax]
fild dword [esp + 0x84]
fstp qword [eax + 8]
fld st(1)
fmul st(3)
fxch st(5)
fmul st(4)
faddp st(5)
fxch st(4)
fadd qword [ebx + esi*8]
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x10043cc7
fstp st(0)
mov edi, 0x80000000
jmp 0x10043ce6
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x10043cdf
fstp st(0)
mov edi, 0x7fffffff
jmp 0x10043ce6
call fcn.1007d380
mov edi, eax
fmul st(2)
fld st(1)
fmul st(4)
faddp st(1)
fadd qword [ebx + esi*8 + 8]
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x10043d0a
fstp st(0)
mov eax, 0x80000000
jmp 0x10043d27
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x10043d22
fstp st(0)
mov eax, 0x7fffffff
jmp 0x10043d27
call fcn.1007d380
mov ecx, dword [esp + 0x3c]
fldz
mov edx, dword [esp + 0x34]
add dword [esp + 0x14], 0x10
sar edi, 0x10
mov word [ecx], di
mov edi, dword [esp + 0x28]
sar eax, 0x10
mov word [edx], ax
fst qword [ebx + esi*8]
mov eax, dword [esp + 0x1c]
fstp qword [ebx + esi*8 + 8]
add eax, eax
add eax, eax
add dword [esp + 0x10], eax
add ecx, eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x58]
add edx, eax
add esi, 2
add edi, 0x10
add ecx, 0xfffffffe
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], edi
cmp esi, ecx
jle 0x10043c51
fstp st(2)
fstp st(0)
mov eax, dword [esp + 0x54]
fstp st(0)
mov edx, dword [esp + 0x24]
lea eax, [eax + edx*8]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x54], eax
cmp dword [esp + 0x2c], edx
jl 0x10042d60
mov eax, dword [esp + 0x44]
inc eax
mov dword [esp + 0x44], eax
cmp eax, dword [esp + 0x20]
jl 0x10042d30
cmp esi, dword [esp + 0x58]
jge 0x10043f40
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x4c]
mov edi, dword [ebp + 0x14]
add eax, esi
lea edx, [ecx + eax*8]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x74]
fldz
xor ecx, ecx
mov dword [esp + 0x44], ecx
cmp dword [esp + 0x20], ecx
jle 0x10043ef4
mov edx, dword [esp + 0x64]
mov ecx, dword [edx + ecx*4]
lea edx, [esi*8]
add ecx, edx
xor edx, edx
mov dword [esp + 0x30], ecx
cmp edi, 4
jl 0x10043e43
add edi, 0xfffffffc
shr edi, 2
add ecx, 0x10
inc edi
lea edx, [edi*4]
fld qword [ecx - 8]
add eax, 0x20
fmul qword [eax - 0x18]
add ecx, 0x20
dec edi
fld qword [ecx - 0x30]
fmul qword [eax - 0x20]
faddp st(2)
faddp st(1)
fld qword [eax - 0x10]
fmul qword [ecx - 0x20]
faddp st(1)
fld qword [ecx - 0x18]
fmul qword [eax - 8]
faddp st(1)
jne 0x10043e13
mov edi, dword [ebp + 0x14]
mov ecx, dword [esp + 0x30]
cmp edx, edi
jge 0x10043e56
fld qword [ecx + edx*8]
inc edx
fmul qword [eax]
add eax, 8
faddp st(1)
cmp edx, edi
jl 0x10043e47
mov ecx, dword [esp + 0x44]
inc ecx
mov dword [esp + 0x44], ecx
cmp ecx, dword [esp + 0x20]
jl 0x10043de7
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x10043edc
fstp st(0)
mov eax, 0x80000000
jmp 0x10043efc
xor esi, esi
test ecx, ecx
js 0x10043d7e
lea edx, [edi + 0x10]
fld qword [edx - 8]
add esi, 2
fld qword [edx]
add edx, 0x10
fld st(1)
fmul st(3)
fxch st(5)
fmul st(4)
faddp st(5)
fxch st(4)
fadd qword [ebx + esi*8 - 0x10]
fstp qword [ebx + esi*8 - 0x10]
fmul st(2)
fld st(1)
fmul st(4)
faddp st(1)
fadd qword [ebx + esi*8 - 8]
fstp qword [ebx + esi*8 - 8]
cmp esi, ecx
jle 0x10043e8a
jmp 0x10043d7e
fstp st(1)
fstp st(5)
fstp st(3)
fstp st(1)
fstp st(0)
jmp 0x10043d80
fstp st(4)
fstp st(2)
fstp st(0)
jmp 0x10043d80
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x10043ef4
fstp st(0)
mov eax, 0x7fffffff
jmp 0x10043efc
call fcn.1007d380
mov edi, dword [ebp + 0x14]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
sar eax, 0x10
mov word [edx], ax
movsx eax, word [ecx]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
add dword [esp + 0x2c], 8
fild dword [esp + 0x30]
inc esi
fstp qword [eax]
mov eax, dword [esp + 0x1c]
lea ecx, [ecx + eax*2]
add eax, eax
add edx, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x3c], edx
cmp esi, dword [esp + 0x58]
jl 0x10043dd1
jmp 0x10043f44
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x50]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x4c]
cmp esi, edi
jge 0x10044034
sub edi, esi
cmp edi, 4
jl 0x10043ff3
lea edi, [edx + esi]
lea edi, [eax + edi*8]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x50]
sub edi, esi
sub edi, 4
shr edi, 2
inc edi
mov dword [esp + 0x64], edi
lea esi, [esi + edi*4]
movsx edi, word [ecx]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x24]
fild dword [esp + 0x30]
fstp qword [edi]
mov edi, dword [esp + 0x1c]
lea ecx, [ecx + edi*2]
movsx edi, word [ecx]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x24]
fild dword [esp + 0x30]
fstp qword [edi + 8]
mov edi, dword [esp + 0x1c]
lea ecx, [ecx + edi*2]
movsx edi, word [ecx]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x24]
fild dword [esp + 0x30]
fstp qword [edi + 0x10]
mov edi, dword [esp + 0x1c]
lea ecx, [ecx + edi*2]
movsx edi, word [ecx]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x24]
add dword [esp + 0x24], 0x20
dec dword [esp + 0x64]
fild dword [esp + 0x30]
fstp qword [edi + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [ecx + edi*2]
jne 0x10043f81
mov dword [esp + 0x10], ecx
cmp esi, dword [esp + 0x50]
jge 0x10044034
lea edi, [edx + esi]
lea edi, [eax + edi*8]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x50]
sub edi, esi
lea esp, [esp]
movsx esi, word [ecx]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x2c]
add dword [esp + 0x2c], 8
dec edi
fild dword [esp + 0x30]
fstp qword [esi]
mov esi, dword [esp + 0x1c]
lea ecx, [ecx + esi*2]
jne 0x10044010
mov dword [esp + 0x10], ecx
xor edi, edi
cmp edx, 4
jl 0x1004406e
lea esi, [edx - 4]
shr esi, 2
inc esi
lea ecx, [eax + 0x10]
lea edi, [esi*4]
lea esp, [esp]
fld qword [eax + edx*8]
add ecx, 0x20
dec esi
fstp qword [ecx - 0x30]
fld qword [eax + edx*8]
fstp qword [ecx - 0x28]
fld qword [eax + edx*8]
fstp qword [ecx - 0x20]
fld qword [eax + edx*8]
fstp qword [ecx - 0x18]
jne 0x10044050
cmp edi, edx
jge 0x1004407e
fld qword [eax + edx*8]
inc edi
fstp qword [eax + edi*8 - 8]
cmp edi, edx
jl 0x10044072
mov ecx, dword [ebp + 0x20]
xor esi, esi
cmp ecx, 4
jl 0x100440d8
mov esi, dword [ebp + 0x20]
mov ecx, dword [esp + 0x50]
add esi, 0xfffffffc
shr esi, 2
inc esi
add ecx, edx
mov dword [esp + 0x64], esi
lea edi, [eax + ecx*8]
add esi, esi
mov dword [esp + 0x30], edi
mov ecx, edi
add esi, esi
jmp 0x100440b4
mov edi, dword [esp + 0x30]
fld qword [edi - 8]
add ecx, 0x20
dec dword [esp + 0x64]
fstp qword [ecx - 0x20]
fld qword [edi - 8]
fstp qword [ecx - 0x18]
fld qword [edi - 8]
fstp qword [ecx - 0x10]
fld qword [edi - 8]
fstp qword [ecx - 8]
jne 0x100440b0
mov ecx, dword [ebp + 0x20]
cmp esi, ecx
jge 0x100440fd
add edx, dword [esp + 0x50]
sub ecx, esi
lea edi, [edx + esi]
lea edi, [eax + edi*8]
add esi, ecx
lea ebx, [ebx]
fld qword [eax + edx*8 - 8]
add edi, 8
dec ecx
fstp qword [edi - 8]
jne 0x100440f0
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0xe8]
jge 0x1004411c
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xe4]
lea eax, [eax + ecx*2]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x5c]
add eax, eax
add dword [esp + 0x40], eax
mov eax, dword [esp + 0x20]
inc ecx
inc eax
mov dword [esp + 0x5c], ecx
cmp ecx, eax
jl 0x10044143
mov dword [esp + 0x5c], 0
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [esp + 0xa4]
jl 0x10042cf0
mov eax, dword [esp + 0xb0]
inc eax
mov dword [esp + 0xb0], eax
cmp eax, dword [esp + 0x1c]
jl 0x100429e0
lea ecx, [esp + 0x978]
cmp dword [esp + 0xb4], ecx
je 0x1004418e
mov edx, dword [esp + 0xb4]
push edx
call sub.MSVCR100.dll_free
add esp, 4
lea eax, [esp + 0x178]
cmp dword [esp + 0x74], eax
je 0x100441a8
mov ecx, dword [esp + 0x74]
push ecx
call sub.MSVCR100.dll_free
add esp, 4
mov ecx, dword [esp + 0x3b7c]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.1007d356
mov esp, ebp
pop ebp
ret