Function at 0x493a70
Capabilities:
Check http status code
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x5efe9a
mov eax, dword fs:[0]
push eax
sub esp, 0x528
push ebx
push esi
push edi
mov eax, dword [0x615cbc]
xor eax, esp
push eax
lea eax, [esp + 0x538]
mov dword fs:[0], eax
mov dword [esp + 0x60], ecx
mov ebx, dword [ebp + 8]
mov esi, dword [ebx + 0xc]
movsd xmm1, qword [ebx + 0x40]
xorps xmm2, xmm2
cmp esi, 0x3b
sete cl
mov byte [esp + 0x27], cl
movsd qword [esp + 0xc4], xmm1
test cl, cl
je 0x493b17
mov edx, dword [ebx + 0x108]
mov eax, dword [ebx + 0xd4]
cmp edx, eax
jl 0x493ae9
mov edi, dword [ebx + 0x100]
movsd xmm0, qword [edi + eax*8 - 8]
jmp 0x493aed
movapd xmm0, xmm2
comisd xmm0, xmm1
jbe 0x493b17
cmp edx, eax
jl 0x493b0e
mov edx, dword [ebx + 0x100]
movsd xmm0, qword [edx + eax*8 - 8]
movsd qword [esp + 0xc4], xmm0
jmp 0x493b17
movsd qword [esp + 0xc4], xmm2
movsd xmm0, qword [ebx + 0x48]
movsd qword [esp + 0x84], xmm0
test cl, cl
je 0x493b52
mov ecx, ebx
call fcn.00428560
fld qword [esp + 0x84]
fcompi st(1)
fstp st(0)
jbe 0x493b4b
mov ecx, ebx
call fcn.00428560
fstp qword [esp + 0x84]
mov cl, byte [esp + 0x27]
xorps xmm2, xmm2
movsd xmm0, qword [ebx + 0x30]
movsd qword [esp + 0xa4], xmm0
test cl, cl
je 0x493bab
mov edx, dword [ebx + 0xfc]
mov eax, dword [ebx + 0xd0]
cmp edx, eax
jl 0x493b82
mov edi, dword [ebx + 0xf4]
movsd xmm1, qword [edi + eax*8 - 8]
jmp 0x493b86
movapd xmm1, xmm2
comisd xmm1, xmm0
jbe 0x493bab
cmp edx, eax
jl 0x493b9e
mov edx, dword [ebx + 0xf4]
movsd xmm0, qword [edx + eax*8 - 8]
jmp 0x493ba2
movapd xmm0, xmm2
movsd qword [esp + 0xa4], xmm0
movsd xmm1, qword [ebx + 0x38]
movsd qword [esp + 0x44], xmm1
test cl, cl
je 0x493beb
mov ecx, ebx
call fcn.004284a0
fld qword [esp + 0x44]
fcompi st(1)
fstp st(0)
jbe 0x493bd6
mov ecx, ebx
call fcn.004284a0
fstp qword [esp + 0x44]
mov eax, dword [ebx + 0xc8]
movsd xmm0, qword [esp + 0xa4]
mov cl, byte [esp + 0x27]
jmp 0x493bef
mov eax, dword [ebx + 0x10]
inc eax
mov dword [esp + 0x30], eax
test cl, cl
je 0x493bff
mov eax, dword [ebx + 0xcc]
jmp 0x493c03
mov eax, dword [ebx + 0x14]
inc eax
cmp esi, 0x3e
mov dword [esp + 0x28], eax
sete al
mov byte [esp + 0x5f], al
test al, al
jne 0x493d91
movsd xmm1, qword [ebx + 0x80]
movsd xmm2, qword [0x5fc860]
andpd xmm1, xmm2
comisd xmm1, xmmword [0x5ff758]
ja 0x493d91
movsd xmm1, qword [ebp + 0xc]
mov byte [esp + 0x26], al
movsd qword [esp + 0x9c], xmm1
movsd xmm1, qword [esp + 0x44]
mov eax, dword [ebx]
mov edx, dword [eax + 0x90]
addsd xmm1, xmm0
movsd xmm0, qword [esp + 0xc4]
mulsd xmm1, qword [0x5fb9c8]
push 1
lea ecx, [esp + 0x1d8]
movsd qword [esp + 0x1e0], xmm0
movsd xmm0, qword [esp + 0x88]
push ecx
mov ecx, ebx
movsd qword [esp + 0x1dc], xmm1
movsd qword [esp + 0x1ec], xmm0
call edx
xor edi, edi
push 0x32
lea ecx, [esp + 0x54]
mov esi, eax
mov dword [esp + 0x5c], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], 0xa
call fcn.00412880
mov dword [esp + 0x540], edi
cmp esi, edi
je 0x493ede
cmp dword [esi + 0xc], 0x13
je 0x493d14
push 0xe0
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0xec], eax
mov byte [esp + 0x540], 1
cmp eax, edi
je 0x493d00
push esi
mov ecx, eax
call fcn.005162a0
mov edi, eax
mov eax, dword [esi]
mov edx, dword [eax]
push 1
mov ecx, esi
mov byte [esp + 0x544], 0
call edx
mov esi, edi
xor eax, eax
push 0x32
lea ecx, [esp + 0x150]
mov dword [esp + 0x158], eax
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], 0xa
call fcn.00412980
fld qword [esi + 0x18]
fld qword [esi + 0x10]
sub esp, 0x18
fld qword [esp + 0xb4]
lea eax, [esp + 0x68]
fstp qword [esp + 0x10]
lea ecx, [esp + 0x164]
fxch st(1)
mov byte [esp + 0x558], 2
fstp qword [esp + 8]
fstp qword [esp]
push eax
push ecx
mov ecx, esi
call fcn.004f2c30
mov edi, eax
cmp edi, 3
jg 0x493dbb
cmp byte [esp + 0x27], 0
je 0x493d8a
cmp edi, dword [esp + 0x28]
jg 0x493dbb
xor edi, edi
jmp 0x493ea3
movsd xmm1, qword [ebp + 0xc]
movsd xmm2, qword [0x5fc898]
comisd xmm1, xmm2
mov byte [esp + 0x26], 1
jbe 0x493c44
movsd qword [esp + 0x9c], xmm2
jmp 0x493c4d
movsd xmm1, qword [esi + 0x10]
movsd xmm0, qword [esi + 0x18]
movapd xmm2, xmm1
subsd xmm0, xmm2
movsd xmm2, qword [esp + 0xc4]
movapd xmm3, xmm0
movsd xmm0, qword [esp + 0x84]
xor eax, eax
cmp edi, 4
subsd xmm0, xmm2
divsd xmm0, xmm3
jl 0x493e75
lea edx, [edi - 3]
lea esp, [esp]
mov ecx, dword [esp + 0x50]
movsd xmm3, qword [ecx + eax*8]
subsd xmm3, xmm1
mulsd xmm3, xmm0
addsd xmm3, xmm2
movsd qword [ecx + eax*8], xmm3
mov ecx, dword [esp + 0x50]
movsd xmm3, qword [ecx + eax*8 + 8]
subsd xmm3, xmm1
mulsd xmm3, xmm0
addsd xmm3, xmm2
movsd qword [ecx + eax*8 + 8], xmm3
mov ecx, dword [esp + 0x50]
movsd xmm3, qword [ecx + eax*8 + 0x10]
subsd xmm3, xmm1
mulsd xmm3, xmm0
addsd xmm3, xmm2
movsd qword [ecx + eax*8 + 0x10], xmm3
mov ecx, dword [esp + 0x50]
movsd xmm3, qword [ecx + eax*8 + 0x18]
subsd xmm3, xmm1
mulsd xmm3, xmm0
addsd xmm3, xmm2
movsd qword [ecx + eax*8 + 0x18], xmm3
add eax, 4
cmp eax, edx
jl 0x493e00
cmp eax, edi
jge 0x493e9f
lea esp, [esp]
mov ecx, dword [esp + 0x50]
movsd xmm3, qword [ecx + eax*8]
subsd xmm3, xmm1
mulsd xmm3, xmm0
addsd xmm3, xmm2
movsd qword [ecx + eax*8], xmm3
inc eax
cmp eax, edi
jl 0x493e80
mov dword [esp + 0x28], edi
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
mov eax, dword [esp + 0x14c]
mov byte [esp + 0x540], 0
test eax, eax
je 0x493eca
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
xor eax, eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0x154], eax
cmp edi, eax
jne 0x493f34
mov esi, dword [esp + 0x28]
push esi
lea ecx, [esp + 0x54]
call fcn.00412880
movsd xmm2, qword [esp + 0x84]
movsd xmm3, qword [esp + 0xc4]
lea ecx, [esi - 1]
movapd xmm0, xmm2
cvtsi2sd xmm1, ecx
subsd xmm0, xmm3
xor eax, eax
divsd xmm0, xmm1
movapd xmm1, xmm3
test esi, esi
jle 0x493f46
mov ecx, esi
lea ecx, [ecx]
mov edx, dword [esp + 0x50]
movsd qword [edx + eax*8], xmm1
inc eax
cmp eax, ecx
addsd xmm1, xmm0
jl 0x493f20
jmp 0x493f46
movsd xmm2, qword [esp + 0x84]
movsd xmm3, qword [esp + 0xc4]
movsd xmm0, qword [esp + 0xa4]
addsd xmm2, xmm3
mulsd xmm2, qword [0x5fb9c8]
movsd qword [esp + 0x1dc], xmm0
movsd xmm0, qword [esp + 0x44]
xor esi, esi
push 0xa
push 0x32
movsd qword [esp + 0x1dc], xmm2
movsd qword [esp + 0x1ec], xmm0
mov dword [esp + 0x48], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], 0xa
call dword [sym.imp.MSVCR90.dll_div]
add esp, 8
mov dword [esp + 0x1c8], edx
cmp edx, esi
je 0x493fa7
inc eax
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
imul esi, eax
lea eax, [esi*8]
push eax
push ecx
call dword [sym.imp.MSVCR90.dll_realloc]
mov edi, eax
add esp, 8
test edi, edi
jne 0x493fe0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x135
push 0x5fc8a0
call fcn.005be0b0
add esp, 0x10
mov eax, dword [esp + 0x40]
cmp esi, eax
mov dword [esp + 0x38], edi
jle 0x494005
mov edx, esi
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
push edx
lea eax, [edi + eax*8]
push 0
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
mov dword [esp + 0x40], esi
mov edx, dword [ebx]
mov edx, dword [edx + 0x90]
push 0
lea eax, [esp + 0x1d8]
push eax
mov ecx, ebx
mov byte [esp + 0x548], 3
call edx
mov esi, eax
test esi, esi
je 0x494212
cmp dword [esi + 0xc], 0x13
je 0x494079
push 0xe0
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0xec], eax
mov byte [esp + 0x540], 4
test eax, eax
je 0x494063
push esi
mov ecx, eax
call fcn.005162a0
mov edi, eax
jmp 0x494065
xor edi, edi
mov eax, dword [esi]
mov edx, dword [eax]
push 1
mov ecx, esi
mov byte [esp + 0x544], 3
call edx
mov esi, edi
xor eax, eax
push 0x32
lea ecx, [esp + 0x144]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], 0xa
call fcn.00412980
fld qword [esi + 0x18]
fld qword [esi + 0x10]
sub esp, 0x18
fld qword [esp + 0xb4]
lea eax, [esp + 0x50]
fstp qword [esp + 0x10]
lea ecx, [esp + 0x158]
fxch st(1)
mov byte [esp + 0x558], 5
fstp qword [esp + 8]
fstp qword [esp]
push eax
push ecx
mov ecx, esi
call fcn.004f2c30
mov ebx, eax
cmp ebx, 3
jg 0x4940f8
cmp byte [esp + 0x27], 0
mov edi, dword [esp + 0x30]
je 0x4940f1
cmp ebx, edi
jg 0x4940f8
xor ebx, ebx
jmp 0x4941d5
movsd xmm1, qword [esi + 0x10]
movsd xmm0, qword [esi + 0x18]
movapd xmm2, xmm1
subsd xmm0, xmm2
movsd xmm2, qword [esp + 0xa4]
movapd xmm3, xmm0
movsd xmm0, qword [esp + 0x44]
xor eax, eax
cmp ebx, 4
subsd xmm0, xmm2
divsd xmm0, xmm3
jl 0x4941a5
lea edx, [ebx - 3]
nop
mov ecx, dword [esp + 0x38]
movsd xmm3, qword [ecx + eax*8]
subsd xmm3, xmm1
mulsd xmm3, xmm0
addsd xmm3, xmm2
movsd qword [ecx + eax*8], xmm3
mov ecx, dword [esp + 0x38]
movsd xmm3, qword [ecx + eax*8 + 8]
subsd xmm3, xmm1
mulsd xmm3, xmm0
addsd xmm3, xmm2
movsd qword [ecx + eax*8 + 8], xmm3
mov ecx, dword [esp + 0x38]
movsd xmm3, qword [ecx + eax*8 + 0x10]
subsd xmm3, xmm1
mulsd xmm3, xmm0
addsd xmm3, xmm2
movsd qword [ecx + eax*8 + 0x10], xmm3
mov ecx, dword [esp + 0x38]
movsd xmm3, qword [ecx + eax*8 + 0x18]
subsd xmm3, xmm1
mulsd xmm3, xmm0
addsd xmm3, xmm2
movsd qword [ecx + eax*8 + 0x18], xmm3
add eax, 4
cmp eax, edx
jl 0x494130
cmp eax, ebx
jge 0x4941cf
lea esp, [esp]
mov ecx, dword [esp + 0x38]
movsd xmm3, qword [ecx + eax*8]
subsd xmm3, xmm1
mulsd xmm3, xmm0
addsd xmm3, xmm2
movsd qword [ecx + eax*8], xmm3
inc eax
cmp eax, ebx
jl 0x4941b0
mov edi, ebx
mov dword [esp + 0x30], edi
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
mov eax, dword [esp + 0x140]
xor esi, esi
mov byte [esp + 0x540], 3
cmp eax, esi
je 0x4941fe
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [esp + 0x140], esi
mov dword [esp + 0x148], esi
cmp ebx, esi
jne 0x494258
jmp 0x494218
mov edi, dword [esp + 0x30]
xor esi, esi
push edi
lea ecx, [esp + 0x3c]
call fcn.00412880
movsd xmm1, qword [esp + 0x44]
movsd xmm0, qword [esp + 0xa4]
lea ecx, [edi - 1]
xor eax, eax
cmp edi, esi
subsd xmm1, xmm0
cvtsi2sd xmm2, ecx
divsd xmm1, xmm2
jle 0x494258
mov edx, dword [esp + 0x38]
movsd qword [edx + eax*8], xmm0
inc eax
cmp eax, edi
addsd xmm0, xmm1
jl 0x494246
cmp byte [esp + 0x5f], 0
mov eax, dword [esp + 0x60]
xorps xmm0, xmm0
mov dword [esp + 0xa4], esi
movsd qword [eax + 0x80], xmm0
je 0x49427c
movsd xmm0, qword [ebp + 0xc]
jmp 0x494284
movsd xmm0, qword [0x5fc880]
movsd qword [esp + 0x9c], xmm0
lea ecx, [ecx]
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
mov eax, esi
imul eax, ebx
xor edi, edi
push eax
lea ecx, [esp + 0x120]
mov dword [esp + 0x124], 1
mov dword [esp + 0x128], edi
mov dword [esp + 0x120], edi
call fcn.00468550
cmp esi, edi
xorps xmm0, xmm0
mov byte [esp + 0x540], 6
movsd qword [esp + 0x94], xmm0
movsd qword [esp + 0x8c], xmm0
mov dword [esp + 0x20], edi
jle 0x4943a1
mov ecx, dword [esp + 0x11c]
mov eax, ebx
imul eax, eax, 0x58
add ecx, 0x40
mov dword [esp + 0xd0], eax
mov dword [esp + 0x64], ecx
jmp 0x494310
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x20]
movsd xmm0, qword [edx + eax*8]
xor edi, edi
movsd qword [esp + 0x94], xmm0
test ebx, ebx
jle 0x49438e
mov eax, dword [esp + 0x64]
mov esi, eax
add eax, dword [esp + 0xd0]
mov dword [esp + 0x64], eax
lea ecx, [ecx]
mov ecx, dword [esp + 0x38]
fldz
movsd xmm0, qword [ecx + edi*8]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov edx, dword [edx + 0x84]
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x94]
push eax
lea eax, [esi - 0x40]
push eax
movsd qword [esp + 0x9c], xmm0
call edx
lea ecx, [esi - 0x18]
call fcn.004a8b50
fstp st(0)
mov ecx, esi
call fcn.004a8b50
fstp st(0)
inc edi
add esi, 0x58
cmp edi, ebx
jl 0x494340
mov eax, dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
jl 0x494310
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x28]
mov edx, 4
push 0
push edx
lea ecx, [edi - 1]
lea ecx, [ecx + ecx*2 + 1]
push edx
lea eax, [ebx - 1]
lea eax, [eax + eax*2 + 1]
push ecx
mov dword [esi + 0xcc], ecx
push eax
mov ecx, esi
mov byte [esi + 0x19], 0
mov byte [esi + 0x18], 0
mov dword [esi + 0xd4], edx
mov dword [esi + 0xd0], edx
mov dword [esi + 0xc8], eax
call fcn.00485ca0
xor eax, eax
mov byte [esi + 0x1b], 0
mov byte [esi + 0x1a], 0
test ebx, ebx
jle 0x49443e
mov ecx, 8
lea esp, [esp]
mov edi, dword [esp + 0x38]
fld qword [edi + eax*8]
mov edx, dword [esi + 0xf4]
fstp qword [ecx + edx]
mov edi, dword [esp + 0x38]
fld qword [edi + eax*8]
mov edx, dword [esi + 0xf4]
fstp qword [ecx + edx + 8]
mov edi, dword [esp + 0x38]
fld qword [edi + eax*8]
mov edx, dword [esi + 0xf4]
fstp qword [ecx + edx + 0x10]
inc eax
add ecx, 0x18
cmp eax, ebx
jl 0x494400
mov edi, dword [esp + 0x28]
mov ecx, dword [esi + 0xc8]
mov eax, dword [esi + 0xd0]
add eax, ecx
mov ecx, dword [esi + 0xf4]
fld qword [ecx + eax*8 - 0x10]
fstp qword [ecx + eax*8 - 8]
mov eax, dword [esi + 0xf4]
fld qword [eax + 8]
fstp qword [eax]
xor eax, eax
test edi, edi
jle 0x4944aa
mov ecx, 8
mov ebx, dword [esp + 0x50]
fld qword [ebx + eax*8]
mov edx, dword [esi + 0x100]
fstp qword [ecx + edx]
mov ebx, dword [esp + 0x50]
fld qword [ebx + eax*8]
mov edx, dword [esi + 0x100]
fstp qword [ecx + edx + 8]
mov ebx, dword [esp + 0x50]
fld qword [ebx + eax*8]
mov edx, dword [esi + 0x100]
fstp qword [ecx + edx + 0x10]
inc eax
add ecx, 0x18
cmp eax, edi
jl 0x494470
mov ecx, dword [esi + 0xcc]
mov eax, dword [esi + 0xd4]
xorps xmm0, xmm0
add eax, ecx
mov ecx, dword [esi + 0x100]
fld qword [ecx + eax*8 - 0x10]
fstp qword [ecx + eax*8 - 8]
mov esi, dword [esi + 0x100]
fld qword [esi + 8]
mov ecx, 0xf
fstp qword [esi]
lea eax, [esp + 0x38c]
movsd qword [eax + 8], xmm0
movsd qword [eax], xmm0
movsd qword [eax - 8], xmm0
add eax, 0x18
sub ecx, 1
jns 0x4944e0
dec edi
movsd qword [esp + 0x21c], xmm0
movsd qword [esp + 0x214], xmm0
movsd qword [esp + 0x234], xmm0
movsd qword [esp + 0x22c], xmm0
movsd qword [esp + 0x224], xmm0
movsd qword [esp + 0x24c], xmm0
movsd qword [esp + 0x244], xmm0
movsd qword [esp + 0x23c], xmm0
movsd qword [esp + 0x264], xmm0
movsd qword [esp + 0x25c], xmm0
movsd qword [esp + 0x254], xmm0
movsd qword [esp + 0x274], xmm0
movsd qword [esp + 0x26c], xmm0
movsd qword [esp + 0x28c], xmm0
movsd qword [esp + 0x284], xmm0
movsd qword [esp + 0x27c], xmm0
movsd qword [esp + 0x2a4], xmm0
movsd qword [esp + 0x29c], xmm0
movsd qword [esp + 0x294], xmm0
movsd qword [esp + 0x2bc], xmm0
movsd qword [esp + 0x2b4], xmm0
movsd qword [esp + 0x2ac], xmm0
movsd qword [esp + 0x2cc], xmm0
movsd qword [esp + 0x2c4], xmm0
movsd qword [esp + 0x2e4], xmm0
movsd qword [esp + 0x2dc], xmm0
movsd qword [esp + 0x2d4], xmm0
movsd qword [esp + 0x2fc], xmm0
movsd qword [esp + 0x2f4], xmm0
movsd qword [esp + 0x2ec], xmm0
movsd qword [esp + 0x314], xmm0
movsd qword [esp + 0x30c], xmm0
movsd qword [esp + 0x304], xmm0
movsd qword [esp + 0x324], xmm0
movsd qword [esp + 0x31c], xmm0
movsd qword [esp + 0x33c], xmm0
movsd qword [esp + 0x334], xmm0
movsd qword [esp + 0x32c], xmm0
movsd qword [esp + 0x354], xmm0
movsd qword [esp + 0x34c], xmm0
movsd qword [esp + 0x344], xmm0
movsd qword [esp + 0x36c], xmm0
movsd qword [esp + 0x364], xmm0
movsd qword [esp + 0x35c], xmm0
mov dword [esp + 0xf0], 0
test edi, edi
jle 0x4948a2
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x11c]
imul eax, eax, 0x58
mov dword [esp + 0xd0], eax
add eax, ecx
mov dword [esp + 0x64], eax
add eax, 0x58
mov dword [esp + 0xe4], 0
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], eax
lea ecx, [ecx]
mov eax, dword [esp + 0x30]
dec eax
mov dword [esp + 0x20], 0
test eax, eax
jle 0x494865
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0xe8], 0
mov dword [esp + 0xe0], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0xdc], ecx
jmp 0x494720
mov eax, dword [esp + 0xe0]
mov esi, eax
mov ecx, 0x16
lea edi, [esp + 0x214]
rep movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x58]
mov ecx, 0x16
lea edi, [esp + 0x26c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x2c]
mov ecx, 0x16
lea edi, [esp + 0x2c4]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0xdc]
mov ecx, 0x16
lea edi, [esp + 0x31c]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x214]
lea edi, [esp + 0x384]
call fcn.00483c90
mov eax, dword [esp + 0x30]
add eax, 0xfffffffe
xor ebx, ebx
cmp dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
setge bl
xor edx, edx
add eax, 0xfffffffe
add ebx, 3
cmp dword [esp + 0xf0], eax
setge dl
xor edi, edi
add edx, 3
mov eax, edx
mov dword [esp + 0x44], eax
test eax, eax
jle 0x494830
lea eax, [esp + 0x384]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x60]
lea eax, [ecx + edi]
imul eax, dword [edx + 0xc8]
add eax, dword [esp + 0xe8]
test ebx, ebx
jle 0x494824
mov ecx, dword [esp + 0x34]
lea edx, [eax + eax*2]
add edx, edx
add edx, edx
add edx, edx
mov esi, ebx
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0xdc]
movq xmm0, qword [ecx]
add eax, edx
movq qword [eax], xmm0
movq xmm0, qword [ecx + 8]
movq qword [eax + 8], xmm0
movq xmm0, qword [ecx + 0x10]
add ecx, 0x18
add edx, 0x18
sub esi, 1
movq qword [eax + 0x10], xmm0
jne 0x4947f1
add dword [esp + 0x34], 0x60
inc edi
cmp edi, dword [esp + 0x44]
jl 0x4947c2
mov eax, dword [esp + 0x20]
add dword [esp + 0xe8], 3
mov ecx, 0x58
add dword [esp + 0x2c], ecx
add dword [esp + 0xdc], ecx
add dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x30]
inc eax
dec ecx
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x494720
mov eax, dword [esp + 0xd0]
add dword [esp + 0xd4], eax
add dword [esp + 0xd8], eax
add dword [esp + 0x64], eax
mov ecx, dword [esp + 0xf0]
mov eax, dword [esp + 0x28]
add dword [esp + 0xe4], 3
inc ecx
dec eax
cmp ecx, eax
mov dword [esp + 0xf0], ecx
jl 0x4946d0
fld qword [0x5ff790]
mov esi, dword [esp + 0x60]
mov bl, byte [0x616388]
push 1
sub esp, 8
fstp qword [esp]
push 0x1f4
push 3
lea ecx, [esp + 0x388]
push ecx
lea edx, [esp + 0xdc]
push edx
mov ecx, esi
mov byte [0x616388], 0
call fcn.0048e230
test al, al
je 0x494903
mov eax, dword [esp + 0xc4]
cmp eax, dword [esi + 0x10c]
jge 0x494903
mov ecx, dword [esi + 0xc8]
dec ecx
cmp eax, ecx
jle 0x494903
mov dword [esi + 0x10c], eax
fld qword [0x5ff790]
push 0
sub esp, 8
fstp qword [esp]
push 0x1f4
push 3
lea edx, [esp + 0x390]
push edx
lea eax, [esp + 0x104]
push eax
mov ecx, esi
mov byte [0x616388], 0
call fcn.0048e230
test al, al
je 0x49495a
mov eax, dword [esp + 0xec]
cmp eax, dword [esi + 0x110]
jge 0x49495a
mov ecx, dword [esi + 0xcc]
dec ecx
cmp eax, ecx
jle 0x49495a
mov dword [esi + 0x110], eax
xorps xmm0, xmm0
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x30]
mov byte [0x616388], bl
mov edx, dword [esi + 0x10]
push edx
sub esp, 0x10
movsd qword [esi + 0x28], xmm0
movsd qword [esi + 0x20], xmm0
fld qword [eax + edi*8 - 8]
fstp qword [esp + 8]
mov ecx, esi
fld qword [eax]
fstp qword [esp]
push 0
push 0
call fcn.004703e0
mov eax, dword [esi + 0x14]
mov ebx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x54]
fld qword [eax + ebx*8 - 8]
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, esi
fld qword [eax]
fstp qword [esp]
push 0
push 0
call fcn.00470420
mov ecx, esi
call fcn.00428460
fstp qword [esp + 0x44]
mov ecx, esi
call fcn.004284a0
fld st(0)
fld qword [esp + 0x44]
push 1
fsub st(1), st(0)
sub esp, 0x10
fxch st(1)
mov ecx, esi
fstp qword [esi + 0x70]
fxch st(1)
fstp qword [esp + 8]
fstp qword [esp]
call fcn.00468a30
mov ecx, esi
call fcn.00428520
fstp qword [esp + 0x44]
mov ecx, esi
call fcn.00428560
fld st(0)
fld qword [esp + 0x44]
push 0
fsub st(1), st(0)
sub esp, 0x10
fxch st(1)
mov ecx, esi
fstp qword [esi + 0x78]
fxch st(1)
fstp qword [esp + 8]
fstp qword [esp]
call fcn.00468a30
fld qword [0x5fdae0]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.0048ea10
cmp dword [esi + 0xc8], 2
jne 0x494a45
mov byte [esi + 0x18], 0
jmp 0x494a58
fld qword [0x5fdae0]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.0048d2e0
fld qword [0x5fd338]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.0048ce90
cmp dword [esi + 0xcc], 2
jne 0x494a7a
mov byte [esi + 0x19], 0
jmp 0x494a8d
fld qword [0x5fdae0]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.0048d5a0
fld qword [0x5fd338]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.0048d0a0
cmp edi, 0xc8
jle 0x494aba
cmp ebx, 0xc8
jle 0x494aba
mov byte [esp + 0x26], 0
jmp 0x496004
cmp byte [esp + 0x26], 0
je 0x496004
xorps xmm0, xmm0
lea ecx, [esp + 0x128]
movsd qword [esp + 0x84], xmm0
movsd qword [esp + 0x174], xmm0
movsd qword [esp + 0x16c], xmm0
movsd qword [esp + 0x18c], xmm0
movsd qword [esp + 0x184], xmm0
movsd qword [esp + 0x17c], xmm0
movsd qword [esp + 0x1a4], xmm0
movsd qword [esp + 0x19c], xmm0
movsd qword [esp + 0x194], xmm0
movsd qword [esp + 0x1bc], xmm0
movsd qword [esp + 0x1b4], xmm0
movsd qword [esp + 0x1ac], xmm0
call fcn.005c0e70
push edi
lea ecx, [esp + 0x12c]
mov byte [esp + 0x544], 7
call fcn.005c0e90
cmp edi, 0xc8
jle 0x494b81
mov ecx, dword [esp + 0x12c]
mov eax, dword [esp + 0x130]
lea edx, [ecx*4]
push edx
push 0xff
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
lea ecx, [esp + 0x134]
call fcn.005c0e70
push ebx
lea ecx, [esp + 0x138]
mov byte [esp + 0x544], 8
call fcn.005c0e90
cmp ebx, 0xc8
jle 0x494bce
mov ecx, dword [esp + 0x138]
mov eax, dword [esp + 0x13c]
lea edx, [ecx*4]
push edx
push 0xff
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
xor esi, esi
push edi
lea ecx, [esp + 0x70]
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x78], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], 0xa
call fcn.00412880
push ebx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x544], 9
mov dword [esp + 0x84], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], 0xa
call fcn.00412880
xor eax, eax
cmp edi, 4
mov byte [esp + 0x540], 0xa
jl 0x494cad
mov ebx, dword [esp + 0x6c]
mov ecx, 8
sub ecx, ebx
mov dword [esp + 0x44], ecx
lea ecx, [edi - 4]
mov edx, 0xfffffff0
sub edx, ebx
shr ecx, 2
lea esi, [eax + 0x10]
inc ecx
lea eax, [ebx + 0x10]
lea ebx, [ecx*4]
mov dword [esp + 0x64], edx
mov dword [esp + 0x20], ebx
jmp 0x494c65
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x38]
add edx, eax
fld qword [ebx + edx]
add esi, 0x20
fstp qword [eax - 0x10]
mov ebx, dword [esp + 0x38]
fld qword [ebx + edx + 8]
mov ebx, dword [esp + 0x44]
fstp qword [eax - 8]
mov edx, dword [esp + 0x38]
fld qword [edx + esi - 0x20]
add eax, 0x20
fstp qword [eax - 0x20]
mov edx, dword [esp + 0x38]
add edx, ebx
sub ecx, 1
fld qword [edx + eax - 0x20]
fstp qword [eax - 0x18]
jne 0x494c61
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor esi, esi
cmp eax, edi
jge 0x494cc4
mov ecx, dword [esp + 0x38]
fld qword [ecx + eax*8]
mov edx, dword [esp + 0x6c]
fstp qword [edx + eax*8]
inc eax
cmp eax, edi
jl 0x494cb1
xor edi, edi
cmp ebx, 4
jl 0x494d46
mov ecx, dword [esp + 0x78]
mov edx, 8
sub edx, ecx
mov dword [esp + 0x44], edx
lea eax, [ecx + 0x10]
mov edx, 0xfffffff0
sub edx, ecx
lea ecx, [ebx - 4]
shr ecx, 2
inc ecx
lea esi, [edi + 0x10]
mov dword [esp + 0x64], edx
lea edi, [ecx*4]
jmp 0x494d04
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x50]
add edx, eax
fld qword [ebx + edx]
add esi, 0x20
fstp qword [eax - 0x10]
mov ebx, dword [esp + 0x50]
fld qword [ebx + edx + 8]
mov ebx, dword [esp + 0x44]
fstp qword [eax - 8]
mov edx, dword [esp + 0x50]
fld qword [edx + esi - 0x20]
add eax, 0x20
fstp qword [eax - 0x20]
mov edx, dword [esp + 0x50]
add edx, ebx
sub ecx, 1
fld qword [edx + eax - 0x20]
fstp qword [eax - 0x18]
jne 0x494d00
mov ebx, dword [esp + 0x28]
xor esi, esi
cmp edi, ebx
jge 0x494d63
lea esp, [esp]
mov eax, dword [esp + 0x50]
fld qword [eax + edi*8]
mov ecx, dword [esp + 0x78]
fstp qword [ecx + edi*8]
inc edi
cmp edi, ebx
jl 0x494d50
cmp byte [esp + 0x5f], 0
je 0x495454
mov dword [esp + 0x15c], 1
mov dword [esp + 0x160], esi
mov dword [esp + 0x158], esi
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x158]
push edx
mov byte [esp + 0x544], 0xb
call fcn.0058bd30
cmp eax, esi
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], esi
jle 0x495424
movsd xmm4, qword [0x5ff758]
jmp 0x494dc0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x158]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
shl eax, 4
movsd xmm1, qword [edx + eax]
add edx, eax
xor esi, esi
cmp ecx, 4
movsd qword [esp + 0x10c], xmm1
jl 0x494e30
movapd xmm0, xmm1
addsd xmm0, xmm4
lea eax, [edi + 0x10]
movsd xmm2, qword [eax - 0x10]
comisd xmm2, xmm0
ja 0x494e5d
movsd xmm2, qword [eax - 8]
comisd xmm2, xmm0
ja 0x494e52
movsd xmm2, qword [eax]
comisd xmm2, xmm0
ja 0x494e55
movsd xmm2, qword [eax + 8]
comisd xmm2, xmm0
ja 0x494e5a
add esi, 4
lea ebx, [ecx - 3]
add eax, 0x20
cmp esi, ebx
jl 0x494df8
cmp esi, ecx
jge 0x494e5d
movapd xmm0, xmm1
addsd xmm0, xmm4
lea esp, [esp]
movsd xmm1, qword [edi + esi*8]
comisd xmm1, xmm0
ja 0x494e5d
inc esi
cmp esi, ecx
jl 0x494e40
jmp 0x494e5d
inc esi
jmp 0x494e5d
add esi, 2
jmp 0x494e5d
add esi, 3
test esi, esi
je 0x49540f
cmp esi, dword [esp + 0x30]
jge 0x49540f
mov ecx, dword [esp + 0x28]
movsd xmm1, qword [edx + 8]
dec esi
xor edi, edi
cmp ecx, 4
movsd qword [esp + 0x114], xmm1
jl 0x494ed0
mov eax, dword [esp + 0x50]
movapd xmm0, xmm1
addsd xmm0, xmm4
add eax, 0x10
movsd xmm2, qword [eax - 0x10]
comisd xmm2, xmm0
ja 0x494efd
movsd xmm2, qword [eax - 8]
comisd xmm2, xmm0
ja 0x494ef2
movsd xmm2, qword [eax]
comisd xmm2, xmm0
ja 0x494ef5
movsd xmm2, qword [eax + 8]
comisd xmm2, xmm0
ja 0x494efa
add edi, 4
lea ebx, [ecx - 3]
add eax, 0x20
cmp edi, ebx
jl 0x494e98
cmp edi, ecx
jge 0x494efd
mov eax, dword [esp + 0x50]
movapd xmm0, xmm1
addsd xmm0, xmm4
movsd xmm1, qword [eax + edi*8]
comisd xmm1, xmm0
ja 0x494efd
inc edi
cmp edi, ecx
jl 0x494ee0
jmp 0x494efd
inc edi
jmp 0x494efd
add edi, 2
jmp 0x494efd
add edi, 3
test edi, edi
je 0x49540f
cmp edi, dword [esp + 0x28]
jge 0x49540f
mov ecx, esi
and ecx, dword [0x5ff7e0]
mov eax, 1
shl eax, cl
mov ecx, dword [0x5ff7dc]
mov ebx, esi
sar ebx, cl
mov ecx, dword [esp + 0x130]
dec edi
test dword [ecx + ebx*4], eax
je 0x494f5e
mov ecx, edi
and ecx, dword [0x5ff7e0]
mov eax, 1
shl eax, cl
mov ecx, dword [0x5ff7dc]
mov ebx, edi
sar ebx, cl
mov ecx, dword [esp + 0x13c]
test dword [ecx + ebx*4], eax
jne 0x49540f
fldz
mov ecx, dword [ebp + 8]
sub esp, 8
fstp qword [esp]
push edx
lea edx, [esp + 0xb8]
push edx
call fcn.0046a050
fld qword [0x5ff758]
mov ecx, dword [esp + 0x60]
movsd xmm0, qword [esp + 0x10c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
sub esp, 8
fstp qword [esp]
lea edx, [esp + 0xb4]
push edx
push 0
push 0
push 1
lea edx, [esp + 0x184]
movsd qword [esp + 0x184], xmm0
movsd xmm0, qword [esp + 0x12c]
push edx
movsd qword [esp + 0x190], xmm0
call eax
test al, al
je 0x495407
movsd xmm0, qword [esp + 0x17c]
subsd xmm0, qword [esp + 0xac]
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x184]
subsd xmm0, qword [esp + 0xb4]
movsd qword [esp + 0xfc], xmm0
movsd xmm0, qword [esp + 0x18c]
subsd xmm0, qword [esp + 0xbc]
lea ecx, [esp + 0xf4]
movsd qword [esp + 0x104], xmm0
call fcn.004a88b0
fst qword [esp + 0x64]
fld qword [esp + 0x9c]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x495407
movsd xmm0, qword [esp + 0x64]
movsd xmm1, qword [0x5fa8b8]
comisd xmm1, xmm0
jbe 0x495407
comisd xmm0, xmmword [esp + 0x84]
jbe 0x495070
movsd qword [esp + 0x84], xmm0
mov ecx, esi
and ecx, dword [0x5ff7e0]
mov eax, 1
shl eax, cl
mov ecx, dword [0x5ff7dc]
sar esi, cl
mov ecx, dword [esp + 0x130]
test dword [ecx + esi*4], eax
lea esi, [ecx + esi*4]
jne 0x49523a
or dword [esi], eax
mov ebx, dword [esp + 0x2c]
movsd xmm4, qword [0x5ff758]
movsd xmm3, qword [esp + 0x10c]
mov ecx, dword [esp + 0x6c]
xor esi, esi
cmp ebx, 4
jl 0x4950ff
movapd xmm0, xmm3
addsd xmm0, xmm4
lea eax, [ecx + 0x10]
movsd xmm1, qword [eax - 0x10]
comisd xmm1, xmm0
ja 0x49512d
movsd xmm1, qword [eax - 8]
comisd xmm1, xmm0
ja 0x495122
movsd xmm1, qword [eax]
comisd xmm1, xmm0
ja 0x495125
movsd xmm1, qword [eax + 8]
comisd xmm1, xmm0
ja 0x49512a
add esi, 4
lea edx, [ebx - 3]
add eax, 0x20
cmp esi, edx
jl 0x4950c7
cmp esi, ebx
jge 0x49512d
movapd xmm0, xmm3
addsd xmm0, xmm4
jmp 0x495110
movsd xmm1, qword [ecx + esi*8]
comisd xmm1, xmm0
ja 0x49512d
inc esi
cmp esi, ebx
jl 0x495110
jmp 0x49512d
inc esi
jmp 0x49512d
add esi, 2
jmp 0x49512d
add esi, 3
test esi, esi
jle 0x495242
cmp esi, ebx
jge 0x495242
movsd xmm2, qword [ecx + esi*8]
movsd xmm1, qword [ecx + esi*8 - 8]
movapd xmm0, xmm2
subsd xmm0, xmm1
mulsd xmm0, qword [0x5fc870]
comisd xmm0, xmmword [0x5fb9d0]
jbe 0x495242
movapd xmm4, xmm3
subsd xmm4, xmm1
comisd xmm0, xmm4
jbe 0x49517e
addsd xmm1, xmm0
movapd xmm3, xmm1
jmp 0x495194
movapd xmm1, xmm2
subsd xmm1, xmm3
comisd xmm0, xmm1
jbe 0x49519d
subsd xmm2, xmm0
movapd xmm3, xmm2
movsd qword [esp + 0x10c], xmm3
cmp ebx, dword [esp + 0x74]
jl 0x4951bd
lea eax, [ebx + 1]
push eax
lea ecx, [esp + 0x70]
call fcn.00412880
mov ecx, dword [esp + 0x6c]
movsd xmm3, qword [esp + 0x10c]
cmp ebx, esi
movsd qword [ecx + ebx*8], xmm3
mov edx, ebx
jle 0x49522d
mov ecx, dword [esp + 0x2c]
sub ecx, esi
cmp ecx, 4
jl 0x495213
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x6c]
mov ecx, edx
sub ecx, esi
sub ecx, 4
shr ecx, 2
inc ecx
lea ebx, [ecx*4]
lea eax, [eax + edx*8 - 0x10]
sub edx, ebx
fld qword [eax + 8]
sub eax, 0x20
sub ecx, 1
fstp qword [eax + 0x30]
fld qword [eax + 0x20]
fstp qword [eax + 0x28]
fld qword [eax + 0x18]
fstp qword [eax + 0x20]
fld qword [eax + 0x10]
fstp qword [eax + 0x18]
jne 0x4951f3
cmp edx, esi
jle 0x49522d
mov eax, dword [esp + 0x6c]
jmp 0x495220
fld qword [eax + edx*8 - 8]
dec edx
cmp edx, esi
fstp qword [eax + edx*8 + 8]
jg 0x495220
mov ecx, dword [esp + 0x6c]
inc dword [esp + 0x2c]
movsd qword [ecx + esi*8], xmm3
movsd xmm4, qword [0x5ff758]
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x78]
mov ecx, edi
and ecx, dword [0x5ff7e0]
mov eax, 1
shl eax, cl
mov ecx, dword [0x5ff7dc]
sar edi, cl
mov ecx, dword [esp + 0x13c]
test dword [ecx + edi*4], eax
lea edi, [ecx + edi*4]
jne 0x49540f
or dword [edi], eax
movsd xmm4, qword [0x5ff758]
movsd xmm3, qword [esp + 0x114]
xor esi, esi
cmp ebx, 4
jl 0x4952d8
movapd xmm0, xmm3
addsd xmm0, xmm4
lea eax, [edx + 0x10]
lea esp, [esp]
movsd xmm1, qword [eax - 0x10]
comisd xmm1, xmm0
ja 0x495301
movsd xmm1, qword [eax - 8]
comisd xmm1, xmm0
ja 0x4952f6
movsd xmm1, qword [eax]
comisd xmm1, xmm0
ja 0x4952f9
movsd xmm1, qword [eax + 8]
comisd xmm1, xmm0
ja 0x4952fe
add esi, 4
lea ecx, [ebx - 3]
add eax, 0x20
cmp esi, ecx
jl 0x4952a0
cmp esi, ebx
jge 0x495301
movapd xmm0, xmm3
addsd xmm0, xmm4
movsd xmm1, qword [edx + esi*8]
comisd xmm1, xmm0
ja 0x495301
inc esi
cmp esi, ebx
jl 0x4952e4
jmp 0x495301
inc esi
jmp 0x495301
add esi, 2
jmp 0x495301
add esi, 3
test esi, esi
jle 0x49540f
cmp esi, ebx
jge 0x49540f
movsd xmm2, qword [edx + esi*8]
movsd xmm1, qword [edx + esi*8 - 8]
movapd xmm0, xmm2
subsd xmm0, xmm1
mulsd xmm0, qword [0x5fc870]
comisd xmm0, xmmword [0x5fb9d0]
jbe 0x49540f
movapd xmm4, xmm3
subsd xmm4, xmm1
comisd xmm0, xmm4
jbe 0x495352
addsd xmm1, xmm0
movapd xmm3, xmm1
jmp 0x495368
movapd xmm1, xmm2
subsd xmm1, xmm3
comisd xmm0, xmm1
jbe 0x495371
subsd xmm2, xmm0
movapd xmm3, xmm2
movsd qword [esp + 0x114], xmm3
cmp ebx, dword [esp + 0x80]
jl 0x495390
lea edx, [ebx + 1]
push edx
lea ecx, [esp + 0x7c]
call fcn.00412880
movsd xmm3, qword [esp + 0x114]
cmp ebx, esi
mov eax, dword [esp + 0x78]
movsd qword [eax + ebx*8], xmm3
mov edx, ebx
jle 0x4953fd
mov ecx, ebx
sub ecx, esi
cmp ecx, 4
jl 0x4953e8
mov ecx, ebx
sub ecx, esi
sub ecx, 4
shr ecx, 2
inc ecx
lea edx, [ecx*4]
mov edi, edx
mov edx, ebx
lea eax, [eax + ebx*8 - 0x10]
sub edx, edi
fld qword [eax + 8]
sub eax, 0x20
sub ecx, 1
fstp qword [eax + 0x30]
fld qword [eax + 0x20]
fstp qword [eax + 0x28]
fld qword [eax + 0x18]
fstp qword [eax + 0x20]
fld qword [eax + 0x10]
fstp qword [eax + 0x18]
jne 0x4953c4
mov eax, dword [esp + 0x78]
cmp edx, esi
jle 0x4953fd
lea esp, [esp]
fld qword [eax + edx*8 - 8]
dec edx
cmp edx, esi
fstp qword [eax + edx*8 + 8]
jg 0x4953f0
inc ebx
movsd qword [eax + esi*8], xmm3
mov dword [esp + 0x34], ebx
movsd xmm4, qword [0x5ff758]
mov eax, dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0x44]
mov dword [esp + 0x20], eax
jl 0x494dc0
xor esi, esi
mov eax, dword [esp + 0x158]
mov byte [esp + 0x540], 0xa
cmp eax, esi
je 0x495441
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [esp + 0x158], esi
mov dword [esp + 0x160], esi
jmp 0x495e17
xor eax, eax
dec ebx
cmp ebx, esi
mov dword [esp + 0x20], eax
jle 0x495e2b
jmp 0x495474
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
movsd xmm3, qword [ecx + eax*8 + 8]
subsd xmm3, qword [ecx + eax*8]
mov eax, dword [esp + 0x30]
xor edi, edi
dec eax
movsd qword [esp + 0x164], xmm3
mov dword [esp + 0x64], edi
test eax, eax
jle 0x495e01
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x20]
jmp 0x4954b9
movsd xmm3, qword [esp + 0x164]
mov ecx, esi
and ecx, dword [0x5ff7e0]
mov eax, 1
shl eax, cl
mov ecx, dword [0x5ff7dc]
mov edx, esi
sar edx, cl
mov ecx, dword [esp + 0x13c]
test dword [ecx + edx*4], eax
je 0x495507
mov ecx, edi
and ecx, dword [0x5ff7e0]
mov edx, 1
shl edx, cl
mov ecx, dword [0x5ff7dc]
mov eax, edi
sar eax, cl
mov ecx, dword [esp + 0x130]
test dword [ecx + eax*4], edx
jne 0x495deb
mov eax, dword [esp + 0x38]
fldz
movsd xmm1, qword [eax + edi*8]
movsd xmm0, qword [eax + edi*8 + 8]
movsd xmm2, qword [0x5fd508]
mov edx, dword [esp + 0x50]
subsd xmm0, xmm1
movsd qword [esp + 0x1cc], xmm0
mulsd xmm0, xmm2
sub esp, 8
fstp qword [esp]
movsd qword [esp + 0x1f4], xmm0
addsd xmm0, xmm1
lea eax, [esp + 0x94]
movapd xmm1, xmm3
mulsd xmm1, xmm2
movsd xmm2, qword [edx + esi*8]
push eax
lea ecx, [esp + 0xb8]
push ecx
mov ecx, dword [ebp + 8]
addsd xmm2, xmm1
movsd qword [esp + 0x20c], xmm1
movsd qword [esp + 0x9c], xmm0
movsd qword [esp + 0xa4], xmm2
call fcn.0046a050
fld qword [0x5ff758]
mov ecx, dword [esp + 0x60]
movq xmm0, qword [esp + 0x8c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0xb4]
push eax
push 0
push 0
push 1
lea eax, [esp + 0x184]
movq qword [esp + 0x184], xmm0
movq xmm0, qword [esp + 0xac]
push eax
movq qword [esp + 0x190], xmm0
call edx
test al, al
je 0x49566d
movsd xmm0, qword [esp + 0x17c]
subsd xmm0, qword [esp + 0xac]
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x184]
subsd xmm0, qword [esp + 0xb4]
movsd qword [esp + 0xfc], xmm0
movsd xmm0, qword [esp + 0x18c]
subsd xmm0, qword [esp + 0xbc]
lea ecx, [esp + 0xf4]
movsd qword [esp + 0x104], xmm0
call fcn.004a88b0
fst qword [esp + 0x44]
fld qword [esp + 0x9c]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x49566d
movsd xmm0, qword [esp + 0x44]
movsd xmm1, qword [0x5fa8b8]
comisd xmm1, xmm0
ja 0x495abb
mov eax, dword [esp + 0x38]
fldz
movsd xmm0, qword [eax + edi*8]
mov ecx, dword [esp + 0x50]
movsd xmm1, qword [ecx + esi*8]
movsd xmm2, qword [esp + 0x164]
mulsd xmm2, qword [0x5fdae8]
addsd xmm0, qword [esp + 0x1ec]
mov ecx, dword [ebp + 8]
sub esp, 8
fstp qword [esp]
lea edx, [esp + 0x94]
push edx
lea eax, [esp + 0x100]
addsd xmm1, xmm2
push eax
movsd qword [esp + 0x204], xmm2
movsd qword [esp + 0x9c], xmm0
movsd qword [esp + 0xa4], xmm1
call fcn.0046a050
fld qword [0x5ff758]
movq xmm0, qword [eax]
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
movq qword [esp + 0xac], xmm0
movq xmm0, qword [eax + 8]
sub esp, 8
movq qword [esp + 0xbc], xmm0
fstp qword [esp]
movq xmm0, qword [eax + 0x10]
lea eax, [esp + 0xb4]
push eax
push 0
push 0
movq qword [esp + 0xd0], xmm0
movq xmm0, qword [esp + 0xa0]
push 1
lea eax, [esp + 0x184]
movq qword [esp + 0x184], xmm0
movq xmm0, qword [esp + 0xac]
push eax
movq qword [esp + 0x190], xmm0
call edx
test al, al
je 0x4957e2
movsd xmm0, qword [esp + 0x17c]
subsd xmm0, qword [esp + 0xac]
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x184]
subsd xmm0, qword [esp + 0xb4]
movsd qword [esp + 0xfc], xmm0
movsd xmm0, qword [esp + 0x18c]
subsd xmm0, qword [esp + 0xbc]
lea ecx, [esp + 0xf4]
movsd qword [esp + 0x104], xmm0
call fcn.004a88b0
fst qword [esp + 0x44]
fld qword [esp + 0x9c]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x4957e2
movsd xmm0, qword [esp + 0x44]
movsd xmm1, qword [0x5fa8b8]
comisd xmm1, xmm0
ja 0x495abb
mov eax, dword [esp + 0x38]
fldz
movsd xmm0, qword [eax + edi*8]
movsd xmm1, qword [esp + 0x1cc]
mulsd xmm1, qword [0x5fdae8]
mov ecx, dword [esp + 0x50]
sub esp, 8
fstp qword [esp]
addsd xmm0, xmm1
lea edx, [esp + 0x94]
movsd qword [esp + 0x20c], xmm1
movsd xmm1, qword [ecx + esi*8]
addsd xmm1, qword [esp + 0x1fc]
mov ecx, dword [ebp + 8]
push edx
lea eax, [esp + 0x100]
push eax
movsd qword [esp + 0x9c], xmm0
movsd qword [esp + 0xa4], xmm1
call fcn.0046a050
fld qword [0x5ff758]
movq xmm0, qword [eax]
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
movq qword [esp + 0xac], xmm0
movq xmm0, qword [eax + 8]
sub esp, 8
movq qword [esp + 0xbc], xmm0
fstp qword [esp]
movq xmm0, qword [eax + 0x10]
lea eax, [esp + 0xb4]
push eax
push 0
push 0
movq qword [esp + 0xd0], xmm0
movq xmm0, qword [esp + 0xa0]
push 1
lea eax, [esp + 0x184]
movq qword [esp + 0x184], xmm0
movq xmm0, qword [esp + 0xac]
push eax
movq qword [esp + 0x190], xmm0
call edx
test al, al
je 0x495957
movsd xmm0, qword [esp + 0x17c]
subsd xmm0, qword [esp + 0xac]
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x184]
subsd xmm0, qword [esp + 0xb4]
movsd qword [esp + 0xfc], xmm0
movsd xmm0, qword [esp + 0x18c]
subsd xmm0, qword [esp + 0xbc]
lea ecx, [esp + 0xf4]
movsd qword [esp + 0x104], xmm0
call fcn.004a88b0
fst qword [esp + 0x44]
fld qword [esp + 0x9c]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x495957
movsd xmm0, qword [esp + 0x44]
movsd xmm1, qword [0x5fa8b8]
comisd xmm1, xmm0
ja 0x495abb
mov eax, dword [esp + 0x38]
fldz
movsd xmm0, qword [eax + edi*8]
mov ecx, dword [esp + 0x50]
movsd xmm1, qword [ecx + esi*8]
addsd xmm0, qword [esp + 0x204]
addsd xmm1, qword [esp + 0x1fc]
mov ecx, dword [ebp + 8]
sub esp, 8
fstp qword [esp]
lea edx, [esp + 0x94]
push edx
lea eax, [esp + 0x100]
push eax
movsd qword [esp + 0x9c], xmm0
movsd qword [esp + 0xa4], xmm1
call fcn.0046a050
fld qword [0x5ff758]
movq xmm0, qword [eax]
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
movq qword [esp + 0xac], xmm0
movq xmm0, qword [eax + 8]
sub esp, 8
movq qword [esp + 0xbc], xmm0
fstp qword [esp]
movq xmm0, qword [eax + 0x10]
lea eax, [esp + 0xb4]
push eax
push 0
push 0
movq qword [esp + 0xd0], xmm0
movq xmm0, qword [esp + 0xa0]
push 1
lea eax, [esp + 0x184]
movq qword [esp + 0x184], xmm0
movq xmm0, qword [esp + 0xac]
push eax
movq qword [esp + 0x190], xmm0
call edx
test al, al
je 0x495deb
movsd xmm0, qword [esp + 0x17c]
subsd xmm0, qword [esp + 0xac]
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x184]
subsd xmm0, qword [esp + 0xb4]
movsd qword [esp + 0xfc], xmm0
movsd xmm0, qword [esp + 0x18c]
subsd xmm0, qword [esp + 0xbc]
lea ecx, [esp + 0xf4]
movsd qword [esp + 0x104], xmm0
call fcn.004a88b0
fst qword [esp + 0x44]
fld qword [esp + 0x9c]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x495deb
movsd xmm0, qword [esp + 0x44]
movsd xmm1, qword [0x5fa8b8]
comisd xmm1, xmm0
jbe 0x495deb
comisd xmm0, xmmword [esp + 0x84]
jbe 0x495acf
movsd qword [esp + 0x84], xmm0
mov ecx, edi
and ecx, dword [0x5ff7e0]
mov edx, 1
shl edx, cl
mov ecx, dword [0x5ff7dc]
mov eax, edi
sar eax, cl
mov ecx, dword [esp + 0x130]
test dword [ecx + eax*4], edx
lea eax, [ecx + eax*4]
jne 0x495c5e
or dword [eax], edx
mov edx, dword [esp + 0x38]
movsd xmm0, qword [esp + 0x1cc]
mulsd xmm0, qword [0x5fb9c8]
addsd xmm0, qword [edx + edi*8]
mov edx, dword [esp + 0x2c]
movsd xmm2, qword [0x5ff758]
xor esi, esi
cmp edx, 4
movsd qword [esp + 0x20c], xmm0
jl 0x495b7a
mov eax, dword [esp + 0x6c]
movapd xmm1, xmm0
addsd xmm1, xmm2
add eax, 0x10
movsd xmm3, qword [eax - 0x10]
comisd xmm3, xmm1
ja 0x495bad
movsd xmm3, qword [eax - 8]
comisd xmm3, xmm1
ja 0x495ba2
movsd xmm3, qword [eax]
comisd xmm3, xmm1
ja 0x495ba5
movsd xmm3, qword [eax + 8]
comisd xmm3, xmm1
ja 0x495baa
add esi, 4
lea ecx, [edx - 3]
add eax, 0x20
cmp esi, ecx
jl 0x495b42
cmp esi, edx
jge 0x495bad
mov eax, dword [esp + 0x6c]
movapd xmm1, xmm0
addsd xmm1, xmm2
lea ebx, [ebx]
movsd xmm2, qword [eax + esi*8]
comisd xmm2, xmm1
ja 0x495bad
inc esi
cmp esi, edx
jl 0x495b90
jmp 0x495bad
inc esi
jmp 0x495bad
add esi, 2
jmp 0x495bad
add esi, 3
test esi, esi
jle 0x495c5a
cmp esi, edx
jge 0x495c5a
cmp edx, dword [esp + 0x74]
jl 0x495bdf
mov edx, dword [esp + 0x2c]
inc edx
push edx
lea ecx, [esp + 0x70]
call fcn.00412880
movsd xmm0, qword [esp + 0x20c]
mov edx, dword [esp + 0x2c]
cmp edx, esi
mov eax, dword [esp + 0x6c]
movsd qword [eax + edx*8], xmm0
jle 0x495c4d
mov ecx, dword [esp + 0x2c]
sub ecx, esi
cmp ecx, 4
jl 0x495c3b
mov edx, dword [esp + 0x2c]
mov ecx, edx
sub ecx, esi
sub ecx, 4
shr ecx, 2
inc ecx
lea edi, [ecx*4]
lea eax, [eax + edx*8 - 0x10]
sub edx, edi
fld qword [eax + 8]
sub eax, 0x20
sub ecx, 1
fstp qword [eax + 0x30]
fld qword [eax + 0x20]
fstp qword [eax + 0x28]
fld qword [eax + 0x18]
fstp qword [eax + 0x20]
fld qword [eax + 0x10]
fstp qword [eax + 0x18]
jne 0x495c13
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x64]
cmp edx, esi
jle 0x495c4d
nop
fld qword [eax + edx*8 - 8]
dec edx
cmp edx, esi
fstp qword [eax + edx*8 + 8]
jg 0x495c40
mov ecx, dword [esp + 0x6c]
inc dword [esp + 0x2c]
movsd qword [ecx + esi*8], xmm0
mov esi, dword [esp + 0x20]
mov ecx, esi
and ecx, dword [0x5ff7e0]
mov edx, 1
shl edx, cl
mov ecx, dword [0x5ff7dc]
mov eax, esi
sar eax, cl
mov ecx, dword [esp + 0x13c]
test dword [ecx + eax*4], edx
lea eax, [ecx + eax*4]
jne 0x495deb
or dword [eax], edx
movsd xmm0, qword [esp + 0x164]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x50]
mulsd xmm0, qword [0x5fb9c8]
addsd xmm0, qword [eax + edx*8]
movsd xmm2, qword [0x5ff758]
mov ecx, dword [esp + 0x78]
xor esi, esi
cmp ebx, 4
movsd qword [esp + 0x1c4], xmm0
jl 0x495d09
movapd xmm1, xmm0
addsd xmm1, xmm2
lea eax, [ecx + 0x10]
movsd xmm3, qword [eax - 0x10]
comisd xmm3, xmm1
ja 0x495d32
movsd xmm3, qword [eax - 8]
comisd xmm3, xmm1
ja 0x495d27
movsd xmm3, qword [eax]
comisd xmm3, xmm1
ja 0x495d2a
movsd xmm3, qword [eax + 8]
comisd xmm3, xmm1
ja 0x495d2f
add esi, 4
lea edx, [ebx - 3]
add eax, 0x20
cmp esi, edx
jl 0x495cd1
cmp esi, ebx
jge 0x495d32
movapd xmm1, xmm0
addsd xmm1, xmm2
movsd xmm2, qword [ecx + esi*8]
comisd xmm2, xmm1
ja 0x495d32
inc esi
cmp esi, ebx
jl 0x495d15
jmp 0x495d32
inc esi
jmp 0x495d32
add esi, 2
jmp 0x495d32
add esi, 3
test esi, esi
jle 0x495de7
cmp esi, ebx
jge 0x495de7
cmp ebx, dword [esp + 0x80]
jl 0x495d65
lea eax, [ebx + 1]
push eax
lea ecx, [esp + 0x7c]
call fcn.00412880
movsd xmm0, qword [esp + 0x1c4]
mov ecx, dword [esp + 0x78]
cmp ebx, esi
movsd qword [ecx + ebx*8], xmm0
mov edx, ebx
jle 0x495ddd
mov ecx, ebx
sub ecx, esi
cmp ecx, 4
jl 0x495dc4
mov edx, dword [esp + 0x78]
mov ecx, ebx
sub ecx, esi
sub ecx, 4
shr ecx, 2
lea eax, [edx + ebx*8 - 0x10]
inc ecx
lea edx, [ecx*4]
mov edi, edx
mov edx, ebx
sub edx, edi
lea esp, [esp]
fld qword [eax + 8]
sub eax, 0x20
sub ecx, 1
fstp qword [eax + 0x30]
fld qword [eax + 0x20]
fstp qword [eax + 0x28]
fld qword [eax + 0x18]
fstp qword [eax + 0x20]
fld qword [eax + 0x10]
fstp qword [eax + 0x18]
jne 0x495da0
mov edi, dword [esp + 0x64]
cmp edx, esi
mov eax, dword [esp + 0x78]
jle 0x495ddd
lea esp, [esp]
fld qword [eax + edx*8 - 8]
dec edx
cmp edx, esi
fstp qword [eax + edx*8 + 8]
jg 0x495dd0
mov eax, dword [esp + 0x78]
movsd qword [eax + esi*8], xmm0
inc ebx
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
inc edi
dec eax
cmp edi, eax
mov dword [esp + 0x64], edi
jl 0x4954b0
mov dword [esp + 0x34], ebx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
inc ecx
dec eax
cmp ecx, eax
mov dword [esp + 0x20], ecx
jl 0x495470
mov ebx, dword [esp + 0x2c]
cmp ebx, dword [esp + 0x30]
jne 0x495e3d
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x28], ecx
jne 0x495e35
mov byte [esp + 0x26], 0
jmp 0x495fa3
mov ebx, dword [esp + 0x2c]
cmp ebx, dword [esp + 0x30]
jle 0x495ee7
push ebx
lea ecx, [esp + 0x3c]
call fcn.00412880
xor eax, eax
cmp ebx, 4
jl 0x495ec8
mov ecx, dword [esp + 0x6c]
mov edi, 8
sub edi, ecx
mov edx, 0xfffffff0
sub edx, ecx
lea esi, [eax + 0x10]
lea eax, [ecx + 0x10]
lea ecx, [ebx - 4]
shr ecx, 2
inc ecx
lea ebx, [ecx*4]
mov dword [esp + 0x64], edx
mov dword [esp + 0x20], ebx
jmp 0x495e88
mov edx, dword [esp + 0x64]
fld qword [eax - 0x10]
mov ebx, dword [esp + 0x38]
add edx, eax
fstp qword [ebx + edx]
mov ebx, dword [esp + 0x38]
fld qword [eax - 8]
add esi, 0x20
fstp qword [ebx + edx + 8]
mov edx, dword [esp + 0x38]
fld qword [eax]
fstp qword [edx + esi - 0x20]
mov edx, dword [esp + 0x38]
fld qword [eax + 8]
add edx, eax
add eax, 0x20
fstp qword [edx + edi]
sub ecx, 1
jne 0x495e84
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
cmp eax, ebx
jge 0x495ee3
lea esp, [esp]
mov ecx, dword [esp + 0x6c]
fld qword [ecx + eax*8]
mov edx, dword [esp + 0x38]
fstp qword [edx + eax*8]
inc eax
cmp eax, ebx
jl 0x495ed0
mov dword [esp + 0x30], ebx
mov esi, dword [esp + 0x34]
cmp esi, dword [esp + 0x28]
jle 0x495fa3
push esi
lea ecx, [esp + 0x54]
call fcn.00412880
xor eax, eax
cmp esi, 4
jl 0x495f80
mov ecx, dword [esp + 0x78]
mov edi, 8
sub edi, ecx
mov edx, 0xfffffff0
sub edx, ecx
lea esi, [eax + 0x10]
lea eax, [ecx + 0x10]
mov ecx, dword [esp + 0x34]
add ecx, 0xfffffffc
shr ecx, 2
inc ecx
lea ebx, [ecx*4]
mov dword [esp + 0x64], edx
mov dword [esp + 0x20], ebx
jmp 0x495f44
mov edx, dword [esp + 0x64]
fld qword [eax - 0x10]
mov ebx, dword [esp + 0x50]
add edx, eax
fstp qword [ebx + edx]
mov ebx, dword [esp + 0x50]
fld qword [eax - 8]
add esi, 0x20
fstp qword [ebx + edx + 8]
mov edx, dword [esp + 0x50]
fld qword [eax]
fstp qword [edx + esi - 0x20]
mov edx, dword [esp + 0x50]
fld qword [eax + 8]
add edx, eax
add eax, 0x20
fstp qword [edx + edi]
sub ecx, 1
jne 0x495f40
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jge 0x495f9f
mov edx, dword [esp + 0x78]
lea esp, [esp]
fld qword [edx + eax*8]
mov esi, dword [esp + 0x50]
fstp qword [esi + eax*8]
inc eax
cmp eax, ecx
jl 0x495f90
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x78]
xor esi, esi
cmp eax, esi
je 0x495fb7
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x78], esi
mov dword [esp + 0x80], esi
cmp eax, esi
je 0x495fd4
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea ecx, [esp + 0x134]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x74], esi
mov byte [esp + 0x540], 7
call fcn.005c0e80
lea ecx, [esp + 0x128]
mov byte [esp + 0x540], 6
call fcn.005c0e80
mov eax, dword [esp + 0x11c]
inc dword [esp + 0xa4]
xor esi, esi
mov byte [esp + 0x540], 3
cmp eax, esi
je 0x49602a
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
cmp byte [esp + 0x26], 0
mov dword [esp + 0x11c], esi
mov dword [esp + 0x124], esi
je 0x49604d
cmp dword [esp + 0xa4], 0x14
jl 0x494290
mov eax, dword [esp + 0x38]
xor esi, esi
cmp eax, esi
je 0x496061
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [esp + 0x50]
mov dword [esp + 0x38], esi
mov dword [esp + 0x40], esi
cmp eax, esi
je 0x49607b
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x538]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc