Function at 0x53cf68
Capabilities:
Print debug messages

Disassembly:
jmp 0x6f9fa3
push 8
push 0x1f0
mov eax, 0x7b0a61
call fcn.00538bcf
mov dword [ebp - 0x13c], ecx
mov edi, dword [ebx + 8]
mov ecx, 0x25ae1cf
mov dword [ebp - 0x134], edi
call fcn.0053c469
mov ecx, dword [0xa6905c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
movzx eax, word [edi + 0x2a]
push eax
call edx
mov esi, dword [0xa6905c]
add edi, 0x3c
mov dword [ebp - 0x140], eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0x34]
movzx ecx, word [edi]
push ecx
mov ecx, esi
call edx
mov dword [ebp - 0x168], eax
xor edx, edx
xor eax, eax
inc edx
push 0x27
pop esi
mov dword [ebp - 0x130], eax
mov byte [ebp - 0x179], al
mov eax, dword [ebp - 0x134]
push 0x68
pop ecx
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x144], ecx
cmp word [eax + 0x38], cx
jne 0x6fa03a
mov word [eax + 0x38], si
mov byte [ebp - 0x179], dl
lea ecx, [ebp - 0x198]
call fcn.0053a03d
movss xmm0, dword [0x7c0e8c]
xor eax, eax
mov esi, dword [ebp - 0x140]
movss xmm1, dword [0x7bd180]
mov dword [ebp - 0x128], eax
movss dword [ebp - 0xd0], xmm0
mov dword [ebp - 0x11c], 3
mov dword [ebp - 0x120], 4
mov dword [ebp - 0x1c0], 0x67
mov dword [ebp - 0x124], 5
mov dword [ebp - 0x118], 0x97
mov dword [ebp - 0x178], 6
mov dword [ebp - 0x164], 0x2d
mov dword [ebp - 0x180], 7
mov dword [ebp - 0x1f0], 0x1d
mov dword [ebp - 0x14c], 0x34
mov dword [ebp - 0x148], 0x1e
mov dword [ebp - 0x1c8], 0x1a
test esi, esi
je 0x6fe8fd
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x1a8], 0x29
test byte [eax + 0x30], 8
je 0x6fa1ea
mov ecx, dword [0xa6906c]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [esi + 0x60]
mov edi, eax
mov ecx, dword [ecx + 0x2f8]
test ecx, ecx
je 0x6fa17b
push 3
pop eax
cmp dword [esi + 0x5c], eax
je 0x6fa163
cmp dword [esi + 0x5c], 8
je 0x6fa163
cmp dword [esi + 0x230], 0x28
je 0x6fa163
mov edx, dword [esi + 0xf4]
cmp edx, 0x65
jne 0x6fa14a
mov byte [ecx + 0x28fc], 2
jmp 0x6fa16c
push 0x29
pop eax
cmp edx, eax
jne 0x6fa155
push 3
jmp 0x6fa165
xor eax, eax
inc eax
cmp edx, 0x67
push 4
pop edx
cmove eax, edx
jmp 0x6fa166
push 5
pop eax
mov byte [ecx + 0x28fc], al
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 0x2f8]
mov dword [eax + 0x80], edi
mov eax, dword [esi + 0x60]
mov ecx, dword [eax + 0x2fc]
test ecx, ecx
je 0x6fa1e4
push 3
pop eax
cmp dword [esi + 0x5c], eax
je 0x6fa1cc
cmp dword [esi + 0x5c], 8
je 0x6fa1cc
cmp dword [esi + 0x230], 0x28
je 0x6fa1cc
mov edx, dword [esi + 0xf4]
cmp edx, 0x65
jne 0x6fa1b3
mov byte [ecx + 0x28fc], 2
jmp 0x6fa1d5
push 0x29
pop eax
cmp edx, eax
jne 0x6fa1be
push 3
jmp 0x6fa1ce
xor eax, eax
inc eax
cmp edx, 0x67
push 4
pop edx
cmove eax, edx
jmp 0x6fa1cf
push 5
pop eax
mov byte [ecx + 0x28fc], al
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 0x2fc]
mov dword [eax + 0x80], edi
mov eax, dword [ebp - 0x134]
push 0x20
pop ecx
mov dword [ebp - 0x1a0], ecx
cmp dword [esi + 0x230], ecx
jne 0x6fa229
cmp byte [eax + 0x2e], 4
jne 0x6fa229
mov esi, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x168]
cmp eax, dword [esi + 0x4c]
jne 0x6fa229
mov ecx, dword [0xa6906c]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x140]
mov dword [ecx + 0x854], eax
mov eax, dword [ebp - 0x134]
xor edi, edi
mov edx, dword [ebp - 0x140]
mov ecx, edi
add edx, 0x86a
mov dword [ebp - 0x1a4], 0x39d
mov dword [ebp - 0x1ac], 0x39e
lea esi, [eax + 0x3c]
movzx eax, word [eax + 4]
cmp ax, word [ebp - 0x1a4]
jne 0x6fa268
cmp ecx, 1
jge 0x6fa28e
cmp ax, word [ebp - 0x1ac]
jne 0x6fa276
cmp ecx, 2
jge 0x6fa28e
mov ax, word [esi]
inc ecx
mov word [edx], ax
add esi, 8
mov eax, dword [ebp - 0x134]
add edx, 2
cmp ecx, 0xd
jl 0x6fa256
mov eax, dword [ebp - 0x134]
mov esi, dword [ebp - 0x13c]
mov ecx, esi
movzx eax, byte [eax + 0x38]
push eax
push dword [ebp - 0x140]
call fcn.0053ba8c
mov ecx, dword [ebp - 0x140]
cmp dword [ecx + 0x5c], 0x14
movss xmm0, dword [ecx + 0x28]
movss dword [ebp - 0x1c4], xmm0
movss xmm0, dword [ecx + 0x2c]
movss dword [ebp - 0x184], xmm0
jne 0x6fa2e7
cmp word [ecx + 0x176], di
mov eax, edi
push 1
pop edx
cmove eax, edx
mov dword [ebp - 0x128], eax
mov edx, dword [ebp - 0x134]
cmp ecx, dword [esi + 0x4c]
jne 0x6fa2fc
cmp byte [edx + 0x2f], 0
jne 0x6fa3d9
push 0x67
pop eax
cmp word [edx + 0x38], ax
ja 0x6fa3d9
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x650], eax
cmp ecx, dword [esi + 0x4c]
jne 0x6fa3f7
mov eax, dword [0xa6905c]
mov ecx, dword [edx + 0x34]
push 0x492
mov dword [eax + 0x988], ecx
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
call eax
mov esi, dword [esi + 0x28]
push 0x10050
mov dword [ebp - 0x138], eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0x48]
mov ecx, esi
call edx
mov esi, dword [ebp - 0x140]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0x138], edi
je 0x6fa381
mov eax, dword [ebp - 0x138]
push dword [esi + 0x650]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x88]
mov ecx, eax
call edx
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x6fa3c7
push 0x80
lea eax, [ebp - 0x98]
push edi
push eax
call fcn.00538b89
push dword [esi + 0x650]
lea eax, [ebp - 0x98]
push 0x7bd12c
push eax
call fcn.0053d3a5
mov ecx, dword [ebp - 0xcc]
lea edx, [ebp - 0x98]
add esp, 0x18
mov eax, dword [ecx]
push edi
push edx
call dword [eax + 0x80]
mov edx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x140]
mov esi, dword [ebp - 0x13c]
cmp ecx, dword [esi + 0x4c]
jne 0x6fa3f7
mov al, byte [edx + 0x2f]
cmp al, 1
je 0x6fa3f7
test al, al
jne 0x6fa71f
cmp byte [edx + 0x2e], 0xfe
jne 0x6fa71f
movzx eax, word [edx + 0x38]
mov edx, eax
cmp ax, word [ebp - 0x120]
jne 0x6fa430
xor eax, eax
inc eax
mov byte [ecx + 0xa38], al
mov ecx, dword [0xa6906c]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x140]
mov dword [ecx + 0x864], eax
mov eax, dword [ebp - 0x134]
movzx edx, word [eax + 0x38]
movss xmm0, dword [ecx + 0x210]
movzx eax, dx
movss dword [ebp - 0xcc], xmm0
cmp dword [ebp - 0x168], edi
jne 0x6fa774
mov ecx, dword [ebp - 0x134]
push ecx
push ecx
mov al, byte [ecx + 0x38]
mov dword [ebp - 0x138], eax
movzx eax, word [ecx + 0x28]
movd xmm0, eax
movzx eax, word [ecx + 0x26]
lea ecx, [ebp - 0x198]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.005377ac
push dword [ebp - 0x138]
mov ecx, dword [ebp - 0x134]
push dword [eax + 4]
movsx ecx, byte [ecx + 0x2e]
push dword [eax]
push ecx
mov ecx, dword [ebp - 0x140]
call fcn.0053956b
mov ecx, dword [ebp - 0x140]
movss xmm0, dword [ebp - 0xcc]
mov edx, dword [ebp - 0x134]
cmp word [edx + 0x38], 0x62
jne 0x6fa51e
movzx eax, word [edx + 0x28]
push ecx
push ecx
movd xmm0, eax
movzx eax, word [edx + 0x26]
cvtdq2ps xmm0, xmm0
subss xmm0, dword [ecx + 0x2c]
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
call fcn.005370c2
fadd dword [0x7c0e90]
mov edx, dword [ebp - 0x134]
pop ecx
pop ecx
fstp dword [ebp - 0x138]
movss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0xcc], xmm0
mov eax, dword [ebp - 0x140]
xor ecx, ecx
inc ecx
test byte [edx + 0x30], cl
je 0x6fa532
mov dword [eax + 0xa1c], ecx
cmp dword [eax + 0x230], 0x2c
je 0x6fa55c
push ecx
mov ecx, eax
movss dword [esp], xmm0
call fcn.00538b11
movss xmm0, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x140]
mov edx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x168]
test ecx, ecx
je 0x6fa59d
cmp ecx, eax
je 0x6fa59d
cmp ecx, dword [esi + 0x4c]
je 0x6fa59d
cmp dword [ecx + 0x230], 0x38
jne 0x6fa581
cmp word [ecx + 0x172], di
je 0x6fa59d
push 0x1b
pop eax
cmp word [edx + 0x38], ax
je 0x6fa59d
addss xmm0, dword [0x7bd1d4]
push ecx
movss dword [esp], xmm0
call fcn.00538b11
mov edx, dword [ebp - 0x134]
push 0x69
pop ecx
movzx eax, word [edx + 0x38]
test ax, ax
js 0x6fa5bc
cmp ax, word [ebp - 0x144]
jl 0x6fa844
cmp ax, word [ebp - 0x118]
jl 0x6fa82a
mov ecx, 0x9b
cmp ax, cx
jle 0x6fa844
mov edx, dword [ebp - 0x140]
cmp dword [edx + 0x230], 0x3e
push 0x6c
pop ecx
jne 0x6faa58
push 2
pop eax
cmp word [edx + 0x172], ax
mov eax, dword [ebp - 0x134]
jne 0x6faa5e
cmp word [eax + 0x38], cx
jne 0x6faa5e
cmp dword [ebp - 0x168], 0
je 0x6faa5e
movss xmm0, dword [edx + 0x2c]
lea ecx, [ebp - 0x174]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edx + 0x30]
addss xmm0, dword [0x7bd184]
movss dword [esp + 4], xmm0
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov eax, dword [ebp - 0x168]
lea ecx, [ebp - 0x160]
sub esp, 0xc
movss xmm0, dword [eax + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
movss xmm0, dword [ebp - 0x15c]
mov esi, 0xc0
addss xmm0, dword [0x7bd184]
push esi
movss dword [ebp - 0x15c], xmm0
movss xmm0, dword [ebp - 0x170]
addss xmm0, dword [0x7bd184]
movss dword [ebp - 0x170], xmm0
call fcn.00537b1c
pop ecx
mov ecx, eax
mov dword [ebp - 0x138], ecx
xor eax, eax
mov dword [ebp - 4], eax
test ecx, ecx
je 0x6fa704
push esi
call fcn.005395ed
push 0
push 5
pop eax
push eax
sub esp, 0xc
mov ecx, dword [ebp - 0x138]
mov edi, esp
lea esi, [ebp - 0x160]
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053b514
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x13c]
test eax, eax
je 0x6fa71f
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x6fa71f
push eax
call fcn.0053b785
mov edi, dword [ebp - 0x134]
lea ecx, [ebp - 0x174]
call fcn.00539fb6
lea ecx, [ebp - 0x190]
call fcn.00539fb6
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x6fea2f
movss xmm0, dword [eax + 0x2c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x7bd184]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
jmp 0x6fea9f
mov edx, dword [ebp - 0x134]
mov dl, byte [edx + 0x2e]
cmp dl, 0xfe
je 0x6fa4bb
push 0x32
pop esi
cmp word [ecx + 0x234], si
jle 0x6fa79c
mov eax, dword [ebp - 0x134]
movzx eax, byte [eax + 0x38]
push eax
push dword [ebp - 0x168]
movsx eax, dl
push eax
call fcn.00536758
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x140]
mov esi, dword [ebp - 0x13c]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x7c0e8c]
movss dword [ebp - 0xd0], xmm0
cmp ecx, eax
je 0x6fa4b3
movss xmm0, dword [eax + 0x2c]
subss xmm0, dword [ecx + 0x2c]
push ecx
push ecx
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
subss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
call fcn.005370c2
fadd dword [0x7c0e90]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x140]
fstp dword [ebp - 0x138]
movss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0xcc], xmm0
jmp 0x6fa4bb
cmp ax, word [ebp - 0x144]
je 0x6fa844
cmp ax, cx
je 0x6fa844
push 0x6f
pop ecx
cmp ax, cx
jne 0x6fa5d7
mov ecx, dword [ebp - 0x140]
mov word [ecx + 0x6d4], ax
movzx eax, byte [edx + 0x31]
mov word [ecx + 0x6d6], ax
cmp byte [edx + 0x2e], 0xfe
jne 0x6fa86c
xor eax, eax
inc eax
mov word [ecx + 0x6d6], ax
mov eax, dword [ebp - 0x168]
test eax, eax
jne 0x6fa91c
movzx eax, word [edx + 0x28]
push ecx
push ecx
lea ecx, [ebp - 0x198]
movd xmm0, eax
movzx eax, word [edx + 0x26]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.005377ac
mov ecx, esi
push dword [eax + 4]
push dword [eax]
call fcn.005369c9
mov ecx, dword [ebp - 0x134]
sub esp, 0xc
movd xmm1, eax
movzx eax, word [ecx + 0x28]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movzx eax, word [ecx + 0x26]
lea ecx, [ebp - 0x160]
mulss xmm1, dword [0x7bd248]
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call fcn.0053a1a0
mov ecx, dword [ebp - 0x140]
mov esi, eax
lea edi, [ecx + 0x6c4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
mov dword [ecx + 0x6d0], edi
jmp 0x6fa9f3
mov esi, ecx
mov dword [esi + 0x6d0], eax
cmp dword [eax + 0x230], 0x38
jne 0x6fa9b8
cmp word [eax + 0x172], di
jne 0x6fa9b8
movss xmm0, dword [eax + 0x2c]
lea ecx, [ebp - 0x160]
subss xmm0, dword [esi + 0x2c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
subss xmm0, dword [esi + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
movss xmm0, dword [ebp - 0x158]
sub esp, 0xc
mulss xmm0, dword [0x7bd180]
mov eax, dword [ebp - 0x168]
addss xmm0, dword [esi + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x160]
mulss xmm0, dword [0x7bd180]
addss xmm0, dword [esi + 0x28]
jmp 0x6fa9d6
movss xmm0, dword [eax + 0x2c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
lea ecx, [ebp - 0x160]
movss dword [esp], xmm0
call fcn.0053a1a0
lea edi, [esi + 0x6c4]
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
mov eax, dword [ebp - 0x134]
mov ecx, 0x97
movzx eax, word [eax + 0x38]
cmp ax, cx
jl 0x6faa0f
add ecx, 2
cmp ax, cx
jle 0x6faa46
push 0x68
pop ecx
cmp ax, cx
je 0x6faa46
push 0x69
pop ecx
cmp ax, cx
je 0x6faa46
mov ecx, dword [0xa6906c]
mov eax, dword [ecx]
call dword [eax + 8]
add eax, 0x1f4
mov edx, dword [ebp - 0x140]
mov esi, dword [ebp - 0x13c]
mov dword [edx + 0x6c0], eax
jmp 0x6fa5dd
mov ecx, dword [0xa6906c]
mov eax, dword [ecx]
call dword [eax + 8]
add eax, 0xc8
jmp 0x6faa2f
mov eax, dword [ebp - 0x134]
movzx ecx, word [eax + 0x38]
cmp cx, word [ebp - 0x178]
jne 0x6fab54
movss xmm0, dword [edx + 0x2c]
lea ecx, [ebp - 0x160]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edx + 0x30]
addss xmm0, dword [0x7bd184]
movss dword [esp + 4], xmm0
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, 0xdc
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x138], eax
xor ecx, ecx
inc ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6fab31
push esi
mov ecx, eax
call fcn.00538fda
sub esp, 0xc
lea ecx, [ebp - 0x174]
and dword [esp + 8], 0
and dword [esp + 4], 0
and dword [esp], 0
call fcn.0053a1a0
push ecx
and dword [esp], 0
mov esi, eax
push 5
pop ecx
push ecx
push ecx
mov dword [esp], 0x3f800000
mov ecx, 0x3e8
push ecx
push 0xff222299
push 0xff5555ff
sub esp, 0xc
mov ecx, dword [ebp - 0x138]
mov edi, esp
push dword [ebp - 0x168]
movsd dword es:[edi], dword [esi]
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053baa0
mov edi, eax
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x13c]
test edi, edi
je 0x6fa71f
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x6fa71f
push edi
jmp 0x6fa71a
cmp cx, word [ebp - 0x11c]
jne 0x6fabfa
movss xmm0, dword [edx + 0x2c]
lea ecx, [ebp - 0x160]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edx + 0x30]
addss xmm0, dword [0x7bd184]
movss dword [esp + 4], xmm0
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
movss xmm0, dword [ebp - 0x15c]
mov esi, 0x90
subss xmm0, dword [0x7bd180]
push esi
movss dword [ebp - 0x15c], xmm0
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x138], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x6fab31
push esi
mov ecx, eax
call fcn.0053d198
mov ecx, dword [ebp - 0x138]
lea esi, [ebp - 0x160]
xor eax, eax
inc eax
push eax
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00539d90
jmp 0x6fab2f
cmp cx, word [ebp - 0x124]
jne 0x6facc9
movss xmm0, dword [edx + 0x2c]
lea ecx, [ebp - 0x160]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edx + 0x30]
addss xmm0, dword [0x7bd184]
movss dword [esp + 4], xmm0
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
movss xmm0, dword [ebp - 0x15c]
mov esi, 0x94
subss xmm0, dword [0x7bd180]
push esi
movss dword [ebp - 0x15c], xmm0
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x138], eax
push 3
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6fac97
push esi
mov ecx, eax
call fcn.0053a849
mov ecx, dword [ebp - 0x138]
lea esi, [ebp - 0x160]
push edi
push 2
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053c270
mov edi, eax
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x13c]
test edi, edi
je 0x6facb2
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x6facb2
push edi
call fcn.0053b785
xor eax, eax
push eax
push eax
mov eax, 0x97
push eax
call fcn.00537446
add esp, 0xc
jmp 0x6fa71f
cmp cx, word [ebp - 0x164]
jne 0x6fae72
movzx eax, word [eax + 0x28]
push ecx
push ecx
lea ecx, [ebp - 0x198]
movd xmm0, eax
mov eax, dword [ebp - 0x134]
cvtdq2ps xmm0, xmm0
movzx eax, word [eax + 0x26]
addss xmm0, dword [0x7bd180]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [esp + 4], xmm0
addss xmm1, dword [0x7bd180]
movss dword [ebp - 0x138], xmm0
movss dword [ebp - 0xcc], xmm1
movss dword [esp], xmm1
call fcn.005377ac
mov ecx, esi
push dword [eax + 4]
push dword [eax]
call fcn.005369c9
movss xmm1, dword [ebp - 0x138]
lea ecx, [ebp - 0x160]
sub esp, 0xc
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm1
mulss xmm0, dword [0x7bd248]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xcc]
movss dword [esp], xmm0
call fcn.0053a1a0
mov eax, dword [ebp - 0x168]
test eax, eax
je 0x6fadbf
movss xmm0, dword [eax + 0x2c]
lea ecx, [ebp - 0x174]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x7bd184]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0x90
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x138], eax
push 4
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6fae47
push esi
mov ecx, eax
call fcn.0053844a
sub esp, 0xc
lea ecx, [ebp - 0x174]
and dword [esp + 8], 0
and dword [esp + 4], 0
and dword [esp], 0
call fcn.0053a1a0
mov ecx, 0x3e8
mov esi, eax
push ecx
sub esp, 0xc
xor eax, eax
mov edi, esp
inc eax
push eax
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp], 0x3f800000
lea esi, [ebp - 0x160]
push 0x38
push eax
xor eax, eax
push eax
push ecx
mov ecx, dword [ebp - 0x138]
mov dword [esp], 0x3dcccccd
push 0x14
push eax
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.005395ca
jmp 0x6fae49
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x13c]
test eax, eax
je 0x6fae64
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x6fae64
push eax
call fcn.0053b785
xor eax, eax
push eax
push eax
push 0x9e
jmp 0x6facbc
mov dword [ebp - 0x138], 0x22
mov dword [ebp - 0xcc], 0x24
mov dword [ebp - 0x144], 0x21
cmp cx, word [ebp - 0x138]
jne 0x6fafa3
cmp byte [eax + 0x2e], 0xfe
jne 0x6fb094
cmp dword [edx + 0x770], edi
je 0x6fa71f
push 0x184
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x138], eax
push 5
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6faf1d
push 0x184
mov ecx, eax
call fcn.00538f94
mov ecx, dword [ebp - 0x138]
xor eax, eax
push 0x50
inc eax
push eax
sub esp, 0x10
mov dword [esp + 0xc], 0x3b03126f
mov dword [esp + 8], 0x3dcccccd
mov dword [esp + 4], 0x3dcccccd
mov dword [esp], 0x3dcccccd
push 0x2bc
push eax
call fcn.0053cb2b
mov edi, eax
mov dword [ebp - 0x138], eax
jmp 0x6faf23
mov dword [ebp - 0x138], edi
or dword [ebp - 4], 0xffffffff
test edi, edi
je 0x6fa71f
xor eax, eax
lea ecx, [ebp - 0x160]
inc eax
sub esp, 0xc
mov dword [edi + 0x6c], eax
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 0x770]
movss xmm0, dword [eax + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x7bd248]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
push 0xffaaeeff
add edi, 0x14c
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x138]
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x3c]
push esi
mov esi, dword [ebp - 0x13c]
mov ecx, dword [esi + 0x2c]
jmp 0x6fa71a
cmp cx, word [ebp - 0x1a0]
jne 0x6fb094
cmp byte [eax + 0x2e], 0xfe
jne 0x6fd474
cmp dword [edx + 0x770], edi
je 0x6fa71f
push 0x184
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1a0], eax
push 6
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6fb030
push 0x184
mov ecx, eax
call fcn.00538f94
mov ecx, dword [ebp - 0x1a0]
xor eax, eax
push 0x50
inc eax
push eax
sub esp, 0x10
mov dword [esp + 0xc], 0x3b03126f
mov dword [esp + 8], 0x3dcccccd
mov dword [esp + 4], 0x3dcccccd
mov dword [esp], 0x3dcccccd
push 0x2bc
push eax
call fcn.0053cb2b
mov edi, eax
mov dword [ebp - 0x138], eax
jmp 0x6fb036
mov dword [ebp - 0x138], edi
or dword [ebp - 4], 0xffffffff
test edi, edi
je 0x6fa71f
xor eax, eax
lea ecx, [ebp - 0x160]
inc eax
sub esp, 0xc
mov dword [edi + 0x6c], eax
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 0x770]
movss xmm0, dword [eax + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x7bd248]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
push 0xffffaa00
jmp 0x6faf7c
cmp cx, word [ebp - 0xcc]
jne 0x6fb3ae
cmp byte [eax + 0x2e], 0xfe
jne 0x6fb1a3
cmp dword [edx + 0x770], edi
je 0x6fb1a3
push 0x184
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1a0], eax
push 7
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6fb121
push 0x184
mov ecx, eax
call fcn.00538f94
mov ecx, dword [ebp - 0x1a0]
xor eax, eax
push 0x50
inc eax
push eax
sub esp, 0x10
mov dword [esp + 0xc], 0x3b03126f
mov dword [esp + 8], 0x3dcccccd
mov dword [esp + 4], 0x3dcccccd
mov dword [esp], 0x3dcccccd
push 0x2bc
push eax
call fcn.0053cb2b
mov edi, eax
mov dword [ebp - 0x138], eax
jmp 0x6fb127
mov dword [ebp - 0x138], edi
or dword [ebp - 4], 0xffffffff
test edi, edi
je 0x6fb1a3
xor eax, eax
lea ecx, [ebp - 0x160]
inc eax
sub esp, 0xc
mov dword [edi + 0x6c], eax
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 0x770]
movss xmm0, dword [eax + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x7bd248]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
add edi, 0x14c
mov esi, eax
push 0xffaaeeff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x138]
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x3c]
push esi
mov esi, dword [ebp - 0x13c]
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
lea ecx, [ebp - 0x174]
call fcn.00539fb6
mov eax, dword [ebp - 0x168]
test eax, eax
je 0x6fb1db
movss xmm0, dword [eax + 0x2c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
jmp 0x6fb26f
mov edi, dword [ebp - 0x134]
push ecx
push ecx
lea ecx, [ebp - 0x198]
movzx eax, word [edi + 0x28]
movd xmm0, eax
movzx eax, word [edi + 0x26]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x7bd180]
movss dword [esp], xmm0
call fcn.005377ac
mov ecx, esi
push dword [eax + 4]
push dword [eax]
call fcn.005369c9
sub esp, 0xc
movd xmm1, eax
movzx eax, word [edi + 0x28]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movzx eax, word [edi + 0x26]
mulss xmm1, dword [0x7bd248]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x7bd180]
movss dword [esp + 8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
addss xmm0, dword [0x7bd180]
lea ecx, [ebp - 0x160]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
mov dword [ebp - 0x138], edi
mov esi, 0xc8
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 4], 8
test eax, eax
je 0x6fb37a
push esi
mov ecx, eax
call fcn.00539abb
push 5
pop ecx
lea eax, [edi + 3]
sub esp, 0xc
cdq
idiv ecx
mov eax, edi
movd xmm0, edx
xor edx, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7bece4]
addss xmm0, dword [ebp - 0x16c]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x170]
movss dword [esp + 4], xmm0
push 3
pop ecx
div ecx
lea ecx, [ebp - 0x190]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7bece4]
addss xmm0, dword [ebp - 0x174]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x160]
sub esp, 0xc
lea ecx, [ebp - 0x19c]
movsd dword es:[edi], dword [esi]
and dword [esp + 8], 0
and dword [esp + 4], 0
and dword [esp], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053a1a0
xor ecx, ecx
lea esi, [ebp - 0x160]
push 0
inc ecx
push ecx
sub esp, 0xc
mov ecx, dword [ebp - 0x1a0]
mov edi, esp
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053689d
mov edi, dword [ebp - 0x138]
jmp 0x6fb37c
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x13c]
test eax, eax
je 0x6fb397
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x6fb397
push eax
call fcn.0053b785
push 6
inc edi
pop eax
mov dword [ebp - 0x138], edi
cmp edi, eax
jl 0x6fb292
jmp 0x6fa71f
mov dword [ebp - 0x144], 0x21
cmp cx, word [ebp - 0x1a8]
je 0x6fe4d8
cmp cx, word [ebp - 0x1f0]
je 0x6fe4d8
cmp cx, word [ebp - 0x144]
je 0x6fe4d8
push 2
pop eax
cmp cx, ax
mov eax, dword [ebp - 0x134]
je 0x6fe4d8
cmp cx, word [ebp - 0x14c]
jne 0x6fb766
movss xmm0, dword [edx + 0x30]
sub esp, 0xc
cmp byte [eax + 0x2e], 0xfe
addss xmm0, dword [0x7bd184]
movss xmm1, dword [edx + 0x2c]
movss xmm2, dword [edx + 0x28]
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm2
jne 0x6fb57e
lea ecx, [ebp - 0x174]
call fcn.0053a1a0
mov eax, dword [ebp - 0x168]
test eax, eax
je 0x6fa71f
movss xmm0, dword [eax + 0x2c]
lea ecx, [ebp - 0x160]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, 0xac
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], 0xb
test eax, eax
je 0x6fb4d2
push esi
mov ecx, eax
call fcn.0053d6ca
push dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14c]
lea esi, [ebp - 0x160]
push 2
sub esp, 0xc
mov edi, esp
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00539fde
xor edi, edi
jmp 0x6fb4d4
mov eax, edi
or dword [ebp - 4], 0xffffffff
test eax, eax
je 0x6fb4eb
mov ecx, dword [ebp - 0x13c]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.0053b785
mov ecx, dword [0xa6906c]
mov eax, dword [ecx]
call dword [eax + 8]
mov esi, 0x90
mov dword [ebp - 0x1a8], eax
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], 0xc
test eax, eax
je 0x6fb53e
push esi
mov ecx, eax
call fcn.00537d83
mov ecx, dword [ebp - 0x14c]
lea esi, [ebp - 0x160]
push 2
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00538c83
mov edi, eax
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x13c]
test edi, edi
je 0x6fb555
mov ecx, dword [esi + 0x2c]
push edi
call fcn.0053b785
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax + 0x71c]
test ecx, ecx
je 0x6fb570
push dword [ebp - 0x1a8]
call fcn.0053aa1f
xor eax, eax
push eax
push eax
push 0x9c
jmp 0x6facbc
lea ecx, [ebp - 0x190]
call fcn.0053a1a0
lea ecx, [ebp - 0x174]
call fcn.00539fb6
mov eax, dword [ebp - 0x168]
test eax, eax
je 0x6fb5c1
movss xmm0, dword [eax + 0x2c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
jmp 0x6fb655
mov edi, dword [ebp - 0x134]
push ecx
push ecx
lea ecx, [ebp - 0x198]
movzx eax, word [edi + 0x28]
movd xmm0, eax
movzx eax, word [edi + 0x26]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x7bd180]
movss dword [esp], xmm0
call fcn.005377ac
mov ecx, esi
push dword [eax + 4]
push dword [eax]
call fcn.005369c9
sub esp, 0xc
movd xmm1, eax
movzx eax, word [edi + 0x28]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movzx eax, word [edi + 0x26]
mulss xmm1, dword [0x7bd248]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x7bd180]
movss dword [esp + 8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
addss xmm0, dword [0x7bd180]
lea ecx, [ebp - 0x160]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x174]
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x19c]
movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x174]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053c504
push ecx
lea ecx, [ebp - 0x160]
mov dword [esp], 0x40e00000
push ecx
mov ecx, eax
call fcn.00538c8d
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x19c]
push eax
lea ecx, [ebp - 0x190]
call fcn.0053721b
mov esi, eax
lea edi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0xb0
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], 0xd
test eax, eax
je 0x6fb70b
push esi
mov ecx, eax
call fcn.00538968
mov ecx, dword [ebp - 0x14c]
lea esi, [ebp - 0x174]
xor eax, eax
push eax
push eax
push 2
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00536edd
mov edi, eax
jmp 0x6fb70d
xor edi, edi
or dword [ebp - 4], 0xffffffff
test edi, edi
je 0x6fb74e
movss xmm0, dword [ebp - 0x158]
push ecx
push ecx
movss dword [esp + 4], xmm0
lea ecx, [ebp - 0x198]
movss xmm0, dword [ebp - 0x160]
movss dword [esp], xmm0
call fcn.005377ac
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edi + 0x8c], ecx
mov dword [edi + 0x90], eax
mov esi, dword [ebp - 0x13c]
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x6fa71f
test edi, edi
jmp 0x6fab48
push 0x17
pop eax
cmp cx, word [ebp - 0x148]
je 0x6fe38d
cmp cx, ax
je 0x6fe38d
push 0x37
pop eax
cmp cx, ax
jne 0x6fba2d
lea ecx, [ebp - 0x160]
call fcn.00539fb6
mov eax, dword [ebp - 0x168]
test eax, eax
je 0x6fb853
movss xmm0, dword [eax + 0x2c]
lea ecx, [ebp - 0x174]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x7c0e84]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0x94
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], 0xf
test eax, eax
je 0x6fb831
push esi
mov ecx, eax
call fcn.0053816b
push ecx
mov ecx, dword [ebp - 0x148]
lea esi, [ebp - 0x160]
mov dword [esp], 0x3dcccccd
push 3
pop eax
push eax
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053a38a
jmp 0x6fb833
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x13c]
test eax, eax
je 0x6fb8ff
mov ecx, dword [esi + 0x2c]
push eax
call fcn.0053b785
jmp 0x6fb8ff
mov edi, dword [ebp - 0x134]
push ecx
push ecx
lea ecx, [ebp - 0x198]
movzx eax, word [edi + 0x28]
movd xmm0, eax
movzx eax, word [edi + 0x26]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x7bd180]
movss dword [esp], xmm0
call fcn.005377ac
mov ecx, esi
push dword [eax + 4]
push dword [eax]
call fcn.005369c9
sub esp, 0xc
lea ecx, [ebp - 0x160]
movd xmm1, eax
movzx eax, word [edi + 0x28]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movzx eax, word [edi + 0x26]
mulss xmm1, dword [0x7bd248]
cvtdq2ps xmm0, xmm0
addss xmm1, dword [0x7c0e84]
addss xmm0, dword [0x7bd180]
movss dword [esp + 8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
addss xmm0, dword [0x7bd180]
movss dword [esp], xmm0
call fcn.0053a1a0
mov ecx, dword [ebp - 0x134]
xor edi, edi
mov dword [ebp - 0xcc], edi
lea eax, [ecx + 0x3c]
mov dword [ebp - 0x138], eax
movzx eax, word [ecx + 4]
cmp ax, word [ebp - 0x1a4]
jne 0x6fb92e
xor ecx, ecx
inc ecx
cmp edi, ecx
jge 0x6fa71f
cmp ax, word [ebp - 0x1ac]
jne 0x6fb940
cmp edi, 2
jge 0x6fa71f
mov ecx, dword [0xa6905c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0x138]
movzx eax, word [eax]
push eax
call edx
mov dword [ebp - 0x148], eax
test eax, eax
je 0x6fba0b
mov esi, 0x94
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], 0x10
test eax, eax
je 0x6fb9e8
push esi
mov ecx, eax
call fcn.0053a849
mov esi, dword [ebp - 0x148]
lea ecx, [ebp - 0x160]
sub esp, 0xc
movss xmm0, dword [esi + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [esi + 0x30]
addss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
push esi
push 5
pop ecx
push ecx
mov ecx, dword [ebp - 0x14c]
sub esp, 0xc
mov esi, eax
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053c270
mov edi, dword [ebp - 0xcc]
jmp 0x6fb9ea
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x13c]
test eax, eax
je 0x6fba0b
mov dword [eax + 0x84], 0x7d0
mov ecx, dword [esi + 0x2c]
push eax
call fcn.0053b785
add dword [ebp - 0x138], 8
inc edi
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0xcc], edi
cmp edi, 0xd
jl 0x6fb916
jmp 0x6fd7af
cmp cx, 0x4c
jne 0x6fba42
xor eax, eax
push eax
push eax
push dword [ebp - 0x138]
jmp 0x6facbc
cmp cx, 0x4d
jne 0x6fba57
xor eax, eax
push eax
push eax
push dword [ebp - 0xcc]
jmp 0x6facbc
cmp cx, 0x57
jne 0x6fbc41
cmp dword [0xa71214], 0
jne 0x6fa71f
mov eax, 0x3e8
mov dword [ebp - 0xcc], edi
mov dword [ebp - 0x144], eax
call dword [sym.imp.ucrtbased.dll_rand]
push 5
pop ecx
cdq
idiv ecx
push 0x184
mov dword [ebp - 0x14c], edx
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], 0x11
test eax, eax
je 0x6fbb1e
push 0x184
mov ecx, eax
call fcn.00538f94
mov eax, dword [ebp - 0xcc]
and eax, 0x80000001
jns 0x6fbacb
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0x148]
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
push 0x50
inc eax
push eax
sub esp, 0x10
mulss xmm0, dword [0x7bd248]
and dword [esp + 0xc], 0
addss xmm0, dword [0x7c0e84]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm0
movss dword [esp], xmm0
push dword [ebp - 0x144]
push 0x38
call fcn.0053cb2b
mov ecx, eax
mov dword [ebp - 0x138], ecx
jmp 0x6fbb26
mov ecx, edi
mov dword [ebp - 0x138], edi
or dword [ebp - 4], 0xffffffff
test ecx, ecx
je 0x6fbc1a
mov eax, dword [ebp - 0xcc]
cdq
push 3
pop esi
idiv esi
movss xmm2, dword [0x7bd180]
xor eax, eax
inc eax
mov dword [ecx + 0x140], 0xc0000000
mov dword [ecx + 0x6c], eax
push esi
movd xmm0, edx
cvtdq2ps xmm0, xmm0
pop eax
mov dword [ecx + 0x148], eax
sub esp, 0xc
mov eax, dword [ebp - 0x14c]
add eax, 0xfffffffd
mulss xmm0, dword [0x7be9fc]
movd xmm1, eax
mov eax, dword [ebp - 0x140]
addss xmm0, dword [0x7c4fec]
cvtdq2ps xmm1, xmm1
movss dword [ecx + 0x13c], xmm0
lea ecx, [ebp - 0x160]
movss xmm0, dword [eax + 0x2c]
mulss xmm1, dword [0x7bd248]
addss xmm0, xmm2
addss xmm0, xmm1
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
addss xmm0, xmm2
addss xmm0, xmm1
addss xmm0, dword [0x7bed24]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
addss xmm0, xmm2
addss xmm0, xmm1
movss dword [esp], xmm0
call fcn.0053a1a0
mov ecx, dword [ebp - 0x138]
mov esi, eax
push 0xff4444ff
mov eax, dword [ecx]
lea edi, [ecx + 0x14c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x3c]
mov esi, dword [ebp - 0x13c]
push dword [ebp - 0x138]
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
xor edi, edi
mov eax, dword [ebp - 0x144]
inc dword [ebp - 0xcc]
add eax, 0x96
mov dword [ebp - 0x144], eax
cmp eax, 0x9c4
jl 0x6fba7f
jmp 0x6fa71f
cmp cx, 0x56
jne 0x6fc2da
movss xmm0, dword [edx + 0x2c]
lea ecx, [ebp - 0x174]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edx + 0x30]
addss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
lea ecx, [ebp - 0x198]
call fcn.0053a03d
mov ecx, dword [ebp - 0x134]
xor eax, eax
movss xmm0, dword [ebp - 0x194]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x198]
lea edi, [ecx + 0x3c]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x178], edi
movss dword [ebp - 0xcc], xmm0
movzx ecx, word [ecx + 4]
cmp cx, word [ebp - 0x1a4]
jne 0x6fbce1
xor edx, edx
inc edx
cmp eax, edx
jge 0x6fbe23
cmp cx, word [ebp - 0x1ac]
jne 0x6fbcf3
cmp eax, 2
jge 0x6fbe23
mov ecx, dword [0xa6905c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
movzx eax, word [edi]
push eax
call edx
mov edi, eax
test edi, edi
je 0x6fbdf8
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0x160]
movss xmm0, dword [edi + 0x2c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
movss xmm0, dword [ebp - 0xcc]
addss xmm0, dword [edi + 0x28]
inc dword [ebp - 0x138]
movss dword [ebp - 0xcc], xmm0
movss dword [ebp - 0x198], xmm0
movss xmm0, dword [ebp - 0x144]
addss xmm0, dword [edi + 0x2c]
mov edi, 0x94
push edi
movss dword [ebp - 0x144], xmm0
movss dword [ebp - 0x194], xmm0
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
push 0x12
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6fbde9
push edi
mov ecx, eax
call fcn.0053a3f8
xor eax, eax
mov ecx, dword [ebp - 0x148]
push eax
push eax
push eax
push 0x98
push 2
sub esp, 0xc
lea esi, [ebp - 0x160]
mov edi, esp
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00538e22
mov esi, dword [ebp - 0x13c]
jmp 0x6fbdeb
xor eax, eax
mov ecx, dword [esi + 0x2c]
or dword [ebp - 4], 0xffffffff
push eax
call fcn.0053b785
mov eax, dword [ebp - 0xd0]
mov edi, dword [ebp - 0x178]
inc eax
mov ecx, dword [ebp - 0x134]
add edi, 8
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x178], edi
cmp eax, 0xd
jl 0x6fbcc9
lea ecx, [ebp - 0x1b8]
call fcn.0053a03d
mov edi, dword [ebp - 0x138]
test edi, edi
jg 0x6fbe7e
mov ecx, dword [ebp - 0x134]
push ecx
push ecx
movzx eax, word [ecx + 0x28]
movd xmm0, eax
movzx eax, word [ecx + 0x26]
lea ecx, [ebp - 0x198]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x7bd180]
movss dword [esp], xmm0
call fcn.005377ac
jmp 0x6fbe9d
movd xmm0, edi
lea eax, [ebp - 0x1b8]
cvtdq2ps xmm0, xmm0
push ecx
lea ecx, [ebp - 0x198]
movss dword [esp], xmm0
push eax
call fcn.005398ea
movss xmm2, dword [eax + 4]
movss xmm1, dword [eax]
mov eax, dword [ebp - 0x140]
movss dword [ebp - 0x144], xmm1
push ecx
push ecx
movss xmm0, dword [eax + 0x2c]
subss xmm1, dword [eax + 0x28]
subss xmm0, xmm2
movss dword [ebp - 0xcc], xmm2
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.005370c2
fsub dword [0x7c0e90]
pop ecx
pop ecx
xorps xmm1, xmm1
fstp dword [ebp - 0x148]
movss xmm0, dword [ebp - 0x148]
comiss xmm1, xmm0
movss xmm1, dword [0x7be078]
jbe 0x6fbf06
addss xmm0, xmm1
comiss xmm0, xmm1
jbe 0x6fbf0f
subss xmm0, xmm1
mulss xmm0, dword [0x7be07c]
divss xmm0, xmm1
cvttss2si eax, xmm0
lea ecx, [eax - 3]
mov dword [ebp - 0x178], ecx
lea edi, [eax + 3]
mov dword [ebp - 0x138], edi
test ecx, ecx
js 0x6fc07d
cmp edi, 0xc
jg 0x6fc072
cmp ecx, edi
jge 0x6fa71f
lea eax, [ecx*8 + 0x2780c]
push 6
pop ecx
add eax, esi
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0x138], eax
mov edi, ecx
movss xmm0, dword [ebp - 0xcc]
addss xmm0, dword [eax + 4]
push ecx
push ecx
lea ecx, [ebp - 0x198]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x144]
addss xmm0, dword [eax]
movss dword [esp], xmm0
call fcn.005377ac
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0x160]
movss xmm0, dword [ebp - 0x194]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x198]
movss dword [esp], xmm0
call fcn.0053a1a0
push 0x94
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], 0x15
test eax, eax
je 0x6fc040
push 0x94
mov ecx, eax
call fcn.0053a3f8
xor eax, eax
mov ecx, dword [ebp - 0x148]
push eax
push eax
push eax
push 0x98
push 2
sub esp, 0xc
lea esi, [ebp - 0x160]
mov edi, esp
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00538e22
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0xd0]
jmp 0x6fc042
xor eax, eax
mov ecx, dword [esi + 0x2c]
or dword [ebp - 4], 0xffffffff
push eax
call fcn.0053b785
mov eax, dword [ebp - 0x138]
add eax, 8
sub edi, 1
mov dword [ebp - 0x138], eax
mov dword [ebp - 0xd0], edi
jne 0x6fbf64
jmp 0x6fa71f
add edi, 0xfffffff4
mov dword [ebp - 0x138], edi
jmp 0x6fc086
add ecx, 0xc
mov dword [ebp - 0x178], ecx
test edi, edi
jle 0x6fc1a9
lea eax, [esi + 0x2780c]
mov dword [ebp - 0xd0], eax
movss xmm0, dword [ebp - 0xcc]
addss xmm0, dword [eax + 4]
push ecx
push ecx
lea ecx, [ebp - 0x198]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x144]
addss xmm0, dword [eax]
movss dword [esp], xmm0
call fcn.005377ac
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0x160]
movss xmm0, dword [ebp - 0x194]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x198]
movss dword [esp], xmm0
call fcn.0053a1a0
push 0x94
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], 0x13
test eax, eax
je 0x6fc176
push 0x94
mov ecx, eax
call fcn.0053a3f8
xor eax, eax
mov ecx, dword [ebp - 0x148]
push eax
push eax
push eax
push 0x98
push 2
sub esp, 0xc
lea esi, [ebp - 0x160]
mov edi, esp
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00538e22
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x138]
jmp 0x6fc178
xor eax, eax
mov ecx, dword [esi + 0x2c]
or dword [ebp - 4], 0xffffffff
push eax
call fcn.0053b785
mov eax, dword [ebp - 0xd0]
add eax, 8
sub edi, 1
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x138], edi
jne 0x6fc09a
mov ecx, dword [ebp - 0x178]
cmp ecx, 0xc
jge 0x6fa71f
push 0xc
lea eax, [ecx*8 + 0x2780c]
add eax, esi
pop edi
sub edi, ecx
mov dword [ebp - 0x138], eax
mov dword [ebp - 0xd0], edi
movss xmm0, dword [ebp - 0xcc]
addss xmm0, dword [eax + 4]
push ecx
push ecx
lea ecx, [ebp - 0x198]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x144]
addss xmm0, dword [eax]
movss dword [esp], xmm0
call fcn.005377ac
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0x160]
movss xmm0, dword [ebp - 0x194]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x198]
movss dword [esp], xmm0
call fcn.0053a1a0
push 0x94
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], 0x14
test eax, eax
je 0x6fc2a8
push 0x94
mov ecx, eax
call fcn.0053a3f8
xor eax, eax
mov ecx, dword [ebp - 0x148]
push eax
push eax
push eax
push 0x98
push 2
sub esp, 0xc
lea esi, [ebp - 0x160]
mov edi, esp
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00538e22
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0xd0]
jmp 0x6fc2aa
xor eax, eax
mov ecx, dword [esi + 0x2c]
or dword [ebp - 4], 0xffffffff
push eax
call fcn.0053b785
mov eax, dword [ebp - 0x138]
add eax, 8
sub edi, 1
mov dword [ebp - 0x138], eax
mov dword [ebp - 0xd0], edi
jne 0x6fc1cc
jmp 0x6fa71f
cmp cx, 0x63
jne 0x6fc6e8
mov esi, dword [ebp - 0x168]
test esi, esi
je 0x6fc525
mov eax, dword [esi + 0x230]
push 4
pop ecx
cmp eax, ecx
je 0x6fc30a
mov dword [ebp - 0xcc], edi
cmp eax, 8
jne 0x6fc313
xor eax, eax
inc eax
mov dword [ebp - 0xcc], eax
mov edi, 0x1c0
push edi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], 0x16
test eax, eax
je 0x6fc3b9
push edi
mov ecx, eax
call fcn.00538fa3
sub esp, 0xc
lea ecx, [ebp - 0x174]
and dword [esp + 8], 0
and dword [esp + 4], 0
and dword [esp], 0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x160]
sub esp, 0xc
lea ecx, [ebp - 0x190]
movsd dword es:[edi], dword [esi]
and dword [esp + 8], 0
and dword [esp + 4], 0
and dword [esp], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053a1a0
xor ecx, ecx
lea esi, [ebp - 0x160]
push ecx
push ecx
sub esp, 0xc
mov ecx, dword [ebp - 0x148]
mov edi, esp
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x168]
push dword [esi + 0x5c]
call fcn.0053afa1
mov edx, eax
mov dword [ebp - 0x138], eax
jmp 0x6fc3c1
xor edx, edx
mov dword [ebp - 0x138], edx
or dword [ebp - 4], 0xffffffff
cmp byte [esi + 0xa63], 0
jle 0x6fc40e
cmp dword [esi + 0x12c], 0
je 0x6fc40e
mov eax, dword [esi + 0xa68]
lea edi, [edx + 0xf4]
push 8
add esi, 0x132
mov dword [edx + 0x5c], eax
pop ecx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x168]
lea edi, [edx + 0x190]
mov eax, dword [ecx + 0x5c]
lea esi, [ecx + 0x172]
mov dword [edx + 0x1b4], eax
jmp 0x6fc41a
add esi, 0x172
lea edi, [edx + 0xf4]
push 8
pop ecx
push dword [ebp - 0xcc]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x138]
mov ecx, esi
mov eax, dword [esi]
mov dword [esi + 0x138], 0x3f000000
mov dword [esi + 0x13c], 0x3f000000
mov dword [esi + 0x140], 0x3f000000
call dword [eax + 0x80]
mov edi, dword [ebp - 0x168]
xor eax, eax
sub esp, 0xc
mov dword [esi + 0x128], 0xbb8
inc eax
mov ecx, esi
mov dword [esi + 0x168], eax
movss xmm0, dword [edi + 0x2c]
mov eax, dword [esi]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x30]
addss xmm0, dword [0x7bfb38]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [esp], xmm0
call dword [eax + 0x3c]
cmp byte [edi + 0xa63], 0
jle 0x6fc4e5
cmp dword [edi + 0x12c], 0
je 0x6fc4e5
mov ecx, dword [esi + 0x60]
test ecx, ecx
je 0x6fc4c9
imul eax, dword [esi + 0x5c], 0x2a0
push dword [eax + 0xa38760]
call fcn.00537612
mov ecx, dword [esi + 0x1b0]
test ecx, ecx
je 0x6fc4fa
imul eax, dword [esi + 0x1b4], 0x2a0
push dword [eax + 0xa387c0]
jmp 0x6fc4f5
imul eax, dword [esi + 0x5c], 0x2a0
mov ecx, dword [esi + 0x60]
push dword [eax + 0xa38760]
call fcn.00537612
mov eax, dword [edi + 0x34]
mov ecx, dword [ebp - 0x13c]
mov dword [esi + 0x134], eax
xor eax, eax
inc eax
mov dword [esi + 0x130], 8
mov dword [esi + 0x12c], eax
mov ecx, dword [ecx + 0x2c]
push esi
call fcn.0053b785
or edi, 0xffffffff
mov dword [ebp - 0xcc], edi
push 0xcc
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x1b4], esi
mov dword [ebp - 4], 0x17
test esi, esi
je 0x6fc57a
push 0xcc
mov ecx, esi
call fcn.0053783d
push 0
push ecx
and dword [esp], 0
mov ecx, esi
push 0xaaaaaaaa
push 0x1fa
call fcn.00539d95
mov esi, eax
mov dword [ebp - 0x138], eax
jmp 0x6fc582
xor esi, esi
mov dword [ebp - 0x138], esi
movd xmm1, edi
lea ecx, [ebp - 0x160]
cvtdq2ps xmm1, xmm1
or dword [ebp - 4], 0xffffffff
xor eax, eax
inc eax
mov dword [esi + 0x98], 0x3fc00000
mov dword [esi + 0x6c], eax
sub esp, 0xc
mov byte [esi + 0xac], al
mov eax, 0xbb8
mov dword [esi + 0xb8], eax
mulss xmm1, dword [0x7c0e84]
mov dword [esi + 0xb0], eax
mov eax, dword [ebp - 0x168]
mov dword [esi + 0x9c], 0x40400000
movaps xmm0, xmm1
addss xmm0, dword [eax + 0x2c]
addss xmm1, dword [eax + 0x28]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
subss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.0053a1a0
push dword [ebp - 0x138]
lea edi, [esi + 0x74]
mov esi, eax
mov eax, dword [ebp - 0x13c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x2c]
call fcn.0053b785
mov edi, dword [ebp - 0xcc]
inc edi
mov dword [ebp - 0xcc], edi
cmp edi, 2
jl 0x6fc52e
mov esi, 0xc0
push esi
call fcn.00537b1c
mov edi, eax
pop ecx
mov dword [ebp - 0x1b4], edi
mov dword [ebp - 4], 0x18
test edi, edi
je 0x6fc677
push esi
mov ecx, edi
call fcn.0053d067
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push 0x76
push 4
pop eax
push eax
call fcn.0053d224
mov edi, eax
jmp 0x6fc679
xor edi, edi
mov eax, dword [edi]
mov ecx, edi
or dword [ebp - 4], 0xffffffff
push 0xaaaaaaaa
mov dword [edi + 0xa0], 0x1f40
call dword [eax + 0x44]
xor eax, eax
inc eax
mov dword [edi + 0x6c], eax
mov eax, dword [edi]
push ecx
push ecx
lea ecx, [ebp - 0x198]
mov esi, dword [eax + 0x3c]
mov eax, dword [ebp - 0x168]
movss xmm0, dword [eax + 0x2c]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.005377ac
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call esi
mov esi, dword [ebp - 0x13c]
push edi
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
xor eax, eax
push eax
push eax
inc eax
jmp 0x6facbb
push 0x64
pop eax
cmp cx, ax
je 0x6fb570
cmp cx, 0x6a
je 0x6fe366
push 0x6c
pop eax
cmp cx, ax
je 0x6fe366
cmp cx, 0x6b
jne 0x6fc814
cmp dword [ebp - 0x168], 0
je 0x6fa71f
mov eax, dword [edx + 0x5c]
movss xmm0, dword [edx + 0x38]
movaps xmm1, xmm0
mulss xmm1, dword [eax*8 + 0x259caf4]
mulss xmm1, dword [str.333_]
addss xmm1, dword [edx + 0x30]
cmp eax, 8
jne 0x6fc74b
addss xmm1, xmm0
movss xmm0, dword [edx + 0x2c]
lea ecx, [ebp - 0x160]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edx + 0x28]
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call fcn.0053a1a0
push 0xdc
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], 0x19
test eax, eax
je 0x6fc80a
push 0xdc
mov ecx, eax
call fcn.00538fda
sub esp, 0xc
lea ecx, [ebp - 0x174]
and dword [esp + 8], 0
and dword [esp + 4], 0
and dword [esp], 0
call fcn.0053a1a0
push ecx
and dword [esp], 0
push 5
pop ecx
push ecx
push ecx
mov dword [esp], 0x3f800000
mov ecx, 0x3e8
push ecx
push 0xff554411
push 0xffffaa00
sub esp, 0xc
mov ecx, dword [ebp - 0x148]
mov edi, esp
mov esi, eax
push dword [ebp - 0x168]
movsd dword es:[edi], dword [esi]
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053baa0
mov esi, dword [ebp - 0x13c]
mov edi, eax
or dword [ebp - 4], 0xffffffff
push edi
jmp 0x6faf9b
cmp cx, 0x6d
jne 0x6fc8eb
cmp dword [ebp - 0x168], 0
je 0x6fa71f
mov eax, dword [edx + 0x5c]
movss xmm0, dword [edx + 0x38]
movaps xmm1, xmm0
mulss xmm1, dword [eax*8 + 0x259caf4]
mulss xmm1, dword [str.333_]
addss xmm1, dword [edx + 0x30]
cmp eax, 0x2a
jne 0x6fc855
addss xmm1, xmm0
movss xmm0, dword [edx + 0x2c]
lea ecx, [ebp - 0x160]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edx + 0x28]
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call fcn.0053a1a0
push 0xdc
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
push 0x1a
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6fc80a
push 0xdc
mov ecx, eax
call fcn.00538fda
sub esp, 0xc
lea ecx, [ebp - 0x174]
and dword [esp + 8], 0
and dword [esp + 4], 0
and dword [esp], 0
call fcn.0053a1a0
push ecx
and dword [esp], 0
push 5
pop ecx
push ecx
push ecx
mov dword [esp], 0x3f800000
mov ecx, 0x3e8
push ecx
push 0xaa663311
push 0xff550000
jmp 0x6fc7d9
cmp cx, 0x6e
jne 0x6fd0c5
lea ecx, [ebp - 0x174]
call fcn.00539fb6
lea ecx, [ebp - 0x190]
call fcn.00539fb6
xor eax, eax
mov ecx, eax
mov byte [ebp - 0x144], al
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x178], ecx
lea edi, [eax + 0x3c]
mov dword [ebp - 0x138], edi
movzx eax, word [eax + 4]
cmp ax, word [ebp - 0x1a4]
jne 0x6fc942
xor edx, edx
inc edx
cmp ecx, edx
jge 0x6fcc58
cmp ax, word [ebp - 0x1ac]
jne 0x6fc954
cmp ecx, 2
jge 0x6fcc58
call dword [sym.imp.ucrtbased.dll_rand]
push 0x12
cdq
pop esi
idiv esi
mov dword [ebp - 0xd0], edx
call dword [sym.imp.ucrtbased.dll_rand]
cdq
idiv esi
mov ecx, dword [0xa6905c]
mov dword [ebp - 0xcc], edx
mov eax, dword [ecx]
mov esi, dword [eax + 0x34]
movzx eax, word [edi]
push eax
call esi
mov ecx, eax
test ecx, ecx
je 0x6fca94
mov eax, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x144]
movss xmm0, dword [ecx + 0x2c]
push 1
cmp ecx, dword [eax + 0x4c]
pop eax
movzx edx, dl
cmove edx, eax
sub esp, 0xc
mov dword [ebp - 0x144], edx
movss dword [esp + 8], xmm0
movss xmm0, dword [ecx + 0x30]
subss xmm0, dword [0x7bfb34]
movss dword [esp + 4], xmm0
movss xmm0, dword [ecx + 0x28]
lea ecx, [ebp - 0x19c]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
movss xmm0, dword [0x7bd184]
lea edi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [ebp - 0x190]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0xc8
movss dword [ebp - 0x18c], xmm0
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], 0x1b
test eax, eax
je 0x6fca60
push esi
mov ecx, eax
call fcn.00539abb
push 0
push 3
pop eax
push eax
sub esp, 0xc
mov ecx, dword [ebp - 0x148]
mov edi, esp
lea esi, [ebp - 0x174]
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x190]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053689d
mov esi, eax
jmp 0x6fca62
xor esi, esi
or dword [ebp - 4], 0xffffffff
call dword [sym.imp.ucrtbased.dll_rand]
cdq
mov ecx, 0x3e8
idiv ecx
push esi
add dword [esi + 0x80], edx
mov esi, dword [ebp - 0x13c]
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
mov edi, dword [ebp - 0x138]
jmp 0x6fcc33
movss xmm0, dword [ebp - 0x174]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x6fcc2d
movss xmm0, dword [ebp - 0x170]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x6fcc2d
movss xmm0, dword [ebp - 0x16c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x6fcc2d
mov esi, 0xc8
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], 0x1c
test eax, eax
je 0x6fcc02
push esi
mov ecx, eax
call fcn.00539abb
movd xmm0, dword [ebp - 0xcc]
lea ecx, [ebp - 0x1bc]
movd xmm1, dword [ebp - 0xd0]
sub esp, 0xc
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
addss xmm0, dword [ebp - 0x16c]
subss xmm0, dword [0x7c5068]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x170]
movss dword [esp + 4], xmm0
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0x174]
subss xmm0, dword [0x7c5068]
movss dword [esp], xmm0
call fcn.0053a1a0
movd xmm1, dword [ebp - 0xcc]
lea edi, [ebp - 0x160]
movss xmm0, dword [ebp - 0x188]
lea ecx, [ebp - 0x1ec]
cvtdq2ps xmm1, xmm1
sub esp, 0xc
mov esi, eax
movsd dword es:[edi], dword [esi]
addss xmm0, xmm1
movd xmm1, dword [ebp - 0xd0]
cvtdq2ps xmm1, xmm1
movsd dword es:[edi], dword [esi]
subss xmm0, dword [0x7c5068]
movsd dword es:[edi], dword [esi]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x18c]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x190]
addss xmm0, xmm1
subss xmm0, dword [0x7c5068]
movss dword [esp], xmm0
call fcn.0053a1a0
push 0
push 3
pop ecx
push ecx
sub esp, 0xc
mov ecx, dword [ebp - 0x14c]
mov edi, esp
lea esi, [ebp - 0x160]
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053689d
mov edi, dword [ebp - 0x138]
mov esi, eax
jmp 0x6fcc04
xor esi, esi
or dword [ebp - 4], 0xffffffff
call dword [sym.imp.ucrtbased.dll_rand]
cdq
mov ecx, 0x3e8
idiv ecx
push esi
add dword [esi + 0x80], edx
mov esi, dword [ebp - 0x13c]
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
jmp 0x6fcc33
mov esi, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x178]
add edi, 8
mov eax, dword [ebp - 0x134]
inc ecx
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x138], edi
cmp ecx, 0xd
jl 0x6fc92a
mov ecx, dword [0xa6906c]
mov eax, dword [ecx]
call dword [eax + 8]
mov edi, dword [ebp - 0x140]
mov ecx, dword [edi + 0x854]
add ecx, 0x6a4
cmp ecx, eax
jae 0x6fce13
mov ecx, dword [0xa6906c]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, 0x3e8
push 0xfffffffffffffffd
sub eax, ecx
pop esi
mov dword [edi + 0x854], eax
mov dword [ebp - 0xcc], esi
jmp 0x6fcca6
mov esi, dword [ebp - 0xcc]
push 0x184
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
push 0x1d
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6fcd14
push 0x184
mov ecx, eax
call fcn.00538f94
mov ecx, dword [ebp - 0x148]
xor eax, eax
push 0x50
inc eax
push eax
sub esp, 0x10
mov dword [esp + 0xc], 0x3a83126f
mov dword [esp + 8], 0x40000000
mov dword [esp + 4], 0x40000000
mov dword [esp], 0x40000000
push 0xfa0
push 0xc1
call fcn.0053cb2b
mov ecx, eax
mov dword [ebp - 0x138], eax
jmp 0x6fcd1c
xor ecx, ecx
mov dword [ebp - 0x138], ecx
or dword [ebp - 4], 0xffffffff
mov eax, esi
and eax, 0x80000001
jns 0x6fcd2e
dec eax
or eax, 0xfffffffe
inc eax
movd xmm1, esi
sub esp, 0xc
cvtdq2ps xmm1, xmm1
mov dword [ecx + 0x100], eax
lea ecx, [ebp - 0x1ec]
movss xmm0, dword [edi + 0x2c]
subss xmm0, dword [0x7bfb38]
addss xmm1, xmm1
movss dword [esp + 8], xmm0
addss xmm1, dword [edi + 0x28]
movss xmm0, dword [edi + 0x30]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.0053a1a0
mov ecx, dword [ebp - 0x138]
mov esi, eax
push 0xff777799
mov eax, dword [ecx]
lea edi, [ecx + 0x74]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x3c]
mov esi, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x138]
push ecx
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
mov eax, dword [ebp - 0xcc]
mov edi, dword [ebp - 0x140]
inc eax
push 3
pop ecx
mov dword [ebp - 0xcc], eax
cmp eax, ecx
jl 0x6fcca0
inc eax
mov dword [ebp - 0xcc], eax
cmp eax, ecx
jl 0x6fcca0
mov edi, dword [esi + 0x40]
mov dword [ebp - 0x148], edi
test edi, edi
je 0x6fce0d
mov ecx, dword [0xa6906c]
mov eax, dword [ecx]
call dword [eax + 8]
mov edx, dword [ebp - 0x148]
mov dword [edi + 0x20a6c], eax
mov edi, dword [ebp - 0x140]
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
mov dword [edx + 0x20a64], eax
mov dword [edx + 0x20a68], ecx
jmp 0x6fce13
mov edi, dword [ebp - 0x140]
mov ecx, dword [esi + 0x4c]
cvttss2si eax, dword [ecx + 0x2c]
push eax
cvttss2si eax, dword [ecx + 0x28]
push eax
cvttss2si eax, dword [edi + 0x2c]
push eax
cvttss2si eax, dword [edi + 0x28]
push eax
call fcn.0053c0cc
mov ecx, dword [0xa6906c]
add esp, 0x10
mov esi, eax
mov edx, dword [ecx]
call dword [edx + 8]
cmp byte [ebp - 0x144], 0
mov edi, eax
mov eax, 0x7d0
mov edx, 0x3e8
cmovne edx, eax
push 0x12
pop eax
cmp esi, eax
mov esi, dword [ebp - 0x13c]
jge 0x6fa71f
mov ecx, dword [esi + 0x4c]
mov eax, dword [ecx + 0x7fc]
add eax, edx
cmp eax, edi
jae 0x6fa71f
cmp byte [ecx + 0x229], 0
jne 0x6fa71f
mov eax, dword [ecx + 0x9f8]
cmp eax, 0xc
je 0x6fa71f
cmp eax, 0xb
je 0x6fa71f
cmp byte [ebp - 0x144], 0
push 9
pop edi
push 5
pop eax
cmovne edi, eax
call dword [sym.imp.ucrtbased.dll_rand]
push 0xa
pop ecx
cdq
idiv ecx
cmp byte [ebp - 0x144], 0
push 8
pop eax
push 4
pop ecx
cmovne eax, ecx
cmp edx, eax
jge 0x6fa71f
xor ecx, ecx
mov dword [esi + 0x26ef4], ecx
cmp dword [0x7fea44], ecx
jne 0x6fceef
mov ecx, esi
call fcn.0053a27c
xor ecx, ecx
mov eax, dword [esi + 0x4c]
cvttss2si edx, dword [eax + 0x28]
mov dword [ebp - 0x144], edx
cmp dword [ebp - 0x144], 0x93a
cvttss2si edx, dword [eax + 0x2c]
mov dword [ebp - 0x138], edx
jg 0x6fcf1a
mov edx, edi
neg edx
jmp 0x6fcf29
cmp dword [ebp - 0x144], 0x942
mov edx, ecx
cmovge edx, edi
cmp dword [ebp - 0x138], 0xf57
jg 0x6fcf39
neg edi
jmp 0x6fcf4d
cmp dword [ebp - 0x138], 0xf5f
mov eax, ecx
cmovge eax, edi
mov edi, eax
mov eax, dword [esi + 0x4c]
movd xmm0, edx
mov edx, dword [esi + 0x4c]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [eax + 0x28]
cvttss2si eax, xmm0
movd xmm0, edi
mov edi, 0x925
mov dword [ebp - 0xcc], eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [edx + 0x2c]
cvttss2si edx, xmm0
mov dword [ebp - 0xd0], edx
cmp eax, edi
jl 0x6fcf8c
add edi, 0x32
cmp eax, edi
jle 0x6fcf92
mov dword [ebp - 0xcc], edi
mov eax, 0xf43
cmp edx, eax
jge 0x6fcfa3
mov dword [ebp - 0xcc], eax
jmp 0x6fcfb2
mov eax, 0xf70
cmp edx, eax
jle 0x6fcfb2
mov dword [ebp - 0xd0], eax
push 0x30
push ecx
lea eax, [ebp - 0xc8]
push eax
call fcn.00538b89
push 8
lea eax, [esi + 0x10c]
push eax
push 0xc
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0xcc]
push eax
push dword [ebp - 0x138]
push dword [ebp - 0x144]
call fcn.0053d297
lea ecx, [ebp - 0xc8]
add esp, 0x2c
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x6fcffe
sub ecx, edx
je 0x7019ae
push 0x34
pop eax
push eax
lea eax, [ebp - 0x114]
push 0
push eax
call fcn.00538b89
mov eax, dword [esi + 0x4c]
mov edi, 0x36c
mov ecx, dword [ebp - 0xcc]
push 0x34
mov ax, word [eax + 0x20]
mov word [ebp - 0x10e], ax
mov eax, dword [ebp - 0xd0]
mov dword [0x20104c8], edi
mov word [ebp - 0x106], ax
mov word [ebp - 0xe2], ax
mov dword [esi + 0x8b860], eax
mov dword [esi + 0x8b850], eax
pop eax
push eax
lea eax, [ebp - 0x114]
mov word [ebp - 0x110], di
push eax
mov word [ebp - 0x108], cx
mov dword [ebp - 0x104], 2
mov word [ebp - 0xe4], cx
mov dword [esi + 0x8b85c], ecx
mov dword [esi + 0x8b84c], ecx
call fcn.00536b6d
mov ecx, dword [0xa6906c]
add esp, 0x14
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [esi + 0x4c]
mov dword [ecx + 0x7fc], eax
lea eax, [ebp - 0x114]
mov ecx, dword [esi + 0x4c]
push eax
push edi
call fcn.0053b235
jmp 0x6fa71f
push 0x6f
pop eax
cmp cx, ax
jne 0x6fd474
movss xmm0, dword [edx + 0x2c]
lea ecx, [ebp - 0x1ec]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edx + 0x30]
addss xmm0, dword [0x7bd184]
movss dword [esp + 4], xmm0
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, 0xc0
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
push 0x1e
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6fd14c
push esi
mov ecx, eax
call fcn.0053d067
push ecx
mov ecx, dword [ebp - 0x148]
mov dword [esp], 0x3f800000
push 0x76
push 0x46
call fcn.0053d224
mov esi, eax
mov dword [ebp - 0x138], esi
jmp 0x6fd154
mov esi, edi
mov dword [ebp - 0x138], edi
mov eax, dword [esi]
mov ecx, esi
or dword [ebp - 4], 0xffffffff
push 0xaa660000
call dword [eax + 0x44]
xor eax, eax
inc eax
mov dword [esi + 0x6c], eax
mov eax, dword [esi]
push ecx
push ecx
lea ecx, [ebp - 0x198]
mov esi, dword [eax + 0x3c]
mov eax, dword [ebp - 0x140]
movss xmm0, dword [eax + 0x2c]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.005377ac
mov ecx, dword [ebp - 0x138]
push dword [eax + 4]
push dword [eax]
call esi
mov eax, dword [ebp - 0x138]
mov esi, dword [ebp - 0x13c]
push eax
mov dword [eax + 0xa0], 0xc80
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
lea ecx, [ebp - 0x174]
call fcn.00539fb6
lea ecx, [ebp - 0x190]
call fcn.00539fb6
lea ecx, [ebp - 0x160]
call fcn.00539fb6
lea ecx, [ebp - 0x1ec]
call fcn.00539fb6
lea ecx, [ebp - 0x1ec]
call fcn.00537f4f
mov eax, dword [ebp - 0x134]
mov ecx, edi
add eax, 0x3c
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0x138], eax
mov edi, dword [ebp - 0x134]
movzx eax, word [edi + 4]
cmp ax, word [ebp - 0x1a4]
jne 0x6fd22f
xor edx, edx
inc edx
cmp ecx, edx
jge 0x6fa725
cmp ax, word [ebp - 0x1ac]
jne 0x6fd241
cmp ecx, 2
jge 0x6fa725
call dword [sym.imp.ucrtbased.dll_rand]
push 0x12
cdq
pop esi
idiv esi
mov edi, edx
call dword [sym.imp.ucrtbased.dll_rand]
cdq
idiv esi
mov ecx, dword [0xa6905c]
mov dword [ebp - 0x14c], edx
mov eax, dword [ecx]
mov esi, dword [eax + 0x34]
mov eax, dword [ebp - 0x138]
movzx eax, word [eax]
push eax
call esi
test eax, eax
je 0x6fd35e
movss xmm0, dword [eax + 0x2c]
lea ecx, [ebp - 0x1ec]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [ebp - 0x190]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, 0xb0
push edi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], 0x1f
test eax, eax
je 0x6fd30b
push edi
mov ecx, eax
call fcn.00538968
mov ecx, dword [ebp - 0x148]
lea esi, [ebp - 0x190]
push 0
xor eax, eax
inc eax
push eax
push 8
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00536edd
mov esi, eax
jmp 0x6fd30d
xor esi, esi
push ecx
push ecx
lea ecx, [ebp - 0x198]
movss xmm0, dword [ebp - 0x158]
or dword [ebp - 4], 0xffffffff
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x160]
movss dword [esp], xmm0
call fcn.005377ac
push esi
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], eax
mov esi, dword [ebp - 0x13c]
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
jmp 0x6fd452
movss xmm3, dword [ebp - 0x174]
xorps xmm0, xmm0
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jnp 0x6fd44c
movss xmm2, dword [ebp - 0x170]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x6fd44c
movss xmm1, dword [ebp - 0x16c]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x6fd44c
movd xmm0, dword [ebp - 0x14c]
lea ecx, [ebp - 0xdc]
cvtdq2ps xmm0, xmm0
sub esp, 0xc
addss xmm0, xmm1
subss xmm0, dword [0x7c5068]
movss dword [esp + 8], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm2
addss xmm0, xmm3
subss xmm0, dword [0x7c5068]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x190]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, 0xb0
push edi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1a8], eax
push 0x20
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6fd43d
push edi
mov ecx, eax
call fcn.00538968
mov ecx, dword [ebp - 0x1a8]
lea esi, [ebp - 0x190]
push 0
xor eax, eax
inc eax
push eax
push 8
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00536edd
mov esi, eax
jmp 0x6fd43f
xor esi, esi
push ecx
push ecx
lea ecx, [ebp - 0x1b8]
jmp 0x6fd315
mov esi, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0xcc]
add dword [ebp - 0x138], 8
inc ecx
mov dword [ebp - 0xcc], ecx
cmp ecx, 0xd
jl 0x6fd211
jmp 0x6fa71f
xor eax, eax
cmp dword [edx + 0x230], 0x38
jne 0x6fd7b6
cmp word [edx + 0x172], ax
jne 0x6fd7b6
lea ecx, [ebp - 0x160]
call fcn.00539fb6
lea ecx, [ebp - 0x174]
call fcn.00539fb6
mov ecx, dword [ebp - 0x134]
xor edi, edi
mov dword [ebp - 0xcc], edi
lea eax, [ecx + 0x3c]
mov dword [ebp - 0xd0], eax
movzx eax, word [ecx + 4]
cmp ax, word [ebp - 0x1a4]
jne 0x6fd4d5
xor ecx, ecx
inc ecx
cmp edi, ecx
jge 0x6fa71f
cmp ax, word [ebp - 0x1ac]
jne 0x6fd4e7
cmp edi, 2
jge 0x6fa71f
call dword [sym.imp.ucrtbased.dll_rand]
push 0x12
cdq
pop esi
idiv esi
mov dword [ebp - 0x1a0], edx
call dword [sym.imp.ucrtbased.dll_rand]
cdq
idiv esi
mov ecx, dword [0xa6905c]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ecx]
mov esi, dword [eax + 0x34]
mov eax, dword [ebp - 0xd0]
movzx eax, word [eax]
push eax
call esi
mov edx, eax
mov dword [ebp - 0x148], edx
test edx, edx
je 0x6fd644
mov ecx, edi
and ecx, 0x80000001
jns 0x6fd53e
dec ecx
or ecx, 0xfffffffe
inc ecx
mov esi, dword [ebp - 0x140]
lea edi, [ebp - 0x190]
movss xmm0, dword [edx + 0x2c]
add esi, 0x70
imul ecx, ecx, 0xc
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edx + 0x30]
add esi, ecx
addss xmm0, dword [0x7bd184]
lea ecx, [ebp - 0xdc]
movsd dword es:[edi], dword [esi]
movss dword [esp + 4], xmm0
movss xmm0, dword [edx + 0x28]
movsd dword es:[edi], dword [esi]
movss dword [esp], xmm0
movsd dword es:[edi], dword [esi]
call fcn.0053a1a0
mov esi, 0xdc
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 4], ecx
test eax, eax
je 0x6fd61a
push esi
mov ecx, eax
call fcn.00538fda
sub esp, 0xc
lea ecx, [ebp - 0x1ec]
and dword [esp + 8], 0
and dword [esp + 4], 0
and dword [esp], 0
call fcn.0053a1a0
push ecx
and dword [esp], 0
mov esi, eax
push 5
pop ecx
push ecx
push ecx
mov dword [esp], 0x3f800000
mov ecx, 0x3e8
push ecx
push 0xff222299
push 0xffff0000
sub esp, 0xc
mov ecx, dword [ebp - 0x14c]
mov edi, esp
push dword [ebp - 0x148]
movsd dword es:[edi], dword [esi]
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x190]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053baa0
jmp 0x6fd61c
xor eax, eax
mov dword [eax + 0x84], 0x3e4ccccd
mov esi, dword [ebp - 0x13c]
or dword [ebp - 4], 0xffffffff
push eax
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
mov edi, dword [ebp - 0xcc]
jmp 0x6fd792
movss xmm0, dword [ebp - 0x174]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x6fd78c
movss xmm0, dword [ebp - 0x170]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x6fd78c
movss xmm0, dword [ebp - 0x16c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x6fd78c
mov eax, edi
and eax, 0x80000001
jns 0x6fd694
dec eax
or eax, 0xfffffffe
inc eax
mov esi, dword [ebp - 0x140]
lea edi, [ebp - 0x160]
imul eax, eax, 0xc
add esi, 0x70
add esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0xdc
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 4], ecx
test eax, eax
je 0x6fd77b
push esi
mov ecx, eax
call fcn.00538fda
movd xmm0, dword [ebp - 0x1a8]
lea ecx, [ebp - 0x19c]
cvtdq2ps xmm0, xmm0
sub esp, 0xc
addss xmm0, dword [ebp - 0x16c]
subss xmm0, dword [0x7c5068]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x170]
movss dword [esp + 4], xmm0
movd xmm0, dword [ebp - 0x1a0]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x174]
subss xmm0, dword [0x7c5068]
movss dword [esp], xmm0
call fcn.0053a1a0
push ecx
and dword [esp], 0
mov esi, eax
push 5
pop ecx
push ecx
push ecx
mov dword [esp], 0x3f800000
mov ecx, 0x3e8
push ecx
push 0xff222299
push 0xffff0000
sub esp, 0xc
mov ecx, dword [ebp - 0x178]
mov edi, esp
push 0
movsd dword es:[edi], dword [esi]
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053baa0
jmp 0x6fd77d
xor eax, eax
mov dword [eax + 0x84], 0x3ecccccd
jmp 0x6fd626
mov esi, dword [ebp - 0x13c]
add dword [ebp - 0xd0], 8
inc edi
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0xcc], edi
cmp edi, 0xd
jl 0x6fd4bd
mov edi, ecx
jmp 0x6fa725
cmp cx, 0x71
jne 0x6fda37
push eax
push 7
pop eax
push eax
mov ecx, edx
call fcn.0053906b
mov edi, dword [ebp - 0x140]
lea ecx, [ebp - 0xdc]
sub esp, 0xc
movss xmm0, dword [edi + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x30]
addss xmm0, dword [0x7bd184]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, 0xc0
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], 0x23
test eax, eax
je 0x6fd84e
push esi
mov ecx, eax
call fcn.0053d067
push ecx
mov ecx, dword [ebp - 0x148]
mov dword [esp], 0x3f800000
push 0x76
push 0x46
call fcn.0053d224
mov esi, eax
mov dword [ebp - 0x138], eax
jmp 0x6fd856
xor esi, esi
mov dword [ebp - 0x138], esi
mov eax, dword [esi]
mov ecx, esi
or dword [ebp - 4], 0xffffffff
push 0xaa660000
call dword [eax + 0x44]
xor eax, eax
inc eax
mov dword [esi + 0x6c], eax
movss xmm0, dword [edi + 0x2c]
mov eax, dword [esi]
push ecx
push ecx
movss dword [esp + 4], xmm0
lea ecx, [ebp - 0x198]
movss xmm0, dword [edi + 0x28]
mov esi, dword [eax + 0x3c]
movss dword [esp], xmm0
call fcn.005377ac
mov edi, dword [ebp - 0x138]
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call esi
mov esi, dword [ebp - 0x13c]
mov dword [edi + 0xa0], 0xc80
push edi
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
lea ecx, [ebp - 0x160]
call fcn.00539fb6
lea ecx, [ebp - 0xdc]
call fcn.00539fb6
lea ecx, [ebp - 0xdc]
call fcn.00539fb6
lea ecx, [ebp - 0xdc]
call fcn.00537f4f
mov edi, dword [ebp - 0x134]
add edi, 0x3c
mov dword [ebp - 0x144], 0xd
mov dword [ebp - 0x138], edi
mov ecx, dword [0xa6905c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
movzx eax, word [edi]
push eax
call edx
test eax, eax
je 0x6fda1c
movss xmm0, dword [eax + 0x2c]
lea ecx, [ebp - 0xdc]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0xb0
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 4], ecx
test eax, eax
je 0x6fd99e
push esi
mov ecx, eax
call fcn.00538968
mov ecx, dword [ebp - 0x148]
lea esi, [ebp - 0x160]
push 0
xor eax, eax
inc eax
push eax
push 8
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00536edd
xor esi, esi
jmp 0x6fd9a2
xor esi, esi
mov eax, esi
or dword [ebp - 4], 0xffffffff
push eax
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x2c]
call fcn.0053b785
mov edi, 0x90
push edi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], 0x25
test eax, eax
je 0x6fda03
push edi
mov ecx, eax
call fcn.00537dc9
push esi
xor eax, eax
mov ecx, dword [ebp - 0x14c]
inc eax
lea esi, [ebp - 0x160]
push eax
push 0xa
pop eax
push eax
push 0xff33ff66
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053b753
mov esi, eax
or dword [ebp - 4], 0xffffffff
push esi
mov esi, dword [ebp - 0x13c]
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
mov edi, dword [ebp - 0x138]
add edi, 8
sub dword [ebp - 0x144], 1
mov dword [ebp - 0x138], edi
jne 0x6fd900
jmp 0x6fa71f
cmp cx, 0x72
jne 0x6fdd6e
lea ecx, [ebp - 0x160]
call fcn.00539fb6
lea ecx, [ebp - 0x174]
call fcn.00539fb6
mov ecx, dword [ebp - 0x140]
push 0
push 7
pop eax
push eax
call fcn.0053906b
mov edi, dword [ebp - 0x134]
add edi, 0x3c
mov dword [ebp - 0x144], 0xd
mov dword [ebp - 0xcc], edi
mov ecx, dword [0xa6905c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
movzx eax, word [edi]
push eax
call edx
mov dword [ebp - 0x1a8], eax
test eax, eax
je 0x6fdd53
movss xmm0, dword [eax + 0x2c]
lea ecx, [ebp - 0xdc]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
subss xmm0, dword [0x7bfb34]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
lea esi, [ebp - 0x174]
lea edi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0x94
mov dword [ebp - 0x170], 0x3f800000
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], 0x26
test eax, eax
je 0x6fdb39
push esi
mov ecx, eax
call fcn.0053816b
push ecx
mov ecx, dword [ebp - 0x148]
lea esi, [ebp - 0x174]
mov dword [esp], 0x3dcccccd
push 2
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053a38a
jmp 0x6fdb3b
xor eax, eax
or dword [ebp - 4], 0xffffffff
push eax
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x2c]
call fcn.0053b785
lea ecx, [ebp - 0x19c]
call fcn.00539fb6
xor ecx, ecx
mov dword [ebp - 0x138], ecx
mov eax, ecx
sub esp, 0xc
and eax, 0xfffffffe
movd xmm0, eax
mov eax, ecx
cvtdq2ps xmm0, xmm0
xor ecx, ecx
inc ecx
and eax, ecx
lea ecx, [ebp - 0x1ec]
add eax, eax
addss xmm0, dword [ebp - 0x158]
subss xmm0, dword [0x7bd184]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x15c]
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x160]
subss xmm0, dword [0x7bd184]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x19c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0xb0
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], 0x27
test eax, eax
je 0x6fdc15
push esi
mov ecx, eax
call fcn.00538968
mov ecx, dword [ebp - 0x14c]
lea esi, [ebp - 0x19c]
xor eax, eax
push eax
push eax
inc eax
push eax
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00536edd
jmp 0x6fdc17
xor eax, eax
or dword [ebp - 4], 0xffffffff
push eax
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x2c]
call fcn.0053b785
mov ecx, dword [ebp - 0x138]
push 4
inc ecx
pop eax
mov dword [ebp - 0x138], ecx
cmp ecx, eax
jl 0x6fdb61
mov eax, dword [ebp - 0x1a8]
lea ecx, [ebp - 0x190]
sub esp, 0xc
movss xmm0, dword [eax + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
movss xmm0, dword [ebp - 0x188]
lea ecx, [ebp - 0x1bc]
subss xmm0, dword [0x7bea04]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x18c]
addss xmm0, dword [0x7bfb34]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x190]
addss xmm0, dword [0x7bea04]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0x94
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 4], 0x28
test eax, eax
je 0x6fdd31
push esi
mov ecx, eax
call fcn.0053a3f8
xor eax, eax
mov ecx, dword [ebp - 0x1a0]
push eax
push eax
push eax
push 0x2711
push eax
sub esp, 0xc
lea esi, [ebp - 0x190]
mov edi, esp
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00538e22
jmp 0x6fdd33
xor eax, eax
mov esi, dword [ebp - 0x13c]
or dword [ebp - 4], 0xffffffff
mov dword [eax + 0x70], 0xffffff00
push eax
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
mov edi, dword [ebp - 0xcc]
add edi, 8
sub dword [ebp - 0x144], 1
mov dword [ebp - 0xcc], edi
jne 0x6fda81
jmp 0x6fa71f
cmp cx, 0x73
jne 0x6fe0bb
lea ecx, [ebp - 0x174]
call fcn.00539fb6
lea ecx, [ebp - 0x160]
call fcn.00539fb6
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x230], 0x49
je 0x6fddaa
push 0
push 7
pop ecx
push ecx
mov ecx, eax
call fcn.0053906b
mov edi, dword [ebp - 0x134]
add edi, 0x3c
mov dword [ebp - 0xcc], 0xd
mov dword [ebp - 0x138], edi
mov ecx, dword [0xa6905c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
movzx eax, word [edi]
push eax
call edx
test eax, eax
je 0x6fdea0
movss xmm0, dword [eax + 0x2c]
lea ecx, [ebp - 0xdc]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
subss xmm0, dword [0x7bfb34]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0xc8
mov dword [ebp - 0x15c], 0x41200000
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
push 0x29
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6fde85
push esi
mov ecx, eax
call fcn.00539abb
push 0
push 3
pop eax
push eax
sub esp, 0xc
mov ecx, dword [ebp - 0x148]
mov edi, esp
lea esi, [ebp - 0x174]
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053689d
jmp 0x6fde87
xor eax, eax
mov esi, dword [ebp - 0x13c]
or dword [ebp - 4], 0xffffffff
push eax
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
mov edi, dword [ebp - 0x138]
add edi, 8
sub dword [ebp - 0xcc], 1
mov dword [ebp - 0x138], edi
jne 0x6fddc3
call dword [sym.imp.ucrtbased.dll_rand]
push 0xa
pop ecx
cdq
idiv ecx
push 6
pop eax
cmp edx, eax
jl 0x6fa71f
mov ecx, dword [0xa6906c]
mov eax, dword [ecx]
call dword [eax + 8]
mov edi, dword [ebp - 0x140]
mov ecx, dword [edi + 0x854]
add ecx, 0xfa0
cmp ecx, eax
jae 0x6fa71f
mov ecx, dword [0xa6906c]
mov eax, dword [ecx]
call dword [eax + 8]
sub eax, 0x7d0
push 0xfffffffffffffffd
mov dword [edi + 0x854], eax
pop eax
mov dword [ebp - 0x144], eax
mov ecx, eax
mov dword [ebp - 0x138], 0xfffffffd
and ecx, 0x80000001
jns 0x6fdf2a
dec ecx
or ecx, 0xfffffffe
inc ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x148], ecx
addss xmm0, xmm0
movss dword [ebp - 0x14c], xmm0
push 0x184
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x1b4], esi
mov dword [ebp - 4], 0x2a
test esi, esi
je 0x6fdfb0
push 0x184
mov ecx, esi
call fcn.00538f94
push 0x50
xor eax, eax
mov ecx, esi
inc eax
push eax
sub esp, 0x10
mov dword [esp + 0xc], 0x3a83126f
mov dword [esp + 8], 0x40000000
mov dword [esp + 4], 0x40000000
mov dword [esp], 0x40000000
push 0xfa0
push 0xc1
call fcn.0053cb2b
mov esi, eax
mov dword [ebp - 0xcc], eax
jmp 0x6fdfb8
xor esi, esi
mov dword [ebp - 0xcc], esi
movd xmm0, dword [ebp - 0x138]
lea ecx, [ebp - 0xdc]
mov eax, dword [ebp - 0x148]
sub esp, 0xc
cvtdq2ps xmm0, xmm0
or dword [ebp - 4], 0xffffffff
mov dword [esi + 0x100], eax
addss xmm0, xmm0
addss xmm0, dword [edi + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x14c]
addss xmm0, dword [edi + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
lea edi, [esi + 0x74]
mov esi, eax
push 0xff777799
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xcc]
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x3c]
push esi
mov esi, dword [ebp - 0x13c]
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
mov eax, dword [ebp - 0x138]
mov edi, dword [ebp - 0x140]
inc eax
push 3
pop ecx
mov dword [ebp - 0x138], eax
cmp eax, ecx
jl 0x6fdf43
mov eax, dword [ebp - 0x144]
inc eax
mov dword [ebp - 0x144], eax
cmp eax, ecx
jl 0x6fdf11
mov edi, dword [esi + 0x40]
test edi, edi
je 0x6fe099
mov ecx, dword [0xa6906c]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x140]
mov dword [edi + 0x20a6c], eax
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [edi + 0x20a28], eax
mov dword [edi + 0x20a2c], ecx
mov ecx, dword [0xa6905c]
mov eax, dword [ecx]
call dword [eax + 0x68]
push 0xb
mov ecx, eax
call fcn.00537d7e
xor eax, eax
push eax
push eax
push 0xa0
jmp 0x6facbc
cmp cx, 0x74
jne 0x6fa71f
lea ecx, [ebp - 0x174]
call fcn.00539fb6
lea ecx, [ebp - 0x160]
call fcn.00539fb6
mov ecx, dword [ebp - 0x140]
push 0
push 7
pop eax
push eax
call fcn.0053906b
mov esi, dword [ebp - 0x134]
push 0xd
add esi, 0x3c
pop edi
mov dword [ebp - 0x138], esi
mov dword [ebp - 0xcc], edi
mov ecx, dword [0xa6905c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
movzx eax, word [esi]
push eax
call edx
test eax, eax
je 0x6fe1e8
movss xmm0, dword [eax + 0x2c]
lea ecx, [ebp - 0xdc]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
subss xmm0, dword [0x7bfb34]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0xc8
mov dword [ebp - 0x15c], 0x41200000
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], 0x2b
test eax, eax
je 0x6fe1c7
push esi
mov ecx, eax
call fcn.00539abb
push 0
push 3
pop eax
push eax
sub esp, 0xc
mov ecx, dword [ebp - 0x148]
mov edi, esp
lea esi, [ebp - 0x174]
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053689d
jmp 0x6fe1c9
xor eax, eax
or dword [ebp - 4], 0xffffffff
push eax
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x2c]
call fcn.0053b785
mov esi, dword [ebp - 0x138]
mov edi, dword [ebp - 0xcc]
add esi, 8
sub edi, 1
mov dword [ebp - 0x138], esi
mov dword [ebp - 0xcc], edi
jne 0x6fe104
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x144], eax
mov edi, eax
mov dword [ebp - 0x138], 0xfffffffd
and edi, 0x80000001
jns 0x6fe222
dec edi
or edi, 0xfffffffe
inc edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x14c], edi
addss xmm0, xmm0
movss dword [ebp - 0x148], xmm0
push 0x184
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x1b4], esi
mov dword [ebp - 4], 0x2c
test esi, esi
je 0x6fe2a8
push 0x184
mov ecx, esi
call fcn.00538f94
push 0x50
xor eax, eax
mov ecx, esi
inc eax
push eax
sub esp, 0x10
mov dword [esp + 0xc], 0x3a83126f
mov dword [esp + 8], 0x40000000
mov dword [esp + 4], 0x40000000
mov dword [esp], 0x40000000
push 0xfa0
push 0xc1
call fcn.0053cb2b
mov esi, eax
mov dword [ebp - 0xcc], eax
jmp 0x6fe2b0
xor esi, esi
mov dword [ebp - 0xcc], esi
movd xmm0, dword [ebp - 0x138]
lea ecx, [ebp - 0xdc]
mov eax, dword [ebp - 0x140]
sub esp, 0xc
cvtdq2ps xmm0, xmm0
or dword [ebp - 4], 0xffffffff
mov dword [esi + 0x100], edi
addss xmm0, xmm0
addss xmm0, dword [eax + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x148]
addss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
lea edi, [esi + 0x74]
mov esi, eax
push 0xff777799
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xcc]
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x3c]
push esi
mov esi, dword [ebp - 0x13c]
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
mov eax, dword [ebp - 0x138]
mov edi, dword [ebp - 0x14c]
inc eax
push 3
pop ecx
mov dword [ebp - 0x138], eax
cmp eax, ecx
jl 0x6fe23b
mov eax, dword [ebp - 0x144]
inc eax
mov dword [ebp - 0x144], eax
cmp eax, ecx
jl 0x6fe209
jmp 0x6fa71f
push 0x6c
xor eax, eax
pop edi
cmp cx, di
mov ecx, dword [ebp - 0x168]
sete al
test ecx, ecx
je 0x6fa71f
push eax
push ecx
mov ecx, edx
call fcn.0053a92f
jmp 0x6fa71f
movss xmm0, dword [edx + 0x2c]
lea ecx, [ebp - 0x160]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edx + 0x30]
addss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov ecx, dword [ebp - 0x134]
mov esi, edi
push 0x17
pop eax
cmp word [ecx + 0x38], ax
jne 0x6fe475
mov eax, dword [ebp - 0x168]
sub esp, 0xc
mov dword [ebp - 0x138], 2
test eax, eax
je 0x6fe414
movss xmm0, dword [eax + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
jmp 0x6fe452
movzx eax, word [ecx + 0x28]
movss xmm1, dword [0x7bd180]
movd xmm0, eax
movzx eax, word [ecx + 0x26]
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0xd0]
addss xmm0, xmm1
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
lea ecx, [ebp - 0xdc]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x138]
xor edi, edi
push 0x94
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], 0xe
test eax, eax
je 0x6fe4c1
push 0x94
mov ecx, eax
call fcn.0053816b
push ecx
mov ecx, dword [ebp - 0x148]
mov dword [esp], 0x3dcccccd
push esi
sub esp, 0xc
lea esi, [ebp - 0x160]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053a38a
mov edi, eax
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x13c]
test edi, edi
je 0x6fa71f
jmp 0x6fc80e
mov ecx, edi
lea edx, [eax + 0x3c]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0x138], edx
jmp 0x6fe4f1
mov eax, dword [ebp - 0x134]
cmp byte [eax + 0x2e], 0xfe
jne 0x6fe504
push 4
pop eax
cmp ecx, eax
jge 0x6fa71f
jmp 0x6fe517
movsx eax, word [eax + 0x38]
imul eax, eax, 0x60
cmp dword [eax + 0x94918c], ecx
jle 0x6fa71f
mov ecx, dword [0xa6905c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0x138]
movzx eax, word [eax]
push eax
call edx
mov ecx, eax
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je 0x6fe8d8
mov edx, dword [ebp - 0x140]
cmp ecx, edx
je 0x6fe8d8
mov eax, dword [ebp - 0x134]
movzx eax, word [eax + 0x38]
cmp ax, word [ebp - 0x144]
jne 0x6fe797
mov eax, dword [ebp - 0x134]
mov al, byte [eax + 0x2f]
test al, al
je 0x6fe584
xor ecx, ecx
inc ecx
cmp al, cl
jne 0x6fe8d8
cmp edx, dword [esi + 0x4c]
jne 0x6fe8d8
mov edx, dword [ebp - 0x134]
xor eax, eax
mov cl, byte [edx + 0x2e]
cmp cl, 0xfe
sete al
mov dword [ebp - 0x14c], eax
cmp cl, 0xfd
jne 0x6fe5a8
push 2
pop esi
jmp 0x6fe6fc
cmp cl, 0xfc
jne 0x6fe6f6
movzx eax, word [edx + 0x24]
lea ecx, [ebp - 0x160]
sub esp, 0xc
movd xmm0, eax
movzx eax, word [edx + 0x22]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x7bd180]
movss dword [esp + 8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov dword [esp + 4], 0x3f800000
addss xmm0, dword [0x7bd180]
movss dword [esp], xmm0
call fcn.0053a1a0
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0xdc]
sub esp, 0xc
movss xmm0, dword [eax + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x7c5060]
addss xmm0, dword [eax + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0xdc
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], 9
test eax, eax
je 0x6fe6d1
push esi
mov ecx, eax
call fcn.00538fda
sub esp, 0xc
lea ecx, [ebp - 0x1ec]
and dword [esp + 8], 0
and dword [esp + 4], 0
and dword [esp], 0
call fcn.0053a1a0
push ecx
and dword [esp], 0
mov esi, eax
push 5
pop ecx
push ecx
push ecx
mov dword [esp], 0x3f800000
mov ecx, 0x3e8
push ecx
push 0xff222299
push 0xff5555ff
sub esp, 0xc
mov ecx, dword [ebp - 0x148]
mov edi, esp
push dword [ebp - 0xcc]
movsd dword es:[edi], dword [esi]
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053baa0
jmp 0x6fe6d3
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x13c]
test eax, eax
je 0x6fe8d8
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x6fe8d8
push eax
jmp 0x6fe78d
mov esi, dword [ebp - 0x14c]
push 0x90
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1a8], eax
push 0xa
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6fe76f
push 0x90
mov ecx, eax
call fcn.0053b3ed
mov eax, dword [ebp - 0xcc]
lea ecx, [ebp - 0x190]
sub esp, 0xc
movss xmm0, dword [eax + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov ecx, dword [ebp - 0x1a8]
push esi
sub esp, 0xc
mov esi, eax
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00538ef9
mov edi, eax
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x13c]
test edi, edi
je 0x6fe8d8
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x6fe8d8
push edi
call fcn.0053b785
jmp 0x6fe8d8
cmp dword [ecx + 0x230], 0x38
mov word [ecx + 0x6d4], ax
mov eax, dword [ebp - 0x134]
movzx eax, byte [eax + 0x31]
mov word [ecx + 0x6d6], ax
mov dword [ecx + 0x6d0], ecx
jne 0x6fe877
cmp word [ecx + 0x172], di
jne 0x6fe877
movss xmm0, dword [ecx + 0x2c]
sub esp, 0xc
subss xmm0, dword [edx + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [ecx + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [ecx + 0x28]
lea ecx, [ebp - 0x174]
subss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
movss xmm0, dword [ebp - 0x16c]
lea ecx, [ebp - 0x19c]
mov esi, dword [ebp - 0x140]
sub esp, 0xc
cvtps2pd xmm0, xmm0
mov eax, dword [ebp - 0xcc]
mulsd xmm0, qword [0x7bed18]
cvtpd2ps xmm0, xmm0
addss xmm0, dword [esi + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x174]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x7bed18]
cvtpd2ps xmm0, xmm0
addss xmm0, dword [esi + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
lea edi, [esi + 0x6c4]
jmp 0x6fe8b1
movss xmm0, dword [ecx + 0x2c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [ecx + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [ecx + 0x28]
lea ecx, [ebp - 0x1bc]
movss dword [esp], xmm0
call fcn.0053a1a0
mov edi, dword [ebp - 0xcc]
add edi, 0x6c4
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [0xa6906c]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0xcc]
add eax, 0x1f4
mov esi, dword [ebp - 0x13c]
mov dword [ecx + 0x6c0], eax
mov ecx, dword [ebp - 0xd0]
add dword [ebp - 0x138], 8
inc ecx
mov dword [ebp - 0xd0], ecx
push 0
pop edi
cmp ecx, 0xd
jl 0x6fe4eb
jmp 0x6fa71f
mov esi, dword [ebp - 0x13c]
mov edx, eax
mov eax, dword [ebp - 0x134]
push 2
pop ecx
mov dword [ebp - 0x1a4], 0x39d
movzx eax, word [eax + 4]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x1ac], 0x39e
cmp ax, word [ebp - 0x1a4]
jne 0x6fe93a
cmp edx, 1
jge 0x6fe964
cmp ax, word [ebp - 0x1ac]
jne 0x6fe947
cmp edx, ecx
jge 0x6fe964
mov ecx, dword [esi + 0x4c]
movzx eax, word [edi]
cmp eax, dword [ecx + 0x20]
je 0x6fe9a3
mov eax, dword [ebp - 0x148]
inc edx
add edi, 8
push 2
pop ecx
cmp edx, 0xd
jl 0x6fe92c
mov edi, dword [ebp - 0x134]
push 0x37
pop ecx
movzx eax, word [edi + 0x38]
cmp ax, cx
jle 0x6fe97e
push 0x3f
pop ecx
cmp ax, cx
jg 0x6fe9a9
movss xmm0, dword [ebp - 0x194]
movss dword [ebp - 0x184], xmm0
movss xmm0, dword [ebp - 0x198]
movss dword [ebp - 0x1c4], xmm0
jmp 0x6fa725
mov edi, dword [ebp - 0x134]
movzx eax, word [edi + 0x24]
push ecx
push ecx
lea ecx, [ebp - 0x1b8]
movd xmm0, eax
movzx eax, word [edi + 0x22]
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movss dword [esp], xmm0
call fcn.005377ac
xor eax, eax
lea edi, [ebp - 0xe0]
stosd dword es:[edi], eax
push 0x10
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [0xa6905c]
mov edi, dword [ebp - 0x134]
mov ax, word [eax + 0x1130]
mov word [ebp - 0xda], ax
mov eax, 0x369
mov word [ebp - 0xdc], ax
movzx eax, word [edi + 0x2a]
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0xe0]
push eax
call fcn.00536b6d
pop ecx
pop ecx
jmp 0x6fe97e
movzx eax, word [edi + 0x28]
push ecx
push ecx
lea ecx, [ebp - 0x198]
movd xmm0, eax
movzx eax, word [edi + 0x26]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.005377ac
mov ecx, esi
push dword [eax + 4]
push dword [eax]
call fcn.005369c9
movss xmm1, dword [ebp - 0x184]
sub esp, 0xc
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm1
mulss xmm0, dword [0x7bd248]
addss xmm0, dword [0x7bd184]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x1c4]
lea ecx, [ebp - 0xdc]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
and dword [ebp - 0xd0], 0
lea edi, [ebp - 0x174]
push 3
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x134]
movsx eax, word [edi + 0x38]
imul eax, eax, 0x60
mov eax, dword [eax + 0x949144]
cmp eax, ecx
je 0x6fffee
push 4
pop ecx
cmp eax, ecx
je 0x6fffee
push 5
pop ecx
cmp eax, ecx
je 0x6fffee
push 6
pop ecx
cmp eax, ecx
je 0x6fffee
movss xmm0, dword [0x7c5140]
xor esi, esi
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [0x7bed48]
mov dword [ebp - 0xd0], esi
movss dword [ebp - 0x138], xmm0
movzx eax, word [edi + 4]
cmp ax, word [ebp - 0x1a4]
jne 0x6feb3c
xor eax, eax
inc eax
cmp esi, eax
jmp 0x6feb48
cmp ax, word [ebp - 0x1ac]
jne 0x6feb4e
cmp esi, 2
jge 0x6fff73
mov ecx, dword [0xa6905c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
movzx eax, word [edi + esi*8 + 0x3c]
push eax
call edx
mov esi, eax
mov dword [ebp - 0x178], esi
test esi, esi
je 0x6fff5d
movsx eax, byte [esi + 0xa71]
mov edi, dword [ebp - 0x13c]
test eax, eax
push 1
pop ecx
cmove eax, ecx
mov ecx, dword [edi + 0x4c]
mov dword [ebp - 0xcc], eax
test ecx, ecx
je 0x6febbc
cvttss2si eax, dword [esi + 0x2c]
push eax
cvttss2si eax, dword [esi + 0x28]
push eax
cvttss2si eax, dword [ecx + 0x2c]
push eax
cvttss2si eax, dword [ecx + 0x28]
push eax
call fcn.0053c0cc
add esp, 0x10
cmp eax, 0x14
jg 0x6fffdc
mov ecx, dword [ebp - 0x140]
cmp ecx, dword [edi + 0x4c]
jne 0x6febd7
mov eax, dword [ebp - 0x134]
cmp byte [eax + 0x2f], 0
jne 0x6ffe6b
mov ecx, dword [ebp - 0x134]
mov eax, dword [ebp - 0xd0]
mov edx, dword [ecx + eax*8 + 0x40]
mov dword [ebp - 0x11c], edx
cmp edx, 0xfffffffd
je 0x6ffc4a
cmp edx, 0xfffffffc
je 0x6ffc4a
movzx eax, word [ecx + 0x38]
cmp ax, word [ebp - 0x1c0]
ja 0x6fef05
cwde
imul eax, eax, 0x60
cmp dword [eax + 0x949154], 6
jne 0x6fef05
test edx, edx
jns 0x6fec2e
cmp edx, 0xfffffffa
jg 0x6fef05
cmp byte [ecx + 0x2f], 0
jne 0x6fed05
cmp dword [esi + 0x1dc], 0
jne 0x6fec66
mov eax, edx
mov ecx, dword [esi + 0x64c]
cdq
idiv dword [ebp - 0xcc]
sub ecx, eax
mov eax, dword [esi + 0x644]
cmp ecx, eax
cmovle eax, ecx
xor ecx, ecx
test eax, eax
cmovle eax, ecx
jmp 0x6fec9c
mov ecx, dword [esi + 0x1d8]
xor eax, eax
sub ecx, edx
cmp dword [esi + 0x1d8], edx
mov edx, 0x1d8
cmovne eax, ecx
mov ecx, esi
push 1
mov dword [ecx + edx], eax
mov ecx, dword [ebp - 0xcc]
test ecx, ecx
pop edx
cmove ecx, edx
xor edx, edx
div ecx
mov dword [ebp - 0xcc], ecx
cwde
mov dword [esi + 0x64c], eax
cmp esi, dword [edi + 0x4c]
jne 0x6fed05
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x134]
push 0xc
mov eax, dword [eax + ecx*8 + 0x40]
cdq
idiv dword [ebp - 0xcc]
movzx edx, word [edi + 0x26ee0]
add edx, eax
mov eax, 0x186a0
cmp edx, eax
cmovg edx, eax
xor ecx, ecx
test edx, edx
movzx eax, dx
cmovg ecx, eax
add esi, 0x634
mov word [edi + 0x26ee0], cx
mov edi, dword [0xa6905c]
add edi, 0x96c
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x13c]
mov esi, dword [ebp - 0x178]
movss xmm0, dword [esi + 0x2c]
xor eax, eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x11c], eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x124]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [esi + 0x30]
addss xmm0, dword [0x7bd184]
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 0x28]
movss dword [esp], xmm0
call fcn.005394df
add esp, 0x14
test eax, eax
je 0x6feeda
push 0x80
xor esi, esi
lea eax, [ebp - 0x98]
push esi
push eax
call fcn.00538b89
mov ecx, dword [ebp - 0x178]
add esp, 0xc
cvttss2si eax, dword [ecx + 0x28]
sar eax, 7
sub eax, 0x11
cmp eax, 2
ja 0x6fedea
cvttss2si eax, dword [ecx + 0x2c]
and eax, 0xffffff80
cmp eax, 0xe80
jle 0x6fedea
mov eax, dword [edi + 0x4c]
mov edi, dword [ebp - 0x134]
mov edx, dword [eax + 0x20]
movzx eax, word [edi + 0x2a]
mov edi, dword [ebp - 0x13c]
cmp eax, edx
jne 0x6fedbc
mov eax, 0x3e8
cmp dword [ecx + 0x20], eax
jae 0x6fedea
cmp dword [ecx + 0x20], edx
jne 0x6fedd5
mov ecx, dword [ebp - 0x134]
mov edx, 0x3e8
movzx eax, word [ecx + 0x2a]
cmp ax, dx
jae 0x6fedea
lea eax, [ebp - 0x98]
push 0x7c4c68
push eax
call fcn.0053d3a5
pop ecx
pop ecx
jmp 0x6fee1e
mov eax, dword [ebp - 0x134]
xor edx, edx
inc edx
movsx ecx, byte [eax + 0x30]
and ecx, edx
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, dword [eax + edx*8 + 0x40]
cdq
idiv ecx
neg eax
push eax
lea eax, [ebp - 0x98]
push str.__d
push eax
call fcn.0053d3a5
add esp, 0xc
cmp dword [0xa71214], esi
je 0x6fee4c
mov eax, dword [ebp - 0x140]
cmp eax, dword [edi + 0x4c]
mov ecx, dword [ebp - 0x178]
sete al
cmp ecx, dword [edi + 0x4c]
push 1
movzx eax, al
pop ecx
cmove eax, ecx
test al, al
je 0x6feed4
push 0x2a8
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], 0x2e
test eax, eax
je 0x6feec7
push 0x2a8
mov ecx, eax
call fcn.00537504
movss xmm0, dword [0x7fe1a0]
xor eax, eax
mulss xmm0, dword [ebp - 0x144]
xor ecx, ecx
push 2
push eax
push 0x5dc
inc ecx
push ecx
push eax
push ecx
mov ecx, dword [ebp - 0x11c]
cvttss2si eax, xmm0
mov dword [esp], 0x40000000
push 0xff5555ff
sub ecx, eax
lea eax, [ebp - 0x98]
push ecx
push dword [ebp - 0x124]
mov ecx, dword [ebp - 0x148]
push eax
call fcn.0053af88
mov esi, eax
mov ecx, dword [edi + 0x3c]
or dword [ebp - 4], 0xffffffff
push esi
call fcn.0053b785
mov esi, dword [ebp - 0x178]
mov edx, dword [ebp - 0x134]
mov ecx, dword [edi + 0x4c]
movzx eax, word [edx + 0x2a]
cmp eax, dword [ecx + 0x20]
jne 0x6ffd7a
push dword [edx + 0xc]
mov ecx, edi
push dword [edx + 0x1c]
push dword [edx + 0x18]
call fcn.00536262
jmp 0x6ffd74
cmp byte [ecx + 0x2f], 0
jne 0x6ff017
cmp edx, 0xf4240
jle 0x6fef21
xor edx, edx
mov dword [ebp - 0x11c], edx
jmp 0x6fef2b
mov dword [ebp - 0x180], edx
test edx, edx
js 0x6fef6e
cmp dword [esi + 0x1dc], 0
jne 0x6fef53
mov eax, edx
mov ecx, dword [esi + 0x64c]
cdq
idiv dword [ebp - 0xcc]
push 0
mov dword [ebp - 0x11c], eax
sub ecx, eax
pop eax
cmovns eax, ecx
jmp 0x6fef68
sub dword [esi + 0x1d8], edx
xor edx, edx
mov eax, dword [esi + 0x1d8]
div dword [ebp - 0xcc]
cwde
mov dword [esi + 0x64c], eax
xor edx, edx
cmp dword [esi + 0x64c], edx
jge 0x6fef7e
mov dword [esi + 0x64c], edx
cmp esi, dword [edi + 0x4c]
jne 0x6ff019
movzx ecx, word [edi + 0x26ee0]
mov edi, dword [ebp - 0x134]
mov eax, ecx
mov esi, dword [ebp - 0xd0]
sub eax, dword [edi + esi*8 + 0x40]
mov edi, dword [ebp - 0x13c]
test eax, eax
jle 0x6fefb5
sub ecx, dword [ebp - 0x11c]
movzx eax, cx
jmp 0x6fefb7
mov eax, edx
mov ecx, edi
mov esi, 0x26ee0
mov word [ecx + esi], ax
mov ecx, 0x3e8
mov eax, dword [ebp - 0x134]
mov esi, dword [ebp - 0x178]
cmp word [eax + 0x2a], cx
jbe 0x6feff2
mov eax, dword [eax + 0x10]
test eax, eax
jle 0x6fefe6
sub dword [edi + 0x26ee4], eax
mov eax, dword [edi + 0x26ee4]
mov dword [esi + 0x650], eax
mov edi, dword [0xa6905c]
add esi, 0x634
push 0xc
add edi, 0x96c
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x13c]
mov esi, dword [ebp - 0x178]
jmp 0x6ff019
xor edx, edx
cmp dword [esi + 0x230], 0x38
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x124], edx
mov ax, word [eax + 0x2a]
mov word [esi + 0x868], ax
jne 0x6ff095
cmp word [esi + 0x172], dx
jne 0x6ff095
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x6ff095
movss xmm4, dword [0x7bd180]
movss xmm0, dword [esi + 0x28]
movss xmm2, dword [eax + 0x28]
movss xmm3, dword [eax + 0x2c]
movss xmm1, dword [esi + 0x30]
subss xmm1, dword [0x7bd184]
mulss xmm0, xmm4
mulss xmm2, xmm4
mulss xmm3, xmm4
addss xmm2, xmm0
movss xmm0, dword [esi + 0x2c]
mulss xmm0, xmm4
addss xmm3, xmm0
jmp 0x6ff0ac
movss xmm1, dword [esi + 0x30]
movss xmm2, dword [esi + 0x28]
addss xmm1, dword [0x7bd184]
movss xmm3, dword [esi + 0x2c]
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0x11c]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm1
movss dword [esp], xmm2
call fcn.005394df
add esp, 0x14
test eax, eax
je 0x6ffd74
cmp dword [ebp - 0x140], 0
je 0x7019ae
mov edx, dword [ebp - 0x134]
and dword [ebp - 0x164], 0
mov cl, byte [edx + 0x30]
movsx eax, cl
and eax, 1
mov byte [ebp - 0x179], cl
add eax, 1
je 0x6ffd7a
mov eax, dword [ebp - 0x134]
xor edx, edx
mov dword [ebp - 0x130], edx
test cl, 4
je 0x6ff12c
mov edx, dword [eax + 0x48]
mov dword [ebp - 0x130], edx
mov edi, dword [ebp - 0xd0]
movsx ecx, cl
and ecx, 1
inc ecx
mov eax, dword [eax + edi*8 + 0x40]
sub eax, edx
mov edi, dword [ebp - 0x13c]
cdq
idiv ecx
xor ecx, ecx
cmp eax, 0xf4240
cmovle ecx, eax
mov dword [ebp - 0x12c], ecx
test ecx, ecx
jle 0x6ffc1a
push 0x80
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.00538b89
cvttss2si ecx, dword [esi + 0x28]
add esp, 0xc
sar ecx, 7
lea eax, [ecx - 0x11]
cmp eax, 2
ja 0x6ff1de
cvttss2si eax, dword [esi + 0x2c]
push 0x1d
pop edx
sar eax, 7
cmp eax, edx
jle 0x6ff1de
cmp ecx, 0x12
jne 0x6ff1a1
push 0x1e
pop ecx
cmp eax, ecx
je 0x6ff1de
mov eax, dword [ebp - 0x134]
movzx edx, word [eax + 0x2a]
mov eax, dword [edi + 0x4c]
mov ecx, dword [eax + 0x20]
mov eax, 0x3e8
cmp edx, ecx
jne 0x6ff1bf
cmp dword [esi + 0x20], eax
jae 0x6ff1de
cmp dword [esi + 0x20], ecx
jne 0x6ff1c9
cmp dx, ax
jae 0x6ff1de
lea eax, [ebp - 0x98]
push 0x7c4c68
push eax
call fcn.0053d3a5
pop ecx
pop ecx
jmp 0x6ff238
test byte [ebp - 0x179], 4
je 0x6ff21e
cmp dword [ebp - 0x164], 0
jne 0x6ff21e
mov edx, dword [ebp - 0x134]
cmp dword [edx + 0x48], 0
jle 0x6ff23e
push dword [ebp - 0x130]
lea eax, [ebp - 0x98]
push dword [ebp - 0x12c]
push str._d___d
push eax
call fcn.0053d3a5
add esp, 0x10
jmp 0x6ff238
push dword [ebp - 0x12c]
lea eax, [ebp - 0x98]
push 0x7bd12c
push eax
call fcn.0053d3a5
add esp, 0xc
mov edx, dword [ebp - 0x134]
cmp dword [0xa71214], 0
je 0x6ff258
mov eax, dword [ebp - 0x140]
cmp eax, dword [edi + 0x4c]
sete cl
cmp esi, dword [edi + 0x4c]
jne 0x6ff25d
xor eax, eax
lea ecx, [eax + 1]
movzx eax, word [edx + 0x26]
mov dword [ebp - 0x14c], 0x469
cmp ax, word [ebp - 0x14c]
jne 0x6ff39f
mov esi, 0x6ab
cmp word [edx + 0x28], si
mov esi, dword [ebp - 0x178]
je 0x6ffa94
mov dword [ebp - 0x14c], 0x446
cmp ax, word [ebp - 0x14c]
jne 0x6ff2af
mov eax, 0x69a
cmp word [edx + 0x28], ax
je 0x6ffa94
test cl, cl
je 0x6ffa94
mov ecx, dword [ebp - 0xd0]
test ecx, ecx
jle 0x6ff6b2
mov ax, word [edx + ecx*8 + 0x3c]
cmp ax, word [edx + ecx*8 + 0x34]
jne 0x6ff6b2
mov eax, dword [edi + 0x4c]
push 0x2a8
and dword [eax + 0xb6c], 0
test byte [edx + 0x30], 2
jne 0x6ff51f
cmp esi, dword [edi + 0x4c]
jne 0x6ff3c0
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 4], 0x2f
test eax, eax
je 0x6ffa44
push 0x2a8
mov ecx, eax
call fcn.00537504
mov edx, dword [ebp - 0x164]
movss xmm2, dword [0x7fe1a0]
movd xmm1, dword [ebp - 0x124]
movaps xmm0, xmm2
mulss xmm0, dword [ebp - 0x138]
push 4
pop eax
push eax
push edx
xor eax, eax
push 0x4b0
inc eax
push eax
imul eax, edx, 0x14
cvtdq2ps xmm1, xmm1
push 0
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
mulss xmm2, dword [ebp - 0x144]
subss xmm1, xmm0
cvttss2si eax, xmm2
cvttss2si ecx, xmm1
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1a8]
push 2
pop eax
sub eax, edx
imul eax, eax, 0xa
add eax, dword [ebp - 0x11c]
push eax
jmp 0x6ffa34
mov dword [ebp - 0x14c], 0x45c
cmp ax, word [ebp - 0x14c]
jne 0x6ff28d
mov eax, 0x6ab
jmp 0x6ff2a5
mov eax, 0x96
cmp word [edx + 0x38], ax
ja 0x6ff477
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 4], 0x31
test eax, eax
je 0x6ffa44
push 0x2a8
mov ecx, eax
call fcn.00537504
mov edx, dword [ebp - 0x164]
movss xmm2, dword [0x7fe1a0]
movd xmm1, dword [ebp - 0x124]
movaps xmm0, xmm2
mulss xmm0, dword [ebp - 0x138]
push 7
pop eax
push eax
push edx
xor eax, eax
push 0x4b0
inc eax
push eax
imul eax, edx, 0xffffffce
cvtdq2ps xmm1, xmm1
push 0
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
mulss xmm2, dword [ebp - 0x144]
subss xmm1, xmm0
cvttss2si eax, xmm2
cvttss2si ecx, xmm1
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1a0]
push 2
pop eax
sub eax, edx
imul eax, eax, 0xa
add eax, dword [ebp - 0x11c]
push eax
jmp 0x6ffa34
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 4], 0x30
test eax, eax
je 0x6ffa44
push 0x2a8
mov ecx, eax
call fcn.00537504
mov edx, dword [ebp - 0x164]
movss xmm2, dword [0x7fe1a0]
movd xmm1, dword [ebp - 0x124]
movaps xmm0, xmm2
mulss xmm0, dword [ebp - 0x138]
push 3
pop eax
push eax
push edx
xor eax, eax
push 0x4b0
inc eax
push eax
imul eax, edx, 0xffffffce
cvtdq2ps xmm1, xmm1
push 0
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
mulss xmm2, dword [ebp - 0x144]
subss xmm1, xmm0
cvttss2si eax, xmm2
cvttss2si ecx, xmm1
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1c8]
push 2
pop eax
sub eax, edx
imul eax, eax, 0xa
add eax, dword [ebp - 0x11c]
push eax
jmp 0x6ffa34
mov eax, dword [edi + 0x4c]
xor ecx, ecx
inc ecx
mov dword [eax + 0xb6c], ecx
mov eax, 0x96
cmp word [edx + 0x38], ax
ja 0x6ff5f3
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 4], 0x33
test eax, eax
je 0x6ffa44
push 0x2a8
mov ecx, eax
call fcn.00537504
mov eax, dword [ebp - 0x134]
mov edx, dword [ebp - 0x164]
movss xmm2, dword [0x7fe1a0]
push 2
movsx eax, byte [eax + 0x30]
movaps xmm0, xmm2
movd xmm1, dword [ebp - 0x124]
pop ecx
mulss xmm0, dword [0x7bfb40]
and eax, ecx
push ecx
push edx
push 4
pop ecx
add eax, ecx
imul eax, eax, 0x12c
cvtdq2ps xmm1, xmm1
push eax
imul eax, edx, 0xffffffce
subss xmm1, xmm0
push 9
push 0
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
mulss xmm2, dword [ebp - 0x144]
subss xmm1, xmm0
cvttss2si eax, xmm2
cvttss2si ecx, xmm1
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1cc]
push 2
pop eax
sub eax, edx
imul eax, eax, 0xa
add eax, dword [ebp - 0x11c]
push eax
jmp 0x6ffa34
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1d0], eax
push 0x32
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6ffa44
push 0x2a8
mov ecx, eax
call fcn.00537504
mov edx, dword [ebp - 0x164]
push 5
movss xmm2, dword [0x7fe1a0]
pop eax
push eax
mov eax, dword [ebp - 0x134]
movaps xmm0, xmm2
movd xmm1, dword [ebp - 0x124]
mulss xmm0, dword [0x7bfb40]
push edx
movsx eax, byte [eax + 0x30]
and eax, 2
imul ecx, eax, 0x1f4
lea eax, [edx + 1]
imul eax, eax, 0x44c
cvtdq2ps xmm1, xmm1
add ecx, eax
imul eax, edx, 0xffffffce
subss xmm1, xmm0
push ecx
push 9
push 0
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
mulss xmm2, dword [ebp - 0x144]
subss xmm1, xmm0
cvttss2si eax, xmm2
cvttss2si ecx, xmm1
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1d0]
push 2
pop eax
sub eax, edx
imul eax, eax, 0xa
add eax, dword [ebp - 0x11c]
push eax
jmp 0x6ffa34
mov eax, dword [edi + 0x4c]
push 0x2a8
and dword [eax + 0xb6c], 0
test byte [edx + 0x30], 2
je 0x6ff840
mov eax, dword [edi + 0x4c]
xor ecx, ecx
inc ecx
mov dword [eax + 0xb6c], ecx
mov eax, 0x96
cmp word [edx + 0x38], ax
ja 0x6ff795
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 4], 0x35
test eax, eax
je 0x6ffa44
push 0x2a8
mov ecx, eax
call fcn.00537504
mov eax, dword [ebp - 0x134]
mov edx, dword [ebp - 0x164]
movss xmm2, dword [0x7fe1a0]
movd xmm1, dword [ebp - 0x124]
movaps xmm0, xmm2
movzx eax, word [eax + 0x2a]
mulss xmm0, dword [ebp - 0x138]
and eax, 2
push 8
imul ecx, eax, 0x226
lea eax, [edx + 1]
imul eax, eax, 0x3e8
cvtdq2ps xmm1, xmm1
push edx
add ecx, eax
imul eax, edx, 0xffffffce
subss xmm1, xmm0
push ecx
push 9
push 0
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
mulss xmm2, dword [ebp - 0x144]
subss xmm1, xmm0
cvttss2si eax, xmm2
cvttss2si ecx, xmm1
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1d4]
jmp 0x6ffa2e
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1d8], eax
push 0x34
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6ffa44
push 0x2a8
mov ecx, eax
call fcn.00537504
mov ecx, dword [ebp - 0x164]
push 5
movss xmm2, dword [0x7fe1a0]
pop eax
push eax
mov eax, dword [ebp - 0x134]
movaps xmm0, xmm2
movd xmm1, dword [ebp - 0x124]
mulss xmm0, dword [0x7bfb40]
push ecx
movsx eax, byte [eax + 0x30]
and eax, 2
cvtdq2ps xmm1, xmm1
lea eax, [eax + ecx*2]
add eax, 2
imul eax, eax, 0x226
subss xmm1, xmm0
push eax
imul eax, ecx, 0xffffffc4
push 9
push 0
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
mulss xmm2, dword [0x7c5144]
subss xmm1, xmm0
cvttss2si eax, xmm2
cvttss2si ecx, xmm1
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1d8]
jmp 0x6ffa2e
cmp esi, dword [edi + 0x4c]
jne 0x6ff8e7
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 4], 0x36
test eax, eax
je 0x6ffa44
push 0x2a8
mov ecx, eax
call fcn.00537504
mov ecx, dword [ebp - 0x164]
movss xmm2, dword [0x7fe1a0]
movd xmm1, dword [ebp - 0x124]
movaps xmm0, xmm2
mulss xmm0, dword [0x7bfb40]
push 4
pop eax
push eax
lea eax, [ecx + 1]
imul eax, eax, 0x3e8
push ecx
cvtdq2ps xmm1, xmm1
push eax
xor eax, eax
inc eax
push eax
imul eax, ecx, 0x14
subss xmm1, xmm0
push 0
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
mulss xmm2, dword [0x7c513c]
subss xmm1, xmm0
cvttss2si eax, xmm2
cvttss2si ecx, xmm1
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1dc]
jmp 0x6ffa2e
mov eax, 0x96
cmp word [edx + 0x38], ax
ja 0x6ff994
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 4], 0x38
test eax, eax
je 0x6ffa44
push 0x2a8
mov ecx, eax
call fcn.00537504
mov ecx, dword [ebp - 0x164]
movss xmm2, dword [0x7fe1a0]
movd xmm1, dword [ebp - 0x124]
movaps xmm0, xmm2
mulss xmm0, dword [0x7bfb40]
push 7
pop eax
push eax
lea eax, [ecx + 1]
imul eax, eax, 0x3e8
push ecx
cvtdq2ps xmm1, xmm1
push eax
xor eax, eax
inc eax
push eax
imul eax, ecx, 0xffffffce
subss xmm1, xmm0
push 0
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
mulss xmm2, dword [0x7c513c]
subss xmm1, xmm0
cvttss2si eax, xmm2
cvttss2si ecx, xmm1
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1e0]
jmp 0x6ffa2e
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1b0], eax
push 0x37
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6ffa44
push 0x2a8
mov ecx, eax
call fcn.00537504
mov ecx, dword [ebp - 0x164]
movss xmm2, dword [0x7fe1a0]
movd xmm1, dword [ebp - 0x124]
movaps xmm0, xmm2
mulss xmm0, dword [0x7bfb40]
push 3
pop eax
push eax
imul eax, ecx, 0x44c
push ecx
cvtdq2ps xmm1, xmm1
add eax, 0x578
push eax
xor eax, eax
inc eax
subss xmm1, xmm0
push eax
imul eax, ecx, 0xffffffce
push 0
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
mulss xmm2, dword [0x7c513c]
subss xmm1, xmm0
cvttss2si eax, xmm2
cvttss2si ecx, xmm1
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1b0]
push dword [ebp - 0x11c]
lea eax, [ebp - 0x98]
push eax
call fcn.0053af88
mov ecx, eax
jmp 0x6ffa46
xor ecx, ecx
or dword [ebp - 4], 0xffffffff
cmp dword [esi + 0x230], 0x38
jne 0x6ffa8b
xor eax, eax
cmp word [esi + 0x172], ax
jne 0x6ffa8b
mov eax, dword [ebp - 0x140]
cmp eax, dword [edi + 0x4c]
je 0x6ffa8b
test ecx, ecx
je 0x6ffa8b
push 5
pop eax
mov dword [ecx + 0xd4], 0x3f000000
cmp dword [ecx + 0xac], eax
jne 0x6ffa8b
push 6
pop eax
mov dword [ecx + 0xac], eax
push ecx
mov ecx, dword [edi + 0x3c]
call fcn.0053b785
cmp esi, dword [edi + 0x4c]
jne 0x6ffab9
mov eax, dword [ebp - 0x140]
add eax, 0xfc
push eax
lea eax, [edi + 0x277cc]
push 0x7b9eb8
push eax
call fcn.0053d3a5
add esp, 0xc
xor eax, eax
inc eax
cmp byte [esi + 0xa60], al
jne 0x6ffc1a
push 0xcc
call fcn.00537b1c
mov edi, eax
pop ecx
mov dword [ebp - 0x194], edi
mov dword [ebp - 4], 0x39
test edi, edi
je 0x6ffb14
push 0xcc
mov ecx, edi
call fcn.0053783d
movss xmm0, dword [esi + 0x34]
push 4
pop eax
push eax
push ecx
movss dword [esp], xmm0
mov ecx, edi
push 0xff999999
push 0xb16
call fcn.00539d95
jmp 0x6ffb16
xor eax, eax
or dword [ebp - 4], 0xffffffff
lea edi, [eax + 0x74]
mov ecx, 0x1f4
mov dword [eax + 0xa4], 0x19d
mov dword [eax + 0xb0], ecx
sub esp, 0xc
mov dword [eax + 0xb8], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x12c], eax
mov eax, dword [esi + 0x5c]
cmp byte [esi + 0xa63], cl
jne 0x6ffb90
movss xmm0, dword [esi + 0x58]
lea ecx, [ebp - 0xdc]
movss dword [esp + 8], xmm0
movss xmm0, dword [esi + 0x38]
mulss xmm0, dword [eax*8 + 0x259caf4]
mulss xmm0, dword [0x7bd180]
addss xmm0, dword [esi + 0x54]
subss xmm0, dword [0x7bece4]
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 0x50]
jmp 0x6ffbcf
movss xmm0, dword [esi + 0x2c]
lea ecx, [ebp - 0x1ec]
movss dword [esp + 8], xmm0
movss xmm0, dword [esi + 0x38]
mulss xmm0, dword [eax*8 + 0x259caf4]
mulss xmm0, dword [0x7bd180]
addss xmm0, dword [esi + 0x30]
addss xmm0, dword [0x7bece4]
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
xor ecx, ecx
mov eax, dword [ebp - 0x12c]
inc ecx
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x13c]
mov dword [eax + 0x98], 0x40200000
mov dword [eax + 0x9c], 0x40200000
mov dword [eax + 0x6c], ecx
mov byte [eax + 0xac], 0
mov ecx, dword [edi + 0x2c]
call fcn.0053b785
mov esi, dword [ebp - 0x178]
mov eax, dword [ebp - 0x134]
mov edx, dword [ebp - 0x164]
inc edx
mov dword [ebp - 0x164], edx
mov cl, byte [eax + 0x30]
movsx eax, cl
and eax, 1
mov byte [ebp - 0x179], cl
inc eax
cmp edx, eax
jl 0x6ff110
jmp 0x6ffd74
movss xmm0, dword [esi + 0x2c]
xor eax, eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x130]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [esi + 0x30]
addss xmm0, dword [0x7bd184]
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 0x28]
movss dword [esp], xmm0
call fcn.005394df
add esp, 0x14
test eax, eax
je 0x6ffd74
cmp dword [0xa71214], 0
je 0x6ffcbb
mov eax, dword [ebp - 0x140]
cmp eax, dword [edi + 0x4c]
sete al
cmp esi, dword [edi + 0x4c]
jne 0x6ffcbe
xor eax, eax
inc eax
test al, al
je 0x6ffd74
push 0x80
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.00538b89
lea eax, [ebp - 0x98]
push str.miss
push eax
call fcn.0053d3a5
push 0x2a8
call fcn.00537b1c
add esp, 0x18
mov dword [ebp - 0x1b4], eax
push 0x2d
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x6ffd65
push 0x2a8
mov ecx, eax
call fcn.00537504
movss xmm0, dword [0x7fe1a0]
xor ecx, ecx
mulss xmm0, dword [ebp - 0x144]
inc ecx
push 4
pop eax
push eax
xor eax, eax
push eax
push 0x5dc
push ecx
push eax
push ecx
mov ecx, dword [ebp - 0x12c]
cvttss2si eax, xmm0
mov dword [esp], 0x40000000
push 0xffffffffffffffff
sub ecx, eax
lea eax, [ebp - 0x98]
push ecx
push dword [ebp - 0x130]
mov ecx, dword [ebp - 0x1b4]
push eax
call fcn.0053af88
jmp 0x6ffd67
xor eax, eax
mov ecx, dword [edi + 0x3c]
or dword [ebp - 4], 0xffffffff
push eax
call fcn.0053b785
mov edx, dword [ebp - 0x134]
xor eax, eax
cmp dword [esi + 0x64c], eax
jge 0x6ffd98
cmp byte [edx + 0x2f], al
jne 0x6ffd98
xor ecx, ecx
mov dword [esi + 0x64c], eax
mov word [edi + 0x26ee0], cx
mov ecx, dword [esi + 0x64c]
mov edx, dword [esi + 0x644]
cmp ecx, edx
jle 0x6ffdc1
mov edi, dword [ebp - 0x134]
cmp byte [edi + 0x2f], al
mov edi, dword [ebp - 0x13c]
jne 0x6ffdc1
mov dword [esi + 0x64c], edx
mov ecx, edx
cmp esi, dword [edi + 0x4c]
jne 0x6ffdde
mov edx, dword [ebp - 0x134]
cmp byte [edx + 0x2f], al
jne 0x6ffdde
mov eax, dword [0xa6905c]
mov dword [eax + 0x984], ecx
xor eax, eax
push eax
mov ecx, esi
call fcn.0053ae11
mov eax, dword [edi + 0x8b7bc]
test eax, eax
je 0x6ffe5f
mov ecx, dword [eax + 0x218]
xor edx, edx
mov dword [ebp - 0x14c], ecx
test ecx, ecx
jle 0x6ffe5f
lea ecx, [eax + 0x21c]
mov eax, dword [ecx]
mov edi, dword [esi + 0x20]
mov dword [ebp - 0x12c], eax
cmp dword [eax + 0xe84], edi
mov edi, dword [ebp - 0x13c]
je 0x6ffe31
push 4
pop eax
inc edx
add ecx, eax
cmp edx, dword [ebp - 0x14c]
jl 0x6ffe08
jmp 0x6ffe5f
mov ecx, dword [eax + 0xe9c]
push dword [esi + 0x644]
mov eax, dword [ecx]
call dword [eax + 0x8c]
mov eax, dword [ebp - 0x12c]
push dword [esi + 0x64c]
mov ecx, dword [eax + 0xe9c]
mov eax, dword [ecx]
call dword [eax + 0x88]
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x140]
movzx edx, word [eax + 0x38]
cmp dx, word [ebp - 0x1c0]
ja 0x6ffe9a
cmp dx, word [ebp - 0x1f0]
je 0x6ffe9a
movsx eax, dx
imul eax, eax, 0x60
cmp dword [eax + 0x949154], 8
je 0x7019ae
mov eax, dword [ebp - 0x134]
test ecx, ecx
je 0x6ffebb
mov edi, dword [ebp - 0x128]
cmp dword [ecx + 0x5c], 0xb
cmove edi, dword [ebp - 0x120]
mov dword [ebp - 0x128], edi
mov edi, dword [ebp - 0x13c]
mov al, byte [eax + 0x2e]
cmp al, 9
jbe 0x6ffece
mov eax, dword [ebp - 0x134]
mov byte [eax + 0x2e], 9
mov al, 9
cmp dx, word [ebp - 0x118]
movzx eax, al
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x128]
push 5
pop edx
cmove eax, edx
cmp ecx, dword [edi + 0x4c]
mov edi, dword [ebp - 0x134]
mov dword [ebp - 0x128], eax
jne 0x6fff01
cmp byte [edi + 0x2f], 0
jne 0x6fff5d
mov eax, dword [ebp - 0xd0]
movss xmm0, dword [ebp - 0x1c4]
mov eax, dword [edi + eax*8 + 0x40]
cdq
idiv dword [ebp - 0xcc]
movss dword [esi + 0x6b8], xmm0
movss xmm0, dword [ebp - 0x184]
mov dword [esi + 0x6b4], eax
movss dword [esi + 0x6bc], xmm0
mov ecx, dword [0xa6906c]
mov eax, dword [ecx]
call dword [eax + 8]
imul ecx, dword [ebp - 0x128], 6
add ecx, dword [ebp - 0x14c]
add eax, dword [ecx*4 + 0x7c3b98]
mov dword [esi + 0x6b0], eax
mov esi, dword [ebp - 0xd0]
inc esi
mov dword [ebp - 0xd0], esi
cmp esi, 0xd
jl 0x6feb28
mov esi, dword [ebp - 0x134]
cmp byte [esi + 0x2f], 0
jne 0x7019ae
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ecx + 0x4c]
cmp dword [ebp - 0x140], edx
jne 0x70193b
mov esi, dword [esi + 0x10]
movzx eax, word [ecx + 0x26ee0]
mov dword [ecx + 0x26ee4], esi
movzx edi, word [edx + 0x64c]
mov edx, edi
mov dword [ebp - 0x180], edx
mov edx, eax
mov dword [ebp - 0x1b4], edx
mov edx, dword [ecx + 0x4c]
cmp ax, di
jae 0x7018fc
mov eax, edi
mov word [ecx + 0x26ee0], di
movzx edi, ax
jmp 0x701902
push str.____damage_font_error_distance_:__d_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
jmp 0x7019b1
movzx eax, word [edi + 0x28]
push ecx
push ecx
lea ecx, [ebp - 0x198]
movd xmm0, eax
movzx eax, word [edi + 0x26]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.005377ac
mov ecx, dword [ebp - 0x13c]
push dword [eax + 4]
push dword [eax]
call fcn.005369c9
sub esp, 0xc
lea ecx, [ebp - 0xdc]
movd xmm1, eax
movzx eax, word [edi + 0x28]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movzx eax, word [edi + 0x26]
mulss xmm1, dword [0x7bd248]
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call fcn.0053a1a0
mov ecx, dword [ebp - 0x134]
lea edi, [ebp - 0x190]
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x140]
cmp edi, dword [esi + 0x4c]
jne 0x70009c
cmp byte [ecx + 0x2f], 0
jne 0x700e92
xor edi, edi
mov dword [ebp - 0x164], edi
movzx eax, word [ecx + 4]
mov edx, dword [ebp - 0x1a4]
cmp ax, dx
jne 0x7000bc
cmp edi, 1
jge 0x700efb
cmp ax, word [ebp - 0x1ac]
jne 0x7000ce
cmp edi, 2
jge 0x700efb
mov ecx, dword [0xa6905c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0x134]
movzx eax, word [eax + edi*8 + 0x3c]
push eax
call edx
mov edi, eax
mov dword [ebp - 0x144], edi
test edi, edi
je 0x700e70
movsx ecx, byte [edi + 0xa71]
mov edx, dword [ebp - 0x164]
test ecx, ecx
push 1
pop eax
cmove ecx, eax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x184], ecx
mov edx, dword [eax + edx*8 + 0x40]
cmp edx, 0xfffffffd
je 0x700c66
cmp edx, 0xfffffffc
je 0x700c66
movzx eax, word [eax + 0x38]
cmp ax, word [ebp - 0x1c0]
ja 0x7003dd
cwde
imul eax, eax, 0x60
cmp dword [eax + 0x949154], 6
jne 0x7003dd
test edx, edx
jns 0x70015d
cmp edx, 0xfffffffa
jg 0x7003dd
mov eax, dword [ebp - 0x134]
cmp byte [eax + 0x2f], 0
jne 0x7001fe
mov eax, edx
cdq
idiv ecx
mov ecx, dword [edi + 0x64c]
mov edx, edi
sub ecx, eax
test ecx, ecx
cmovg edx, edi
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, 0x64c
mov dword [edx + ecx], eax
cmp edi, dword [esi + 0x4c]
jne 0x7001fe
mov edx, dword [ebp - 0x134]
mov edi, dword [ebp - 0x164]
movzx ecx, word [esi + 0x26ee0]
mov eax, ecx
sub eax, dword [edx + edi*8 + 0x40]
test eax, eax
jg 0x7001b6
xor eax, eax
jmp 0x7001cc
mov eax, dword [ebp - 0x164]
mov eax, dword [edx + eax*8 + 0x40]
cdq
idiv dword [ebp - 0x184]
sub ecx, eax
movzx eax, cx
mov ecx, 0x26ee0
push 0xc
mov word [esi + ecx], ax
mov esi, dword [ebp - 0x144]
mov edi, dword [0xa6905c]
add esi, 0x634
add edi, 0x96c
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x144]
movss xmm0, dword [edi + 0x2c]
xor eax, eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x120]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x30]
addss xmm0, dword [0x7bd184]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [esp], xmm0
call fcn.005394df
add esp, 0x14
test eax, eax
je 0x7003b2
push 0x80
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.00538b89
cvttss2si eax, dword [edi + 0x28]
add esp, 0xc
sar eax, 7
sub eax, 0x11
cmp eax, 2
ja 0x7002c7
cvttss2si eax, dword [edi + 0x2c]
and eax, 0xffffff80
cmp eax, 0xe80
jle 0x7002c7
mov eax, dword [ebp - 0x134]
movzx edx, word [eax + 0x2a]
mov eax, dword [esi + 0x4c]
mov ecx, dword [eax + 0x20]
mov eax, 0x3e8
cmp edx, ecx
jne 0x7002a8
cmp dword [edi + 0x20], eax
jae 0x7002c7
cmp dword [edi + 0x20], ecx
jne 0x7002b2
cmp dx, ax
jae 0x7002c7
lea eax, [ebp - 0x98]
push 0x7c4c68
push eax
call fcn.0053d3a5
pop ecx
pop ecx
jmp 0x7002fb
mov eax, dword [ebp - 0x134]
xor edx, edx
inc edx
movsx ecx, byte [eax + 0x30]
and ecx, edx
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, dword [eax + edx*8 + 0x40]
cdq
idiv ecx
neg eax
push eax
lea eax, [ebp - 0x98]
push str.__d
push eax
call fcn.0053d3a5
add esp, 0xc
cmp dword [0xa71214], 0
je 0x700324
mov eax, dword [ebp - 0x140]
cmp eax, dword [esi + 0x4c]
push 1
sete al
cmp edi, dword [esi + 0x4c]
movzx eax, al
pop ecx
cmove eax, ecx
test al, al
je 0x7003b2
push 0x2a8
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 4], 0x3b
test eax, eax
je 0x7003a3
push 0x2a8
mov ecx, eax
call fcn.00537504
movss xmm0, dword [0x7fe1a0]
xor eax, eax
mulss xmm0, dword [0x7c5140]
inc eax
push 2
push 0
push 0x5dc
push eax
push dword [ebp - 0xd0]
cvttss2si eax, xmm0
push ecx
mov ecx, dword [ebp - 0x118]
mov dword [esp], 0x40000000
push 0xff5555ff
sub ecx, eax
lea eax, [ebp - 0x98]
push ecx
push dword [ebp - 0x120]
mov ecx, dword [ebp - 0x1b4]
push eax
call fcn.0053af88
jmp 0x7003a5
xor eax, eax
mov ecx, dword [esi + 0x3c]
or dword [ebp - 4], 0xffffffff
push eax
call fcn.0053b785
mov edx, dword [ebp - 0x134]
mov ecx, dword [esi + 0x4c]
movzx eax, word [edx + 0x2a]
cmp eax, dword [ecx + 0x20]
jne 0x700d9b
push dword [edx + 0xc]
mov ecx, esi
push dword [edx + 0x1c]
push dword [edx + 0x18]
call fcn.00536262
jmp 0x700d95
mov ecx, dword [ebp - 0x134]
cmp byte [ecx + 0x2f], 0
jne 0x7004c0
xor ecx, ecx
cmp dword [edi + 0x1dc], ecx
jne 0x700418
mov eax, edx
cdq
idiv dword [ebp - 0x184]
mov edx, dword [edi + 0x64c]
sub edx, eax
xor eax, eax
test edx, edx
cmovg eax, edx
mov edx, 0x64c
add edx, edi
jmp 0x700441
mov eax, dword [edi + 0x1d8]
cmp eax, edx
jne 0x700426
mov eax, ecx
jmp 0x700428
sub eax, edx
lea edx, [edi + 0x1d8]
mov esi, edx
mov dword [ebp - 0x118], edx
mov dword [esi], eax
movsx eax, word [edx]
lea edx, [edi + 0x64c]
mov esi, dword [ebp - 0x13c]
mov dword [edx], eax
cmp edi, dword [esi + 0x4c]
jne 0x7004c2
movzx eax, word [esi + 0x26ee0]
mov edi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x1b0], eax
movzx eax, ax
sub eax, dword [edx + edi*8 + 0x40]
mov edi, dword [ebp - 0x144]
test eax, eax
jle 0x700494
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [edx + eax*8 + 0x40]
cdq
idiv dword [ebp - 0x184]
sub ecx, eax
movzx ecx, cx
mov eax, 0x26ee0
push 0xc
mov word [eax + esi], cx
lea esi, [edi + 0x634]
mov edi, dword [0xa6905c]
add edi, 0x96c
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x144]
xor ecx, ecx
cmp dword [edi + 0x230], 0x38
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0x128], ecx
mov ax, word [eax + 0x2a]
mov word [edi + 0x868], ax
jne 0x70053e
cmp word [edi + 0x172], cx
jne 0x70053e
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x70053e
movss xmm4, dword [0x7bd180]
movss xmm0, dword [edi + 0x28]
movss xmm2, dword [eax + 0x28]
movss xmm3, dword [eax + 0x2c]
movss xmm1, dword [edi + 0x30]
subss xmm1, dword [0x7bd184]
mulss xmm0, xmm4
mulss xmm2, xmm4
mulss xmm3, xmm4
addss xmm2, xmm0
movss xmm0, dword [edi + 0x2c]
mulss xmm0, xmm4
addss xmm3, xmm0
jmp 0x700555
movss xmm1, dword [edi + 0x30]
movss xmm2, dword [edi + 0x28]
addss xmm1, dword [0x7bd184]
movss xmm3, dword [edi + 0x2c]
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0xcc]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm1
movss dword [esp], xmm2
call fcn.005394df
add esp, 0x14
test eax, eax
je 0x700d95
cmp dword [ebp - 0x140], 0
je 0x7019ae
mov edx, dword [ebp - 0x134]
and dword [ebp - 0x184], 0
mov cl, byte [edx + 0x30]
movsx eax, cl
and eax, 1
add eax, 1
je 0x700d9b
xor eax, eax
movsx ecx, cl
inc eax
and ecx, eax
mov eax, dword [ebp - 0x164]
inc ecx
mov eax, dword [edx + eax*8 + 0x40]
cdq
idiv ecx
mov dword [ebp - 0x1b0], eax
test eax, eax
jle 0x700c3f
push 0x80
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.00538b89
cvttss2si ecx, dword [edi + 0x28]
add esp, 0xc
sar ecx, 7
lea eax, [ecx - 0x11]
cmp eax, 2
ja 0x700655
cvttss2si eax, dword [edi + 0x2c]
push 0x1d
pop edx
sar eax, 7
cmp eax, edx
jle 0x700655
cmp ecx, 0x12
jne 0x700618
push 0x1e
pop ecx
cmp eax, ecx
je 0x700655
mov eax, dword [ebp - 0x134]
movzx edx, word [eax + 0x2a]
mov eax, dword [esi + 0x4c]
mov ecx, dword [eax + 0x20]
mov eax, 0x3e8
cmp edx, ecx
jne 0x700636
cmp dword [edi + 0x20], eax
jae 0x700655
cmp dword [edi + 0x20], ecx
jne 0x700640
cmp dx, ax
jae 0x700655
lea eax, [ebp - 0x98]
push 0x7c4c68
push eax
call fcn.0053d3a5
pop ecx
pop ecx
jmp 0x70066f
push dword [ebp - 0x1b0]
lea eax, [ebp - 0x98]
push 0x7bd12c
push eax
call fcn.0053d3a5
add esp, 0xc
mov eax, dword [ebp - 0x134]
movzx eax, word [eax + 0x38]
mov ecx, eax
mov dword [ebp - 0x1b0], ecx
cmp ax, 0x4f
jne 0x700694
imul eax, dword [ebp - 0x164], 0x64
add dword [ebp - 0xd0], eax
cmp dword [0xa71214], 0
mov edx, dword [esi + 0x4c]
je 0x7006c5
mov ecx, dword [ebp - 0x140]
cmp ecx, edx
sete al
cmp edi, edx
movzx eax, al
cmove eax, dword [ebp - 0x12c]
test al, al
je 0x700ab2
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x134]
push 0x2a8
test byte [eax + 0x30], 2
jne 0x7008d0
cmp edi, edx
jne 0x700782
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 4], 0x3c
test eax, eax
je 0x700a5c
push 0x2a8
mov ecx, eax
call fcn.00537504
mov edx, dword [ebp - 0x164]
movd xmm1, dword [ebp - 0x128]
push 4
pop eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
push eax
push 0
push 0x4b0
xor eax, eax
cvtdq2ps xmm1, xmm1
inc eax
push eax
mulss xmm0, dword [0x7bed48]
push dword [ebp - 0xd0]
subss xmm1, xmm0
movss xmm0, dword [0x7fe1a0]
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
mulss xmm1, xmm0
mulss xmm0, dword [0x7c5140]
cvttss2si ecx, xmm1
cvttss2si eax, xmm0
sub ecx, eax
imul eax, edx, 0xa
push ecx
mov ecx, dword [ebp - 0xcc]
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1e0]
jmp 0x700a4c
mov eax, 0x96
cmp cx, ax
ja 0x700830
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 4], 0x3e
test eax, eax
je 0x700a5c
push 0x2a8
mov ecx, eax
call fcn.00537504
mov edx, dword [ebp - 0x164]
movd xmm1, dword [ebp - 0x128]
push 7
pop eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
push eax
push 0
push 0x4b0
xor eax, eax
cvtdq2ps xmm1, xmm1
inc eax
push eax
mulss xmm0, dword [0x7bed48]
push dword [ebp - 0xd0]
subss xmm1, xmm0
movss xmm0, dword [0x7fe1a0]
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
mulss xmm1, xmm0
mulss xmm0, dword [0x7c5140]
cvttss2si ecx, xmm1
cvttss2si eax, xmm0
sub ecx, eax
imul eax, edx, 0xa
push ecx
mov ecx, dword [ebp - 0xcc]
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1dc]
jmp 0x700a4c
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 4], 0x3d
test eax, eax
je 0x700a5c
push 0x2a8
mov ecx, eax
call fcn.00537504
mov edx, dword [ebp - 0x164]
movd xmm1, dword [ebp - 0x128]
push 3
pop eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
push eax
push 0
push 0x4b0
xor eax, eax
cvtdq2ps xmm1, xmm1
inc eax
push eax
mulss xmm0, dword [0x7bed48]
push dword [ebp - 0xd0]
subss xmm1, xmm0
movss xmm0, dword [0x7fe1a0]
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
mulss xmm1, xmm0
mulss xmm0, dword [0x7c5140]
cvttss2si ecx, xmm1
cvttss2si eax, xmm0
sub ecx, eax
imul eax, edx, 0xa
push ecx
mov ecx, dword [ebp - 0xcc]
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1d8]
jmp 0x700a4c
mov eax, 0x96
cmp cx, ax
ja 0x700997
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 4], 0x40
test eax, eax
je 0x700a5c
push 0x2a8
mov ecx, eax
call fcn.00537504
movss xmm2, dword [0x7fe1a0]
xor eax, eax
movd xmm1, dword [ebp - 0x128]
inc eax
push 8
push 0
push 0x4b0
push eax
imul eax, dword [ebp - 0x164], 0x28
movaps xmm0, xmm2
mulss xmm0, dword [0x7bfb40]
push dword [ebp - 0xd0]
cvtdq2ps xmm1, xmm1
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
subss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [0x7c5090]
mulss xmm2, dword [0x7c5140]
addss xmm1, xmm0
cvttss2si eax, xmm2
cvttss2si ecx, xmm1
sub ecx, eax
imul eax, dword [ebp - 0x164], 0xa
push ecx
mov ecx, dword [ebp - 0xcc]
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1d4]
jmp 0x700a4c
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1d0], eax
push 0x3f
pop ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x700a5c
push 0x2a8
mov ecx, eax
call fcn.00537504
movss xmm2, dword [0x7fe1a0]
movd xmm1, dword [ebp - 0x128]
movaps xmm0, xmm2
mulss xmm0, dword [0x7bfb40]
push 5
pop eax
push eax
push 0
xor eax, eax
push 0x4b0
inc eax
push eax
imul eax, dword [ebp - 0x164], 0x28
push dword [ebp - 0xd0]
cvtdq2ps xmm1, xmm1
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
subss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [0x7c5090]
mulss xmm2, dword [0x7c5140]
addss xmm1, xmm0
cvttss2si eax, xmm2
cvttss2si ecx, xmm1
sub ecx, eax
imul eax, dword [ebp - 0x164], 0xa
push ecx
mov ecx, dword [ebp - 0xcc]
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1d0]
lea eax, [ebp - 0x98]
push eax
call fcn.0053af88
mov ecx, eax
jmp 0x700a5e
xor ecx, ecx
or dword [ebp - 4], 0xffffffff
cmp dword [edi + 0x230], 0x38
jne 0x700aa3
xor eax, eax
cmp word [edi + 0x172], ax
jne 0x700aa3
mov eax, dword [ebp - 0x140]
cmp eax, dword [esi + 0x4c]
je 0x700aa3
test ecx, ecx
je 0x700aa3
push 5
pop eax
mov dword [ecx + 0xd4], 0x3f000000
cmp dword [ecx + 0xac], eax
jne 0x700aa3
push 6
pop eax
mov dword [ecx + 0xac], eax
push ecx
mov ecx, dword [esi + 0x3c]
call fcn.0053b785
mov ecx, dword [ebp - 0x140]
cmp edi, dword [esi + 0x4c]
jne 0x700ad2
lea eax, [ecx + 0xfc]
push eax
lea eax, [esi + 0x277cc]
push 0x7b9eb8
push eax
call fcn.0053d3a5
add esp, 0xc
xor eax, eax
inc eax
cmp byte [edi + 0xa60], al
jne 0x700c3f
push 0xcc
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x194], esi
mov dword [ebp - 4], 0x41
test esi, esi
je 0x700b2d
push 0xcc
mov ecx, esi
call fcn.0053783d
movss xmm0, dword [edi + 0x34]
push 4
pop eax
push eax
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 0xff999999
push 0xb16
call fcn.00539d95
jmp 0x700b2f
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov ecx, 0x1f4
mov dword [eax + 0xb0], ecx
sub esp, 0xc
mov dword [eax + 0xb8], ecx
xor ecx, ecx
mov dword [eax + 0xa4], 0x19d
inc ecx
mov dword [ebp - 0x120], eax
add eax, 0x74
mov dword [ebp - 0x118], eax
mov eax, dword [edi + 0x5c]
cmp byte [edi + 0xa63], cl
jne 0x700baf
movss xmm0, dword [edi + 0x58]
lea ecx, [ebp - 0xdc]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax*8 + 0x259caf4]
mulss xmm0, dword [edi + 0x38]
mulss xmm0, dword [0x7bd180]
addss xmm0, dword [edi + 0x54]
subss xmm0, dword [0x7bece4]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x50]
jmp 0x700bee
movss xmm0, dword [edi + 0x2c]
lea ecx, [ebp - 0x1ec]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax*8 + 0x259caf4]
mulss xmm0, dword [edi + 0x38]
mulss xmm0, dword [0x7bd180]
addss xmm0, dword [edi + 0x30]
addss xmm0, dword [0x7bece4]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [esp], xmm0
call fcn.0053a1a0
mov edi, dword [ebp - 0x118]
mov esi, eax
mov eax, dword [ebp - 0x120]
xor ecx, ecx
inc ecx
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x13c]
mov dword [eax + 0x98], 0x40200000
mov dword [eax + 0x9c], 0x40200000
mov dword [eax + 0x6c], ecx
mov byte [eax + 0xac], 0
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
mov edi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x134]
inc dword [ebp - 0x184]
mov cl, byte [edx + 0x30]
movsx eax, cl
and eax, 1
inc eax
cmp dword [ebp - 0x184], eax
jl 0x7005b3
jmp 0x700d9b
movss xmm0, dword [edi + 0x2c]
xor eax, eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x120]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x30]
addss xmm0, dword [0x7bd184]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [esp], xmm0
call fcn.005394df
add esp, 0x14
test eax, eax
je 0x700d95
cmp dword [0xa71214], 0
je 0x700cd7
mov eax, dword [ebp - 0x140]
cmp eax, dword [esi + 0x4c]
sete al
cmp edi, dword [esi + 0x4c]
jne 0x700cda
xor eax, eax
inc eax
test al, al
je 0x700d95
push 0x80
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.00538b89
lea eax, [ebp - 0x98]
push str.miss
push eax
call fcn.0053d3a5
push 0x2a8
call fcn.00537b1c
add esp, 0x18
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 4], 0x3a
test eax, eax
je 0x700d86
push 0x2a8
mov ecx, eax
call fcn.00537504
movss xmm0, dword [0x7fe1a0]
mulss xmm0, dword [0x7c5140]
push 4
pop eax
push eax
push 0
push 0x5dc
xor eax, eax
inc eax
push eax
push dword [ebp - 0xd0]
cvttss2si eax, xmm0
push ecx
mov ecx, dword [ebp - 0x118]
mov dword [esp], 0x40000000
push 0xffffffffffffffff
sub ecx, eax
lea eax, [ebp - 0x98]
push ecx
push dword [ebp - 0x120]
mov ecx, dword [ebp - 0x1cc]
push eax
call fcn.0053af88
jmp 0x700d88
xor eax, eax
mov ecx, dword [esi + 0x3c]
or dword [ebp - 4], 0xffffffff
push eax
call fcn.0053b785
mov edx, dword [ebp - 0x134]
xor eax, eax
cmp dword [edi + 0x64c], eax
jge 0x700de1
cmp byte [edx + 0x2f], al
jne 0x700de1
mov dword [edi + 0x64c], eax
cmp edi, dword [esi + 0x4c]
jne 0x700dd8
lea esi, [edi + 0x634]
mov edi, dword [0xa6905c]
push 0xc
add edi, 0x96c
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x144]
xor eax, eax
mov word [esi + 0x26ee0], ax
mov eax, dword [edi + 0x644]
cmp dword [edi + 0x64c], eax
jle 0x700e23
cmp byte [edx + 0x2f], 0
jne 0x700e23
mov dword [edi + 0x64c], eax
cmp edi, dword [esi + 0x4c]
jne 0x700e67
lea esi, [edi + 0x634]
mov edi, dword [0xa6905c]
push 0xc
add edi, 0x96c
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x144]
cmp edi, dword [esi + 0x4c]
jne 0x700e67
cmp byte [edx + 0x2f], 0
jne 0x700e67
mov eax, dword [0xa6905c]
mov ecx, dword [edi + 0x64c]
mov dword [eax + 0x984], ecx
cmp edi, dword [esi + 0x4c]
jne 0x700e67
lea esi, [edi + 0x634]
mov edi, dword [0xa6905c]
push 0xc
add edi, 0x96c
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x144]
push 0
mov ecx, edi
call fcn.0053ae11
mov edi, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x134]
inc edi
mov dword [ebp - 0x164], edi
cmp edi, 0xd
jl 0x7000a4
mov edi, dword [ebp - 0x140]
mov edx, dword [ebp - 0x1a4]
cmp edi, dword [esi + 0x4c]
jne 0x700ea9
xor eax, eax
inc eax
cmp byte [ecx + 0x2f], al
jne 0x6fff73
movzx eax, word [ecx + 0x38]
test ax, ax
jne 0x700f03
mov edi, 0x90
push edi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 4], 0x42
test eax, eax
je 0x70175d
push edi
mov ecx, eax
call fcn.0053b780
mov ecx, dword [ebp - 0x1b4]
lea esi, [ebp - 0x190]
push 0
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053bb5e
jmp 0x701755
mov edi, dword [ebp - 0x140]
jmp 0x700e98
cmp ax, word [ebp - 0x12c]
jne 0x700f98
movss xmm0, dword [ebp - 0x16c]
lea ecx, [ebp - 0x160]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x170]
subss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x174]
movss dword [esp], xmm0
call fcn.0053a1a0
mov edi, 0x90
push edi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 4], 0x43
test eax, eax
je 0x70175d
push edi
mov ecx, eax
call fcn.0053d198
mov ecx, dword [ebp - 0x1b4]
lea esi, [ebp - 0x160]
push 0
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00539d90
jmp 0x701755
cmp ax, word [ebp - 0x1c8]
jne 0x70117a
movss xmm0, dword [ebp - 0x16c]
lea ecx, [ebp - 0x160]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x170]
subss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x174]
movss dword [esp], xmm0
call fcn.0053a1a0
push 0x90
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 4], 0x44
test eax, eax
je 0x701035
push 0x90
mov ecx, eax
call fcn.0053d6ac
mov ecx, dword [ebp - 0x1b4]
lea esi, [ebp - 0x160]
push 0
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.005369ba
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x140]
jmp 0x701037
xor eax, eax
mov ecx, dword [esi + 0x2c]
or dword [ebp - 4], 0xffffffff
push eax
call fcn.0053b785
test edi, edi
je 0x7019ae
mov ecx, dword [esi + 0x4c]
mov eax, dword [ecx]
call dword [eax + 0x50]
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x7019ae
movzx ecx, word [edi + 0x898]
test cx, cx
je 0x701095
mov eax, dword [esi + 0x4c]
movzx eax, word [eax + 0x898]
test ax, ax
je 0x701095
cmp ax, cx
je 0x7019ae
mov eax, dword [0xa6905c]
cmp word [eax + 0x1296], cx
je 0x7019ae
mov eax, dword [esi + 0x4c]
xor edx, edx
mov ecx, dword [ebp - 0x134]
add ecx, 0x3c
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x1b4], eax
movzx eax, word [ecx]
cmp eax, dword [ebp - 0x1b4]
je 0x7010c5
inc edx
add ecx, 8
cmp edx, 0xd
jl 0x7010ac
jmp 0x6fff73
mov eax, dword [esi + 0x4c]
cmp edi, eax
je 0x6fff73
cmp byte [edi + 0x22c], 0
jne 0x6fff73
movzx ecx, word [eax + 0x634]
movzx eax, word [edi + 0x65e]
movss xmm3, dword [0x7c1384]
movsx edx, cx
mov dword [ebp - 0x1b4], edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
test cx, cx
jg 0x70110e
movd xmm2, edx
jmp 0x701120
movsx eax, word [edi + 0x634]
cdq
idiv dword [ebp - 0x1b4]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm3
mulss xmm2, xmm0
movsd xmm0, qword [0x7c5030]
divss xmm2, dword [0x7bed4c]
cvtps2pd xmm1, xmm2
comisd xmm0, xmm1
jbe 0x70114c
movss xmm2, dword [0x7c1380]
cvtps2pd xmm0, xmm2
comisd xmm0, xmmword [0x7c5050]
jbe 0x70115c
movaps xmm2, xmm3
movss dword [esi + 0x26f38], xmm2
mov ecx, dword [0xa6906c]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0x26f34], eax
jmp 0x6fff73
cmp ax, word [ebp - 0x180]
jne 0x701323
xor eax, eax
lea esi, [ecx + 0x3c]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x120], esi
movzx ecx, word [ecx + 4]
cmp cx, dx
jne 0x7011ac
xor edx, edx
inc edx
cmp eax, edx
jge 0x6fff73
cmp cx, word [ebp - 0x1ac]
jne 0x7011be
cmp eax, 2
jge 0x6fff73
mov ecx, dword [0xa6905c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
movzx eax, word [esi]
push eax
call edx
test eax, eax
je 0x7012f3
xorps xmm1, xmm1
test edi, edi
je 0x7011e3
movss xmm1, dword [edi + 0x30]
addss xmm1, dword [0x7bd180]
movss xmm0, dword [eax + 0x2c]
lea ecx, [ebp - 0xdc]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x174]
sub esp, 0xc
lea ecx, [ebp - 0x1ec]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movss xmm0, dword [ebp - 0x16c]
subss xmm0, dword [0x7bea04]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x170]
addss xmm0, dword [0x7bfb34]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x174]
addss xmm0, dword [0x7bea04]
movss dword [esp], xmm0
call fcn.0053a1a0
mov esi, eax
lea edi, [ebp - 0x190]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0x94
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x180], eax
mov dword [ebp - 4], 0x45
test eax, eax
je 0x7012d2
push esi
mov ecx, eax
call fcn.0053a3f8
xor eax, eax
mov ecx, dword [ebp - 0x180]
push eax
push eax
push eax
push 0x2711
push eax
sub esp, 0xc
lea esi, [ebp - 0x174]
mov edi, esp
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x190]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00538e22
jmp 0x7012d4
xor eax, eax
or dword [ebp - 4], 0xffffffff
push eax
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x2c]
call fcn.0053b785
mov esi, dword [ebp - 0x120]
mov edi, dword [ebp - 0x140]
mov eax, dword [ebp - 0x118]
add esi, 8
mov ecx, dword [ebp - 0x134]
inc eax
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x120], esi
cmp eax, 0xd
jl 0x701198
jmp 0x6fff73
push 0x23
pop ecx
cmp ax, cx
jne 0x7013a1
movss xmm0, dword [ebp - 0x18c]
mov edi, 0xc8
addss xmm0, dword [0x7bd184]
push edi
movss dword [ebp - 0x18c], xmm0
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x180], eax
mov dword [ebp - 4], 0x46
test eax, eax
je 0x70175d
push edi
mov ecx, eax
call fcn.00539abb
sub esp, 0xc
lea ecx, [ebp - 0xdc]
and dword [esp + 8], 0
and dword [esp + 4], 0
and dword [esp], 0
call fcn.0053a1a0
xor ecx, ecx
lea esi, [ebp - 0x190]
push ecx
push ecx
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
jmp 0x701742
push 0x27
pop ecx
cmp ax, cx
jne 0x701771
cmp byte [ebp - 0x179], 0
lea ecx, [ebp - 0x160]
movss xmm0, dword [ebp - 0x18c]
jne 0x70159f
addss xmm0, dword [0x7bd184]
movss dword [ebp - 0x120], xmm0
call fcn.00539fb6
xor eax, eax
mov edi, eax
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x118], edi
mov eax, 0xc8
push eax
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x180], eax
mov dword [ebp - 4], 0x47
test eax, eax
je 0x7014ca
push 0xc8
mov ecx, eax
call fcn.00539abb
mov eax, dword [ebp - 0x1c0]
push 2
pop ecx
cdq
sub esp, 0xc
idiv ecx
movss xmm1, dword [ebp - 0x188]
lea ecx, [ebp - 0xdc]
subss xmm1, dword [0x7c14ec]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [str.fff_]
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x120]
movss dword [esp + 8], xmm1
movss xmm1, dword [ebp - 0x190]
subss xmm1, dword [0x7c14ec]
movss dword [esp + 4], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [str.fff_]
addss xmm1, xmm0
movss dword [esp], xmm1
call fcn.0053a1a0
push 0
push 4
pop ecx
push ecx
sub esp, 0xc
mov ecx, dword [ebp - 0x180]
mov edi, esp
mov esi, eax
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053689d
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x118]
jmp 0x7014cc
xor eax, eax
add dword [eax + 0x80], edi
mov ecx, dword [esi + 0x2c]
or dword [ebp - 4], 0xffffffff
push eax
call fcn.0053b785
inc dword [ebp - 0x1c0]
mov eax, 0xc8
add edi, eax
mov dword [ebp - 0x118], edi
cmp edi, 0x320
jl 0x7013f2
push eax
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x180], eax
mov dword [ebp - 4], 0x48
test eax, eax
je 0x70158a
push 0xc8
mov ecx, eax
call fcn.00539abb
movss xmm0, dword [ebp - 0x188]
lea ecx, [ebp - 0xdc]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x120]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x190]
movss dword [esp], xmm0
call fcn.0053a1a0
push 0
push 4
pop ecx
push ecx
sub esp, 0xc
mov ecx, dword [ebp - 0x180]
mov edi, esp
mov esi, eax
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053689d
mov esi, dword [ebp - 0x13c]
jmp 0x70158c
xor eax, eax
or dword [ebp - 4], 0xffffffff
add dword [eax + 0x80], 0x10e
jmp 0x701763
addss xmm0, dword [0x7bed24]
movss dword [ebp - 0x184], xmm0
call fcn.00539fb6
xor edi, edi
mov dword [ebp - 0x118], edi
push 0xc8
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x180], eax
mov dword [ebp - 4], 0x49
test eax, eax
je 0x701697
push 0xc8
mov ecx, eax
call fcn.00539abb
movss xmm0, dword [ebp - 0x188]
mov eax, edi
subss xmm0, dword [0x7bed00]
shr eax, 1
xor ecx, ecx
sub esp, 0xc
inc ecx
movd xmm1, eax
mov eax, edi
cvtdq2ps xmm1, xmm1
and eax, ecx
lea ecx, [ebp - 0xdc]
mulss xmm1, dword [0x7c14ec]
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x184]
movss dword [esp + 8], xmm1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x190]
subss xmm0, dword [0x7bed00]
mulss xmm1, dword [0x7c14ec]
addss xmm1, xmm0
movss dword [esp], xmm1
call fcn.0053a1a0
push 0
push 4
pop ecx
push ecx
sub esp, 0xc
mov ecx, dword [ebp - 0x180]
mov edi, esp
mov esi, eax
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x160]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053689d
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x118]
jmp 0x701699
xor eax, eax
mov ecx, dword [esi + 0x2c]
or dword [ebp - 4], 0xffffffff
push eax
call fcn.0053b785
push 4
inc edi
pop eax
mov dword [ebp - 0x118], edi
cmp edi, eax
jl 0x7015bc
movss xmm0, dword [ebp - 0x184]
mov edi, 0xc8
addss xmm0, dword [0x7bece4]
push edi
movss dword [ebp - 0x184], xmm0
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x180], eax
mov dword [ebp - 4], 0x4a
test eax, eax
je 0x70175d
push edi
mov ecx, eax
call fcn.00539abb
movss xmm0, dword [ebp - 0x188]
lea ecx, [ebp - 0x1fc]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x184]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x190]
movss dword [esp], xmm0
call fcn.0053a1a0
push 0
push 0xa
pop ecx
push ecx
sub esp, 0xc
mov esi, eax
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x160]
mov ecx, dword [ebp - 0x180]
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053689d
mov esi, dword [ebp - 0x13c]
jmp 0x70175f
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov ecx, dword [esi + 0x2c]
push eax
call fcn.0053b785
jmp 0x6fff73
cmp ax, 0x61
jne 0x6fff73
movss xmm0, dword [ebp - 0x18c]
xor edi, edi
addss xmm0, dword [0x7bd184]
movss dword [ebp - 0x18c], xmm0
mov ecx, dword [0xa6905c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x38]
lea eax, [edi + 0x3a99]
push eax
call edx
mov ecx, eax
test ecx, ecx
je 0x7017e7
mov eax, 0x2ea
cmp word [ecx + 0xf4], ax
jne 0x7017e7
movss xmm3, dword [ebp - 0x174]
ucomiss xmm3, dword [ecx + 0x274]
lahf
test ah, 0x44
jp 0x7017e7
movss xmm2, dword [ebp - 0x16c]
ucomiss xmm2, dword [ecx + 0x278]
lahf
test ah, 0x44
jnp 0x7017f1
push 0x64
inc edi
pop eax
cmp edi, eax
jl 0x701795
jmp 0x70182d
movss xmm1, dword [ecx + 0x28c]
xor eax, eax
movaps xmm0, xmm1
inc eax
mulss xmm0, dword [ecx + 0x284]
mov byte [ecx + 0x291], al
mulss xmm1, dword [ecx + 0x280]
addss xmm0, xmm3
subss xmm2, xmm1
movss dword [ebp - 0x174], xmm0
movss dword [ebp - 0x16c], xmm2
mov eax, dword [esi + 0x4c]
mov edi, 0xc8
movss xmm0, dword [ebp - 0x190]
push edi
subss xmm0, dword [eax + 0x28]
movss dword [ebp - 0x1b0], xmm0
movss xmm0, dword [ebp - 0x188]
subss xmm0, dword [eax + 0x2c]
movss dword [ebp - 0x1b4], xmm0
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x180], eax
mov dword [ebp - 4], 0x4b
test eax, eax
je 0x7018b6
push edi
mov ecx, eax
call fcn.00539abb
push 0
push 2
sub esp, 0xc
mov ecx, dword [ebp - 0x180]
mov edi, esp
lea esi, [ebp - 0x190]
sub esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0053689d
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0x130], eax
movss xmm0, dword [ebp - 0x1b4]
movss xmm1, dword [ebp - 0x1b0]
or dword [ebp - 4], 0xffffffff
mulss xmm0, xmm0
push ecx
mulss xmm1, xmm1
addss xmm0, xmm1
movss dword [esp], xmm0
call fcn.005387bf
mov eax, dword [ebp - 0x130]
pop ecx
push eax
fstp dword [eax + 0xc0]
mov ecx, dword [esi + 0x2c]
call fcn.0053b785
jmp 0x7019ae
mov edi, dword [ebp - 0x1b4]
mov eax, dword [edx + 0x650]
cmp esi, eax
jae 0x701914
mov dword [ecx + 0x26ee4], eax
mov esi, eax
movzx eax, word [edx + 0x644]
cmp di, ax
jbe 0x701927
mov word [ecx + 0x26ee0], ax
mov eax, dword [edx + 0x648]
cmp esi, eax
jbe 0x701937
mov dword [ecx + 0x26ee4], eax
push 0
jmp 0x7019a9
cmp dword [ebp - 0x168], edx
jne 0x7019ae
movzx esi, word [edx + 0x64c]
movzx eax, word [ecx + 0x26ee0]
mov edi, esi
mov dword [ebp - 0x180], edi
mov edi, eax
cmp ax, si
jae 0x70196c
mov eax, esi
mov word [ecx + 0x26ee0], si
movzx edi, ax
mov eax, dword [ecx + 0x26ee4]
mov esi, dword [edx + 0x650]
cmp eax, esi
jae 0x701984
mov dword [ecx + 0x26ee4], esi
mov eax, esi
movzx esi, word [edx + 0x644]
cmp di, si
jbe 0x701997
mov word [ecx + 0x26ee0], si
mov edx, dword [edx + 0x648]
cmp eax, edx
jbe 0x7019a7
mov dword [ecx + 0x26ee4], edx
push 0x10
call fcn.0053a75e
xor eax, eax
inc eax
mov ecx, dword [ebp - 0x14]
call fcn.0053a740
ret 4