Function at 0x1007ca10
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 0x100b8060
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3e8
push esi
push edi
mov eax, dword [0x100e4280]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x54], ecx
mov eax, dword [ebx + 8]
movss xmm0, dword [ebx + 0xc]
xorps xmm0, xmmword [0x100b92c0]
mov edx, dword [ecx + 0x6c]
movss dword [ebx + 0xc], xmm0
movd xmm0, dword [eax + 0x2c]
cvtdq2ps xmm0, xmm0
mov esi, dword [ecx + 0x70]
mov edi, dword [ecx + 0x68]
mov dword [ebp - 4], 0
mov dword [ebp - 0xa4], 0
movss dword [ebp + edx*4 - 0x130], xmm0
movd xmm0, dword [eax + 0x30]
cvtdq2ps xmm0, xmm0
movss dword [ebp + esi*4 - 0x130], xmm0
movd xmm0, dword [eax + 0x34]
cvtdq2ps xmm0, xmm0
movss dword [ebp + edi*4 - 0x130], xmm0
movss xmm0, dword [ebp - 0x128]
mulss xmm0, dword [ecx + 8]
movss xmm7, dword [ebp - 0x12c]
movss xmm5, dword [ebp - 0x130]
movss dword [ebp - 0x18], xmm0
movd xmm0, dword [eax + 0x1c]
cvtdq2ps xmm0, xmm0
mulss xmm7, dword [ecx + 4]
movss dword [ebp + edx*4 - 0x130], xmm0
movd xmm0, dword [eax + 0x20]
cvtdq2ps xmm0, xmm0
mulss xmm5, dword [ecx]
movss dword [ebp + esi*4 - 0x130], xmm0
movd xmm0, dword [eax + 0x24]
cvtdq2ps xmm0, xmm0
movss dword [ebp + edi*4 - 0x130], xmm0
movss xmm2, dword [ebp - 0x128]
mulss xmm2, dword [ecx + 8]
movss xmm6, dword [ebp - 0x12c]
movss xmm1, dword [ebp - 0x130]
mulss xmm1, dword [ecx]
movaps xmm3, xmm2
mulss xmm6, dword [ecx + 4]
movaps xmm4, xmm1
mulss xmm2, xmm7
mulss xmm1, dword [ebp - 0x18]
movaps xmm0, xmm6
mulss xmm6, dword [ebp - 0x18]
mulss xmm0, xmm5
mulss xmm3, xmm5
subss xmm6, xmm2
mulss xmm4, xmm7
subss xmm3, xmm1
movaps xmm1, xmm6
subss xmm4, xmm0
mulss xmm1, xmm6
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm1, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [0x100b949c]
divss xmm1, xmm0
movss xmm0, dword [ebx + 0xc]
movaps xmm2, xmm1
mulss xmm2, xmm4
movaps xmm4, xmm1
mulss xmm4, xmm3
xorps xmm3, xmm3
mulss xmm1, xmm6
mulss xmm2, xmm0
mulss xmm4, xmm0
mulss xmm1, xmm0
movss xmm0, dword [ecx]
ucomiss xmm0, xmm3
movss dword [ebp - 0xb0], xmm1
movss dword [ebp - 0xac], xmm4
movss dword [ebp - 0xa8], xmm2
lahf
test ah, 0x44
jnp 0x1007cbec
divss xmm1, xmm0
movss dword [ebp - 0xb0], xmm1
movss xmm0, dword [ecx + 4]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x1007cc06
divss xmm4, xmm0
movss dword [ebp - 0xac], xmm4
movss xmm0, dword [ecx + 8]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x1007cc20
divss xmm2, xmm0
movss dword [ebp - 0xa8], xmm2
cvttss2si edx, dword [ebp + edx*4 - 0xb0]
cvttss2si eax, dword [ebp + edi*4 - 0xb0]
mov dword [ebp - 0x34], edx
cvttss2si ecx, dword [ebp + esi*4 - 0xb0]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x60], ecx
test edx, edx
jne 0x1007cc54
test ecx, ecx
jne 0x1007cc54
test eax, eax
je 0x1007cef6
mov esi, dword [ebx + 8]
lea eax, [esi + 0x2c]
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [esi + 0x1c]
call fcn.1007a1c0
mov eax, dword [ebx + 8]
push dword [ebp - 0x9c]
mov edi, dword [esi + 0x10]
push dword [ebp - 0xa0]
mov eax, dword [eax + 0xc]
mov esi, dword [esi + 0x14]
cdq
push edx
push eax
call fcn.10094340
push dword [ebp - 0x8c]
mov dword [ebp - 0x28], eax
mov eax, esi
push dword [ebp - 0x90]
mov dword [ebp - 0x1c], edx
cdq
push edx
push eax
call fcn.10094340
add dword [ebp - 0x28], eax
mov eax, edi
push dword [ebp - 0x94]
adc dword [ebp - 0x1c], edx
push dword [ebp - 0x98]
cdq
push edx
push eax
call fcn.10094340
add dword [ebp - 0x28], eax
push dword [ebp - 0x9c]
adc dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x60]
add esi, dword [ebp - 0x18]
add edx, edi
mov edi, dword [ebx + 8]
mov eax, edx
mov ecx, dword [ebp - 0x34]
push dword [ebp - 0xa0]
mov dword [ebp - 0x148], edx
add ecx, dword [edi + 0xc]
mov dword [ebp - 0x12c], edx
cdq
mov dword [ebp - 0x14c], eax
mov eax, esi
mov dword [ebp - 0x150], edx
cdq
mov dword [ebp - 0x144], eax
mov eax, ecx
mov dword [ebp - 0x140], edx
cdq
push edx
push eax
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x124], 0xffffffff
call fcn.10094340
push dword [ebp - 0x140]
mov esi, eax
mov edi, edx
push dword [ebp - 0x144]
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
call fcn.10094340
push dword [ebp - 0x150]
add esi, eax
push dword [ebp - 0x14c]
adc edi, edx
push dword [ebp - 0x94]
push dword [ebp - 0x98]
call fcn.10094340
add esi, eax
mov dword [ebp - 0x84], esi
adc edi, edx
mov dword [ebp - 0x7c], edi
cmp edi, dword [ebp - 0x1c]
jl 0x1007cd97
jg 0x1007cd90
cmp esi, dword [ebp - 0x28]
jb 0x1007cd97
xor al, al
jmp 0x1007cef8
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x108]
push eax
mov edi, dword [ecx + 8]
call fcn.1007a3c0
push dword [ebp - 0x7c]
lea ecx, [ebp - 0x108]
push esi
call fcn.10078be0
mov dword [ebp - 0x50], eax
mov esi, edi
test eax, eax
js 0x1007ce6c
nop
mov ecx, dword [esi + 0xc]
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.1007a3c0
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0xe0]
call fcn.10078b00
test eax, eax
jns 0x1007ce4b
push dword [ebp - 0x7c]
lea ecx, [ebp - 0xe0]
push dword [ebp - 0x84]
call fcn.10078be0
mov esi, dword [esi + 8]
mov edi, esi
mov dword [ebp - 0x38], esi
movups xmm0, xmmword [ebp - 0xe0]
movups xmmword [ebp - 0x108], xmm0
movups xmm0, xmmword [ebp - 0xd0]
movups xmmword [ebp - 0xf8], xmm0
movq xmm0, qword [ebp - 0xc0]
movq qword [ebp - 0xe8], xmm0
test eax, eax
js 0x1007ce5d
mov dword [ebp - 0x50], eax
mov esi, dword [esi + 4]
cmp esi, edi
jne 0x1007cdd0
xor al, al
jmp 0x1007cef8
test esi, esi
jne 0x1007cf31
xor al, al
jmp 0x1007cef8
mov dword [ebp - 0x38], edi
nop
mov ecx, dword [esi + 0xc]
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.1007a3c0
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0xe0]
call fcn.10078b00
test eax, eax
jle 0x1007cee8
push dword [ebp - 0x7c]
lea ecx, [ebp - 0xe0]
push dword [ebp - 0x84]
call fcn.10078be0
mov dword [ebp - 0x50], eax
test eax, eax
jns 0x1007cf36
movups xmm0, xmmword [ebp - 0xe0]
mov esi, dword [esi + 8]
mov edi, esi
movups xmmword [ebp - 0x108], xmm0
movups xmm0, xmmword [ebp - 0xd0]
movups xmmword [ebp - 0xf8], xmm0
movq xmm0, qword [ebp - 0xc0]
movq qword [ebp - 0xe8], xmm0
mov esi, dword [esi + 4]
mov dword [ebp - 0x38], esi
cmp esi, edi
jne 0x1007ce70
mov al, 1
mov edi, dword [ebx + 0x1c]
mov byte [ebp - 0x11], al
mov dword [ebp - 4], 7
test edi, edi
je 0x1007cf1b
cmp byte [ebx + 0x20], 0
je 0x1007cf1b
push edi
call fcn.10077ed0
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 eax, dword [ebp - 0x50]
test eax, eax
jne 0x1007cf9b
mov eax, dword [esi + 8]
push dword [ebp - 0x7c]
push dword [ebp - 0x84]
mov edi, dword [eax]
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x190]
push eax
mov ecx, dword [edi + 0xc]
call fcn.1007a3c0
mov ecx, eax
call fcn.10078be0
test eax, eax
jg 0x1007cf98
mov edi, dword [edi]
cmp edi, dword [esi + 8]
je 0x1007cef6
push dword [ebp - 0x7c]
mov ecx, dword [edi + 0xc]
lea eax, [ebp - 0xa0]
push dword [ebp - 0x84]
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.1007a3c0
mov ecx, eax
call fcn.10078be0
test eax, eax
jle 0x1007cf67
mov eax, dword [ebp - 0x50]
xor ecx, ecx
xor edi, edi
mov dword [ebp - 0x10c], ecx
xor edx, edx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x58], edx
nop dword [eax]
test eax, eax
jne 0x1007d33f
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov edi, dword [eax + 0xc]
mov dword [ebp - 0x18], edi
cmp dword [edi + 0x64], 0
jl 0x1007d114
push dword [ebp - 0x94]
mov eax, dword [edi + 0x5c]
push dword [ebp - 0x98]
cdq
push edx
push eax
call fcn.10094340
push dword [ebp - 0x8c]
mov dword [ebp - 0x48], eax
mov esi, edx
push dword [ebp - 0x90]
mov eax, dword [edi + 0x60]
cdq
push edx
push eax
call fcn.10094340
add dword [ebp - 0x48], eax
push dword [ebp - 0x9c]
mov eax, dword [edi + 0x58]
adc esi, edx
push dword [ebp - 0xa0]
cdq
push edx
push eax
call fcn.10094340
mov ecx, dword [ebp - 0x48]
add ecx, eax
adc esi, edx
js 0x1007d04f
jg 0x1007d031
test ecx, ecx
je 0x1007d04f
mov dword [ebp - 0xe8], 1
xorps xmm0, xmm0
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x104], esi
jmp 0x1007d0d8
test esi, esi
jg 0x1007d0c3
jl 0x1007d059
test ecx, ecx
jae 0x1007d0c3
neg ecx
mov dword [ebp - 0xe8], 0xffffffff
adc esi, 0
neg esi
js 0x1007d0a3
jg 0x1007d072
test ecx, ecx
jb 0x1007d0a3
xorps xmm0, xmm0
mov dword [ebp - 0x108], ecx
movlpd qword [ebp - 0xa8], xmm0
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], eax
jmp 0x1007d0e0
or edx, 0xffffffff
mov dword [ebp - 0x108], ecx
or eax, 0xffffffff
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], eax
jmp 0x1007d0e0
xorps xmm0, xmm0
mov dword [ebp - 0xe8], 0
movlpd qword [ebp - 0x108], xmm0
movlpd qword [ebp - 0x100], xmm0
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x108]
xorps xmm0, xmm0
mov dword [ebp - 0xf8], 1
mov dword [ebp - 0xf4], 0
movlpd qword [ebp - 0xf0], xmm0
mov byte [ebp - 0xe4], 1
jmp 0x1007d2da
push dword [ebp - 0x8c]
lea eax, [ebp - 0x298]
push dword [ebp - 0x90]
lea ecx, [edi + 0x38]
push eax
call fcn.10078870
push eax
lea eax, [ebp - 0x3c8]
push eax
push dword [ebp - 0x94]
lea eax, [ebp - 0x3d8]
push dword [ebp - 0x98]
lea ecx, [edi + 0x28]
push eax
call fcn.10078870
push eax
lea eax, [ebp - 0x3e8]
push eax
push dword [ebp - 0x9c]
lea eax, [ebp - 0x1f8]
push dword [ebp - 0xa0]
lea ecx, [edi + 0x18]
push eax
call fcn.10078870
mov ecx, eax
call fcn.10078a90
mov ecx, eax
call fcn.10078a90
mov dword [ebp - 0x2c], eax
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x20], edx
test edx, edx
jg 0x1007d217
jl 0x1007d19d
test ecx, ecx
jae 0x1007d217
mov edi, dword [eax]
or edx, 0xffffffff
mov eax, dword [eax + 4]
mov dword [ebp - 0x4c], eax
mov eax, edi
or eax, dword [ebp - 0x4c]
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x48], edi
jne 0x1007d1c0
lea edi, [edx + 2]
mov dword [ebp - 0x2c], eax
jmp 0x1007d1da
xorps xmm0, xmm0
movlpd qword [ebp - 0xa8], xmm0
mov eax, dword [ebp - 0xa4]
mov edi, dword [ebp - 0xa8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
not ecx
add ecx, edi
not eax
mov edi, dword [ebp - 0x4c]
adc eax, dword [ebp - 0x2c]
neg dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x48]
adc edi, 0
neg edi
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xdc], edi
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd4], eax
jmp 0x1007d23e
or ecx, edx
mov ecx, dword [ebp - 0x2c]
jne 0x1007d229
mov eax, dword [eax]
or eax, dword [ecx + 4]
jne 0x1007d229
xor edx, edx
jmp 0x1007d22e
mov edx, 1
movups xmm0, xmmword [ecx]
mov dword [ebp - 0xc0], edx
movups xmmword [ebp - 0xe0], xmm0
mov ecx, dword [edi + 0x54]
mov eax, dword [edi + 0x50]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x34], ecx
test ecx, ecx
jg 0x1007d2c2
jl 0x1007d254
test eax, eax
jae 0x1007d2c2
mov ecx, dword [edi + 0x4c]
neg edx
mov edi, dword [edi + 0x48]
mov eax, edi
or eax, ecx
mov dword [ebp - 0xc0], edx
jne 0x1007d274
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x4c], eax
jmp 0x1007d291
xorps xmm0, xmm0
movlpd qword [ebp - 0xa8], xmm0
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x34]
not eax
add eax, dword [ebp - 0x2c]
not edx
mov dword [ebp - 0xc8], eax
adc edx, dword [ebp - 0x4c]
neg edi
mov dword [ebp - 0xd0], edi
adc ecx, 0
mov dword [ebp - 0xc4], edx
neg ecx
mov dword [ebp - 0xcc], ecx
jmp 0x1007d2cd
movups xmm0, xmmword [edi + 0x48]
movups xmmword [ebp - 0xd0], xmm0
mov byte [ebp - 0xbc], 0
lea eax, [ebp - 0xe0]
movups xmm0, xmmword [eax]
lea ecx, [ebp - 0x190]
push dword [ebp - 0x7c]
movups xmmword [ebp - 0x190], xmm0
movups xmm0, xmmword [eax + 0x10]
push dword [ebp - 0x84]
movups xmmword [ebp - 0x180], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [ebp - 0x170], xmm0
call fcn.10078be0
test eax, eax
jns 0x1007d330
mov eax, dword [ebp - 0x28]
mov esi, dword [eax + 8]
mov eax, dword [eax]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x24]
jne 0x1007cfc3
jmp 0x1007cef6
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x10c]
test ecx, ecx
jne 0x1007d34b
mov dword [ebp - 0x10c], esi
jmp 0x1007d353
cmp esi, ecx
je 0x1007e503
mov dword [ebp - 0x2c], eax
lea eax, [esi + 8]
mov dword [ebp - 0xa4], esi
mov esi, dword [eax]
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x4c], eax
nop word [eax + eax]
mov eax, dword [esi + 8]
mov esi, dword [eax + 4]
mov dword [ebp - 0x38], esi
mov edi, dword [esi + 0xc]
mov dword [ebp - 0x60], edi
cmp dword [edi + 0x64], 0
jl 0x1007d4ca
push dword [ebp - 0x94]
mov eax, dword [edi + 0x5c]
push dword [ebp - 0x98]
cdq
push edx
push eax
call fcn.10094340
push dword [ebp - 0x8c]
mov dword [ebp - 0x20], eax
mov esi, edx
push dword [ebp - 0x90]
mov eax, dword [edi + 0x60]
cdq
push edx
push eax
call fcn.10094340
add dword [ebp - 0x20], eax
push dword [ebp - 0x9c]
mov eax, dword [edi + 0x58]
adc esi, edx
push dword [ebp - 0xa0]
cdq
push edx
push eax
call fcn.10094340
mov ecx, dword [ebp - 0x20]
add ecx, eax
adc esi, edx
js 0x1007d405
jg 0x1007d3e7
test ecx, ecx
je 0x1007d405
mov dword [ebp - 0xe8], 1
xorps xmm0, xmm0
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x104], esi
jmp 0x1007d48e
test esi, esi
jg 0x1007d479
jl 0x1007d40f
test ecx, ecx
jae 0x1007d479
neg ecx
mov dword [ebp - 0xe8], 0xffffffff
adc esi, 0
neg esi
js 0x1007d459
jg 0x1007d428
test ecx, ecx
jb 0x1007d459
xorps xmm0, xmm0
mov dword [ebp - 0x108], ecx
movlpd qword [ebp - 0xb8], xmm0
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], eax
jmp 0x1007d496
or edx, 0xffffffff
mov dword [ebp - 0x108], ecx
or eax, 0xffffffff
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], eax
jmp 0x1007d496
xorps xmm0, xmm0
mov dword [ebp - 0xe8], 0
movlpd qword [ebp - 0x108], xmm0
movlpd qword [ebp - 0x100], xmm0
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x108]
xorps xmm0, xmm0
mov dword [ebp - 0xf8], 1
mov dword [ebp - 0xf4], 0
movlpd qword [ebp - 0xf0], xmm0
mov byte [ebp - 0xe4], 1
jmp 0x1007d68c
push dword [ebp - 0x8c]
lea eax, [ebp - 0x208]
push dword [ebp - 0x90]
lea ecx, [edi + 0x38]
push eax
call fcn.10078870
push eax
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x94]
lea eax, [ebp - 0x228]
push dword [ebp - 0x98]
lea ecx, [edi + 0x28]
push eax
call fcn.10078870
push eax
lea eax, [ebp - 0x238]
push eax
push dword [ebp - 0x9c]
lea eax, [ebp - 0x248]
push dword [ebp - 0xa0]
lea ecx, [edi + 0x18]
push eax
call fcn.10078870
mov ecx, eax
call fcn.10078a90
mov ecx, eax
call fcn.10078a90
mov dword [ebp - 0x20], eax
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x34], edx
test edx, edx
jg 0x1007d5cf
jl 0x1007d553
test ecx, ecx
jae 0x1007d5cf
mov edi, dword [eax]
or edx, 0xffffffff
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
mov eax, edi
or eax, dword [ebp - 0x1c]
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x20], edi
jne 0x1007d57a
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x5c], eax
jmp 0x1007d597
xorps xmm0, xmm0
movlpd qword [ebp - 0xb8], xmm0
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x28], eax
neg dword [ebp - 0x20]
not ecx
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
adc eax, 0
neg eax
mov dword [ebp - 0xe0], edi
add ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x60]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x34]
not eax
mov dword [ebp - 0xd8], ecx
adc eax, dword [ebp - 0x5c]
mov dword [ebp - 0xd4], eax
jmp 0x1007d5f6
or ecx, edx
mov ecx, dword [ebp - 0x20]
jne 0x1007d5e1
mov eax, dword [eax]
or eax, dword [ecx + 4]
jne 0x1007d5e1
xor edx, edx
jmp 0x1007d5e6
mov edx, 1
movups xmm0, xmmword [ecx]
mov dword [ebp - 0xc0], edx
movups xmmword [ebp - 0xe0], xmm0
mov ecx, dword [edi + 0x54]
mov eax, dword [edi + 0x50]
test ecx, ecx
jg 0x1007d674
jl 0x1007d606
test eax, eax
jae 0x1007d674
mov ecx, dword [edi + 0x4c]
neg edx
mov dword [ebp - 0xc0], edx
mov edx, dword [edi + 0x48]
mov eax, edx
or eax, ecx
jne 0x1007d626
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], eax
jmp 0x1007d643
xorps xmm0, xmm0
movlpd qword [ebp - 0xb8], xmm0
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x20], eax
mov eax, dword [edi + 0x50]
neg edx
not eax
mov dword [ebp - 0xd0], edx
adc ecx, 0
neg ecx
add eax, dword [ebp - 0x20]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [edi + 0x54]
not ecx
mov dword [ebp - 0xc8], eax
adc ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xc4], ecx
jmp 0x1007d67f
movups xmm0, xmmword [edi + 0x48]
movups xmmword [ebp - 0xd0], xmm0
mov byte [ebp - 0xbc], 0
lea eax, [ebp - 0xe0]
movups xmm0, xmmword [eax]
lea ecx, [ebp - 0x190]
push dword [ebp - 0x7c]
movups xmmword [ebp - 0x190], xmm0
movups xmm0, xmmword [eax + 0x10]
push dword [ebp - 0x84]
movups xmmword [ebp - 0x180], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [ebp - 0x170], xmm0
call fcn.10078be0
mov dword [ebp - 0x50], eax
test eax, eax
js 0x1007d370
jle 0x1007e264
mov edx, dword [esi + 8]
mov dword [ebp - 0xb4], edx
mov eax, dword [edx + 4]
cmp eax, edx
jne 0x1007d6ec
mov dword [edi + 8], 0
jmp 0x1007d6fe
mov dword [edi + 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 - 0xd0]
push eax
call fcn.1007a1c0
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x30], ecx
lea eax, [ecx + 0x2c]
add ecx, 0x1c
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.1007a1c0
mov ecx, dword [ebx + 8]
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
mov eax, dword [ecx + 0x20]
cdq
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x20], edx
cdq
mov edi, eax
mov esi, edx
mov eax, dword [ecx + 0x1c]
cdq
mov ecx, eax
mov dword [ebp - 0x11c], edi
mov eax, edx
mov dword [ebp - 0x80], esi
push eax
push ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x34], eax
call fcn.10094340
push dword [ebp - 0xbc]
mov dword [ebp - 0x5c], eax
push dword [ebp - 0xc0]
mov dword [ebp - 0x88], edx
push esi
push edi
call fcn.10094340
push dword [ebp - 0xc4]
mov esi, dword [ebp - 0x5c]
push dword [ebp - 0xc8]
mov edi, dword [ebp - 0x88]
add esi, eax
push dword [ebp - 0x20]
adc edi, edx
push dword [ebp - 0x1c]
call fcn.10094340
mov ecx, dword [ebx + 8]
add esi, eax
push dword [ebp - 0xcc]
adc edi, edx
mov dword [ebp - 0x5c], esi
push dword [ebp - 0xd0]
mov eax, dword [ecx + 0x30]
cdq
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x40], edx
cdq
mov dword [ebp - 0x44], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0x28], edx
cdq
mov esi, edx
mov dword [ebp - 0x88], edi
mov edi, eax
push esi
push edi
call fcn.10094340
push dword [ebp - 0xbc]
mov dword [ebp - 0x70], eax
push dword [ebp - 0xc0]
mov dword [ebp - 0x6c], edx
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.10094340
push dword [ebp - 0xc4]
add dword [ebp - 0x70], eax
push dword [ebp - 0xc8]
adc dword [ebp - 0x6c], edx
push dword [ebp - 0x40]
push dword [ebp - 0x3c]
call fcn.10094340
push dword [ebp - 0xf4]
add dword [ebp - 0x70], eax
push dword [ebp - 0xf8]
adc dword [ebp - 0x6c], edx
push dword [ebp - 0x34]
push dword [ebp - 0x24]
call fcn.10094340
push dword [ebp - 0xe4]
mov dword [ebp - 0x78], eax
push dword [ebp - 0xe8]
mov dword [ebp - 0x74], edx
push dword [ebp - 0x80]
push dword [ebp - 0x11c]
call fcn.10094340
push dword [ebp - 0xec]
add dword [ebp - 0x78], eax
push dword [ebp - 0xf0]
adc dword [ebp - 0x74], edx
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
call fcn.10094340
push dword [ebp - 0xf4]
add dword [ebp - 0x78], eax
push dword [ebp - 0xf8]
adc dword [ebp - 0x74], edx
push esi
push edi
call fcn.10094340
push dword [ebp - 0xe4]
mov esi, eax
mov edi, edx
push dword [ebp - 0xe8]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.10094340
add esi, eax
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0xf0]
adc edi, edx
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0xec]
push edi
push esi
push dword [ebp - 0x40]
push dword [ebp - 0x3c]
call fcn.10094340
add dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x38]
push dword [ebp - 0xc4]
adc dword [ebp - 0x28], edx
push dword [ebp - 0xc8]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0x10]
sub eax, dword [ebp - 0x148]
cdq
push edx
push eax
call fcn.10094340
mov ecx, dword [ebp - 0x38]
push dword [ebp - 0xbc]
mov dword [ebp - 0x44], eax
push dword [ebp - 0xc0]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x40], edx
mov eax, dword [eax + 0x14]
sub eax, dword [ebp - 0x13c]
cdq
push edx
push eax
call fcn.10094340
add dword [ebp - 0x44], eax
adc dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0x38]
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xc]
sub eax, dword [ebp - 0x130]
cdq
push edx
push eax
call fcn.10094340
add dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x30]
adc dword [ebp - 0x40], edx
push edi
push esi
mov eax, dword [eax + 0x10]
sub eax, dword [ebp - 0x148]
cdq
push edx
push eax
call fcn.10094340
mov esi, dword [ebp - 0x30]
mov edi, eax
push dword [ebp - 0xe4]
mov dword [ebp - 0x3c], edx
push dword [ebp - 0xe8]
mov eax, dword [esi + 0x14]
sub eax, dword [ebp - 0x13c]
cdq
push edx
push eax
call fcn.10094340
push dword [ebp - 0xf4]
add edi, eax
mov eax, dword [esi + 0xc]
push dword [ebp - 0xf8]
adc dword [ebp - 0x3c], edx
sub eax, dword [ebp - 0x130]
cdq
push edx
push eax
call fcn.10094340
push dword [ebp - 0x74]
add edi, eax
lea eax, [ebp - 0x258]
push dword [ebp - 0x78]
adc dword [ebp - 0x3c], edx
push dword [ebp - 0x6c]
mov dword [ebp - 0x20], edi
push dword [ebp - 0x70]
push eax
call fcn.1007c620
add esp, 0x14
push eax
lea eax, [ebp - 0x1e8]
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x268]
push dword [ebp - 0x1c]
push dword [ebp - 0x88]
push dword [ebp - 0x5c]
push eax
call fcn.1007c620
add esp, 0x14
mov ecx, eax
call fcn.100789e0
mov ecx, dword [ebp - 0x54]
lea ecx, [ecx + 0x20]
call fcn.1007c8a0
mov esi, dword [ebx + 8]
push dword [ebp - 0x88]
mov dword [ebp - 0x34], eax
push dword [ebp - 0x5c]
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 - 0x114], ecx
mov dword [ebp - 0x24], eax
push dword [ebp - 0x3c]
push edi
push eax
push ecx
call fcn.10094340
push edx
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.1007c620
add esp, 0x14
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x24]
cdq
mov esi, edx
mov edi, eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
push dword [ebp - 0x3c]
push dword [ebp - 0x20]
push esi
push edi
call fcn.10094340
push edx
push eax
lea eax, [ebp - 0x288]
push eax
call fcn.1007c620
add esp, 0x14
push eax
lea eax, [ebp - 0x348]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x1c]
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push esi
push edi
call fcn.10094340
push edx
push eax
lea eax, [ebp - 0x2a8]
push eax
call fcn.1007c620
add esp, 0x14
mov ecx, eax
call fcn.100789e0
mov dword [ebp - 0x80], eax
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov edi, edx
mov eax, dword [ebp - 0x30]
add edi, dword [eax]
mov esi, dword [eax + 4]
adc esi, ecx
mov dword [ebp - 0x11c], esi
cmp esi, ecx
ja 0x1007daeb
jb 0x1007dae2
cmp edi, edx
jae 0x1007daeb
mov edx, 1
xor esi, esi
jmp 0x1007daf9
xorps xmm0, xmm0
movlpd qword [ebp - 0x68], xmm0
mov esi, dword [ebp - 0x64]
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x11c]
push dword [ebp - 0x140]
mov dword [ebp - 0x1b8], edi
mov edi, dword [ebp - 0x80]
push dword [ebp - 0x144]
mov dword [ebp - 0x1b4], ecx
mov ecx, dword [edi + 8]
add ecx, dword [eax + 8]
mov eax, dword [edi + 0xc]
mov edi, dword [ebp - 0x30]
adc eax, dword [edi + 0xc]
add ecx, edx
mov dword [ebp - 0x1b0], ecx
lea ecx, [ebp - 0x1e8]
adc eax, esi
mov dword [ebp - 0x1ac], eax
lea eax, [ebp - 0x2b8]
push eax
call fcn.10078870
push dword [ebp - 0x74]
mov esi, eax
push dword [ebp - 0x78]
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push dword [ebp - 0x24]
push dword [ebp - 0x114]
call fcn.10094340
push edx
push eax
lea eax, [ebp - 0x2c8]
push eax
call fcn.1007c620
add esp, 0x14
lea ecx, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x2d8]
push eax
call fcn.100789e0
mov edx, eax
mov eax, dword [edx]
add eax, dword [esi]
mov edi, dword [edx + 4]
adc edi, dword [esi + 4]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x160], edi
cmp edi, dword [edx + 4]
ja 0x1007dbbc
jb 0x1007dbae
cmp eax, dword [edx]
jae 0x1007dbbc
mov edi, 1
mov dword [ebp - 0x30], 0
jmp 0x1007dbcd
xorps xmm0, xmm0
movlpd qword [ebp - 0x68], xmm0
mov eax, dword [ebp - 0x64]
mov edi, dword [ebp - 0x68]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 8]
add eax, dword [edx + 8]
push dword [ebp - 0x88]
mov ecx, dword [esi + 0xc]
adc ecx, dword [edx + 0xc]
add eax, edi
push dword [ebp - 0x5c]
mov esi, dword [ebx + 8]
push dword [ebp - 0x3c]
adc ecx, dword [ebp - 0x30]
push dword [ebp - 0x20]
mov dword [ebp - 0x164], eax
mov eax, dword [esi + 0x30]
cdq
mov dword [ebp - 0x64], ecx
mov ecx, eax
mov eax, edx
mov dword [ebp - 0x80], ecx
push eax
push ecx
mov dword [ebp - 0x11c], eax
call fcn.10094340
push edx
push eax
lea eax, [ebp - 0x2e8]
push eax
call fcn.1007c620
add esp, 0x14
mov dword [ebp - 0x114], eax
mov eax, dword [esi + 0x20]
cdq
mov esi, edx
mov edi, eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
push dword [ebp - 0x3c]
push dword [ebp - 0x20]
push esi
push edi
call fcn.10094340
push edx
push eax
lea eax, [ebp - 0x2f8]
push eax
call fcn.1007c620
add esp, 0x14
push eax
lea eax, [ebp - 0x308]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x1c]
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push esi
push edi
call fcn.10094340
push edx
push eax
lea eax, [ebp - 0x318]
push eax
call fcn.1007c620
add esp, 0x14
mov ecx, eax
call fcn.100789e0
mov esi, eax
mov eax, dword [ebp - 0x114]
mov edx, dword [esi]
add edx, dword [eax]
mov edi, dword [eax + 4]
adc edi, dword [esi + 4]
cmp edi, dword [esi + 4]
ja 0x1007dcb4
jb 0x1007dca4
cmp edx, dword [esi]
jae 0x1007dcb4
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x24], 0
jmp 0x1007dcd1
xorps xmm0, xmm0
movlpd qword [ebp - 0x138], xmm0
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x30], 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 - 0x30]
push dword [ebp - 0x150]
adc eax, dword [ebp - 0x24]
push dword [ebp - 0x14c]
mov dword [ebp - 0x1bc], eax
lea eax, [ebp - 0x328]
mov dword [ebp - 0x1c0], ecx
lea ecx, [ebp - 0x1e8]
push eax
mov dword [ebp - 0x1c8], edx
mov dword [ebp - 0x1c4], edi
call fcn.10078870
push dword [ebp - 0x74]
mov esi, eax
push dword [ebp - 0x78]
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push dword [ebp - 0x11c]
push dword [ebp - 0x80]
call fcn.10094340
push edx
push eax
lea eax, [ebp - 0x338]
push eax
call fcn.1007c620
add esp, 0x14
lea ecx, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x3f8]
push eax
call fcn.100789e0
mov edx, eax
mov eax, dword [edx]
add eax, dword [esi]
mov edi, dword [edx + 4]
adc edi, dword [esi + 4]
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x154], edi
cmp edi, dword [edx + 4]
ja 0x1007dd8a
jb 0x1007dd7c
cmp eax, dword [edx]
jae 0x1007dd8a
mov edi, 1
mov dword [ebp - 0x24], 0
jmp 0x1007dda4
xorps xmm0, xmm0
movlpd qword [ebp - 0x138], xmm0
mov eax, dword [ebp - 0x134]
mov edi, dword [ebp - 0x138]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 8]
add eax, dword [edx + 8]
push dword [ebp - 0x88]
mov ecx, dword [esi + 0xc]
adc ecx, dword [edx + 0xc]
add eax, edi
push dword [ebp - 0x5c]
mov esi, dword [ebx + 8]
push dword [ebp - 0x3c]
adc ecx, dword [ebp - 0x24]
push dword [ebp - 0x20]
mov dword [ebp - 0x158], eax
mov eax, dword [esi + 0x2c]
cdq
mov dword [ebp - 0x134], ecx
mov ecx, eax
mov eax, edx
mov dword [ebp - 0x80], ecx
push eax
push ecx
mov dword [ebp - 0x11c], eax
call fcn.10094340
push edx
push eax
lea eax, [ebp - 0x358]
push eax
call fcn.1007c620
add esp, 0x14
mov dword [ebp - 0x114], eax
mov eax, dword [esi + 0x1c]
cdq
mov esi, edx
mov edi, eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
push dword [ebp - 0x3c]
push dword [ebp - 0x20]
push esi
push edi
call fcn.10094340
push edx
push eax
lea eax, [ebp - 0x368]
push eax
call fcn.1007c620
add esp, 0x14
push eax
lea eax, [ebp - 0x378]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x1c]
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push esi
push edi
call fcn.10094340
push edx
push eax
lea eax, [ebp - 0x388]
push eax
call fcn.1007c620
add esp, 0x14
mov ecx, eax
call fcn.100789e0
mov esi, eax
mov eax, dword [ebp - 0x114]
mov edx, dword [esi]
add edx, dword [eax]
mov edi, dword [eax + 4]
adc edi, dword [esi + 4]
cmp edi, dword [esi + 4]
ja 0x1007de8e
jb 0x1007de7e
cmp edx, dword [esi]
jae 0x1007de8e
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x30], 0
jmp 0x1007deab
xorps xmm0, xmm0
movlpd qword [ebp - 0x118], xmm0
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
add ecx, dword [esi + 8]
mov dword [ebp - 0x1d8], edx
adc eax, dword [esi + 0xc]
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1d0], ecx
lea ecx, [ebp - 0x1e8]
adc eax, dword [ebp - 0x30]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x130]
cdq
push edx
push eax
lea eax, [ebp - 0x398]
mov dword [ebp - 0x1d4], edi
push eax
call fcn.10078870
push dword [ebp - 0x74]
mov edi, eax
push dword [ebp - 0x78]
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push dword [ebp - 0x11c]
push dword [ebp - 0x80]
call fcn.10094340
push edx
push eax
lea eax, [ebp - 0x3a8]
push eax
call fcn.1007c620
add esp, 0x14
lea ecx, [ebp - 0x1d8]
push eax
lea eax, [ebp - 0x3b8]
push eax
call fcn.100789e0
mov dword [ebp - 0x114], 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 0x1007df5b
jb 0x1007df4b
cmp edx, dword [eax]
jae 0x1007df5b
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x30], 0
jmp 0x1007df78
xorps xmm0, xmm0
movlpd qword [ebp - 0x120], xmm0
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0x24], ecx
mov ecx, dword [edi + 8]
add ecx, dword [eax + 8]
mov eax, dword [edi + 0xc]
mov edi, dword [ebp - 0x34]
movups xmm1, xmmword [ebp - 0x1e8]
mov dword [ebp - 0x1a8], edx
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x1a4], esi
adc eax, dword [edx + 0xc]
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1a0], ecx
lea ecx, [edi + 0x18]
adc eax, dword [ebp - 0x30]
lea esi, [ecx + 0x30]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x168]
movups xmm0, xmmword [ebp - 0x1a8]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x160]
movups xmmword [ecx], xmm0
mov dword [ebp - 0x184], eax
movups xmm0, xmmword [ebp - 0x198]
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x64]
movups xmmword [ecx + 0x10], xmm0
mov dword [ebp - 0x17c], eax
movups xmm0, xmmword [ebp - 0x188]
movups xmmword [ecx + 0x20], xmm0
movups xmmword [ecx + 0x30], xmm1
call fcn.1007fa80
fstp dword [ebp - 0x64]
mov ecx, esi
call fcn.1007fa80
fdivr dword [ebp - 0x64]
lea ecx, [edi + 0x28]
fstp dword [ebp - 0x64]
cvttss2si eax, dword [ebp - 0x64]
mov dword [edi + 0x58], eax
call fcn.1007fa80
fstp dword [ebp - 0x64]
mov ecx, esi
call fcn.1007fa80
fdivr dword [ebp - 0x64]
lea ecx, [edi + 0x38]
fstp dword [ebp - 0x64]
cvttss2si eax, dword [ebp - 0x64]
mov dword [edi + 0x5c], eax
call fcn.1007fa80
fstp dword [ebp - 0x64]
mov ecx, esi
call fcn.1007fa80
fdivr dword [ebp - 0x64]
mov esi, dword [ebp - 0x38]
fstp dword [ebp - 0x64]
cvttss2si eax, dword [ebp - 0x64]
mov dword [edi + 0x60], eax
mov eax, dword [ebp - 0xb4]
mov dword [esi + 0xc], edi
mov dword [edi + 8], eax
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
cmp edx, ecx
jne 0x1007e11c
lea eax, [edx + edx]
test edx, edx
jne 0x1007e0bb
mov eax, 1
mov dword [ebp - 0x24], eax
cmp ecx, eax
jge 0x1007e11c
test eax, eax
je 0x1007e0db
shl eax, 2
push 0x10
push eax
call fcn.10077ec0
mov edx, dword [ebx + 0x14]
add esp, 8
mov edi, eax
jmp 0x1007e0dd
xor edi, edi
xor ecx, ecx
test edx, edx
jle 0x1007e0f4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [edi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x1007e0e3
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x1007e10d
cmp byte [ebx + 0x20], 0
je 0x1007e10d
push eax
call fcn.10077ed0
mov edx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0x24]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], eax
jmp 0x1007e11f
mov edi, dword [ebx + 0x1c]
mov eax, dword [ebp - 0x34]
mov dword [edi + edx*4], eax
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
inc eax
mov dword [ebx + 0x14], eax
cmp eax, ecx
jne 0x1007e1a3
test eax, eax
je 0x1007e13b
add eax, eax
jmp 0x1007e140
mov eax, 1
mov dword [ebp - 0x34], eax
cmp ecx, eax
jge 0x1007e1a3
test eax, eax
je 0x1007e15d
shl eax, 2
push 0x10
push eax
call fcn.10077ec0
add esp, 8
mov edi, eax
jmp 0x1007e15f
xor edi, edi
mov edx, dword [ebx + 0x14]
xor ecx, ecx
test edx, edx
jle 0x1007e17e
nop dword [eax + eax]
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [edi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x1007e170
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x1007e194
cmp byte [ebx + 0x20], 0
je 0x1007e194
push eax
call fcn.10077ed0
add esp, 4
mov eax, dword [ebp - 0x34]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], eax
jmp 0x1007e1a6
mov edi, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebp - 0x60]
mov dword [edi + eax*4], ecx
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
inc eax
mov dword [ebx + 0x14], eax
cmp eax, ecx
jne 0x1007e225
test eax, eax
je 0x1007e1c5
add eax, eax
jmp 0x1007e1ca
mov eax, 1
mov dword [ebp - 0x60], eax
cmp ecx, eax
jge 0x1007e225
test eax, eax
je 0x1007e1e7
shl eax, 2
push 0x10
push eax
call fcn.10077ec0
add esp, 8
mov edi, eax
jmp 0x1007e1e9
xor edi, edi
mov edx, dword [ebx + 0x14]
xor ecx, ecx
test edx, edx
jle 0x1007e200
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [edi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x1007e1f2
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x1007e216
cmp byte [ebx + 0x20], 0
je 0x1007e216
push eax
call fcn.10077ed0
add esp, 4
mov eax, dword [ebp - 0x60]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], eax
jmp 0x1007e228
mov edi, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x14]
mov dword [edi + eax*4], 0
inc dword [ebx + 0x14]
mov eax, dword [ebp - 0xa4]
push dword [esi + 0xc]
mov esi, dword [ebp - 0x54]
mov ecx, esi
push dword [eax + 0xc]
call fcn.1007c7a0
cmp dword [ebp - 0x2c], 0
mov edi, eax
mov dword [ebp - 0x1c], edi
jne 0x1007e284
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
mov ecx, dword [ecx]
mov dword [edi], ecx
mov dword [ecx + 4], edi
jmp 0x1007e28d
jne 0x1007e235
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
jne 0x1007e235
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [ebp - 0x1c], edi
mov eax, dword [edi + 0xc]
cmp eax, dword [esi + 0xc]
jne 0x1007e235
mov esi, dword [ebp - 0x54]
jmp 0x1007e2bc
cmp dword [ebp - 0x48], 0
je 0x1007e294
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [eax], edi
mov dword [edi + 4], eax
cmp dword [ebp - 0x50], 0
jne 0x1007e2ab
mov eax, dword [ebp - 0x38]
mov ecx, dword [edi + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [eax], ecx
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 8]
mov dword [eax], ecx
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x48], 0
je 0x1007e4d6
mov eax, dword [ebp - 0x18]
test ecx, ecx
jle 0x1007e2da
mov eax, dword [eax + 8]
mov dword [edi], eax
mov dword [eax + 4], edi
jmp 0x1007e4d6
cmp edi, dword [eax + 8]
je 0x1007e4d6
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
cmp edx, ecx
jne 0x1007e36f
lea eax, [edx + edx]
test edx, edx
jne 0x1007e2fd
mov eax, 1
mov dword [ebp - 0x18], eax
cmp ecx, eax
jge 0x1007e36f
test eax, eax
je 0x1007e31e
shl eax, 2
push 0x10
push eax
call fcn.10077ec0
mov edx, dword [ebx + 0x14]
add esp, 8
mov dword [ebp - 0x20], eax
jmp 0x1007e325
mov dword [ebp - 0x20], 0
xor ecx, ecx
test edx, edx
jle 0x1007e344
mov esi, dword [ebp - 0x20]
nop
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x1007e330
mov esi, dword [ebp - 0x54]
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x1007e35d
cmp byte [ebx + 0x20], 0
je 0x1007e35d
push eax
call fcn.10077ed0
mov edx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0x18]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x18], eax
jmp 0x1007e375
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x20]
mov eax, dword [eax + 0xc]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebp - 0x48]
inc ecx
mov dword [ebx + 0x14], ecx
mov eax, dword [edi]
cmp eax, dword [edx + 8]
je 0x1007e44d
nop word [eax + eax]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xa4], ecx
mov ecx, esi
push eax
call fcn.1007c960
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
cmp edx, ecx
jne 0x1007e429
lea eax, [edx + edx]
test edx, edx
jne 0x1007e3c7
mov eax, 1
mov dword [ebp - 0x18], eax
cmp ecx, eax
jge 0x1007e429
test eax, eax
je 0x1007e3e7
shl eax, 2
push 0x10
push eax
call fcn.10077ec0
mov edx, dword [ebx + 0x14]
add esp, 8
mov edi, eax
jmp 0x1007e3e9
xor edi, edi
xor ecx, ecx
test edx, edx
jle 0x1007e401
nop
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [edi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x1007e3f0
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x1007e41a
cmp byte [ebx + 0x20], 0
je 0x1007e41a
push eax
call fcn.10077ed0
mov edx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0x18]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], eax
jmp 0x1007e42c
mov edi, dword [ebx + 0x1c]
mov eax, dword [ebp - 0xa4]
mov dword [edi + edx*4], eax
mov ecx, dword [ebx + 0x14]
mov edi, dword [ebp - 0x1c]
inc ecx
mov edx, dword [ebp - 0x48]
mov dword [ebx + 0x14], ecx
mov eax, dword [edi]
cmp eax, dword [edx + 8]
jne 0x1007e3a0
mov edx, dword [ebx + 0x18]
cmp ecx, edx
jne 0x1007e4c9
lea eax, [ecx + ecx]
test ecx, ecx
jne 0x1007e460
mov eax, 1
mov dword [ebp - 0x18], eax
cmp edx, eax
jge 0x1007e4c9
test eax, eax
je 0x1007e480
shl eax, 2
push 0x10
push eax
call fcn.10077ec0
mov ecx, dword [ebx + 0x14]
add esp, 8
mov esi, eax
jmp 0x1007e482
xor esi, esi
xor edx, edx
test ecx, ecx
jle 0x1007e4a1
nop dword [eax + eax]
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + edx*4]
mov dword [esi + edx*4], eax
inc edx
cmp edx, ecx
jl 0x1007e490
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x1007e4ba
cmp byte [ebx + 0x20], 0
je 0x1007e4ba
push eax
call fcn.10077ed0
mov ecx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0x18]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x18], eax
jmp 0x1007e4cc
mov esi, dword [ebx + 0x1c]
mov dword [esi + ecx*4], 0
inc dword [ebx + 0x14]
mov ecx, dword [edi + 8]
mov esi, dword [ebp - 0x38]
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x58]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x10c]
test edx, edx
jne 0x1007cfb0
mov edx, edi
jmp 0x1007cfaa
test eax, eax
jle 0x1007e58a
mov ecx, dword [edx + 8]
mov eax, dword [edi + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx + 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 - 0x54]
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 0x1007ea96
mov eax, edx
mov dword [ebp - 0xb4], eax
cmp esi, eax
jge 0x1007ea92
mov edx, dword [edi + esi*4]
inc esi
mov dword [ebp - 0x18], edx
mov byte [ebp - 0x11], 0
mov eax, dword [edi + esi*4]
mov dword [ebp - 0x58], eax
test eax, eax
je 0x1007e9cd
nop
mov edi, dword [edx + 0x10]
inc esi
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x2c], esi
test edi, edi
je 0x1007e790
mov dword [edi + 8], ecx
jmp 0x1007e793
cmp edx, dword [edi + 8]
je 0x1007e52a
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
cmp edx, ecx
jne 0x1007e609
lea eax, [edx + edx]
test edx, edx
jne 0x1007e5a5
mov eax, 1
mov dword [ebp - 0x18], eax
cmp ecx, eax
jge 0x1007e609
test eax, eax
je 0x1007e5c5
shl eax, 2
push 0x10
push eax
call fcn.10077ec0
mov edx, dword [ebx + 0x14]
add esp, 8
mov esi, eax
jmp 0x1007e5c7
xor esi, esi
xor ecx, ecx
test edx, edx
jle 0x1007e5e1
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 0x1007e5d0
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x1007e5fa
cmp byte [ebx + 0x20], 0
je 0x1007e5fa
push eax
call fcn.10077ed0
mov edx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0x18]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x18], eax
jmp 0x1007e60c
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 - 0x58]
inc ecx
mov esi, dword [ebp - 0x54]
mov dword [ebx + 0x14], ecx
mov eax, dword [eax]
cmp eax, dword [edi + 8]
je 0x1007e6f0
nop word [eax + eax]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xa4], ecx
mov ecx, esi
push eax
call fcn.1007c960
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
cmp edx, ecx
jne 0x1007e6cf
lea eax, [edx + edx]
test edx, edx
jne 0x1007e65b
mov eax, 1
mov dword [ebp - 0x18], eax
cmp ecx, eax
jge 0x1007e6cf
test eax, eax
je 0x1007e67c
shl eax, 2
push 0x10
push eax
call fcn.10077ec0
mov edx, dword [ebx + 0x14]
add esp, 8
mov dword [ebp - 0x2c], eax
jmp 0x1007e683
mov dword [ebp - 0x2c], 0
xor ecx, ecx
test edx, edx
jle 0x1007e6a4
mov esi, dword [ebp - 0x2c]
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 0x1007e690
mov edx, dword [ebx + 0x14]
mov esi, dword [ebp - 0x54]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x1007e6bd
cmp byte [ebx + 0x20], 0
je 0x1007e6bd
push eax
call fcn.10077ed0
mov edx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], ecx
jmp 0x1007e6d2
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebp - 0xa4]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebp - 0x58]
inc ecx
mov dword [ebx + 0x14], ecx
mov eax, dword [eax]
cmp eax, dword [edi + 8]
jne 0x1007e630
mov edx, dword [ebx + 0x18]
cmp ecx, edx
jne 0x1007e77a
lea eax, [ecx + ecx]
test ecx, ecx
jne 0x1007e707
mov eax, 1
mov dword [ebp - 0x18], eax
cmp edx, eax
jge 0x1007e77a
test eax, eax
je 0x1007e727
shl eax, 2
push 0x10
push eax
call fcn.10077ec0
mov ecx, dword [ebx + 0x14]
add esp, 8
mov edi, eax
jmp 0x1007e729
xor edi, edi
xor edx, edx
test ecx, ecx
jle 0x1007e741
nop
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + edx*4]
mov dword [edi + edx*4], eax
inc edx
cmp edx, ecx
jl 0x1007e730
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x1007e75a
cmp byte [ebx + 0x20], 0
je 0x1007e75a
push eax
call fcn.10077ed0
mov ecx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0x18]
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 0x1007e530
mov edi, dword [ebx + 0x1c]
mov dword [edi + ecx*4], 0
mov edx, dword [ebx + 0x14]
inc edx
mov dword [ebx + 0x14], edx
jmp 0x1007e530
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x1007e79d
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x1007e7ae
mov dword [ecx + 4], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x1007e7a4
cmp dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
je 0x1007e9b4
nop word [eax + eax]
cmp byte [ebp - 0x11], 0
mov edx, dword [ebx + 0x14]
jne 0x1007e869
mov ecx, dword [ebx + 0x18]
mov byte [ebp - 0x11], 1
cmp edx, ecx
jne 0x1007e859
lea edi, [edx + edx]
test edx, edx
jne 0x1007e7f4
mov edi, 1
cmp ecx, edi
jge 0x1007e859
test edi, edi
je 0x1007e815
lea eax, [edi*4]
push 0x10
push eax
call fcn.10077ec0
mov edx, dword [ebx + 0x14]
add esp, 8
mov esi, eax
jmp 0x1007e817
xor esi, esi
xor ecx, ecx
test edx, edx
jle 0x1007e831
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 0x1007e820
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x1007e84a
cmp byte [ebx + 0x20], 0
je 0x1007e84a
push eax
call fcn.10077ed0
mov edx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0x58]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x18], edi
jmp 0x1007e85c
mov esi, dword [ebx + 0x1c]
mov ecx, dword [ebp - 0x18]
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 - 0xa4], eax
cmp edx, ecx
jne 0x1007e8ed
lea edi, [edx + edx]
test edx, edx
jne 0x1007e888
mov edi, 1
cmp ecx, edi
jge 0x1007e8ed
test edi, edi
je 0x1007e8a9
lea eax, [edi*4]
push 0x10
push eax
call fcn.10077ec0
mov edx, dword [ebx + 0x14]
add esp, 8
mov esi, eax
jmp 0x1007e8ab
xor esi, esi
xor ecx, ecx
test edx, edx
jle 0x1007e8c2
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x1007e8b1
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x1007e8db
cmp byte [ebx + 0x20], 0
je 0x1007e8db
push eax
call fcn.10077ed0
mov edx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ebp - 0xa4]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x18], edi
jmp 0x1007e8f0
mov esi, dword [ebx + 0x1c]
mov eax, dword [eax]
mov dword [esi + edx*4], eax
mov edx, dword [ebp - 0x58]
inc dword [ebx + 0x14]
mov edx, dword [edx + 8]
mov edi, dword [edx]
mov ecx, dword [edx + 8]
cmp edi, edx
je 0x1007e91a
mov eax, dword [edx + 4]
mov dword [edi + 4], eax
mov eax, dword [edx + 4]
mov dword [eax], edi
mov eax, dword [ecx + 0xc]
mov dword [eax + 8], edi
jmp 0x1007e924
mov eax, dword [ecx + 0xc]
mov dword [eax + 8], 0
mov edi, dword [ecx]
cmp edi, ecx
je 0x1007e93d
mov eax, dword [ecx + 4]
mov dword [edi + 4], eax
mov eax, dword [ecx + 4]
mov dword [eax], edi
mov eax, dword [edx + 0xc]
mov dword [eax + 8], edi
jmp 0x1007e947
mov eax, dword [edx + 0xc]
mov dword [eax + 8], 0
mov esi, dword [ebp - 0x54]
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 dword [esi + 0x38], edx
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 eax, dword [ebp - 0x58]
mov dword [esi + 0x38], ecx
dec dword [esi + 0x74]
cmp dword [eax + 8], 0
jne 0x1007e7d0
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebx + 0x1c]
mov eax, dword [edi + esi*4]
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x1007e570
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0x1c], edx
jmp 0x1007e9d0
mov edx, dword [ebp - 0x1c]
inc esi
cmp byte [ebp - 0x11], 0
mov dword [ebp - 0x2c], esi
je 0x1007ea7e
mov ecx, dword [ebx + 0x18]
cmp edx, ecx
jne 0x1007ea6a
lea eax, [edx + edx]
test edx, edx
jne 0x1007e9f5
mov eax, 1
mov dword [ebp - 0x18], eax
cmp ecx, eax
jge 0x1007ea6a
test eax, eax
je 0x1007ea19
shl eax, 2
push 0x10
push eax
call fcn.10077ec0
mov edi, dword [ebx + 0x1c]
add esp, 8
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0x4c], eax
jmp 0x1007ea20
mov dword [ebp - 0x4c], 0
xor ecx, ecx
test edx, edx
jle 0x1007ea44
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 0x1007ea30
mov edx, dword [ebx + 0x14]
mov esi, dword [ebp - 0x2c]
test edi, edi
je 0x1007ea5a
cmp byte [ebx + 0x20], 0
je 0x1007ea5a
push edi
call fcn.10077ed0
mov edx, dword [ebx + 0x14]
add esp, 4
mov edi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x18]
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 - 0xb4]
jl 0x1007e555
cmp esi, edx
jl 0x1007e545
test edx, edx
jg 0x1007ead0
jns 0x1007ead0
cmp dword [ebx + 0x18], 0
jge 0x1007eac0
test edi, edi
je 0x1007eab4
cmp byte [ebx + 0x20], 0
je 0x1007eab4
push edi
call fcn.10077ed0
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 - 0x130]
mov dword [ebx + 0x14], 0
movups xmmword [eax + 0xc], xmm0
mov al, 1
jmp 0x1007cefb