Function at 0x1004a630
Capabilities:
Encode data using base64

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10090c02
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x4f0
mov eax, dword [0x100ac040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x110], edi
cmp byte [0x1041fd4c], 0
mov eax, dword [ebx + 8]
mov dword [ebp - 0x38], eax
je 0x1004ce9f
push 0x302c
call fcn.1008d736
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 4], 0
lea esi, [eax + 0x2c]
mov edi, dword [edi + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
push 0x3000
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 0
push 0
push esi
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
mov dword [ebp - 0xf0], esi
call sub.VCRUNTIME140.dll_memset
mov eax, dword [edi]
add esp, 0x10
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [ebp - 0x104]
mov esi, dword [ebp - 0x104]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
mov edx, dword [0x10414490]
mov ecx, dword [edx + 0x20]
mov eax, dword [ecx + edi]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + edi + 4]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + edi + 8]
mov ecx, esi
mov dword [ecx + 0x14], eax
mov ecx, dword [edx + 0x24]
mov eax, dword [ecx + edi]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + edi + 4]
mov dword [esi + 0x1c], eax
mov eax, dword [ecx + edi + 8]
mov ecx, esi
mov esi, dword [ebp - 0xf0]
mov dword [ecx + 0x20], eax
mov eax, dword [edx + 0x7c]
mov eax, dword [edi + eax - 0x50]
mov dword [ecx + 0x24], eax
mov eax, dword [edx + 0x7c]
mov eax, dword [edi + eax - 0x54]
mov dword [ecx + 0x28], eax
mov eax, dword [edi + 0x2920]
lea eax, [eax + eax*2]
shl eax, 4
push eax
push dword [edi + 0x2914]
push esi
call sub.VCRUNTIME140.dll_memcpy
mov edi, dword [ebp - 0x110]
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [edi + 0x48]
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xf8], eax
movq xmm0, qword [ecx + 0xa3d8]
mov eax, dword [ecx + 0xa3e0]
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0x30], edx
movq qword [ebp - 0x4c], xmm0
mov dword [ebp - 0x44], eax
mov eax, dword [ecx + 0xa3d4]
movq xmm0, qword [ecx + 0xa3cc]
mov ecx, edx
mov esi, dword [0x10415704]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x64]
movq qword [ebp - 0x64], xmm0
push eax
mov eax, dword [edx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
call esi
mov esi, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x30]
mov eax, dword [esi + 0xa3c8]
movq xmm0, qword [esi + 0xa3c0]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x4c]
push eax
movq qword [ebp - 0x4c], xmm0
call dword [0x104156a4]
mov edx, dword [ebp - 0xf8]
cmp edx, 3
jae 0x1004cebf
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + 0x2920]
lea eax, [eax + eax*2]
shl eax, 4
push eax
imul eax, edx, 0x3690
add eax, 0x690
add eax, esi
push eax
push dword [ecx + 0x2914]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 0x2920]
lea eax, [eax + eax*2]
shl eax, 4
push eax
imul eax, dword [edi + 0x18], 0x3000
add eax, 0x50
add eax, edi
push eax
push dword [ecx + 0x2914]
call sub.VCRUNTIME140.dll_memcpy
movss xmm2, dword [edi + 0x24]
add esp, 0x18
movss xmm3, dword [edi + 0x28]
movss xmm0, dword [edi + 0x2c]
subss xmm0, dword [0x1041d274]
subss xmm2, dword [0x1041d26c]
subss xmm3, dword [0x1041d270]
movss dword [ebp - 0x30], xmm0
movaps xmm1, xmm2
movss dword [ebp - 0xf0], xmm2
movaps xmm0, xmm3
mulss xmm1, xmm2
mulss xmm0, xmm3
movss dword [ebp - 0xf8], xmm3
addss xmm0, xmm1
call fcn.1002b690
movss xmm3, dword [0x1009ef30]
movaps xmm2, xmm0
movss xmm0, dword [ebp - 0x30]
xorps xmm1, xmm1
comiss xmm2, xmm1
mov esi, 0x5a
mov ecx, 0x10e
jbe 0x1004a959
xorps xmm0, xmm3
movaps xmm1, xmm2
call fcn.100336a0
mulss xmm0, dword [0x1009ed44]
movss xmm1, dword [ebp - 0xf0]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xf8]
call fcn.100336a0
movss xmm3, dword [ebp - 0xd8]
movaps xmm2, xmm0
mulss xmm2, dword [0x1009ed44]
xorps xmm1, xmm1
jmp 0x1004a96b
comiss xmm0, xmm1
mov eax, esi
xorps xmm2, xmm2
cmova eax, ecx
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mov edx, dword [0x10414490]
mov ecx, dword [0x10416ef8]
movss dword [ebp - 0xe4], xmm3
movss dword [ebp - 0xe0], xmm2
mov dword [ebp - 0xdc], 0
mov eax, dword [edx + 0x7c]
mov eax, dword [eax + ecx - 0x14]
test eax, eax
je 0x1004aacb
cmp dword [eax + 0x60], 0
je 0x1004aacb
cmp byte [eax + 0x109], 0
jne 0x1004a9d4
movss xmm0, dword [eax + 0xa4]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1004a9d4
mov eax, dword [edx + 0x10c]
cmp dword [ecx + eax], 0xffffffff
jne 0x1004aacb
lea eax, [ebp - 0x4c]
push eax
call fcn.10089590
movss xmm2, dword [eax]
movss dword [0x1041d26c], xmm2
movss xmm1, dword [eax + 4]
movss dword [0x1041d270], xmm1
movss xmm0, dword [eax + 8]
movss dword [0x1041d274], xmm0
movss xmm3, dword [edi + 0x24]
subss xmm3, xmm2
movss xmm2, dword [edi + 0x28]
subss xmm2, xmm1
movss xmm1, dword [edi + 0x2c]
subss xmm1, xmm0
movss dword [ebp - 0xf0], xmm3
movaps xmm0, xmm2
movss dword [ebp - 0xf8], xmm2
movss dword [ebp - 0x30], xmm1
movaps xmm1, xmm3
mulss xmm0, xmm2
mulss xmm1, xmm3
addss xmm0, xmm1
call fcn.1002b690
movaps xmm2, xmm0
xorps xmm1, xmm1
comiss xmm2, xmm1
movss xmm0, dword [ebp - 0x30]
jbe 0x1004aaa3
xorps xmm0, xmmword [0x1009ef30]
movaps xmm1, xmm2
call fcn.100336a0
mulss xmm0, dword [0x1009ed44]
movss xmm1, dword [ebp - 0xf0]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xf8]
call fcn.100336a0
movaps xmm1, xmm0
movss xmm0, dword [ebp - 0xd8]
mulss xmm1, dword [0x1009ed44]
jmp 0x1004aab5
comiss xmm0, xmm1
mov eax, 0x10e
cmova esi, eax
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov edx, dword [0x10414490]
movss dword [ebp - 0xe4], xmm0
movss dword [ebp - 0xe0], xmm1
mov eax, dword [edx + 0x10]
mov ecx, dword [0x10416efc]
cmp word [ecx + eax], 0x1f
jne 0x1004aae2
mov esi, 0x50
jmp 0x1004ab0c
mov eax, dword [edx + 0x84]
cmp dword [ecx + eax], 0
jne 0x1004ab06
mov eax, dword [0x10416f00]
test eax, eax
je 0x1004ab06
cmp dword [eax + 0xc8], 5
mov esi, dword [0x100ac70c]
je 0x1004ab0c
mov esi, dword [0x100ac708]
push ecx
lea eax, [ebp - 0xe4]
mov ecx, edi
push eax
call fcn.1004a080
mov dword [ebp - 0xe8], eax
cmp eax, esi
jl 0x1004cc1e
cmp byte [0x100ac6f6], 0
mov esi, dword [ebp - 0x38]
je 0x1004ab39
or dword [esi + 0x30], 1
mov eax, dword [esi + 0x30]
test al, 1
je 0x1004cded
mov ecx, dword [0x104144c0]
and eax, 0xfffff7df
mov dword [esi + 0x30], eax
mov eax, dword [0x10414490]
movss xmm3, dword [ebp - 0xe4]
movss xmm2, dword [ebp - 0xe0]
mov edx, dword [eax + 0x4c]
mov eax, dword [ecx + 0x1c]
add edx, dword [0x10416ef8]
mov eax, dword [eax + 0x2c]
xor eax, ecx
mov ecx, 8
mov dword [ebp - 0xf0], eax
movss xmm4, dword [ebp - 0xf0]
movaps xmm0, xmm4
movaps xmm1, xmm4
mulss xmm0, dword [edx]
mulss xmm1, dword [edx + 4]
mulss xmm4, dword [edx + 8]
subss xmm3, xmm0
movss xmm0, dword [ebp - 0xdc]
subss xmm2, xmm1
movss xmm1, dword [0x1009ec28]
subss xmm0, xmm4
movss dword [esi + 0xc], xmm3
movss dword [esi + 0x10], xmm2
movss dword [esi + 0x14], xmm0
cmp byte [edi + 0x1d], 0
je 0x1004abd4
xor eax, eax
jmp 0x1004abf9
mov eax, dword [edi + 0x48]
movss xmm0, dword [eax + 0xa3b4]
addss xmm0, dword [0x1041fda4]
mov eax, dword [0x10414494]
divss xmm0, dword [eax + 0x20]
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [esi + ecx], eax
cmp byte [0x100ac6f8], 0
jne 0x1004ac19
mov ecx, dword [0x1041449c]
lea edx, [ebp - 0xe4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
call eax
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 0x64]
dec eax
cmp eax, 0x40
jae 0x1004cec4
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 0x18]
movss xmm0, dword [edi]
movss xmm3, dword [edi + 0x20]
movq xmm1, qword [edi + 0x24]
movq xmm2, qword [0x1041d26c]
mov dword [ebp - 0x18], eax
mov al, byte [edi + 0x1e]
mov byte [ebp - 0x34], al
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0xf0], eax
mov eax, dword [0x1041d274]
mov dword [ebp - 0xf8], eax
imul eax, edx, 0x3000
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [edi + 4]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [edi + 8]
add eax, 0x50
movss dword [ebp - 0x1c], xmm0
add eax, edi
cmp byte [edi + 0x34], 3
mov dword [ebp - 0xd8], eax
mov eax, dword [edi + 0x30]
setae byte [ebp - 0xfd]
mov dword [ebp - 0x40], eax
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x1004aca8
lock inc dword [eax + 4]
mov eax, dword [edi + 0x48]
movups xmm0, xmmword [ebp - 0x24]
mov esi, dword [edi + 0x4c]
mov dword [ebp - 0xa8], eax
mov al, byte [ebp - 0x34]
mov byte [ebp - 0x3c], al
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0xfd]
mov byte [ebp - 0x34], al
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xa4], esi
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x30], edx
movss dword [ebp - 0x38], xmm3
movq qword [ebp - 0x94], xmm1
movq qword [ebp - 0x7c], xmm2
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xd8], ecx
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 1
push ecx
mov eax, dword [0x100ac6a8]
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x94]
push ecx
lea ecx, [ebp - 0x7c]
push ecx
lea ecx, [ebp - 0x30]
push ecx
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0xa8]
push ecx
lea ecx, [ebp - 0xd8]
push ecx
cmp eax, dword [0x100ac6ac]
je 0x1004ad75
mov edx, eax
call fcn.10052d60
add esp, 0x2c
add dword [0x100ac6a8], 0x3068
jmp 0x1004ad81
push eax
call fcn.100529f0
mov esi, dword [ebp - 0xa4]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x1004adad
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x1004adad
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x1004adad
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [0x100ac610]
mov eax, 0x2aaaaaab
mov esi, dword [0x100ac60c]
sub ecx, esi
imul ecx
mov ecx, dword [0x104211bc]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
jbe 0x1004cec9
lea eax, [ecx + ecx*2]
shl eax, 4
add eax, 8
add eax, esi
mov dword [ebp - 0xf0], eax
je 0x1004ae19
mov eax, dword [eax + 0x24]
and eax, 0xfffffffc
je 0x1004ae19
add eax, 4
push 0x1040a0dc
push eax
call dword [sym.imp.VCRUNTIME140.dll___std_type_info_compare]
mov esi, dword [0x100ac60c]
add esp, 8
test eax, eax
jne 0x1004ae19
mov eax, dword [ebp - 0xf0]
jmp 0x1004ae1b
xor eax, eax
cmp byte [eax], 0
je 0x1004b5a6
mov ecx, dword [0x100ac610]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
mov ecx, dword [0x104211c0]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
jbe 0x1004cec9
lea eax, [ecx + ecx*2]
shl eax, 4
add eax, 8
add esi, eax
je 0x1004ae76
mov eax, dword [esi + 0x24]
and eax, 0xfffffffc
je 0x1004ae76
add eax, 4
push 0x1040a01c
push eax
call dword [sym.imp.VCRUNTIME140.dll___std_type_info_compare]
add esp, 8
test eax, eax
je 0x1004ae78
xor esi, esi
cmp dword [esi], 0
jne 0x1004ae96
mov eax, dword [edi + 0x10]
mov ecx, 0x104204f0
push dword [eax + 0x2914]
push eax
call fcn.10054a80
jmp 0x1004b5a6
mov eax, dword [0x104144a0]
mov ecx, dword [edi + 0x10]
add ecx, 4
mov eax, dword [eax]
mov esi, dword [eax + 0x80]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x104144a0]
push eax
call esi
mov esi, eax
test esi, esi
je 0x1004b5a6
mov ecx, dword [0x10414490]
imul eax, dword [edi + 0x18], 0x3000
mov edx, dword [edi + 0x10]
mov ecx, dword [ecx + 0xac]
add eax, 0x50
add eax, edi
push dword [edx + ecx]
mov ecx, esi
mov dword [ebp - 0xd4], eax
call fcn.10009e90
mov edx, eax
mov dword [ebp - 0xa4], edx
test edx, edx
je 0x1004b5a6
mov ecx, dword [edx + 4]
xor eax, eax
mov dword [ebp - 0xf8], eax
test ecx, ecx
jle 0x1004b5a6
xor esi, esi
mov dword [ebp - 0xf0], esi
nop dword [eax]
test eax, eax
js 0x1004af31
cmp eax, ecx
jge 0x1004af31
mov edi, dword [edx + 8]
add edi, esi
add edi, edx
jmp 0x1004af33
xor edi, edi
mov ecx, dword [0x100ac610]
mov eax, 0x2aaaaaab
mov esi, dword [0x100ac60c]
sub ecx, esi
imul ecx
mov ecx, dword [0x104211c8]
sar edx, 3
mov eax, edx
mov dword [ebp - 0x38], edi
shr eax, 0x1f
add eax, edx
cmp eax, ecx
jbe 0x1004cec9
lea eax, [ecx + ecx*2]
add esi, 8
shl eax, 4
add esi, eax
mov dword [ebp - 0x30], esi
je 0x1004af91
mov eax, dword [esi + 0x24]
and eax, 0xfffffffc
je 0x1004af91
add eax, 4
push 0x1040a028
push eax
call dword [sym.imp.VCRUNTIME140.dll___std_type_info_compare]
add esp, 8
test eax, eax
je 0x1004af96
xor esi, esi
mov dword [ebp - 0x30], esi
lea eax, [edi + 0x30]
xorps xmm0, xmm0
comiss xmm0, dword [eax]
mov dword [ebp - 0x108], eax
jb 0x1004b373
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x23c], 0
call fcn.10009e70
movss xmm0, dword [edi + 0x24]
mulss xmm0, dword [0x1009ebbc]
movss dword [ebp - 0x40], xmm0
call fcn.10031aa0
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x40]
call fcn.10031a80
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [edi + 0x28]
mulss xmm0, dword [0x1009ebbc]
movss dword [ebp - 0x114], xmm0
call fcn.10031aa0
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x114]
call fcn.10031a80
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [edi + 0x2c]
mulss xmm0, dword [0x1009ebbc]
movss dword [ebp - 0x114], xmm0
call fcn.10031aa0
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0x114]
call fcn.10031a80
movss xmm5, dword [ebp - 0x108]
movaps xmm7, xmm0
movss xmm0, dword [ebp - 0x10c]
movaps xmm2, xmm7
movss xmm6, dword [ebp - 0xfc]
movaps xmm1, xmm0
mulss xmm1, dword [ebp - 0x40]
movaps xmm4, xmm6
mov ecx, dword [0x100ac610]
mov eax, 0x2aaaaaab
sub ecx, dword [0x100ac60c]
movaps xmm3, xmm6
mulss xmm4, xmm0
movss dword [ebp - 0x268], xmm1
movaps xmm1, xmm5
mulss xmm1, dword [ebp - 0x40]
mulss xmm2, xmm5
movss dword [ebp - 0x258], xmm1
movss xmm1, dword [ebp - 0xd8]
xorps xmm1, xmmword [0x1009ef30]
movss dword [ebp - 0x248], xmm1
movaps xmm1, xmm7
mulss xmm1, xmm0
movaps xmm0, xmm4
mulss xmm6, dword [ebp - 0x40]
mulss xmm7, dword [ebp - 0x40]
mulss xmm3, xmm5
movss xmm5, dword [ebp - 0xd8]
mulss xmm0, xmm5
imul ecx
movss dword [ebp - 0x244], xmm6
subss xmm0, xmm2
mulss xmm2, xmm5
movss dword [ebp - 0x240], xmm7
mov ecx, dword [0x104211c4]
sar edx, 3
subss xmm2, xmm4
movss dword [ebp - 0x264], xmm0
mov eax, edx
movaps xmm0, xmm3
shr eax, 0x1f
mulss xmm0, xmm5
add eax, edx
movss dword [ebp - 0x250], xmm2
addss xmm0, xmm1
mulss xmm1, xmm5
addss xmm1, xmm3
movss dword [ebp - 0x254], xmm0
movss dword [ebp - 0x260], xmm1
cmp eax, ecx
jbe 0x1004cec9
lea eax, [ecx + ecx*2]
mov ecx, dword [0x100ac60c]
shl eax, 4
add ecx, 8
add eax, ecx
mov dword [ebp - 0xfc], eax
je 0x1004b1a8
mov eax, dword [eax + 0x24]
and eax, 0xfffffffc
je 0x1004b1a8
add eax, 4
push 0x1040a0dc
push eax
call dword [sym.imp.VCRUNTIME140.dll___std_type_info_compare]
add esp, 8
test eax, eax
jne 0x1004b1a8
mov eax, dword [ebp - 0xfc]
jmp 0x1004b1aa
xor eax, eax
cmp byte [eax], 0
mov eax, dword [0x104144b0]
mov ecx, dword [0x104211d0]
mov eax, dword [eax]
je 0x1004b28e
mov esi, dword [eax + 0x54]
call fcn.10024870
push 0
push 0
push 0
movss xmm0, dword [eax]
lea ecx, [ebp - 0x118]
push 0
movss dword [ebp - 0xfc], xmm0
call fcn.10009e40
mov eax, dword [edi]
lea ecx, [eax + eax*2]
lea eax, [ebp - 0x268]
shl ecx, 4
add ecx, dword [ebp - 0xd4]
push eax
lea eax, [ebp - 0x328]
push eax
call fcn.100473f0
sub esp, 0x30
mov ecx, esp
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ecx + 0x20], xmm0
lea ecx, [ebp - 0x13c]
call fcn.1004a550
mov ecx, dword [edi]
add esp, 0x2c
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, dword [ebp - 0xd4]
movss xmm0, dword [ecx + 0xc]
movss xmm1, dword [ecx + 0x1c]
movss xmm2, dword [ecx + 0x2c]
lea ecx, [ebp - 0x118]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0xfc]
movss dword [esp], xmm0
push dword [ebp - 0x30]
movss dword [ebp - 0x78], xmm1
push ecx
mov ecx, dword [0x104144b0]
push eax
lea eax, [edi + 0x14]
movss dword [ebp - 0x74], xmm2
push eax
lea eax, [edi + 8]
push eax
lea eax, [ebp - 0x7c]
push eax
call esi
jmp 0x1004b573
mov eax, dword [eax + 4]
mov dword [ebp - 0x10c], eax
call fcn.10024870
movzx edi, byte [esi + 1]
movss xmm0, dword [eax]
movzx eax, byte [esi + 2]
movzx esi, byte [esi]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x38]
movss dword [ebp - 0xfc], xmm0
mov eax, dword [eax]
lea ecx, [eax + eax*2]
lea eax, [ebp - 0x268]
shl ecx, 4
add ecx, dword [ebp - 0xd4]
push eax
lea eax, [ebp - 0x328]
push eax
call fcn.100473f0
sub esp, 0x30
mov ecx, esp
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ecx + 0x20], xmm0
lea ecx, [ebp - 0x20]
call fcn.1004a550
mov edx, dword [ebp - 0x38]
add esp, 0x2c
mov ecx, dword [edx]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, dword [ebp - 0xd4]
movss xmm0, dword [ecx + 0xc]
movss xmm1, dword [ecx + 0x1c]
movss xmm2, dword [ecx + 0x2c]
mov ecx, dword [0x104144b0]
movss dword [ebp - 0x94], xmm0
movss xmm0, dword [ebp - 0xfc]
movss dword [esp], xmm0
push 0
push dword [ebp - 0x108]
movss dword [ebp - 0x90], xmm1
push edi
push esi
push eax
lea eax, [edx + 0x14]
movss dword [ebp - 0x8c], xmm2
push eax
lea eax, [edx + 8]
push eax
lea eax, [ebp - 0x94]
push eax
call dword [ebp - 0x10c]
jmp 0x1004b573
mov eax, dword [edi]
lea ecx, [edi + 8]
lea edx, [eax + eax*2]
shl edx, 4
lea eax, [ebp - 0x1b4]
add edx, dword [ebp - 0xd4]
push eax
movss xmm0, dword [edx + 0x20]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [edx + 0x24]
movss dword [ebp - 0x1b0], xmm0
movss xmm0, dword [edx + 0x28]
movss dword [ebp - 0x1ac], xmm0
call fcn.100097f0
movss xmm1, dword [edx + 0x10]
lea eax, [ebp - 0x154]
movss dword [ebp - 0x154], xmm1
movaps xmm3, xmm0
movss xmm1, dword [edx + 0x14]
addss xmm3, dword [edx + 0x2c]
movss dword [ebp - 0x150], xmm1
movss xmm1, dword [edx + 0x18]
push eax
movss dword [ebp - 0x14c], xmm1
call fcn.100097f0
movss xmm1, dword [edx]
lea eax, [ebp - 0x16c]
movss dword [ebp - 0x16c], xmm1
movaps xmm2, xmm0
movss xmm1, dword [edx + 4]
addss xmm2, dword [edx + 0x1c]
movss dword [ebp - 0x168], xmm1
movss xmm1, dword [edx + 8]
push eax
movss dword [ebp - 0x164], xmm1
call fcn.100097f0
addss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x48], xmm2
lea ecx, [edi + 0x14]
movss dword [ebp - 0x44], xmm3
movss dword [ebp - 0x4c], xmm0
mov eax, dword [edi]
lea edx, [eax + eax*2]
shl edx, 4
lea eax, [ebp - 0x184]
add edx, dword [ebp - 0xd4]
push eax
movss xmm0, dword [edx + 0x20]
movss dword [ebp - 0x184], xmm0
movss xmm0, dword [edx + 0x24]
movss dword [ebp - 0x180], xmm0
movss xmm0, dword [edx + 0x28]
movss dword [ebp - 0x17c], xmm0
call fcn.100097f0
movss xmm1, dword [edx + 0x10]
lea eax, [ebp - 0x19c]
movss dword [ebp - 0x19c], xmm1
movaps xmm3, xmm0
movss xmm1, dword [edx + 0x14]
addss xmm3, dword [edx + 0x2c]
movss dword [ebp - 0x198], xmm1
movss xmm1, dword [edx + 0x18]
push eax
movss dword [ebp - 0x194], xmm1
call fcn.100097f0
movss xmm1, dword [edx]
lea eax, [ebp - 0x124]
movss dword [ebp - 0x124], xmm1
movaps xmm2, xmm0
movss xmm1, dword [edx + 4]
addss xmm2, dword [edx + 0x1c]
movss dword [ebp - 0x120], xmm1
movss xmm1, dword [edx + 8]
push eax
movss dword [ebp - 0x11c], xmm1
call fcn.100097f0
addss xmm0, dword [edx + 0xc]
mov eax, dword [0x104144b0]
movss dword [ebp - 0x60], xmm2
movss dword [ebp - 0x5c], xmm3
movss dword [ebp - 0x64], xmm0
mov eax, dword [eax]
mov ecx, dword [0x104211c4]
mov edi, dword [eax + 0x5c]
call fcn.10011d00
mov ecx, dword [0x104211d0]
mov al, byte [eax]
mov dword [ebp - 0xfc], eax
call fcn.10024870
push dword [ebp - 0xfc]
movzx esi, byte [esi + 3]
push 0
movss xmm0, dword [eax]
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
movzx eax, byte [eax]
push ecx
movss dword [esp], xmm0
push esi
push edx
push ecx
mov ecx, dword [0x104144b0]
push eax
push dword [ebp - 0x108]
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x4c]
push eax
call edi
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf0]
inc eax
add esi, 0x44
mov dword [ebp - 0xf8], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0xf0], esi
cmp eax, ecx
jl 0x1004af20
mov edi, dword [ebp - 0x110]
mov ecx, dword [edi + 0x18]
lea esi, [ebp - 0x17]
mov dword [ebp - 0x38], ecx
nop
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x38]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x1004b5b0
push ecx
lea eax, [ebp - 0x17]
push eax
push esi
lea ecx, [ebp - 0x250]
call fcn.1001a6b0
mov dword [ebp - 4], 2
mov ecx, 1
movss xmm0, dword [edi + 0x20]
ucomiss xmm0, dword [0x1009edf0]
lahf
xor edx, edx
test ah, 0x44
cmovp edx, ecx
lea ecx, [ebp - 0x208]
call fcn.10019450
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 3
movzx ecx, byte [edi + 0x35]
movd xmm0, ecx
lea ecx, [ebp - 0x1f0]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x1009ece4]
mulss xmm0, dword [0x1009ed6c]
cvttss2si edx, xmm0
call fcn.10019450
mov dword [ebp - 0x108], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2f8]
movzx edx, byte [edi + 0x34]
call fcn.10019450
mov dword [ebp - 0xfc], eax
mov byte [ebp - 4], 5
mov ecx, dword [0x10414494]
movss xmm0, dword [0x1041fda8]
divss xmm0, dword [ecx + 0x20]
mov ecx, dword [0x10414498]
mov edx, dword [ecx + 0x16c]
lea ecx, [ebp - 0x2e0]
addss xmm0, dword [0x1009ec28]
cvttss2si esi, xmm0
sub edx, esi
add edx, dword [0x1041fd9c]
call fcn.10019450
mov dword [ebp - 0x118], eax
mov byte [ebp - 4], 6
mov ecx, dword [0x10414494]
mov esi, dword [edi + 0x48]
mov edx, dword [ecx + 0x1c]
lea ecx, [ebp - 0x2c8]
sub edx, dword [esi + 0xa6dc]
call fcn.10019450
mov dword [ebp - 0xa4], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2b0]
mov edx, dword [ebp - 0xe8]
call fcn.10019450
mov dword [ebp - 0xf8], eax
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 0xf
jbe 0x1004b706
mov eax, dword [eax]
mov dword [ebp - 0xf8], eax
mov edx, dword [edi + 0x38]
lea ecx, [ebp - 0x298]
call fcn.10019450
mov dword [ebp - 0xf0], eax
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 0xf
jbe 0x1004b72c
mov eax, dword [eax]
mov dword [ebp - 0xf0], eax
mov eax, dword [edi + 0x30]
cmp eax, 0xa
ja case.0x1004b738.9
jmp dword [eax*4 + 0x1004ced0]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
push str.head
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
call fcn.10011fb0
lea esi, [ebp - 0x2c]
mov dword [ebp - 0xd4], esi
jmp 0x1004b8d2
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
push str.chest
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
call fcn.10011fb0
lea esi, [ebp - 0x2c]
mov dword [ebp - 0xd4], esi
jmp 0x1004b8d2
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
push str.stomach
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
call fcn.10011fb0
lea esi, [ebp - 0x2c]
mov dword [ebp - 0xd4], esi
jmp 0x1004b8d2
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
push 0x10099720
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
call fcn.10011fb0
lea esi, [ebp - 0x2c]
mov dword [ebp - 0xd4], esi
jmp 0x1004b8d2
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
push 0x1009971c
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
call fcn.10011fb0
lea esi, [ebp - 0x2c]
mov dword [ebp - 0xd4], esi
jmp 0x1004b8d2
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
push str.gear
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
call fcn.10011fb0
lea esi, [ebp - 0x2c]
mov dword [ebp - 0xd4], esi
jmp 0x1004b8d2
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
push str.neck
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
call fcn.10011fb0
lea esi, [ebp - 0x2c]
mov dword [ebp - 0xd4], esi
jmp 0x1004b8d2
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
push str.generic
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
call fcn.10011fb0
lea esi, [ebp - 0x2c]
mov dword [ebp - 0xd4], esi
jmp 0x1004b8d2
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 4], 0xa
mov eax, dword [edi + 0x10]
push dword [eax + 0x64]
lea eax, [ebp - 0x500]
push eax
call fcn.1002b940
xorps xmm0, xmm0
mov dword [ebp - 0x228], 0
movups xmmword [ebp - 0x238], xmm0
mov dword [ebp - 0x224], 0
lea edx, [eax + 0x10]
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004b910
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x238]
call fcn.10011fb0
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 0xb
push eax
mov edx, str.shot
lea ecx, [ebp - 0x280]
call fcn.1003c060
mov ecx, eax
add esp, 4
mov dword [ebp - 0xe8], ecx
mov byte [ebp - 4], 0xc
mov esi, dword [ecx + 0x14]
mov eax, esi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 0xd
jb 0x1004b98d
lea eax, [edx + 0xd]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp esi, 0xf
jbe 0x1004b96e
mov eax, dword [ecx]
push 0xd
lea esi, [eax + edx]
push str.__hitgroup:
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0xe8]
add esp, 0xc
mov byte [esi + 0xd], 0
jmp 0x1004b9a1
push 0xd
push str.__hitgroup:
push dword [ebp - 0xe8]
push 0xd
call fcn.100123b0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x310], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x300], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x310]
push dword [ebp - 0xd4]
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0xe8]
call fcn.1003c150
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x74]
mov eax, edx
mov ecx, dword [ebp - 0x78]
sub eax, ecx
push 0x10
push str.__pred_damage:
cmp eax, 0x10
jb 0x1004ba32
cmp edx, 0xf
lea esi, [ebp - 0x88]
lea eax, [ecx + 0x10]
cmova esi, dword [ebp - 0x88]
add esi, ecx
mov dword [ebp - 0x78], eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 0x10], 0
lea eax, [ebp - 0x88]
jmp 0x1004ba45
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x88]
push 0x10
call fcn.100123b0
mov dword [ebp - 0x210], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x220], xmm0
mov dword [ebp - 0x20c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x220], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x210], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x220]
push dword [ebp - 0xf0]
call fcn.10010ba0
mov dword [ebp - 0x120], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x130], xmm0
mov dword [ebp - 0x11c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x130], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x120], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x11c]
mov eax, edx
mov ecx, dword [ebp - 0x120]
sub eax, ecx
push 0xe
push str.__hitchance:
cmp eax, 0xe
jb 0x1004bb36
cmp edx, 0xf
lea esi, [ebp - 0x130]
lea eax, [ecx + 0xe]
cmova esi, dword [ebp - 0x130]
add esi, ecx
mov dword [ebp - 0x120], eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 0xe], 0
lea eax, [ebp - 0x130]
jmp 0x1004bb49
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x130]
push 0xe
call fcn.100123b0
mov dword [ebp - 0x90], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x8c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xa0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x90], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xa0]
push dword [ebp - 0xf8]
call fcn.10010ba0
mov dword [ebp - 0x60], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x5c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x70], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x60], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x5c]
mov eax, edx
mov ecx, dword [ebp - 0x60]
sub eax, ecx
push 0xe
push str.__backtrack:
cmp eax, 0xe
jb 0x1004bc19
cmp edx, 0xf
lea esi, [ebp - 0x70]
lea eax, [ecx + 0xe]
cmova esi, dword [ebp - 0x70]
add esi, ecx
mov dword [ebp - 0x60], eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 0xe], 0
lea eax, [ebp - 0x70]
jmp 0x1004bc29
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x70]
push 0xe
call fcn.100123b0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x3a0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x390], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x3a0]
push dword [ebp - 0xa4]
lea ecx, [ebp - 0x1c0]
push eax
push dword [ebp - 0xe8]
call fcn.1003c150
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x1ac]
mov eax, edx
mov ecx, dword [ebp - 0x1b0]
sub eax, ecx
push 6
push str._ticks
cmp eax, 6
jb 0x1004bcc3
cmp edx, 0xf
lea esi, [ebp - 0x1c0]
lea eax, [ecx + 6]
cmova esi, dword [ebp - 0x1c0]
add esi, ecx
mov dword [ebp - 0x1b0], eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 6], 0
lea eax, [ebp - 0x1c0]
jmp 0x1004bcd6
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x1c0]
push 6
call fcn.100123b0
mov dword [ebp - 0x48], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x58], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x48], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x44]
mov eax, edx
mov ecx, dword [ebp - 0x48]
sub eax, ecx
push 9
push str.__diff:
cmp eax, 9
jb 0x1004bd4b
cmp edx, 0xf
lea esi, [ebp - 0x58]
lea eax, [ecx + 9]
cmova esi, dword [ebp - 0x58]
add esi, ecx
mov dword [ebp - 0x48], eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 9], 0
lea eax, [ebp - 0x58]
jmp 0x1004bd5b
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x58]
push 9
call fcn.100123b0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x388], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x378], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x388]
push dword [ebp - 0x118]
lea ecx, [ebp - 0x160]
push eax
push dword [ebp - 0xe8]
call fcn.1003c150
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x14c]
mov eax, edx
mov ecx, dword [ebp - 0x150]
sub eax, ecx
push 6
push str._ticks
cmp eax, 6
jb 0x1004bdf5
cmp edx, 0xf
lea esi, [ebp - 0x160]
lea eax, [ecx + 6]
cmova esi, dword [ebp - 0x160]
add esi, ecx
mov dword [ebp - 0x150], eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 6], 0
lea eax, [ebp - 0x160]
jmp 0x1004be08
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x160]
push 6
call fcn.100123b0
mov dword [ebp - 0x138], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x148], xmm0
mov dword [ebp - 0x134], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x148], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x138], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x134]
mov eax, edx
mov ecx, dword [ebp - 0x138]
sub eax, ecx
push 0x12
push str.__intersections:
cmp eax, 0x12
jb 0x1004be9e
cmp edx, 0xf
lea esi, [ebp - 0x148]
lea eax, [ecx + 0x12]
cmova esi, dword [ebp - 0x148]
add esi, ecx
mov dword [ebp - 0x138], eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 0x12], 0
lea eax, [ebp - 0x148]
jmp 0x1004beb1
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x148]
push 0x12
call fcn.100123b0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x370], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x360], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push dword [ebp - 0xfc]
lea eax, [ebp - 0x370]
mov byte [ebp - 4], 0x19
push eax
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x178]
call fcn.1003c150
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x164]
mov eax, edx
mov ecx, dword [ebp - 0x168]
sub eax, ecx
push 0xf
push str.__CBB_safety:
cmp eax, 0xf
jb 0x1004bf4b
cmp edx, 0xf
lea esi, [ebp - 0x178]
lea eax, [ecx + 0xf]
cmova esi, dword [ebp - 0x178]
add esi, ecx
mov dword [ebp - 0x168], eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 0xf], 0
lea eax, [ebp - 0x178]
jmp 0x1004bf5e
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x178]
push 0xf
call fcn.100123b0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x358], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x348], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push dword [ebp - 0x108]
lea eax, [ebp - 0x358]
mov byte [ebp - 4], 0x1b
push eax
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x190]
call fcn.1003c150
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x17c]
mov eax, edx
mov ecx, dword [ebp - 0x180]
sub eax, ecx
push 9
push str.__pred:
cmp eax, 9
jb 0x1004bff8
cmp edx, 0xf
lea esi, [ebp - 0x190]
lea eax, [ecx + 9]
cmova esi, dword [ebp - 0x190]
add esi, ecx
mov dword [ebp - 0x180], eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 9], 0
lea eax, [ebp - 0x190]
jmp 0x1004c00b
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x190]
push 9
call fcn.100123b0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x340], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x330], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push dword [ebp - 0x10c]
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x1d
push eax
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x1a8]
call fcn.1003c150
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x194]
mov eax, edx
mov ecx, dword [ebp - 0x198]
sub eax, ecx
push 0xd
push str.__resolver:
cmp eax, 0xd
jb 0x1004c0a5
cmp edx, 0xf
lea esi, [ebp - 0x1a8]
lea eax, [ecx + 0xd]
cmova esi, dword [ebp - 0x1a8]
add esi, ecx
mov dword [ebp - 0x198], eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 0xd], 0
lea eax, [ebp - 0x1a8]
jmp 0x1004c0b8
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x1a8]
push 0xd
call fcn.100123b0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xb8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xa8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x250]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0xb8]
push eax
push dword [ebp - 0xe8]
lea ecx, [ebp - 0xd0]
call fcn.1003c150
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0xf
jbe 0x1004c141
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c137
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x194]
cmp ecx, 0xf
jbe 0x1004c17f
mov edx, dword [ebp - 0x1a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c175
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0xf
mov byte [ebp - 0x1a8], 0
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x32c]
cmp ecx, 0xf
jbe 0x1004c1d8
mov edx, dword [ebp - 0x340]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c1ce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x17c]
cmp ecx, 0xf
jbe 0x1004c216
mov edx, dword [ebp - 0x190]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c20c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0xf
mov byte [ebp - 0x190], 0
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x344]
cmp ecx, 0xf
jbe 0x1004c26f
mov edx, dword [ebp - 0x358]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c265
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x164]
cmp ecx, 0xf
jbe 0x1004c2ad
mov edx, dword [ebp - 0x178]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c2a3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0xf
mov byte [ebp - 0x178], 0
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x35c]
cmp ecx, 0xf
jbe 0x1004c306
mov edx, dword [ebp - 0x370]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c2fc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x134]
cmp ecx, 0xf
jbe 0x1004c344
mov edx, dword [ebp - 0x148]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c33a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0xf
mov byte [ebp - 0x148], 0
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x14c]
cmp ecx, 0xf
jbe 0x1004c39d
mov edx, dword [ebp - 0x160]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c393
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0xf
mov byte [ebp - 0x160], 0
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x374]
cmp ecx, 0xf
jbe 0x1004c3f6
mov edx, dword [ebp - 0x388]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c3ec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x44]
cmp ecx, 0xf
jbe 0x1004c42e
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c424
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x1ac]
cmp ecx, 0xf
jbe 0x1004c47e
mov edx, dword [ebp - 0x1c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c474
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0xf
mov byte [ebp - 0x1c0], 0
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x38c]
cmp ecx, 0xf
jbe 0x1004c4d7
mov edx, dword [ebp - 0x3a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c4cd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0xf
jbe 0x1004c50f
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c505
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0xf
jbe 0x1004c55f
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c555
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0x11c]
cmp ecx, 0xf
jbe 0x1004c5b8
mov edx, dword [ebp - 0x130]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c5ae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0xf
mov byte [ebp - 0x130], 0
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x20c]
cmp ecx, 0xf
jbe 0x1004c611
mov edx, dword [ebp - 0x220]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c607
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 0xf
mov byte [ebp - 0x220], 0
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x74]
cmp ecx, 0xf
jbe 0x1004c667
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c65d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x2fc]
cmp ecx, 0xf
jbe 0x1004c6ba
mov edx, dword [ebp - 0x310]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c6b0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x26c]
cmp ecx, 0xf
jbe 0x1004c6f8
mov edx, dword [ebp - 0x280]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c6ee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0x224]
cmp ecx, 0xf
jbe 0x1004c751
mov edx, dword [ebp - 0x238]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c747
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 0xf
mov byte [ebp - 0x238], 0
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x1004c7a4
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c79a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x284]
cmp ecx, 0xf
jbe 0x1004c7e2
mov edx, dword [ebp - 0x298]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c7d8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x284], 0xf
mov byte [ebp - 0x298], 0
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x29c]
cmp ecx, 0xf
jbe 0x1004c83b
mov edx, dword [ebp - 0x2b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c831
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 0xf
mov byte [ebp - 0x2b0], 0
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x2b4]
cmp ecx, 0xf
jbe 0x1004c894
mov edx, dword [ebp - 0x2c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c88a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0xf
mov byte [ebp - 0x2c8], 0
mov byte [ebp - 4], 0x3a
mov ecx, dword [ebp - 0x2cc]
cmp ecx, 0xf
jbe 0x1004c8ed
mov edx, dword [ebp - 0x2e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c8e3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2cc], 0xf
mov byte [ebp - 0x2e0], 0
mov byte [ebp - 4], 0x3b
mov ecx, dword [ebp - 0x2e4]
cmp ecx, 0xf
jbe 0x1004c946
mov edx, dword [ebp - 0x2f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c93c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x2e8], 0
mov dword [ebp - 0x2e4], 0xf
mov byte [ebp - 0x2f8], 0
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0x1dc]
cmp ecx, 0xf
jbe 0x1004c99f
mov edx, dword [ebp - 0x1f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c995
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0xf
mov byte [ebp - 0x1f0], 0
mov byte [ebp - 4], 0x3d
mov ecx, dword [ebp - 0x1f4]
cmp ecx, 0xf
jbe 0x1004c9f4
mov edx, dword [ebp - 0x208]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c9ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ca3f
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
mov byte [ebp - 0x208], 0
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x23c]
cmp ecx, 0xf
jbe 0x1004ca4f
mov edx, dword [ebp - 0x250]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004ca45
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004ca45
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1008db9a
add esp, 8
cmp byte [edi + 0x1d], 0
je 0x1004caae
mov edx, dword [ebp - 0xbc]
mov eax, edx
mov ecx, dword [ebp - 0xc0]
sub eax, ecx
push 5
push str.__AB
cmp eax, 5
jb 0x1004ca9b
cmp edx, 0xf
lea esi, [ebp - 0xd0]
lea eax, [ecx + 5]
cmova esi, dword [ebp - 0xd0]
add esi, ecx
mov dword [ebp - 0xc0], eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 5], 0
jmp 0x1004caae
push dword [ebp - 0xe8]
lea ecx, [ebp - 0xd0]
push 5
call fcn.100123b0
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.10010c50
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x1d8]
mov esi, dword [ebp - 0x1c4]
mov eax, esi
mov edx, dword [ebp - 0x1c8]
sub eax, edx
cmp eax, 1
jb 0x1004cb01
cmp esi, 0xf
lea eax, [edx + 1]
mov dword [ebp - 0x1c8], eax
cmova ecx, dword [ebp - 0x1d8]
mov al, byte [0x10096584]
mov byte [ecx + edx], al
mov byte [ecx + edx + 1], 0
jmp 0x1004cb15
push 1
push 0x10096584
push dword [ebp - 0xe8]
push 1
call fcn.100123b0
mov edx, dword [0x104145e4]
mov dword [ebp - 0x30], 0xffff9b73
push 0x10096590
mov eax, dword [edx]
mov ecx, dword [eax + 0x64]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0xe8]
push eax
push edx
call ecx
mov edx, dword [0x104145e4]
cmp dword [ebp - 0x1c4], 0xf
mov eax, dword [edx]
mov ecx, dword [eax + 0x68]
lea eax, [ebp - 0x1d8]
cmova eax, dword [ebp - 0x1d8]
push eax
push edx
call ecx
mov esi, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x1d8]
mov edx, dword [ebp - 0x1d8]
add esp, 0x14
mov edi, dword [ebp - 0x1c8]
cmp esi, 0xf
cmova ecx, edx
cmp esi, 0xf
lea eax, [ebp - 0x1d8]
cmova eax, edx
add eax, edi
cmp ecx, eax
je 0x1004cb98
inc ecx
jmp 0x1004cb83
mov edi, dword [ebp - 0x110]
mov byte [ebp - 4], 0x3e
cmp esi, 0xf
jbe 0x1004cbd2
inc esi
mov eax, edx
cmp esi, 0x1000
jb 0x1004cbc8
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004cbc8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xbc]
cmp ecx, 0xf
jbe 0x1004cded
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004cc0f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004cc0f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1008db9a
add esp, 8
jmp 0x1004cded
mov edx, eax
lea ecx, [ebp - 0x1f0]
call fcn.10019450
push eax
mov edx, 0x10099ae4
mov dword [ebp - 4], 0x41
lea ecx, [ebp - 0x208]
call fcn.1003c060
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x42
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 1
jb 0x1004cc78
cmp dword [ecx + 0x14], 0xf
lea eax, [edx + 1]
mov dword [ecx + 0x10], eax
mov esi, ecx
jbe 0x1004cc69
mov esi, dword [ecx]
mov al, byte [0x10099ac0]
mov byte [esi + edx], al
mov byte [esi + edx + 1], 0
jmp 0x1004cc8e
push 1
push 0x10099ac0
push dword [ebp - 0xe8]
push 1
call fcn.100123b0
mov ecx, eax
movups xmm0, xmmword [ecx]
lea eax, [ebp - 0x310]
push eax
movups xmmword [ebp - 0x310], xmm0
movq xmm0, qword [ecx + 0x10]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov ecx, dword [edi + 0x40]
movq qword [ebp - 0x300], xmm0
call fcn.1001afc0
mov ecx, dword [ebp - 0x2fc]
cmp ecx, 0xf
jbe 0x1004ccff
mov edx, dword [ebp - 0x310]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004ccf5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004cd87
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0x1f4]
cmp ecx, 0xf
jbe 0x1004cd39
mov edx, dword [ebp - 0x208]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004cd2f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004cd87
push ecx
push edx
call fcn.1008db9a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
mov byte [ebp - 0x208], 0
cmp ecx, 0xf
jbe 0x1004cd97
mov edx, dword [ebp - 0x1f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004cd8d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004cd8d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1008db9a
add esp, 8
cmp byte [0x100ac6f7], 0
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0xf
mov byte [ebp - 0x1f0], 0
je 0x1004cded
mov eax, dword [0x10414490]
mov ecx, dword [eax + 0x84]
mov eax, dword [0x10416efc]
cmp dword [eax + ecx], 0
jne 0x1004cded
mov eax, dword [0x10416f00]
test eax, eax
je 0x1004cded
cmp dword [eax + 0xc8], 5
jne 0x1004cded
mov eax, dword [ebp - 0x38]
or dword [eax + 0x30], 0x800
mov ecx, dword [ebp - 0x104]
mov edi, dword [edi + 0x10]
mov esi, dword [0x10415704]
mov eax, dword [ecx + 0x20]
movq xmm0, qword [ecx + 0x18]
mov dword [ebp - 0x44], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x64]
movq qword [ebp - 0x4c], xmm0
movq xmm0, qword [ecx + 0xc]
mov ecx, edi
push eax
mov eax, dword [edi]
movq qword [ebp - 0x64], xmm0
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
call esi
mov edx, dword [0x10414490]
mov esi, dword [ebp - 0x104]
mov ecx, dword [edx + 0x7c]
mov eax, dword [esi + 0x24]
mov dword [edi + ecx - 0x50], eax
mov ecx, dword [edx + 0x7c]
mov eax, dword [esi + 0x28]
mov dword [edi + ecx - 0x54], eax
mov ecx, edi
mov eax, dword [esi + 8]
movq xmm0, qword [esi]
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xac]
push eax
movq qword [ebp - 0xac], xmm0
call dword [0x104156a4]
mov eax, dword [edi + 0x2920]
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [esi + 0x2c]
push eax
push dword [edi + 0x2914]
call sub.VCRUNTIME140.dll_memcpy
push 0x302c
push esi
call fcn.1008db9a
add esp, 0x14
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1008d728
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
call fcn.10010d60
call fcn.10010d60
call fcn.100110a0
nop
xchg edi, eax
mov eax, -1220603900
add al, 0x10
jno 0x1004ce91
add al, 0x10
mov dword [0xd51004b7], eax
mov bh, 4
adc ch, dl
mov bh, 4
adc byte [edi], al
mov eax, 0xb8071004
add al, 0x10
push 0xc61004b8
mov eax, -1204219900
add al, 0x10
int3