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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x3b6c
call fcn.1007d430
mov eax, dword [0x1008a2c0]
xor eax, esp
mov dword [esp + 0x3b68], eax
push ebx
push esi
push edi
mov ecx, dword [ebp + 0x1c]
fld qword [0x1007e260]
mov eax, dword [ebp + 8]
mov dword [esp + 0x28], ecx
mov esi, dword [ebp + 0xc]
lea ecx, [esp + 0x170]
mov dword [esp + 0x64], ecx
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0xf0]
mov dword [esp + 0xac], edx
lea edx, [esp + 0x970]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0xb8], edx
mov edx, dword [esi + 8]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x4c], edx
mov edx, dword [esi + 0x10]
xor ebx, ebx
mov dword [esp + 0xec], ecx
mov ecx, dword [ebp + 0x2c]
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x60], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0xdc], edx
mov edx, dword [esi + 0x18]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe8], eax
cmp ecx, 0x1e
jle 0x1004bbe3
fstp st(0)
sub ecx, 0x1e
fld qword [0x1007e280]
mov edx, 1
imul edi, dword [ebp + 0x14]
shl edx, cl
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fdivp st(1)
fst qword [esp + 0xd0]
cmp edi, 0x100
jle 0x1004bc2c
lea eax, [edi*8]
fstp st(0)
push eax
call sub.MSVCR100.dll_malloc
add esp, 4
mov dword [esp + 0x64], eax
cmp eax, ebx
je 0x1004bd54
fld qword [esp + 0xd0]
xor ebx, ebx
cmp edi, 4
jl 0x1004bc77
mov ecx, dword [esp + 0x64]
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 0x1004bc4e
cmp ebx, edi
jge 0x1004bc90
mov ecx, dword [esp + 0x64]
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 0x1004bc82
mov eax, dword [ebp + 0x14]
fstp st(0)
cmp eax, 1
jne 0x1004bcea
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
mov edi, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x70]
push edi
push esi
call fcn.1004ae10
lea edx, [esp + 0x188]
add esp, 0x18
mov esi, eax
cmp edi, edx
je 0x1004bcd3
push edi
call sub.MSVCR100.dll_free
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x3b68]
xor ecx, esp
call fcn.1007d356
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x4c]
lea edi, [ecx + eax - 1]
mov ecx, dword [esp + 0x1c]
lea esi, [ecx + 3]
imul esi, edi
cmp esi, 0x640
jg 0x1004bd09
cmp ecx, 0xf
jle 0x1004bd7c
mov edx, ecx
add edx, esi
lea eax, [edx*8 + 8]
push eax
call sub.MSVCR100.dll_malloc
add esp, 4
mov dword [esp + 0xb8], eax
test eax, eax
jne 0x1004bd6e
lea ecx, [esp + 0x970]
test ecx, ecx
je 0x1004bd3c
push eax
call sub.MSVCR100.dll_free
add esp, 4
mov eax, dword [esp + 0x64]
lea edx, [esp + 0x170]
cmp eax, edx
je 0x1004bd54
push eax
call sub.MSVCR100.dll_free
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x3b68]
xor ecx, esp
call fcn.1007d356
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x1c]
lea eax, [eax + esi*8]
mov dword [esp + 0xac], eax
mov edx, dword [esp + 0xac]
inc ecx
xor eax, eax
test ecx, ecx
jle 0x1004bda2
mov esi, dword [esp + 0xb8]
lea ebx, [edi*8]
mov dword [edx + eax*4], esi
inc eax
add esi, ebx
cmp eax, ecx
jl 0x1004bd98
xor eax, eax
test ecx, ecx
jle 0x1004bdbd
mov esi, dword [esp + 0x1c]
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 0x1004bdb0
mov ecx, dword [esp + 0x1c]
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 + 0x28]
add eax, dword [ebp + 0x20]
mov dword [esp + 0xcc], 0
sub edi, eax
cmp dword [esp + 0x10], 0
mov dword [esp + 0x48], edi
jle 0x1004d56c
fld qword [0x1007e258]
mov ecx, dword [esp + 0x10]
sub ecx, dword [esp + 0xcc]
mov edx, 1
dec ecx
shl edx, cl
test dword [ebp + 0x30], edx
je 0x1004d551
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0xe0]
add eax, ecx
add ecx, dword [esp + 0xe8]
xor edx, edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x38], edx
cmp dword [esp + 0x1c], edx
jle 0x1004c088
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0xac]
mov esi, dword [esi + edx*4]
xor edi, edi
mov dword [esp + 0x18], esi
cmp ecx, 4
jl 0x1004bebd
add ecx, 0xfffffffc
shr ecx, 2
inc ecx
lea edx, [esi + 0x10]
mov dword [esp + 0x24], ecx
lea edi, [ecx*4]
movzx ecx, byte [eax]
mov dword [esp + 0xc], ecx
add edx, 0x20
dec dword [esp + 0x24]
fild dword [esp + 0xc]
fstp qword [edx - 0x30]
movzx ecx, byte [eax]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fstp qword [edx - 0x28]
movzx ecx, byte [eax]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fstp qword [edx - 0x20]
movzx ecx, byte [eax]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fstp qword [edx - 0x18]
jne 0x1004be78
mov ecx, dword [esp + 0x28]
cmp edi, ecx
jge 0x1004bed5
movzx edx, byte [eax]
mov dword [esp + 0xc], edx
inc edi
fild dword [esp + 0xc]
fstp qword [esi + edi*8 - 8]
cmp edi, ecx
jl 0x1004bec1
xor edi, edi
cmp dword [esp + 0x48], 4
mov dword [esp + 0x20], edi
jl 0x1004bf87
mov ecx, dword [esp + 0x10]
lea edx, [eax + ecx*2]
add edx, ecx
add ecx, ecx
add ecx, eax
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffffc
mov edi, eax
mov eax, dword [esp + 0x28]
shr ecx, 2
inc ecx
lea eax, [esi + eax*8]
lea esi, [ecx*4]
mov dword [esp + 0x20], esi
jmp 0x1004bf1c
mov edi, dword [esp + 0xc]
movzx esi, byte [edi]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x10]
add eax, 0x20
fild dword [esp + 0xc]
fstp qword [eax - 0x20]
movzx esi, byte [edi + esi]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x70]
fild dword [esp + 0xc]
fstp qword [eax - 0x18]
movzx esi, byte [esi]
mov dword [esp + 0xc], esi
fild dword [esp + 0xc]
fstp qword [eax - 0x10]
movzx esi, byte [edx]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x10]
add esi, esi
fild dword [esp + 0xc]
add esi, esi
add dword [esp + 0x70], esi
add edi, esi
fstp qword [eax - 8]
add edx, esi
dec ecx
mov dword [esp + 0xc], edi
jne 0x1004bf18
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x50]
cmp edi, dword [esp + 0x48]
jge 0x1004bfcb
mov edx, edi
imul edx, dword [esp + 0x10]
add ecx, edi
mov edi, dword [esp + 0x48]
lea ecx, [esi + ecx*8]
add edx, eax
sub edi, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
movzx ecx, byte [edx]
add edx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x24]
add ecx, 8
dec edi
fild dword [esp + 0xc]
mov dword [esp + 0x24], ecx
fstp qword [ecx - 8]
jne 0x1004bfa7
mov ecx, dword [esp + 0x28]
cmp dword [ebp + 0x20], 4
mov dword [esp + 0x20], 0
jl 0x1004c01d
mov edi, dword [ebp + 0x20]
add ecx, dword [esp + 0x48]
add edi, 0xfffffffc
shr edi, 2
lea esi, [esi + ecx*8]
inc edi
lea ecx, [edi*4]
mov edx, esi
mov dword [esp + 0x20], ecx
fld qword [esi - 8]
add edx, 0x20
dec edi
fstp qword [edx - 0x20]
fld qword [esi - 8]
fstp qword [edx - 0x18]
fld qword [esi - 8]
fstp qword [edx - 0x10]
fld qword [esi - 8]
fstp qword [edx - 8]
jne 0x1004bff7
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
cmp edx, dword [ebp + 0x20]
jge 0x1004c04f
add ecx, dword [esp + 0x48]
mov dword [esp + 0xc], ecx
add ecx, edx
mov edx, dword [ebp + 0x20]
sub edx, dword [esp + 0x20]
lea edi, [esi + ecx*8]
mov ecx, dword [esp + 0xc]
fld qword [esi + ecx*8 - 8]
add edi, 8
dec edx
fstp qword [edi - 8]
jne 0x1004c03e
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
cmp edx, dword [ebp + 0x24]
jl 0x1004c079
mov esi, dword [esp + 0x1c]
sub esi, dword [ebp + 0x28]
mov edi, dword [esp + 0xbc]
lea esi, [esi + edi - 2]
cmp edx, esi
jge 0x1004c079
add eax, dword [esp + 0xdc]
mov dword [esp + 0x50], eax
inc edx
mov dword [esp + 0x38], edx
cmp edx, dword [esp + 0x1c]
jl 0x1004be4e
xor esi, esi
mov dword [esp + 0x70], esi
cmp dword [esp + 0x4c], esi
jle 0x1004c0a8
mov esi, dword [esp + 0x4c]
mov ecx, esi
and ecx, 0x1fffffff
add ecx, ecx
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
cmp dword [esp + 0xbc], 0
mov dword [esp + 0xc], 0
jle 0x1004d551
mov eax, dword [esp + 0xbc]
sub eax, dword [ebp + 0x28]
add eax, 0xfffffffe
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x70]
lea eax, [ecx + edx*4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x38], 0
test ecx, ecx
jle 0x1004d1d1
cmp dword [ebp + 0x14], 0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], 0
jle 0x1004d1be
mov ecx, dword [esp + 0x4c]
add ecx, 0xfffffffe
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
lea edi, [eax + esi*8]
mov eax, dword [ebp + 0x14]
mov edx, eax
sub edx, esi
mov dword [esp + 0x44], edx
cmp edx, 0xe
jle 0x1004c154
mov dword [esp + 0x44], 7
jmp 0x1004c167
cmp edx, 7
jle 0x1004c16b
mov eax, edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x14]
mov edx, dword [esp + 0x44]
fld qword [edi]
add esi, edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x24], esi
cmp edx, 7
jne 0x1004c528
mov edx, dword [esp + 0x74]
fld qword [edi + 8]
fld qword [edi + 0x10]
fld qword [edi + 0x18]
fld qword [edi + 0x20]
fld qword [edi + 0x28]
fstp qword [esp + 0x88]
fld qword [edx]
fstp qword [esp + 0xb0]
fld qword [edx + 8]
fstp qword [esp + 0xa0]
fld qword [edx + 0x10]
fstp qword [esp + 0x80]
fld qword [edx + 0x18]
fstp qword [esp + 0x68]
fld qword [edx + 0x20]
fstp qword [esp + 0x90]
fld qword [edx + 0x28]
fstp qword [esp + 0xc0]
fld qword [edx + 0x30]
mov edx, dword [esp + 0x1c]
dec edx
fstp qword [esp + 0xd0]
cmp dword [esp + 0x38], edx
jl 0x1004c422
cmp esi, eax
jl 0x1004c422
xor esi, esi
test ecx, ecx
js 0x1004d2ef
mov ecx, dword [esp + 0x28]
fstp st(5)
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
add edx, dword [esp + 0x10]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x40]
mov dword [esp + 0x18], eax
lea eax, [edi + 0x38]
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x54], ecx
jmp 0x1004c24c
mov ecx, dword [esp + 0x54]
fstp st(0)
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(2)
fst qword [esp + 0x58]
fld qword [esp + 0x88]
fld qword [eax - 8]
fld qword [eax]
movzx eax, byte [edx + ecx]
fstp qword [esp + 0x88]
cdq
mov edx, dword [esp + 0x14]
mov edi, eax
movzx eax, byte [edx]
cdq
xor ecx, ecx
or ecx, eax
mov eax, dword [esp + 0x9c]
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 + 0x18]
fstp qword [esp + 0x78]
fild dword [esp + 0x78]
fstp qword [eax]
fild dword [esp + 0x7c]
fstp qword [eax + 8]
fxch st(2)
fmul qword [esp + 0xa0]
fxch st(5)
fmul qword [esp + 0xb0]
faddp st(5)
fld qword [esp + 0x80]
fld st(0)
fmul st(4)
faddp st(6)
fld qword [esp + 0x68]
fmul st(5)
faddp st(6)
fld qword [esp + 0x90]
fmul st(7)
faddp st(6)
fld qword [esp + 0xc0]
fmul st(2)
faddp st(6)
fld qword [esp + 0xd0]
fmul st(3)
faddp st(6)
fxch st(5)
fadd qword [ebx + esi*8]
fsub qword [0x1007e258]
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1004c30d
fstp st(0)
mov edi, 0x80000000
jmp 0x1004c32c
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1004c325
fstp st(0)
mov edi, 0x7fffffff
jmp 0x1004c32c
call fcn.1007d380
mov edi, eax
fld qword [esp + 0x58]
fmul qword [esp + 0xb0]
fld qword [esp + 0xa0]
fmul st(4)
faddp st(1)
fxch st(5)
fmul st(4)
faddp st(5)
fld qword [esp + 0x68]
fmul st(6)
faddp st(5)
fld qword [esp + 0x90]
fmul st(1)
faddp st(5)
fld qword [esp + 0xc0]
fmul st(2)
faddp st(5)
fld qword [esp + 0xd0]
fmul qword [esp + 0x88]
faddp st(5)
fxch st(4)
fadd qword [ebx + esi*8 + 8]
fld qword [0x1007e258]
fsub st(1), st(0)
fld qword [0x1007e220]
fcomp st(2)
fnstsw ax
test ah, 1
jne 0x1004c39c
fstp st(1)
mov eax, 0x80000000
jmp 0x1004c3bb
fld qword [0x1007e228]
fcomp st(2)
fnstsw ax
test ah, 0x41
jp 0x1004c3b4
fstp st(1)
mov eax, 0x7fffffff
jmp 0x1004c3bb
fxch st(1)
call fcn.1007d380
mov edx, dword [esp + 0x34]
fldz
add dword [esp + 0x18], 0x10
mov ecx, edi
mov edi, dword [esp + 0x3c]
sar eax, 0x18
sar ecx, 0x18
xor al, 0x80
xor cl, 0x80
mov byte [edi], cl
mov ecx, dword [esp + 0x4c]
mov byte [edx], al
fst qword [ebx + esi*8]
mov eax, dword [esp + 0x10]
fstp qword [ebx + esi*8 + 8]
add eax, eax
add dword [esp + 0x14], eax
add edi, eax
add edx, eax
mov eax, dword [esp + 0x30]
add esi, 2
add eax, 0x10
add ecx, 0xfffffffe
mov dword [esp + 0x3c], edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], eax
cmp esi, ecx
jle 0x1004c240
fstp st(2)
fstp st(2)
fstp st(3)
fstp st(1)
jmp 0x1004d1a0
xor esi, esi
test ecx, ecx
js 0x1004d2ef
fstp st(5)
lea edx, [edi + 0x38]
fld qword [esp + 0x88]
jmp 0x1004c446
fxch st(5)
fxch st(2)
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(3)
add esi, 2
fst qword [esp + 0x58]
add edx, 0x10
fld qword [edx - 0x18]
fld qword [edx - 0x10]
fstp qword [esp + 0x88]
fxch st(1)
fmul qword [esp + 0xa0]
fxch st(5)
fmul qword [esp + 0xb0]
faddp st(5)
fld qword [esp + 0x80]
fld st(0)
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 + 0xc0]
fmul st(5)
faddp st(6)
fld qword [esp + 0xd0]
fmul st(2)
faddp st(6)
fxch st(5)
fadd qword [ebx + esi*8 - 0x10]
fstp qword [ebx + esi*8 - 0x10]
fld qword [esp + 0x58]
fmul qword [esp + 0xb0]
fld qword [esp + 0xa0]
fmul st(4)
faddp st(1)
fxch st(5)
fmul st(2)
faddp st(5)
fld qword [esp + 0x68]
fmul st(6)
faddp st(5)
fld qword [esp + 0x90]
fmul st(4)
faddp st(5)
fld qword [esp + 0xc0]
fmul st(1)
faddp st(5)
fld qword [esp + 0xd0]
fld qword [esp + 0x88]
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 0x1004c43a
fstp st(2)
fstp st(0)
fstp st(3)
fstp st(0)
fstp st(1)
fstp st(0)
fld qword [0x1007e258]
jmp 0x1004d1a2
cmp edx, 6
jne 0x1004c876
mov edx, dword [esp + 0x74]
fld qword [edi + 8]
fld qword [edi + 0x10]
fld qword [edi + 0x18]
fld qword [edi + 0x20]
fld qword [edx]
fst qword [esp + 0xb0]
fld qword [edx + 8]
fstp qword [esp + 0xa0]
fld qword [edx + 0x10]
fstp qword [esp + 0x80]
fld qword [edx + 0x18]
fstp qword [esp + 0x68]
fld qword [edx + 0x20]
fstp qword [esp + 0x90]
fld qword [edx + 0x28]
mov edx, dword [esp + 0x1c]
dec edx
fstp qword [esp + 0xc0]
cmp dword [esp + 0x38], edx
jl 0x1004c79c
cmp esi, eax
jl 0x1004c79c
xor esi, esi
test ecx, ecx
js 0x1004d2fa
mov eax, dword [esp + 0x28]
fstp st(6)
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x40]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x40]
lea eax, [edi + 0x30]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x54], ecx
jmp 0x1004c5e7
mov ecx, dword [esp + 0x54]
fstp st(0)
fld qword [esp + 0xb0]
fxch st(5)
fxch st(2)
fxch st(4)
fxch st(2)
fxch st(1)
fxch st(4)
fstp qword [esp + 0x88]
fxch st(2)
fst qword [esp + 0x58]
fld qword [eax - 8]
fld qword [eax]
movzx eax, byte [edx + ecx]
cdq
mov edx, dword [esp + 0x14]
mov edi, eax
movzx eax, byte [edx]
cdq
xor ecx, ecx
or ecx, eax
mov eax, dword [esp + 0x9c]
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 + 0x18]
fstp qword [esp + 0x78]
fild dword [esp + 0x78]
fstp qword [eax]
fild dword [esp + 0x7c]
fstp qword [eax + 8]
fxch st(2)
fmul qword [esp + 0xa0]
fld qword [esp + 0x88]
fmulp st(7)
faddp st(6)
fld qword [esp + 0x80]
fmul st(3)
faddp st(6)
fld qword [esp + 0x68]
fmul st(4)
faddp st(6)
fld qword [esp + 0x90]
fmul st(5)
faddp st(6)
fld qword [esp + 0xc0]
fmul st(1)
faddp st(6)
fxch st(5)
fadd qword [ebx + esi*8]
fld qword [0x1007e258]
fsub st(1), st(0)
fld qword [0x1007e220]
fcomp st(2)
fnstsw ax
test ah, 1
jne 0x1004c698
fstp st(1)
mov edi, 0x80000000
jmp 0x1004c6b9
fld qword [0x1007e228]
fcomp st(2)
fnstsw ax
test ah, 0x41
jp 0x1004c6b0
fstp st(1)
mov edi, 0x7fffffff
jmp 0x1004c6b9
fxch st(1)
call fcn.1007d380
mov edi, eax
fld qword [esp + 0x58]
fmul qword [esp + 0xb0]
fld qword [esp + 0xa0]
fmul st(4)
faddp st(1)
fld qword [esp + 0x80]
fmul st(5)
faddp st(1)
fld qword [esp + 0x68]
fmul st(6)
faddp st(1)
fld qword [esp + 0x90]
fmul st(7)
faddp st(1)
fld qword [esp + 0xc0]
fmul st(3)
faddp st(1)
fadd qword [ebx + esi*8 + 8]
fsub st(1)
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1004c716
fstp st(0)
mov eax, 0x80000000
jmp 0x1004c733
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1004c72e
fstp st(0)
mov eax, 0x7fffffff
jmp 0x1004c733
call fcn.1007d380
mov edx, dword [esp + 0x30]
fldz
add dword [esp + 0x18], 0x10
mov ecx, edi
mov edi, dword [esp + 0x3c]
sar eax, 0x18
sar ecx, 0x18
xor al, 0x80
xor cl, 0x80
mov byte [edi], cl
mov ecx, dword [esp + 0x4c]
mov byte [edx], al
fst qword [ebx + esi*8]
mov eax, dword [esp + 0x10]
fstp qword [ebx + esi*8 + 8]
add eax, eax
add dword [esp + 0x14], eax
add edi, eax
add edx, eax
mov eax, dword [esp + 0x34]
add esi, 2
add eax, 0x10
add ecx, 0xfffffffe
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
cmp esi, ecx
jle 0x1004c5d0
fstp st(2)
fstp st(2)
fstp st(2)
fstp st(2)
fstp st(1)
jmp 0x1004d1a2
xor esi, esi
test ecx, ecx
js 0x1004d2fa
fstp st(6)
lea edx, [edi + 0x30]
jmp 0x1004c7b5
fxch st(2)
fxch st(4)
fxch st(2)
fxch st(1)
fxch st(4)
add esi, 2
fstp qword [esp + 0x88]
add edx, 0x10
fxch st(2)
fst qword [esp + 0x58]
fld qword [edx - 0x18]
fld qword [edx - 0x10]
fxch st(2)
fmul qword [esp + 0xa0]
fld qword [esp + 0x88]
fmul st(7)
faddp st(1)
fld qword [esp + 0x80]
fmul st(4)
faddp st(1)
fld qword [esp + 0x68]
fmul st(5)
faddp st(1)
fld qword [esp + 0x90]
fmul st(6)
faddp st(1)
fld qword [esp + 0xc0]
fmul st(2)
faddp st(1)
fadd qword [ebx + esi*8 - 0x10]
fstp qword [ebx + esi*8 - 0x10]
fld qword [esp + 0x58]
fmul st(6)
fld qword [esp + 0xa0]
fmul st(4)
faddp st(1)
fld qword [esp + 0x80]
fmul st(5)
faddp st(1)
fld qword [esp + 0x68]
fmul st(6)
faddp st(1)
fld qword [esp + 0x90]
fmul st(2)
faddp st(1)
fld qword [esp + 0xc0]
fmul st(3)
faddp st(1)
fadd qword [ebx + esi*8 - 8]
fstp qword [ebx + esi*8 - 8]
cmp esi, ecx
jle 0x1004c7ad
fstp st(5)
fstp st(1)
fstp st(1)
fstp st(1)
fstp st(1)
fstp st(0)
fld qword [0x1007e258]
jmp 0x1004d1a2
cmp edx, 5
jne 0x1004cb8a
mov edx, dword [esp + 0x74]
fld qword [edi + 8]
fld qword [edi + 0x10]
fld qword [edi + 0x18]
fld qword [edx]
fst qword [esp + 0xb0]
fld qword [edx + 8]
fst qword [esp + 0xa0]
fld qword [edx + 0x10]
fstp qword [esp + 0x80]
fld qword [edx + 0x18]
fstp qword [esp + 0x68]
fld qword [edx + 0x20]
mov edx, dword [esp + 0x1c]
dec edx
fstp qword [esp + 0x90]
cmp dword [esp + 0x38], edx
jl 0x1004cac2
cmp esi, eax
jl 0x1004cac2
xor esi, esi
test ecx, ecx
js 0x1004d2ed
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x40]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x40]
lea eax, [edi + 0x28]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x54], ecx
jmp 0x1004c924
fld qword [esp + 0xb0]
mov ecx, dword [esp + 0x54]
fxch st(3)
fxch st(5)
fxch st(2)
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(5)
fstp qword [esp + 0x88]
fxch st(3)
fstp qword [esp + 0x58]
fld qword [eax - 8]
fld qword [eax]
movzx eax, byte [edx + ecx]
cdq
mov edx, dword [esp + 0x14]
mov edi, eax
movzx eax, byte [edx]
cdq
xor ecx, ecx
or ecx, eax
mov eax, dword [esp + 0x9c]
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 + 0x18]
fstp qword [esp + 0x78]
fild dword [esp + 0x78]
fstp qword [eax]
fild dword [esp + 0x7c]
fstp qword [eax + 8]
fld qword [esp + 0x58]
fmulp st(6)
fld qword [esp + 0x88]
fmul st(5)
faddp st(6)
fld qword [esp + 0x80]
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)
fxch st(5)
fadd qword [ebx + esi*8]
fsub st(6)
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1004c9c1
fstp st(0)
mov edi, 0x80000000
jmp 0x1004c9ed
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1004c9d9
fstp st(0)
mov edi, 0x7fffffff
jmp 0x1004c9ed
fstp st(4)
fxch st(3)
call fcn.1007d380
fld qword [esp + 0xb0]
mov edi, eax
fxch st(3)
fld qword [esp + 0x58]
fmulp st(4)
fld qword [esp + 0xa0]
fld st(0)
fmul st(4)
faddp st(5)
fld qword [esp + 0x80]
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)
fxch st(4)
fadd qword [ebx + esi*8 + 8]
fsub st(6)
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1004ca3e
fstp st(0)
mov eax, 0x80000000
jmp 0x1004ca5b
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1004ca56
fstp st(0)
mov eax, 0x7fffffff
jmp 0x1004ca5b
call fcn.1007d380
mov edx, dword [esp + 0x30]
fldz
add dword [esp + 0x18], 0x10
mov ecx, edi
mov edi, dword [esp + 0x3c]
sar eax, 0x18
sar ecx, 0x18
xor al, 0x80
xor cl, 0x80
mov byte [edi], cl
mov ecx, dword [esp + 0x4c]
mov byte [edx], al
fst qword [ebx + esi*8]
mov eax, dword [esp + 0x10]
fstp qword [ebx + esi*8 + 8]
add eax, eax
add dword [esp + 0x14], eax
add edi, eax
add edx, eax
mov eax, dword [esp + 0x34]
add esi, 2
add eax, 0x10
add ecx, 0xfffffffe
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
cmp esi, ecx
jle 0x1004c90b
fstp st(2)
fstp st(0)
fstp st(0)
fstp st(1)
jmp 0x1004d1a0
xor esi, esi
test ecx, ecx
js 0x1004d2ed
lea edx, [edi + 0x28]
jmp 0x1004cae8
fld qword [esp + 0xb0]
fxch st(3)
fxch st(5)
fxch st(2)
fxch st(4)
fxch st(2)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(5)
add esi, 2
fstp qword [esp + 0x88]
add edx, 0x10
fxch st(3)
fst qword [esp + 0x58]
fld qword [edx - 0x18]
fld qword [edx - 0x10]
fxch st(2)
fmulp st(6)
fld qword [esp + 0x88]
fmul st(5)
faddp st(6)
fld qword [esp + 0x80]
fmul st(4)
faddp st(6)
fld qword [esp + 0x68]
fmul st(3)
faddp st(6)
fld qword [esp + 0x90]
fmul st(1)
faddp st(6)
fxch st(5)
fadd qword [ebx + esi*8 - 0x10]
fstp qword [ebx + esi*8 - 0x10]
fld qword [esp + 0x58]
fmulp st(4)
fld qword [esp + 0xa0]
fld st(0)
fmul st(4)
faddp st(5)
fld qword [esp + 0x80]
fmul st(3)
faddp st(5)
fld qword [esp + 0x68]
fmul st(6)
faddp st(5)
fld qword [esp + 0x90]
fmul st(2)
faddp st(5)
fxch st(4)
fadd qword [ebx + esi*8 - 8]
fstp qword [ebx + esi*8 - 8]
cmp esi, ecx
jle 0x1004cad1
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
jmp 0x1004d1a0
cmp edx, 4
jne 0x1004cdfa
mov edx, dword [esp + 0x74]
fld qword [edi + 8]
fld qword [edi + 0x10]
fld qword [edx]
fld qword [edx + 8]
fld qword [edx + 0x10]
fstp qword [esp + 0x80]
fld qword [edx + 0x18]
mov edx, dword [esp + 0x1c]
dec edx
fstp qword [esp + 0x68]
cmp dword [esp + 0x38], edx
jl 0x1004cd74
cmp esi, eax
jl 0x1004cd74
xor esi, esi
test ecx, ecx
js 0x1004d2ef
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x40]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x40]
lea eax, [edi + 0x20]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x54], ecx
jmp 0x1004cc10
mov ecx, dword [esp + 0x54]
fxch st(2)
fxch st(4)
fxch st(2)
fxch st(3)
fxch st(3)
fstp qword [esp + 0x58]
fld qword [eax - 8]
fld qword [eax]
movzx eax, byte [edx + ecx]
cdq
mov edx, dword [esp + 0x14]
mov edi, eax
movzx eax, byte [edx]
cdq
xor ecx, ecx
or ecx, eax
mov eax, dword [esp + 0x9c]
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 + 0x18]
fstp qword [esp + 0x78]
fild dword [esp + 0x78]
fstp qword [eax]
fild dword [esp + 0x7c]
fstp qword [eax + 8]
fld qword [esp + 0x58]
fmul st(5)
fxch st(6)
fmul st(3)
faddp st(6)
fld qword [esp + 0x80]
fmul st(4)
faddp st(6)
fld qword [esp + 0x68]
fmul st(2)
faddp st(6)
fxch st(5)
fadd qword [ebx + esi*8]
fsub st(6)
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1004cc94
fstp st(0)
mov edi, 0x80000000
jmp 0x1004ccb3
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1004ccac
fstp st(0)
mov edi, 0x7fffffff
jmp 0x1004ccb3
call fcn.1007d380
mov edi, eax
fld qword [esp + 0x58]
fmul st(2)
fld st(4)
fmul st(4)
faddp st(1)
fld qword [esp + 0x80]
fmul st(2)
faddp st(1)
fld qword [esp + 0x68]
fmul st(6)
faddp st(1)
fadd qword [ebx + esi*8 + 8]
fsub st(6)
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1004ccf0
fstp st(0)
mov eax, 0x80000000
jmp 0x1004cd0d
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1004cd08
fstp st(0)
mov eax, 0x7fffffff
jmp 0x1004cd0d
call fcn.1007d380
mov edx, dword [esp + 0x30]
fldz
add dword [esp + 0x18], 0x10
mov ecx, edi
mov edi, dword [esp + 0x3c]
sar eax, 0x18
sar ecx, 0x18
xor al, 0x80
xor cl, 0x80
mov byte [edi], cl
mov ecx, dword [esp + 0x4c]
mov byte [edx], al
fst qword [ebx + esi*8]
mov eax, dword [esp + 0x10]
fstp qword [ebx + esi*8 + 8]
add eax, eax
add dword [esp + 0x14], eax
add edi, eax
add edx, eax
mov eax, dword [esp + 0x34]
add esi, 2
add eax, 0x10
add ecx, 0xfffffffe
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
cmp esi, ecx
jle 0x1004cc04
fstp st(2)
fstp st(1)
fstp st(2)
fstp st(1)
jmp 0x1004d1a0
xor esi, esi
test ecx, ecx
js 0x1004d2ef
lea edx, [edi + 0x20]
jmp 0x1004cd89
fxch st(2)
fxch st(4)
fxch st(3)
fxch st(3)
add esi, 2
fst qword [esp + 0x58]
add edx, 0x10
fld qword [edx - 0x18]
fld qword [edx - 0x10]
fxch st(2)
fmul st(5)
fxch st(6)
fmul st(3)
faddp st(6)
fld qword [esp + 0x80]
fmul st(4)
faddp st(6)
fld qword [esp + 0x68]
fmul st(1)
faddp st(6)
fxch st(5)
fadd qword [ebx + esi*8 - 0x10]
fstp qword [ebx + esi*8 - 0x10]
fld qword [esp + 0x58]
fmul st(2)
fld st(4)
fmul st(4)
faddp st(1)
fld qword [esp + 0x80]
fmul st(6)
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 0x1004cd83
fstp st(2)
fstp st(3)
fstp st(0)
fstp st(1)
jmp 0x1004d1a0
cmp edx, 3
mov edx, dword [esp + 0x74]
jne 0x1004d01d
fld qword [edi + 8]
fld qword [edx]
fld qword [edx + 8]
fld qword [edx + 0x10]
mov edx, dword [esp + 0x1c]
dec edx
cmp dword [esp + 0x38], edx
jl 0x1004cfb5
cmp esi, eax
jl 0x1004cfb5
xor esi, esi
test ecx, ecx
js 0x1004d2ef
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x40]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x40]
lea eax, [edi + 0x18]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x54], ecx
jmp 0x1004ce6b
mov ecx, dword [esp + 0x54]
fxch st(4)
fxch st(3)
fxch st(3)
fstp qword [esp + 0x58]
fld qword [eax - 8]
fld qword [eax]
movzx eax, byte [edx + ecx]
cdq
mov edx, dword [esp + 0x14]
mov edi, eax
movzx eax, byte [edx]
cdq
xor ecx, ecx
or ecx, eax
mov eax, dword [esp + 0x9c]
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 + 0x18]
fstp qword [esp + 0x78]
fild dword [esp + 0x78]
fstp qword [eax]
fild dword [esp + 0x7c]
fstp qword [eax + 8]
fld qword [esp + 0x58]
fmul st(3)
fxch st(6)
fmul st(4)
faddp st(6)
fld st(4)
fmul st(2)
faddp st(6)
fxch st(5)
fadd qword [ebx + esi*8]
fsub st(6)
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1004cee2
fstp st(0)
mov edi, 0x80000000
jmp 0x1004cf01
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1004cefa
fstp st(0)
mov edi, 0x7fffffff
jmp 0x1004cf01
call fcn.1007d380
mov edi, eax
fld qword [esp + 0x58]
fmul st(3)
fld st(2)
fmul st(2)
faddp st(1)
fld st(4)
fmul st(6)
faddp st(1)
fadd qword [ebx + esi*8 + 8]
fsub st(6)
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1004cf31
fstp st(0)
mov eax, 0x80000000
jmp 0x1004cf4e
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1004cf49
fstp st(0)
mov eax, 0x7fffffff
jmp 0x1004cf4e
call fcn.1007d380
mov edx, dword [esp + 0x30]
fldz
add dword [esp + 0x18], 0x10
mov ecx, edi
mov edi, dword [esp + 0x3c]
sar eax, 0x18
sar ecx, 0x18
xor al, 0x80
xor cl, 0x80
mov byte [edi], cl
mov ecx, dword [esp + 0x4c]
mov byte [edx], al
fst qword [ebx + esi*8]
mov eax, dword [esp + 0x10]
fstp qword [ebx + esi*8 + 8]
add eax, eax
add dword [esp + 0x14], eax
add edi, eax
add edx, eax
mov eax, dword [esp + 0x34]
add esi, 2
add eax, 0x10
add ecx, 0xfffffffe
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
cmp esi, ecx
jle 0x1004ce63
fstp st(0)
fstp st(3)
fstp st(0)
fstp st(1)
jmp 0x1004d1a0
xor esi, esi
test ecx, ecx
js 0x1004d2ef
lea edx, [edi + 0x18]
jmp 0x1004cfc6
fxch st(3)
fxch st(3)
add esi, 2
fst qword [esp + 0x58]
add edx, 0x10
fld qword [edx - 0x18]
fld qword [edx - 0x10]
fxch st(2)
fmul st(3)
fxch st(6)
fmul st(4)
faddp st(6)
fld st(4)
fmul st(1)
faddp st(6)
fxch st(5)
fadd qword [ebx + esi*8 - 0x10]
fstp qword [ebx + esi*8 - 0x10]
fld qword [esp + 0x58]
fmul st(3)
fld st(2)
fmul st(6)
faddp st(1)
fld st(4)
fmul st(2)
faddp st(1)
fadd qword [ebx + esi*8 - 8]
fstp qword [ebx + esi*8 - 8]
cmp esi, ecx
jle 0x1004cfc4
fstp st(4)
fstp st(3)
fstp st(0)
fstp st(1)
jmp 0x1004d1a0
fld qword [edx]
fld qword [edx + 8]
mov edx, dword [esp + 0x1c]
dec edx
cmp dword [esp + 0x38], edx
jl 0x1004d2a8
cmp esi, eax
jl 0x1004d2a8
xor esi, esi
test ecx, ecx
js 0x1004d19c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x40]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x40]
lea eax, [edi + 0x10]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x54], ecx
jmp 0x1004d077
mov ecx, dword [esp + 0x54]
fld qword [eax - 8]
fld qword [eax]
movzx eax, byte [edx + ecx]
cdq
mov edx, dword [esp + 0x14]
mov edi, eax
movzx eax, byte [edx]
cdq
xor ecx, ecx
or ecx, eax
mov eax, dword [esp + 0x9c]
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 + 0x18]
fstp qword [esp + 0x78]
fild dword [esp + 0x78]
fstp qword [eax]
fild dword [esp + 0x7c]
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]
fsub st(5)
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1004d0e0
fstp st(0)
mov edi, 0x80000000
jmp 0x1004d0ff
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1004d0f8
fstp st(0)
mov edi, 0x7fffffff
jmp 0x1004d0ff
call fcn.1007d380
mov edi, eax
fmul st(2)
fld st(1)
fmul st(4)
faddp st(1)
fadd qword [ebx + esi*8 + 8]
fsub st(4)
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1004d125
fstp st(0)
mov eax, 0x80000000
jmp 0x1004d142
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1004d13d
fstp st(0)
mov eax, 0x7fffffff
jmp 0x1004d142
call fcn.1007d380
mov edx, dword [esp + 0x30]
fldz
add dword [esp + 0x18], 0x10
mov ecx, edi
mov edi, dword [esp + 0x3c]
sar eax, 0x18
sar ecx, 0x18
xor al, 0x80
xor cl, 0x80
mov byte [edi], cl
mov ecx, dword [esp + 0x4c]
mov byte [edx], al
fst qword [ebx + esi*8]
mov eax, dword [esp + 0x10]
fstp qword [ebx + esi*8 + 8]
add eax, eax
add dword [esp + 0x14], eax
add edi, eax
add edx, eax
mov eax, dword [esp + 0x34]
add esi, 2
add eax, 0x10
add ecx, 0xfffffffe
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
cmp esi, ecx
jle 0x1004d073
fstp st(2)
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x44]
lea edx, [edx + eax*8]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x74], edx
cmp dword [esp + 0x24], eax
jl 0x1004c12f
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], eax
cmp eax, dword [esp + 0x1c]
jl 0x1004c107
cmp esi, dword [esp + 0x4c]
jge 0x1004d369
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov edi, dword [ebp + 0x14]
add ecx, esi
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x64]
fldz
xor edx, edx
mov dword [esp + 0x38], edx
cmp dword [esp + 0x1c], edx
jle 0x1004d28b
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + edx*4]
lea edx, [esi*8]
add ecx, edx
xor edx, edx
mov dword [esp + 0x2c], ecx
cmp edi, 4
jl 0x1004d265
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 0x1004d235
mov edi, dword [ebp + 0x14]
mov ecx, dword [esp + 0x2c]
cmp edx, edi
jge 0x1004d278
fld qword [ecx + edx*8]
inc edx
fmul qword [eax]
add eax, 8
faddp st(1)
cmp edx, edi
jl 0x1004d269
mov edx, dword [esp + 0x38]
inc edx
mov dword [esp + 0x38], edx
cmp edx, dword [esp + 0x1c]
jl 0x1004d209
mov ecx, dword [esp + 0x14]
fsub st(1)
fld qword [0x1007e220]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1004d307
fstp st(0)
mov eax, 0x80000000
jmp 0x1004d32b
xor esi, esi
test ecx, ecx
js 0x1004d19c
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 0x1004d2b5
jmp 0x1004d19c
fstp st(1)
fstp st(4)
fstp st(2)
fstp st(0)
jmp 0x1004d19e
fstp st(0)
fstp st(4)
fstp st(2)
fstp st(0)
jmp 0x1004d19e
fld qword [0x1007e228]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1004d31f
fstp st(0)
mov eax, 0x7fffffff
jmp 0x1004d32b
call fcn.1007d380
mov edi, dword [ebp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
sar eax, 0x18
xor al, 0x80
mov byte [edx], al
movzx eax, byte [ecx]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x24]
add dword [esp + 0x24], 8
fild dword [esp + 0x2c]
inc esi
fstp qword [eax]
mov eax, dword [esp + 0x10]
add ecx, eax
add edx, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x3c], edx
cmp esi, dword [esp + 0x4c]
jl 0x1004d1f3
jmp 0x1004d36d
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
cmp esi, edx
jge 0x1004d447
sub edx, esi
cmp edx, 4
jl 0x1004d410
lea edx, [edi + esi]
lea edx, [eax + edx*8]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x48]
sub edx, esi
sub edx, 4
shr edx, 2
inc edx
mov dword [esp + 0x60], edx
lea esi, [esi + edx*4]
movzx edx, byte [ecx]
add ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x44]
fild dword [esp + 0x2c]
fstp qword [edx]
movzx edx, byte [ecx]
add ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x44]
fild dword [esp + 0x2c]
fstp qword [edx + 8]
movzx edx, byte [ecx]
add ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x44]
fild dword [esp + 0x2c]
fstp qword [edx + 0x10]
movzx edx, byte [ecx]
add ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x44]
add dword [esp + 0x44], 0x20
dec dword [esp + 0x60]
fild dword [esp + 0x2c]
fstp qword [edx + 0x18]
jne 0x1004d3aa
mov dword [esp + 0x14], ecx
cmp esi, dword [esp + 0x48]
jge 0x1004d447
lea edx, [edi + esi]
lea edx, [eax + edx*8]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x48]
sub edx, esi
movzx esi, byte [ecx]
add ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x24]
add dword [esp + 0x24], 8
dec edx
fild dword [esp + 0x2c]
fstp qword [esi]
jne 0x1004d426
mov dword [esp + 0x14], ecx
xor edx, edx
cmp edi, 4
jl 0x1004d47d
lea esi, [edi - 4]
shr esi, 2
inc esi
lea ecx, [eax + 0x10]
lea edx, [esi*4]
fld qword [eax + edi*8]
add ecx, 0x20
dec esi
fstp qword [ecx - 0x30]
fld qword [eax + edi*8]
fstp qword [ecx - 0x28]
fld qword [eax + edi*8]
fstp qword [ecx - 0x20]
fld qword [eax + edi*8]
fstp qword [ecx - 0x18]
jne 0x1004d45f
cmp edx, edi
jge 0x1004d48d
fld qword [eax + edi*8]
inc edx
fstp qword [eax + edx*8 - 8]
cmp edx, edi
jl 0x1004d481
mov ecx, dword [ebp + 0x20]
xor esi, esi
cmp ecx, 4
jl 0x1004d4e3
mov esi, dword [ebp + 0x20]
mov ecx, dword [esp + 0x48]
add esi, 0xfffffffc
shr esi, 2
inc esi
lea edx, [edi + ecx]
mov dword [esp + 0x60], esi
lea edx, [eax + edx*8]
add esi, esi
mov dword [esp + 0x2c], edx
mov ecx, edx
add esi, esi
jmp 0x1004d4bf
mov edx, dword [esp + 0x2c]
fld qword [edx - 8]
add ecx, 0x20
dec dword [esp + 0x60]
fstp qword [ecx - 0x20]
fld qword [edx - 8]
fstp qword [ecx - 0x18]
fld qword [edx - 8]
fstp qword [ecx - 0x10]
fld qword [edx - 8]
fstp qword [ecx - 8]
jne 0x1004d4bb
mov ecx, dword [ebp + 0x20]
cmp esi, ecx
jge 0x1004d502
add edi, dword [esp + 0x48]
sub ecx, esi
lea edx, [edi + esi]
lea edx, [eax + edx*8]
add esi, ecx
fld qword [eax + edi*8 - 8]
add edx, 8
dec ecx
fstp qword [edx - 8]
jne 0x1004d4f5
mov edx, dword [esp + 0xc]
cmp edx, dword [esp + 0xe4]
jge 0x1004d51a
mov eax, dword [esp + 0xdc]
add dword [esp + 0x50], eax
mov ecx, dword [esp + 0xec]
add dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x1c]
inc ecx
inc eax
mov dword [esp + 0x70], ecx
cmp ecx, eax
jl 0x1004d53f
mov dword [esp + 0x70], 0
inc edx
mov dword [esp + 0xc], edx
cmp edx, dword [esp + 0xbc]
jl 0x1004c0d2
mov eax, dword [esp + 0xcc]
inc eax
mov dword [esp + 0xcc], eax
cmp eax, dword [esp + 0x10]
jl 0x1004bdff
fstp st(0)
lea edx, [esp + 0x970]
cmp dword [esp + 0xb8], edx
je 0x1004d58c
mov eax, dword [esp + 0xb8]
push eax
call sub.MSVCR100.dll_free
add esp, 4
lea ecx, [esp + 0x170]
cmp dword [esp + 0x64], ecx
je 0x1004d5a6
mov edx, dword [esp + 0x64]
push edx
call sub.MSVCR100.dll_free
add esp, 4
mov ecx, dword [esp + 0x3b74]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.1007d356
mov esp, ebp
pop ebp
ret