Function at 0x497370
Capabilities:
Access peb ldr_data

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c7190
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3e8
push esi
push edi
mov eax, dword [0x4e84c4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebx + 8]
mov edx, dword [ecx + 0x6c]
mov esi, dword [ecx + 0x70]
mov edi, dword [ecx + 0x68]
movd xmm0, dword [eax + 0x2c]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 4], 0
mov dword [ebp - 0x84], 0
movss xmm6, dword [ebx + 0xc]
movss dword [ebp + edx*4 - 0x150], xmm0
movd xmm0, dword [eax + 0x30]
cvtdq2ps xmm0, xmm0
xorps xmm6, xmmword [0x4da970]
movss dword [ebp + esi*4 - 0x150], xmm0
movd xmm0, dword [eax + 0x34]
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0xc], xmm6
movss dword [ebp + edi*4 - 0x150], xmm0
movd xmm0, dword [eax + 0x1c]
movss xmm3, dword [ebp - 0x150]
movss xmm5, dword [ebp - 0x148]
movss xmm4, dword [ebp - 0x14c]
cvtdq2ps xmm0, xmm0
mulss xmm4, dword [ecx + 4]
movss dword [ebp + edx*4 - 0x150], xmm0
movd xmm0, dword [eax + 0x20]
cvtdq2ps xmm0, xmm0
mulss xmm3, dword [ecx]
movss dword [ebp + esi*4 - 0x150], xmm0
movd xmm0, dword [eax + 0x24]
cvtdq2ps xmm0, xmm0
mulss xmm5, dword [ecx + 8]
movss dword [ebp + edi*4 - 0x150], xmm0
movss xmm1, dword [ebp - 0x150]
mulss xmm1, dword [ecx]
movss xmm7, dword [ebp - 0x14c]
mulss xmm7, dword [ecx + 4]
movss xmm2, dword [ebp - 0x148]
movaps xmm0, xmm1
mulss xmm2, dword [ecx + 8]
mulss xmm0, xmm4
mulss xmm1, xmm5
movss dword [ebp - 0x40], xmm0
movaps xmm0, xmm7
movss xmm6, dword [ebp - 0x40]
mulss xmm0, xmm3
mulss xmm7, xmm5
subss xmm6, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm3
mulss xmm2, xmm4
movaps xmm3, xmm0
subss xmm3, xmm1
subss xmm7, xmm2
movaps xmm2, xmm6
movss xmm6, dword [ebx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm3
movaps xmm1, xmm7
mulss xmm1, xmm7
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [0x4da724]
divss xmm1, xmm0
movss xmm0, dword [ecx]
mulss xmm2, xmm1
mulss xmm3, xmm1
mulss xmm7, xmm1
xorps xmm1, xmm1
mulss xmm2, xmm6
mulss xmm3, xmm6
mulss xmm7, xmm6
movss dword [ebp - 0x8c], xmm3
movss dword [ebp - 0x88], xmm2
movss dword [ebp - 0x90], xmm7
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x49754f
divss xmm7, xmm0
movss dword [ebp - 0x90], xmm7
movss xmm0, dword [ecx + 4]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x497569
divss xmm3, xmm0
movss dword [ebp - 0x8c], xmm3
movss xmm0, dword [ecx + 8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x497583
divss xmm2, xmm0
movss dword [ebp - 0x88], xmm2
cvttss2si edx, dword [ebp + edx*4 - 0x90]
cvttss2si eax, dword [ebp + edi*4 - 0x90]
mov dword [ebp - 0x134], edx
cvttss2si ecx, dword [ebp + esi*4 - 0x90]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x138], ecx
test edx, edx
jne 0x4975bd
test ecx, ecx
jne 0x4975bd
test eax, eax
je 0x497875
mov esi, dword [ebx + 8]
lea eax, [esi + 0x2c]
push eax
lea eax, [ebp - 0xc0]
push eax
lea ecx, [esi + 0x1c]
call fcn.00494b40
mov eax, dword [ebx + 8]
push dword [ebp - 0xbc]
mov edi, dword [esi + 0x10]
push dword [ebp - 0xc0]
mov eax, dword [eax + 0xc]
mov esi, dword [esi + 0x14]
cdq
push edx
push eax
call fcn.0049cd40
push dword [ebp - 0xac]
mov dword [ebp - 0x34], eax
mov eax, esi
push dword [ebp - 0xb0]
mov dword [ebp - 0x1c], edx
cdq
push edx
push eax
call fcn.0049cd40
add dword [ebp - 0x34], eax
mov eax, edi
push dword [ebp - 0xb4]
adc dword [ebp - 0x1c], edx
push dword [ebp - 0xb8]
cdq
push edx
push eax
call fcn.0049cd40
add dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x134]
adc dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x138]
add esi, dword [ebp - 0x20]
add edx, edi
mov edi, dword [ebx + 8]
mov eax, edx
push dword [ebp - 0xbc]
mov dword [ebp - 0x168], edx
push dword [ebp - 0xc0]
add ecx, dword [edi + 0xc]
mov dword [ebp - 0x14c], edx
cdq
mov dword [ebp - 0x138], eax
mov eax, esi
mov dword [ebp - 0x134], edx
cdq
mov dword [ebp - 0x174], eax
mov eax, ecx
mov dword [ebp - 0x170], edx
cdq
push edx
push eax
mov dword [ebp - 0x16c], esi
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x148], esi
mov dword [ebp - 0x144], 0xffffffff
call fcn.0049cd40
push dword [ebp - 0x170]
mov esi, eax
mov edi, edx
push dword [ebp - 0x174]
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
call fcn.0049cd40
push dword [ebp - 0x134]
add esi, eax
push dword [ebp - 0x138]
adc edi, edx
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
call fcn.0049cd40
add esi, eax
mov dword [ebp - 0x9c], esi
adc edi, edx
mov dword [ebp - 0x94], edi
cmp edi, dword [ebp - 0x1c]
jl 0x497709
jg 0x497702
cmp esi, dword [ebp - 0x34]
jb 0x497709
xor al, al
jmp 0x497877
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x118]
push eax
mov edi, dword [ecx + 8]
call fcn.00494d50
push dword [ebp - 0x94]
lea ecx, [ebp - 0x118]
push esi
call fcn.00493500
mov dword [ebp - 0x58], eax
mov esi, edi
test eax, eax
js 0x4977e3
mov ecx, dword [esi + 0xc]
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.00494d50
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0xe8]
call fcn.00493420
test eax, eax
jns 0x4977c2
push dword [ebp - 0x94]
lea ecx, [ebp - 0xe8]
push dword [ebp - 0x9c]
call fcn.00493500
mov esi, dword [esi + 8]
mov edi, esi
mov dword [ebp - 0x38], esi
movups xmm0, xmmword [ebp - 0xe8]
movups xmmword [ebp - 0x118], xmm0
movups xmm0, xmmword [ebp - 0xd8]
movups xmmword [ebp - 0x108], xmm0
movq xmm0, qword [ebp - 0xc8]
movq qword [ebp - 0xf8], xmm0
test eax, eax
js 0x4977d4
mov dword [ebp - 0x58], eax
mov esi, dword [esi + 4]
cmp esi, edi
jne 0x497744
xor al, al
jmp 0x497877
test esi, esi
jne 0x4978b0
xor al, al
jmp 0x497877
mov dword [ebp - 0x38], edi
mov ecx, dword [esi + 0xc]
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.00494d50
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0xe8]
call fcn.00493420
test eax, eax
jle 0x497867
push dword [ebp - 0x94]
lea ecx, [ebp - 0xe8]
push dword [ebp - 0x9c]
call fcn.00493500
mov ecx, eax
mov dword [ebp - 0x58], ecx
test ecx, ecx
jns 0x4978b5
movups xmm0, xmmword [ebp - 0xe8]
mov esi, dword [esi + 8]
mov edi, esi
movups xmmword [ebp - 0x118], xmm0
movups xmm0, xmmword [ebp - 0xd8]
movups xmmword [ebp - 0x108], xmm0
movq xmm0, qword [ebp - 0xc8]
movq qword [ebp - 0xf8], xmm0
mov esi, dword [esi + 4]
mov dword [ebp - 0x38], esi
cmp esi, edi
jne 0x4977e6
mov al, 1
mov edi, dword [ebx + 0x1c]
mov byte [ebp - 0x11], al
mov dword [ebp - 4], 1
test edi, edi
je 0x49789a
cmp byte [ebx + 0x20], 0
je 0x49789a
push edi
call fcn.004927f0
mov al, byte [ebp - 0x11]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x1c
mov ecx, dword [ebp - 0x58]
test ecx, ecx
jne 0x49792b
mov eax, dword [esi + 8]
push dword [ebp - 0x94]
push dword [ebp - 0x9c]
mov edi, dword [eax]
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x1f8]
push eax
mov ecx, dword [edi + 0xc]
call fcn.00494d50
mov ecx, eax
call fcn.00493500
test eax, eax
jg 0x497928
nop dword [eax]
mov edi, dword [edi]
cmp edi, dword [esi + 8]
je 0x497875
push dword [ebp - 0x94]
mov ecx, dword [edi + 0xc]
lea eax, [ebp - 0xc0]
push dword [ebp - 0x9c]
push eax
lea eax, [ebp - 0x1f8]
push eax
call fcn.00494d50
mov ecx, eax
call fcn.00493500
test eax, eax
jle 0x4978f0
mov ecx, dword [ebp - 0x58]
xor edx, edx
xor edi, edi
mov dword [ebp - 0x164], edx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x40], edx
nop dword [eax + eax]
test ecx, ecx
jne 0x497d44
mov eax, dword [esi + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], ecx
nop dword [eax]
nop word [eax + eax]
mov edi, dword [ecx + 0xc]
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
cmp dword [edi + 0x64], 0
jl 0x497aab
mov eax, dword [edi + 0x5c]
cdq
push edx
push eax
call fcn.0049cd40
push dword [ebp - 0xac]
mov dword [ebp - 0x3c], eax
mov esi, edx
push dword [ebp - 0xb0]
mov eax, dword [edi + 0x60]
cdq
push edx
push eax
call fcn.0049cd40
add dword [ebp - 0x3c], eax
push dword [ebp - 0xbc]
mov eax, dword [edi + 0x58]
adc esi, edx
push dword [ebp - 0xc0]
cdq
push edx
push eax
call fcn.0049cd40
mov ecx, dword [ebp - 0x3c]
add ecx, eax
adc esi, edx
js 0x4979e9
jg 0x4979cb
test ecx, ecx
je 0x4979e9
mov dword [ebp - 0xc8], 1
xorps xmm0, xmm0
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe4], esi
jmp 0x497a72
test esi, esi
jg 0x497a5d
jl 0x4979f3
test ecx, ecx
jae 0x497a5d
neg ecx
mov dword [ebp - 0xc8], 0xffffffff
adc esi, 0
neg esi
js 0x497a3d
jg 0x497a0c
test ecx, ecx
jb 0x497a3d
xorps xmm0, xmm0
mov dword [ebp - 0xe8], ecx
movlpd qword [ebp - 0x88], xmm0
mov eax, dword [ebp - 0x84]
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xdc], eax
jmp 0x497a7a
or edx, 0xffffffff
mov dword [ebp - 0xe8], ecx
or eax, 0xffffffff
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xdc], eax
jmp 0x497a7a
xorps xmm0, xmm0
mov dword [ebp - 0xc8], 0
movlpd qword [ebp - 0xe8], xmm0
movlpd qword [ebp - 0xe0], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0xd8], 1
mov dword [ebp - 0xd4], 0
lea eax, [ebp - 0xe8]
movlpd qword [ebp - 0xd0], xmm0
mov byte [ebp - 0xc4], 1
jmp 0x497ce2
lea eax, [ebp - 0x2b0]
push eax
lea ecx, [edi + 0x28]
call fcn.00493190
push dword [ebp - 0xbc]
mov esi, eax
lea ecx, [edi + 0x18]
push dword [ebp - 0xc0]
lea eax, [ebp - 0x3b0]
mov dword [ebp - 0x24], esi
push eax
call fcn.00493190
mov dword [ebp - 0x18], eax
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, edx
add eax, dword [esi]
mov dword [ebp - 0x20], edx
mov edx, dword [esi + 4]
adc edx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x4c], edx
cmp edx, ecx
ja 0x497b0d
jb 0x497aff
cmp eax, dword [ebp - 0x20]
jae 0x497b0d
mov edx, 1
mov dword [ebp - 0x28], 0
jmp 0x497b27
xorps xmm0, xmm0
movlpd qword [ebp - 0x88], xmm0
mov eax, dword [ebp - 0x84]
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
push dword [ebp - 0xac]
mov esi, dword [eax + 8]
add esi, dword [ecx + 8]
mov eax, dword [eax + 0xc]
adc eax, dword [ecx + 0xc]
add esi, edx
push dword [ebp - 0xb0]
adc eax, dword [ebp - 0x28]
lea ecx, [edi + 0x38]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x3c0]
push eax
call fcn.00493190
mov ecx, dword [ebp - 0x3c]
mov edx, eax
mov eax, ecx
mov dword [ebp - 0x20], edx
add eax, dword [edx]
mov edx, dword [edx + 4]
adc edx, dword [ebp - 0x4c]
mov dword [ebp - 0x3c], eax
cmp edx, dword [ebp - 0x4c]
ja 0x497b8c
jb 0x497b7c
cmp eax, ecx
jae 0x497b8c
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x4c], 0
jmp 0x497ba9
xorps xmm0, xmm0
movlpd qword [ebp - 0x88], xmm0
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x20]
add esi, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
adc ecx, dword [ebp - 0x18]
add esi, dword [ebp - 0x28]
adc ecx, dword [ebp - 0x4c]
test ecx, ecx
jg 0x497c1a
jl 0x497bc5
test esi, esi
jae 0x497c1a
or eax, edx
mov dword [ebp - 0xf8], 0xffffffff
mov dword [ebp - 0xf8], 0xffffffff
jne 0x497beb
mov eax, 1
mov dword [ebp - 0x28], 0
jmp 0x497c05
xorps xmm0, xmm0
movlpd qword [ebp - 0x88], xmm0
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x88]
not esi
not ecx
add esi, eax
mov eax, dword [ebp - 0x3c]
adc ecx, dword [ebp - 0x28]
neg eax
adc edx, 0
neg edx
jmp 0x497c3e
mov eax, esi
or eax, ecx
jne 0x497c31
mov eax, dword [ebp - 0x3c]
or eax, edx
mov dword [ebp - 0xf8], 0
je 0x497c3b
mov dword [ebp - 0xf8], 1
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x110], esi
mov esi, dword [edi + 0x54]
mov dword [ebp - 0x10c], ecx
mov ecx, dword [edi + 0x50]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x118], eax
test esi, esi
jg 0x497cca
jl 0x497c66
test ecx, ecx
jae 0x497cca
mov edx, dword [edi + 0x4c]
mov edi, dword [edi + 0x48]
mov eax, edi
neg dword [ebp - 0xf8]
or eax, edx
jne 0x497c86
mov eax, 1
mov dword [ebp - 0x28], 0
jmp 0x497ca0
xorps xmm0, xmm0
movlpd qword [ebp - 0x88], xmm0
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x88]
not ecx
not esi
add ecx, eax
mov dword [ebp - 0x100], ecx
adc esi, dword [ebp - 0x28]
neg edi
mov dword [ebp - 0x108], edi
adc edx, 0
mov dword [ebp - 0xfc], esi
neg edx
mov dword [ebp - 0x104], edx
jmp 0x497cd5
movups xmm0, xmmword [edi + 0x48]
movups xmmword [ebp - 0x108], xmm0
mov byte [ebp - 0xf4], 0
lea eax, [ebp - 0x118]
movups xmm0, xmmword [eax]
lea ecx, [ebp - 0x220]
push dword [ebp - 0x94]
movups xmmword [ebp - 0x220], xmm0
movups xmm0, xmmword [eax + 0x10]
push dword [ebp - 0x9c]
movups xmmword [ebp - 0x210], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [ebp - 0x200], xmm0
call fcn.00493500
test eax, eax
jns 0x497d3b
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x2c], ecx
cmp ecx, dword [ebp - 0x30]
jne 0x497960
jmp 0x497875
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x38]
test esi, esi
jne 0x497d59
mov dword [ebp - 0x164], eax
jmp 0x497d61
cmp eax, esi
je 0x498f5f
mov dword [ebp - 0x84], eax
add eax, 8
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x3c], edi
mov eax, dword [eax]
mov dword [ebp - 0x20], edi
nop dword [eax + eax]
mov eax, dword [eax + 8]
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x38], eax
mov edi, dword [eax + 0xc]
cmp dword [edi + 0x64], 0
jl 0x497ecb
mov eax, dword [edi + 0x5c]
cdq
push edx
push eax
call fcn.0049cd40
push dword [ebp - 0xac]
mov dword [ebp - 0x30], eax
mov esi, edx
push dword [ebp - 0xb0]
mov eax, dword [edi + 0x60]
cdq
push edx
push eax
call fcn.0049cd40
add dword [ebp - 0x30], eax
push dword [ebp - 0xbc]
mov eax, dword [edi + 0x58]
adc esi, edx
push dword [ebp - 0xc0]
cdq
push edx
push eax
call fcn.0049cd40
mov ecx, dword [ebp - 0x30]
add ecx, eax
adc esi, edx
js 0x497e12
jg 0x497df4
test ecx, ecx
je 0x497e12
mov dword [ebp - 0xc8], 1
xorps xmm0, xmm0
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe4], esi
jmp 0x497e92
test esi, esi
jg 0x497e7d
jl 0x497e1c
test ecx, ecx
jae 0x497e7d
neg ecx
mov dword [ebp - 0xc8], 0xffffffff
adc esi, 0
neg esi
js 0x497e5d
jg 0x497e35
test ecx, ecx
jb 0x497e5d
xorps xmm0, xmm0
mov dword [ebp - 0xe8], ecx
movlpd qword [ebp - 0x70], xmm0
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xdc], eax
jmp 0x497e9a
or edx, 0xffffffff
mov dword [ebp - 0xe8], ecx
or eax, 0xffffffff
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xdc], eax
jmp 0x497e9a
xorps xmm0, xmm0
mov dword [ebp - 0xc8], 0
movlpd qword [ebp - 0xe8], xmm0
movlpd qword [ebp - 0xe0], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0xd8], 1
mov dword [ebp - 0xd4], 0
lea eax, [ebp - 0xe8]
movlpd qword [ebp - 0xd0], xmm0
mov byte [ebp - 0xc4], 1
jmp 0x4980da
lea eax, [ebp - 0x3d0]
push eax
lea ecx, [edi + 0x28]
call fcn.00493190
push dword [ebp - 0xbc]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
push dword [ebp - 0xc0]
lea eax, [ebp - 0x3e0]
push eax
call fcn.00493190
mov dword [ebp - 0x1c], eax
mov edx, dword [eax]
mov esi, edx
mov ecx, dword [eax + 4]
mov eax, ecx
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x18]
add esi, dword [edx]
mov dword [ebp - 0x34], esi
adc eax, dword [edx + 4]
mov dword [ebp - 0x18], eax
cmp eax, ecx
ja 0x497f30
jb 0x497f20
cmp esi, dword [ebp - 0x24]
jae 0x497f30
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x30], 0
jmp 0x497f44
xorps xmm0, xmm0
movlpd qword [ebp - 0x70], xmm0
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x1c]
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
mov eax, dword [ecx + 8]
add eax, dword [edx + 8]
mov ecx, dword [ecx + 0xc]
adc ecx, dword [edx + 0xc]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x230]
adc ecx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], ecx
lea ecx, [edi + 0x38]
push eax
call fcn.00493190
mov edx, eax
mov eax, esi
add eax, dword [edx]
mov esi, dword [edx + 4]
adc esi, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
cmp esi, dword [ebp - 0x18]
ja 0x497fa3
jb 0x497f95
cmp eax, dword [ebp - 0x34]
jae 0x497fa3
mov ecx, 1
mov dword [ebp - 0x2c], 0
jmp 0x497fb4
xorps xmm0, xmm0
movlpd qword [ebp - 0x70], xmm0
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x70]
add ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
adc edx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x24]
adc edx, dword [ebp - 0x1c]
test edx, edx
jg 0x49801b
jl 0x497fcd
test ecx, ecx
jae 0x49801b
or eax, esi
mov dword [ebp - 0xf8], 0xffffffff
mov dword [ebp - 0xf8], 0xffffffff
jne 0x497ff1
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x1c], eax
jmp 0x498005
xorps xmm0, xmm0
movlpd qword [ebp - 0x70], xmm0
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
not ecx
neg eax
not edx
adc esi, 0
neg esi
add ecx, dword [ebp - 0x2c]
adc edx, dword [ebp - 0x1c]
jmp 0x49803f
mov eax, ecx
or eax, edx
jne 0x498032
mov eax, dword [ebp - 0x30]
or eax, esi
mov dword [ebp - 0xf8], 0
je 0x49803c
mov dword [ebp - 0xf8], 1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x114], esi
mov esi, dword [edi + 0x54]
mov dword [ebp - 0x110], ecx
mov ecx, dword [edi + 0x50]
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x118], eax
test esi, esi
jg 0x4980c2
jl 0x498067
test ecx, ecx
jae 0x4980c2
mov edx, dword [edi + 0x4c]
mov edi, dword [edi + 0x48]
mov eax, edi
neg dword [ebp - 0xf8]
or eax, edx
jne 0x498087
mov eax, 1
mov dword [ebp - 0x2c], 0
jmp 0x498098
xorps xmm0, xmm0
movlpd qword [ebp - 0x70], xmm0
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x70]
neg edi
not ecx
not esi
mov dword [ebp - 0x108], edi
adc edx, 0
neg edx
add ecx, eax
mov dword [ebp - 0x104], edx
adc esi, dword [ebp - 0x2c]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xfc], esi
jmp 0x4980cd
movups xmm0, xmmword [edi + 0x48]
movups xmmword [ebp - 0x108], xmm0
mov byte [ebp - 0xf4], 0
lea eax, [ebp - 0x118]
movups xmm0, xmmword [eax]
lea ecx, [ebp - 0x1f8]
push dword [ebp - 0x94]
movups xmmword [ebp - 0x1f8], xmm0
movups xmm0, xmmword [eax + 0x10]
push dword [ebp - 0x9c]
movups xmmword [ebp - 0x1e8], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [ebp - 0x1d8], xmm0
call fcn.00493500
mov ecx, eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x58], ecx
test ecx, ecx
js 0x497d80
jle 0x498ce9
mov esi, eax
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x188], edx
mov eax, dword [edx + 4]
cmp eax, edx
jne 0x49814a
mov dword [ecx + 8], 0
jmp 0x49815c
mov dword [ecx + 8], eax
mov eax, dword [edx + 4]
mov ecx, dword [edx]
mov dword [eax], ecx
mov dword [ecx + 4], eax
mov dword [edx], edx
mov dword [edx + 4], edx
mov ecx, dword [esi + 0x10]
lea eax, [ecx + 0x2c]
add ecx, 0x1c
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.00494b40
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x24], ecx
lea eax, [ecx + 0x2c]
add ecx, 0x1c
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.00494b40
mov ecx, dword [ebx + 8]
push dword [ebp - 0xd4]
push dword [ebp - 0xd8]
mov eax, dword [ecx + 0x20]
cdq
mov dword [ebp - 0x30], eax
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x2c], edx
cdq
mov edi, eax
mov esi, edx
mov eax, dword [ecx + 0x1c]
cdq
mov ecx, eax
mov dword [ebp - 0x98], edi
mov eax, edx
mov dword [ebp - 0x50], esi
push eax
push ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x18], eax
call fcn.0049cd40
push dword [ebp - 0xc4]
mov dword [ebp - 0xa4], eax
push dword [ebp - 0xc8]
mov dword [ebp - 0xa0], edx
push esi
push edi
call fcn.0049cd40
push dword [ebp - 0xcc]
mov esi, dword [ebp - 0xa4]
push dword [ebp - 0xd0]
mov edi, dword [ebp - 0xa0]
add esi, eax
push dword [ebp - 0x2c]
adc edi, edx
push dword [ebp - 0x30]
call fcn.0049cd40
mov ecx, dword [ebx + 8]
add esi, eax
push dword [ebp - 0xd4]
adc edi, edx
mov dword [ebp - 0xa4], esi
push dword [ebp - 0xd8]
mov eax, dword [ecx + 0x30]
cdq
mov dword [ebp - 0x44], eax
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x48], edx
cdq
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0x1c], edx
cdq
mov esi, edx
mov dword [ebp - 0xa0], edi
mov edi, eax
push esi
push edi
call fcn.0049cd40
push dword [ebp - 0xc4]
mov dword [ebp - 0x78], eax
push dword [ebp - 0xc8]
mov dword [ebp - 0x74], edx
push dword [ebp - 0x1c]
push dword [ebp - 0x34]
call fcn.0049cd40
push dword [ebp - 0xcc]
add dword [ebp - 0x78], eax
push dword [ebp - 0xd0]
adc dword [ebp - 0x74], edx
push dword [ebp - 0x48]
push dword [ebp - 0x44]
call fcn.0049cd40
push dword [ebp - 0x104]
add dword [ebp - 0x78], eax
push dword [ebp - 0x108]
adc dword [ebp - 0x74], edx
push dword [ebp - 0x18]
push dword [ebp - 0x54]
call fcn.0049cd40
push dword [ebp - 0xf4]
mov dword [ebp - 0x54], eax
push dword [ebp - 0xf8]
mov dword [ebp - 0x7c], edx
push dword [ebp - 0x50]
push dword [ebp - 0x98]
call fcn.0049cd40
push dword [ebp - 0xfc]
add dword [ebp - 0x54], eax
push dword [ebp - 0x100]
adc dword [ebp - 0x7c], edx
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
call fcn.0049cd40
push dword [ebp - 0x104]
add dword [ebp - 0x54], eax
push dword [ebp - 0x108]
adc dword [ebp - 0x7c], edx
push esi
push edi
call fcn.0049cd40
push dword [ebp - 0xf4]
mov esi, eax
mov edi, edx
push dword [ebp - 0xf8]
push dword [ebp - 0x1c]
push dword [ebp - 0x34]
call fcn.0049cd40
add esi, eax
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x100]
adc edi, edx
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0xfc]
push edi
push esi
push dword [ebp - 0x48]
push dword [ebp - 0x44]
call fcn.0049cd40
add dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x38]
push dword [ebp - 0xcc]
adc dword [ebp - 0x34], edx
push dword [ebp - 0xd0]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0x10]
sub eax, dword [ebp - 0x168]
cdq
push edx
push eax
call fcn.0049cd40
mov ecx, dword [ebp - 0x38]
push dword [ebp - 0xc4]
mov dword [ebp - 0x48], eax
push dword [ebp - 0xc8]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x44], edx
mov eax, dword [eax + 0x14]
sub eax, dword [ebp - 0x16c]
cdq
push edx
push eax
call fcn.0049cd40
add dword [ebp - 0x48], eax
adc dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x38]
push dword [ebp - 0xd4]
push dword [ebp - 0xd8]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xc]
sub eax, dword [ebp - 0x150]
cdq
push edx
push eax
call fcn.0049cd40
add dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x24]
adc dword [ebp - 0x44], edx
push edi
push esi
mov eax, dword [eax + 0x10]
sub eax, dword [ebp - 0x168]
cdq
push edx
push eax
call fcn.0049cd40
mov esi, dword [ebp - 0x24]
mov edi, eax
push dword [ebp - 0xf4]
mov dword [ebp - 0x50], edx
push dword [ebp - 0xf8]
mov eax, dword [esi + 0x14]
sub eax, dword [ebp - 0x16c]
cdq
push edx
push eax
call fcn.0049cd40
push dword [ebp - 0x104]
add edi, eax
mov eax, dword [esi + 0xc]
push dword [ebp - 0x108]
adc dword [ebp - 0x50], edx
sub eax, dword [ebp - 0x150]
cdq
push edx
push eax
call fcn.0049cd40
push dword [ebp - 0x7c]
add edi, eax
lea eax, [ebp - 0x240]
push dword [ebp - 0x54]
adc dword [ebp - 0x50], edx
push dword [ebp - 0x74]
mov dword [ebp - 0x30], edi
push dword [ebp - 0x78]
push eax
call fcn.00496f80
add esp, 0x14
push eax
lea eax, [ebp - 0x1d0]
push eax
push dword [ebp - 0x34]
lea eax, [ebp - 0x250]
push dword [ebp - 0x1c]
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push eax
call fcn.00496f80
add esp, 0x14
mov ecx, eax
call fcn.00493300
mov ecx, dword [ebp - 0x5c]
lea ecx, [ecx + 0x20]
call fcn.00497200
mov esi, dword [ebx + 8]
push dword [ebp - 0xa0]
mov dword [ebp - 0x2c], eax
push dword [ebp - 0xa4]
mov dword [eax + 0x64], 0xffffffff
mov dword [eax + 0x68], 0xffffffff
mov eax, dword [esi + 0x34]
cdq
mov ecx, eax
mov eax, edx
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0x154], eax
push dword [ebp - 0x50]
push edi
push eax
push ecx
call fcn.0049cd40
push edx
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.00496f80
add esp, 0x14
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x24]
cdq
mov esi, edx
mov edi, eax
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [ebp - 0x50]
push dword [ebp - 0x30]
push esi
push edi
call fcn.0049cd40
push edx
push eax
lea eax, [ebp - 0x270]
push eax
call fcn.00496f80
add esp, 0x14
push eax
lea eax, [ebp - 0x280]
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x1c]
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push esi
push edi
call fcn.0049cd40
push edx
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.00496f80
add esp, 0x14
mov ecx, eax
call fcn.00493300
mov dword [ebp - 0x18], eax
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov edi, edx
mov eax, dword [ebp - 0x24]
add edi, dword [eax]
mov esi, dword [eax + 4]
adc esi, ecx
mov dword [ebp - 0x98], esi
cmp esi, ecx
ja 0x49855b
jb 0x498552
cmp edi, edx
jae 0x49855b
mov edx, 1
xor esi, esi
jmp 0x498569
xorps xmm0, xmm0
movlpd qword [ebp - 0x68], xmm0
mov esi, dword [ebp - 0x64]
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x98]
push dword [ebp - 0x170]
mov dword [ebp - 0x1a0], edi
mov edi, dword [ebp - 0x18]
push dword [ebp - 0x174]
mov dword [ebp - 0x19c], ecx
mov ecx, dword [edi + 8]
add ecx, dword [eax + 8]
mov eax, dword [edi + 0xc]
mov edi, dword [ebp - 0x24]
adc eax, dword [edi + 0xc]
add ecx, edx
mov dword [ebp - 0x198], ecx
lea ecx, [ebp - 0x1d0]
adc eax, esi
mov dword [ebp - 0x194], eax
lea eax, [ebp - 0x2a0]
push eax
call fcn.00493190
push dword [ebp - 0x7c]
mov esi, eax
push dword [ebp - 0x54]
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp - 0x154]
push dword [ebp - 0xec]
call fcn.0049cd40
push edx
push eax
lea eax, [ebp - 0x350]
push eax
call fcn.00496f80
add esp, 0x14
lea ecx, [ebp - 0x1a0]
push eax
lea eax, [ebp - 0x2c0]
push eax
call fcn.00493300
mov edx, eax
mov eax, dword [edx]
add eax, dword [esi]
mov edi, dword [edx + 4]
adc edi, dword [esi + 4]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x190], edi
cmp edi, dword [edx + 4]
ja 0x49862f
jb 0x498621
cmp eax, dword [edx]
jae 0x49862f
mov edi, 1
mov dword [ebp - 0x24], 0
jmp 0x498640
xorps xmm0, xmm0
movlpd qword [ebp - 0x68], xmm0
mov eax, dword [ebp - 0x64]
mov edi, dword [ebp - 0x68]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 8]
add eax, dword [edx + 8]
push dword [ebp - 0xa0]
mov ecx, dword [esi + 0xc]
adc ecx, dword [edx + 0xc]
add eax, edi
push dword [ebp - 0xa4]
mov esi, dword [ebx + 8]
push dword [ebp - 0x50]
adc ecx, dword [ebp - 0x24]
push dword [ebp - 0x30]
mov dword [ebp - 0x18c], eax
mov eax, dword [esi + 0x30]
cdq
mov dword [ebp - 0x64], ecx
mov ecx, eax
mov eax, edx
mov dword [ebp - 0x98], ecx
push eax
push ecx
mov dword [ebp - 0x154], eax
call fcn.0049cd40
push edx
push eax
lea eax, [ebp - 0x2d0]
push eax
call fcn.00496f80
add esp, 0x14
mov dword [ebp - 0xec], eax
mov eax, dword [esi + 0x20]
cdq
mov esi, edx
mov edi, eax
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [ebp - 0x50]
push dword [ebp - 0x30]
push esi
push edi
call fcn.0049cd40
push edx
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.00496f80
add esp, 0x14
push eax
lea eax, [ebp - 0x2f0]
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x1c]
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push esi
push edi
call fcn.0049cd40
push edx
push eax
lea eax, [ebp - 0x300]
push eax
call fcn.00496f80
add esp, 0x14
mov ecx, eax
call fcn.00493300
mov esi, eax
mov eax, dword [ebp - 0xec]
mov edx, dword [esi]
add edx, dword [eax]
mov edi, dword [eax + 4]
adc edi, dword [esi + 4]
cmp edi, dword [esi + 4]
ja 0x49872d
jb 0x49871d
cmp edx, dword [esi]
jae 0x49872d
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x18], 0
jmp 0x49874a
xorps xmm0, xmm0
movlpd qword [ebp - 0x160], xmm0
mov ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + 8]
add ecx, dword [esi + 8]
mov eax, dword [eax + 0xc]
adc eax, dword [esi + 0xc]
add ecx, dword [ebp - 0x24]
push dword [ebp - 0x134]
adc eax, dword [ebp - 0x18]
push dword [ebp - 0x138]
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x310]
mov dword [ebp - 0x1a8], ecx
lea ecx, [ebp - 0x1d0]
push eax
mov dword [ebp - 0x1b0], edx
mov dword [ebp - 0x1ac], edi
call fcn.00493190
push dword [ebp - 0x7c]
mov esi, eax
push dword [ebp - 0x54]
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp - 0x154]
push dword [ebp - 0x98]
call fcn.0049cd40
push edx
push eax
lea eax, [ebp - 0x320]
push eax
call fcn.00496f80
add esp, 0x14
lea ecx, [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x330]
push eax
call fcn.00493300
mov edx, eax
mov eax, dword [edx]
add eax, dword [esi]
mov edi, dword [edx + 4]
adc edi, dword [esi + 4]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x17c], edi
cmp edi, dword [edx + 4]
ja 0x498806
jb 0x4987f8
cmp eax, dword [edx]
jae 0x498806
mov edi, 1
mov dword [ebp - 0x18], 0
jmp 0x498820
xorps xmm0, xmm0
movlpd qword [ebp - 0x160], xmm0
mov eax, dword [ebp - 0x15c]
mov edi, dword [ebp - 0x160]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 8]
add eax, dword [edx + 8]
push dword [ebp - 0xa0]
mov ecx, dword [esi + 0xc]
adc ecx, dword [edx + 0xc]
add eax, edi
push dword [ebp - 0xa4]
mov esi, dword [ebx + 8]
push dword [ebp - 0x50]
adc ecx, dword [ebp - 0x18]
push dword [ebp - 0x30]
mov dword [ebp - 0x180], eax
mov eax, dword [esi + 0x2c]
cdq
mov dword [ebp - 0x15c], ecx
mov ecx, eax
mov eax, edx
mov dword [ebp - 0x98], ecx
push eax
push ecx
mov dword [ebp - 0x154], eax
call fcn.0049cd40
push edx
push eax
lea eax, [ebp - 0x340]
push eax
call fcn.00496f80
add esp, 0x14
mov dword [ebp - 0xec], eax
mov eax, dword [esi + 0x1c]
cdq
mov esi, edx
mov edi, eax
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [ebp - 0x50]
push dword [ebp - 0x30]
push esi
push edi
call fcn.0049cd40
push edx
push eax
lea eax, [ebp - 0x3f0]
push eax
call fcn.00496f80
add esp, 0x14
push eax
lea eax, [ebp - 0x360]
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x1c]
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push esi
push edi
call fcn.0049cd40
push edx
push eax
lea eax, [ebp - 0x370]
push eax
call fcn.00496f80
add esp, 0x14
mov ecx, eax
call fcn.00493300
mov esi, eax
mov eax, dword [ebp - 0xec]
mov edx, dword [esi]
add edx, dword [eax]
mov edi, dword [eax + 4]
adc edi, dword [esi + 4]
cmp edi, dword [esi + 4]
ja 0x498910
jb 0x498900
cmp edx, dword [esi]
jae 0x498910
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x24], 0
jmp 0x49892d
xorps xmm0, xmm0
movlpd qword [ebp - 0xf0], xmm0
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
add ecx, dword [esi + 8]
mov dword [ebp - 0x1c0], edx
adc eax, dword [esi + 0xc]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1b8], ecx
lea ecx, [ebp - 0x1d0]
adc eax, dword [ebp - 0x24]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x150]
cdq
push edx
push eax
lea eax, [ebp - 0x380]
mov dword [ebp - 0x1bc], edi
push eax
call fcn.00493190
push dword [ebp - 0x7c]
mov edi, eax
push dword [ebp - 0x54]
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp - 0x154]
push dword [ebp - 0x98]
call fcn.0049cd40
push edx
push eax
lea eax, [ebp - 0x390]
push eax
call fcn.00496f80
add esp, 0x14
lea ecx, [ebp - 0x1c0]
push eax
lea eax, [ebp - 0x3a0]
push eax
call fcn.00493300
mov dword [ebp - 0xec], eax
mov edx, dword [eax]
add edx, dword [edi]
mov esi, dword [eax + 4]
adc esi, dword [edi + 4]
cmp esi, dword [eax + 4]
ja 0x4989e0
jb 0x4989d0
cmp edx, dword [eax]
jae 0x4989e0
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x24], 0
jmp 0x4989fd
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x18], ecx
mov ecx, dword [edi + 8]
add ecx, dword [eax + 8]
mov eax, dword [edi + 0xc]
mov edi, dword [ebp - 0x2c]
movups xmm1, xmmword [ebp - 0x1d0]
mov dword [ebp - 0x130], edx
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0x12c], esi
adc eax, dword [edx + 0xc]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x128], ecx
lea ecx, [edi + 0x18]
adc eax, dword [ebp - 0x24]
lea esi, [ecx + 0x30]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x178]
movups xmm0, xmmword [ebp - 0x130]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x190]
movups xmmword [ecx], xmm0
mov dword [ebp - 0x10c], eax
movups xmm0, xmmword [ebp - 0x120]
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x64]
movups xmmword [ecx + 0x10], xmm0
mov dword [ebp - 0x104], eax
movups xmm0, xmmword [ebp - 0x110]
movups xmmword [ecx + 0x20], xmm0
movups xmmword [ecx + 0x30], xmm1
call fcn.0049a410
fstp dword [ebp - 0x64]
mov ecx, esi
call fcn.0049a410
fdivr dword [ebp - 0x64]
lea ecx, [edi + 0x28]
fstp dword [ebp - 0x64]
cvttss2si eax, dword [ebp - 0x64]
mov dword [edi + 0x58], eax
call fcn.0049a410
fstp dword [ebp - 0x64]
mov ecx, esi
call fcn.0049a410
fdivr dword [ebp - 0x64]
lea ecx, [edi + 0x38]
fstp dword [ebp - 0x64]
cvttss2si eax, dword [ebp - 0x64]
mov dword [edi + 0x5c], eax
call fcn.0049a410
fstp dword [ebp - 0x64]
mov ecx, esi
call fcn.0049a410
fdivr dword [ebp - 0x64]
mov ecx, dword [ebp - 0x2c]
fstp dword [ebp - 0x64]
cvttss2si eax, dword [ebp - 0x64]
mov dword [edi + 0x60], eax
mov edi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x188]
mov dword [edi + 0xc], ecx
mov dword [ecx + 8], eax
mov edx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x18]
cmp edx, esi
jne 0x498bac
lea eax, [edx + edx]
test edx, edx
jne 0x498b43
mov eax, 1
mov dword [ebp - 0x18], eax
cmp esi, eax
jge 0x498bac
test eax, eax
je 0x498b63
shl eax, 2
push 0x10
push eax
call fcn.004927e0
mov edx, dword [ebx + 0x14]
add esp, 8
mov esi, eax
jmp 0x498b65
xor esi, esi
xor ecx, ecx
test edx, edx
jle 0x498b81
nop dword [eax + eax]
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x498b70
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x498b9a
cmp byte [ebx + 0x20], 0
je 0x498b9a
push eax
call fcn.004927f0
mov edx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x2c]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x18], eax
jmp 0x498baf
mov esi, dword [ebx + 0x1c]
mov dword [esi + edx*4], ecx
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
inc eax
mov dword [ebx + 0x14], eax
cmp eax, ecx
jne 0x498c28
test eax, eax
je 0x498bc8
add eax, eax
jmp 0x498bcd
mov eax, 1
mov dword [ebp - 0x18], eax
cmp ecx, eax
jge 0x498c28
test eax, eax
je 0x498bea
shl eax, 2
push 0x10
push eax
call fcn.004927e0
add esp, 8
mov esi, eax
jmp 0x498bec
xor esi, esi
mov edx, dword [ebx + 0x14]
xor ecx, ecx
test edx, edx
jle 0x498c03
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x498bf5
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x498c19
cmp byte [ebx + 0x20], 0
je 0x498c19
push eax
call fcn.004927f0
add esp, 4
mov eax, dword [ebp - 0x18]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x18], eax
jmp 0x498c2b
mov esi, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebp - 0x6c]
mov dword [esi + eax*4], ecx
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
inc eax
mov dword [ebx + 0x14], eax
cmp eax, ecx
jne 0x498caa
test eax, eax
je 0x498c4a
add eax, eax
jmp 0x498c4f
mov eax, 1
mov dword [ebp - 0x18], eax
cmp ecx, eax
jge 0x498caa
test eax, eax
je 0x498c6c
shl eax, 2
push 0x10
push eax
call fcn.004927e0
add esp, 8
mov esi, eax
jmp 0x498c6e
xor esi, esi
mov edx, dword [ebx + 0x14]
xor ecx, ecx
test edx, edx
jle 0x498c85
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x498c77
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x498c9b
cmp byte [ebx + 0x20], 0
je 0x498c9b
push eax
call fcn.004927f0
add esp, 4
mov eax, dword [ebp - 0x18]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x18], eax
jmp 0x498cad
mov esi, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x14]
mov dword [esi + eax*4], 0
inc dword [ebx + 0x14]
mov eax, dword [ebp - 0x84]
push dword [edi + 0xc]
mov esi, dword [ebp - 0x5c]
mov ecx, esi
push dword [eax + 0xc]
call fcn.00497100
cmp dword [ebp - 0x28], 0
mov edx, eax
mov dword [ebp - 0x1c], edx
jne 0x498d0a
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
mov ecx, dword [ecx]
mov dword [edx], ecx
mov dword [ecx + 4], edx
jmp 0x498d13
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x38]
test ecx, ecx
jne 0x498cba
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [ebp - 0x1c], edx
mov eax, dword [edx + 0xc]
cmp eax, dword [edi + 0xc]
jne 0x498cba
mov esi, dword [ebp - 0x5c]
jmp 0x498d3c
cmp dword [ebp - 0x3c], 0
je 0x498d1a
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [eax], edx
mov dword [edx + 4], eax
cmp dword [ebp - 0x58], 0
jne 0x498d2e
mov eax, dword [edi + 8]
mov ecx, dword [edx + 8]
mov eax, dword [eax + 4]
mov dword [eax], ecx
mov dword [ecx + 4], eax
mov ecx, dword [edi + 8]
mov eax, dword [edx + 8]
mov dword [eax], ecx
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x28]
cmp dword [ebp - 0x3c], 0
je 0x498f33
mov eax, dword [ebp - 0x20]
test ecx, ecx
jle 0x498d5a
mov eax, dword [eax + 8]
mov dword [edx], eax
mov dword [eax + 4], edx
jmp 0x498f33
cmp edx, dword [eax + 8]
je 0x498f33
mov edi, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
cmp edi, ecx
jne 0x498de3
lea eax, [edi + edi]
test edi, edi
jne 0x498d79
mov eax, 1
mov dword [ebp - 0x18], eax
cmp ecx, eax
jge 0x498de3
test eax, eax
je 0x498d99
shl eax, 2
push 0x10
push eax
call fcn.004927e0
mov edi, dword [ebx + 0x14]
add esp, 8
mov edx, eax
jmp 0x498d9b
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x20], edx
test edi, edi
jle 0x498db5
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, edi
jl 0x498da4
mov edi, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x498dce
cmp byte [ebx + 0x20], 0
je 0x498dce
push eax
call fcn.004927f0
mov edi, dword [ebx + 0x14]
add esp, 4
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x18], eax
jmp 0x498de6
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xc]
mov dword [ecx + edi*4], eax
mov ecx, dword [ebx + 0x14]
inc ecx
mov dword [ebx + 0x14], ecx
mov eax, dword [edx]
mov edx, dword [ebp - 0x3c]
cmp eax, dword [edx + 8]
je 0x498eb0
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x84], ecx
mov ecx, esi
push eax
call fcn.004972c0
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
cmp edx, ecx
jne 0x498e8c
lea eax, [edx + edx]
test edx, edx
jne 0x498e2b
mov eax, 1
mov dword [ebp - 0x20], eax
cmp ecx, eax
jge 0x498e8c
test eax, eax
je 0x498e4b
shl eax, 2
push 0x10
push eax
call fcn.004927e0
mov edx, dword [ebx + 0x14]
add esp, 8
mov edi, eax
jmp 0x498e4d
xor edi, edi
xor ecx, ecx
test edx, edx
jle 0x498e64
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [edi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x498e53
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x498e7d
cmp byte [ebx + 0x20], 0
je 0x498e7d
push eax
call fcn.004927f0
mov edx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0x20]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], eax
jmp 0x498e8f
mov edi, dword [ebx + 0x1c]
mov eax, dword [ebp - 0x84]
mov dword [edi + edx*4], eax
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebp - 0x1c]
inc ecx
mov edx, dword [ebp - 0x3c]
mov dword [ebx + 0x14], ecx
mov eax, dword [eax]
cmp eax, dword [edx + 8]
jne 0x498e04
mov eax, dword [ebx + 0x18]
cmp ecx, eax
jne 0x498f26
lea edi, [ecx + ecx]
test ecx, ecx
jne 0x498ec3
mov edi, 1
cmp eax, edi
jge 0x498f26
test edi, edi
je 0x498ee4
lea eax, [edi*4]
push 0x10
push eax
call fcn.004927e0
mov ecx, dword [ebx + 0x14]
add esp, 8
mov esi, eax
jmp 0x498ee6
xor esi, esi
xor edx, edx
test ecx, ecx
jle 0x498f01
nop dword [eax]
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + edx*4]
mov dword [esi + edx*4], eax
inc edx
cmp edx, ecx
jl 0x498ef0
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x498f1a
cmp byte [ebx + 0x20], 0
je 0x498f1a
push eax
call fcn.004927f0
mov ecx, dword [ebx + 0x14]
add esp, 4
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x18], edi
jmp 0x498f29
mov esi, dword [ebx + 0x1c]
mov dword [esi + ecx*4], 0
inc dword [ebx + 0x14]
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x38]
mov eax, dword [ebx + 8]
mov ecx, dword [edi + 8]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, edi
mov ecx, dword [ebp - 0x40]
test ecx, ecx
cmovne eax, ecx
mov ecx, dword [ebp - 0x58]
mov edx, eax
mov dword [ebp - 0x40], eax
jmp 0x497940
test ecx, ecx
jle 0x498fda
mov ecx, dword [edx + 8]
mov eax, dword [edi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 8]
mov dword [eax], edx
mov dword [edx + 4], eax
mov eax, dword [edi + 8]
mov dword [edx], eax
mov dword [eax + 4], edx
mov edx, dword [ebx + 0x14]
mov esi, dword [ebp - 0x5c]
mov edi, dword [ebx + 0x1c]
mov dword [ebp - 0x1c], edx
mov eax, dword [edi]
mov dword [esi + 0x7c], eax
xor esi, esi
test edx, edx
jle 0x4994e3
mov eax, edx
mov dword [ebp - 0x6c], eax
cmp esi, eax
jge 0x4994df
mov edx, dword [edi + esi*4]
inc esi
mov dword [ebp - 0x20], edx
mov byte [ebp - 0x11], 0
mov eax, dword [edi + esi*4]
mov dword [ebp - 0x40], eax
test eax, eax
je 0x499421
nop dword [eax]
mov edi, dword [edx + 0x10]
inc esi
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x28], esi
test edi, edi
je 0x4991e0
mov dword [edi + 8], ecx
jmp 0x4991e3
cmp edx, dword [edi + 8]
je 0x498f7c
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
cmp edx, ecx
jne 0x499059
lea eax, [edx + edx]
test edx, edx
jne 0x498ff5
mov eax, 1
mov dword [ebp - 0x20], eax
cmp ecx, eax
jge 0x499059
test eax, eax
je 0x499015
shl eax, 2
push 0x10
push eax
call fcn.004927e0
mov edx, dword [ebx + 0x14]
add esp, 8
mov esi, eax
jmp 0x499017
xor esi, esi
xor ecx, ecx
test edx, edx
jle 0x499031
nop dword [eax]
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x499020
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x49904a
cmp byte [ebx + 0x20], 0
je 0x49904a
push eax
call fcn.004927f0
mov edx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0x20]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x18], eax
jmp 0x49905c
mov esi, dword [ebx + 0x1c]
mov eax, dword [edi + 0xc]
mov dword [esi + edx*4], eax
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebp - 0x40]
inc ecx
mov esi, dword [ebp - 0x5c]
mov dword [ebx + 0x14], ecx
mov eax, dword [eax]
cmp eax, dword [edi + 8]
je 0x499140
nop word [eax + eax]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x84], ecx
mov ecx, esi
push eax
call fcn.004972c0
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
cmp edx, ecx
jne 0x49911f
lea eax, [edx + edx]
test edx, edx
jne 0x4990ab
mov eax, 1
mov dword [ebp - 0x20], eax
cmp ecx, eax
jge 0x49911f
test eax, eax
je 0x4990cc
shl eax, 2
push 0x10
push eax
call fcn.004927e0
mov edx, dword [ebx + 0x14]
add esp, 8
mov dword [ebp - 0x28], eax
jmp 0x4990d3
mov dword [ebp - 0x28], 0
xor ecx, ecx
test edx, edx
jle 0x4990f4
mov esi, dword [ebp - 0x28]
nop dword [eax]
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x4990e0
mov edx, dword [ebx + 0x14]
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x49910d
cmp byte [ebx + 0x20], 0
je 0x49910d
push eax
call fcn.004927f0
mov edx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], ecx
jmp 0x499122
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebp - 0x84]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebp - 0x40]
inc ecx
mov dword [ebx + 0x14], ecx
mov eax, dword [eax]
cmp eax, dword [edi + 8]
jne 0x499080
mov edx, dword [ebx + 0x18]
cmp ecx, edx
jne 0x4991ca
lea eax, [ecx + ecx]
test ecx, ecx
jne 0x499157
mov eax, 1
mov dword [ebp - 0x20], eax
cmp edx, eax
jge 0x4991ca
test eax, eax
je 0x499177
shl eax, 2
push 0x10
push eax
call fcn.004927e0
mov ecx, dword [ebx + 0x14]
add esp, 8
mov edi, eax
jmp 0x499179
xor edi, edi
xor edx, edx
test ecx, ecx
jle 0x499191
nop
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + edx*4]
mov dword [edi + edx*4], eax
inc edx
cmp edx, ecx
jl 0x499180
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x4991aa
cmp byte [ebx + 0x20], 0
je 0x4991aa
push eax
call fcn.004927f0
mov ecx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0x20]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], eax
mov dword [edi + ecx*4], 0
mov edx, dword [ebx + 0x14]
inc edx
mov dword [ebx + 0x14], edx
jmp 0x498f82
mov edi, dword [ebx + 0x1c]
mov dword [edi + ecx*4], 0
mov edx, dword [ebx + 0x14]
inc edx
mov dword [ebx + 0x14], edx
jmp 0x498f82
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x4991ed
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4991fe
mov dword [ecx + 4], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x4991f4
cmp dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
je 0x499408
nop word [eax + eax]
cmp byte [ebp - 0x11], 0
mov edx, dword [ebx + 0x14]
jne 0x4992b9
mov ecx, dword [ebx + 0x18]
mov byte [ebp - 0x11], 1
cmp edx, ecx
jne 0x4992a9
lea edi, [edx + edx]
test edx, edx
jne 0x499244
mov edi, 1
cmp ecx, edi
jge 0x4992a9
test edi, edi
je 0x499265
lea eax, [edi*4]
push 0x10
push eax
call fcn.004927e0
mov edx, dword [ebx + 0x14]
add esp, 8
mov esi, eax
jmp 0x499267
xor esi, esi
xor ecx, ecx
test edx, edx
jle 0x499281
nop dword [eax]
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x499270
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x49929a
cmp byte [ebx + 0x20], 0
je 0x49929a
push eax
call fcn.004927f0
mov edx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0x40]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x18], edi
jmp 0x4992ac
mov esi, dword [ebx + 0x1c]
mov ecx, dword [ebp - 0x20]
mov dword [esi + edx*4], ecx
mov edx, dword [ebx + 0x14]
inc edx
mov dword [ebx + 0x14], edx
mov eax, dword [eax + 8]
mov ecx, dword [ebx + 0x18]
add eax, 0xc
mov dword [ebp - 0x84], eax
cmp edx, ecx
jne 0x499341
lea edi, [edx + edx]
test edx, edx
jne 0x4992dc
mov edi, 1
cmp ecx, edi
jge 0x499341
test edi, edi
je 0x4992fd
lea eax, [edi*4]
push 0x10
push eax
call fcn.004927e0
mov edx, dword [ebx + 0x14]
add esp, 8
mov esi, eax
jmp 0x4992ff
xor esi, esi
xor ecx, ecx
test edx, edx
jle 0x499316
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x499305
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x49932f
cmp byte [ebx + 0x20], 0
je 0x49932f
push eax
call fcn.004927f0
mov edx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0x84]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x18], edi
jmp 0x499344
mov esi, dword [ebx + 0x1c]
mov ecx, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [esi + edx*4], eax
inc dword [ebx + 0x14]
mov ecx, dword [ecx + 8]
mov esi, dword [ecx]
mov edx, dword [ecx + 8]
cmp esi, ecx
je 0x49936e
mov eax, dword [ecx + 4]
mov dword [esi + 4], eax
mov eax, dword [ecx + 4]
mov dword [eax], esi
mov eax, dword [edx + 0xc]
mov dword [eax + 8], esi
jmp 0x499378
mov eax, dword [edx + 0xc]
mov dword [eax + 8], 0
mov esi, dword [edx]
cmp esi, edx
je 0x499391
mov eax, dword [edx + 4]
mov dword [esi + 4], eax
mov eax, dword [edx + 4]
mov dword [eax], esi
mov eax, dword [ecx + 0xc]
mov dword [eax + 8], esi
jmp 0x49939b
mov eax, dword [ecx + 0xc]
mov dword [eax + 8], 0
mov esi, dword [ebp - 0x5c]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov eax, dword [esi + 0x38]
mov dword [ecx], eax
mov dword [esi + 0x38], ecx
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov dword [edx + 0x10], 0
mov eax, dword [esi + 0x38]
mov dword [edx], eax
mov eax, dword [ebp - 0x40]
mov dword [esi + 0x38], edx
dec dword [esi + 0x74]
cmp dword [eax + 8], 0
jne 0x499220
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x28]
mov edi, dword [ebx + 0x1c]
mov eax, dword [edi + esi*4]
mov dword [ebp - 0x40], eax
test eax, eax
jne 0x498fc0
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0x1c], edx
jmp 0x499424
mov edx, dword [ebp - 0x1c]
inc esi
cmp byte [ebp - 0x11], 0
mov dword [ebp - 0x28], esi
je 0x4994ce
mov ecx, dword [ebx + 0x18]
cmp edx, ecx
jne 0x4994ba
lea eax, [edx + edx]
test edx, edx
jne 0x499449
mov eax, 1
mov dword [ebp - 0x20], eax
cmp ecx, eax
jge 0x4994ba
test eax, eax
je 0x49946d
shl eax, 2
push 0x10
push eax
call fcn.004927e0
mov edi, dword [ebx + 0x1c]
add esp, 8
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0x4c], eax
jmp 0x499474
mov dword [ebp - 0x4c], 0
xor ecx, ecx
test edx, edx
jle 0x499494
mov esi, dword [ebp - 0x4c]
nop dword [eax]
mov eax, dword [edi + ecx*4]
mov dword [esi + ecx*4], eax
inc ecx
mov edi, dword [ebx + 0x1c]
cmp ecx, edx
jl 0x499480
mov edx, dword [ebx + 0x14]
mov esi, dword [ebp - 0x28]
test edi, edi
je 0x4994aa
cmp byte [ebx + 0x20], 0
je 0x4994aa
push edi
call fcn.004927f0
mov edx, dword [ebx + 0x14]
add esp, 4
mov edi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x20]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], eax
mov dword [edi + edx*4], 0
mov edx, dword [ebx + 0x14]
mov edi, dword [ebx + 0x1c]
inc edx
mov dword [ebp - 0x1c], edx
mov dword [ebx + 0x14], edx
cmp esi, dword [ebp - 0x6c]
jl 0x498fa4
cmp esi, edx
jl 0x498f97
test edx, edx
jg 0x49951d
jns 0x49951d
cmp dword [ebx + 0x18], 0
jge 0x49950d
test edi, edi
je 0x499501
cmp byte [ebx + 0x20], 0
je 0x499501
push edi
call fcn.004927f0
mov edx, dword [ebp - 0x1c]
add esp, 4
xor edi, edi
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], edi
imul ecx, edx, 0xfffffffc
lea edi, [edi + edx*4]
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [ebx + 0x1c]
mov eax, dword [ebx + 8]
movups xmm0, xmmword [ebp - 0x150]
mov dword [ebx + 0x14], 0
movups xmmword [eax + 0xc], xmm0
mov al, 1
jmp 0x49787a