Function at 0x100a7660
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b85a3
mov eax, dword fs:[0]
push eax
sub esp, 0x3d8
mov eax, dword [0x100d99c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x39c], esi
mov ecx, dword [ebp + 8]
xor eax, eax
lea edi, [ecx + 8]
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x344], eax
mov eax, dword [edi]
mov dword [ebp - 0x348], ecx
mov ecx, edi
mov dword [ebp - 0x3d4], edi
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [0x100f6bdc]
mov ecx, dword [0x100f69fc]
add edx, 0xffffffd6
mov dword [ebp - 0x360], eax
xor edx, 0x920a48dc
lea esi, [esi + eax*4]
mov eax, dword [ebp - 0x348]
add esi, 0x3c
movss xmm0, dword [ecx + 0x14]
mulss xmm0, dword [0x100bb5a4]
mov ecx, dword [eax + edx]
mov eax, dword [0x100c712c]
movss dword [ebp - 0x374], xmm0
cmp ecx, dword [edx + eax]
je 0x100a7710
mov byte [ebp - 0x339], 1
jmp 0x100a7726
mov ecx, dword [0x100f6a7c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
setne byte [ebp - 0x339]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x100ce2d0], 0
mov dl, al
mov dh, byte [ebp - 0x339]
je 0x100a7772
test dh, dh
je 0x100a7772
test dl, dl
jne 0x100a7789
mov eax, dword [0x100f6c5c]
mov ecx, dword [ebp - 0x348]
add eax, 0xffffffb6
xor eax, 0x920a48fd
mov byte [eax + ecx], 1
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x39c]
mov byte [ecx + eax - 1], 1
jmp 0x100a77a0
test dl, dl
jne 0x100a7789
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x39c]
mov byte [ecx + eax - 1], 1
jmp 0x100a77a0
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x39c]
cmp byte [ecx + eax - 1], 0
je 0x100a971b
movss xmm0, dword [esi]
test dl, dl
je 0x100a77b2
subss xmm0, dword [ebp - 0x374]
jmp 0x100a77ba
addss xmm0, dword [ebp - 0x374]
movss dword [esi], xmm0
test dh, dh
je 0x100a77cf
cmp byte [0x100cc3bc], 0
je 0x100a77cf
mov dh, 1
jmp 0x100a77d1
xor dh, dh
movss xmm0, dword [esi]
lea ecx, [ebp - 0x3d8]
comiss xmm0, dword [0x100bb590]
mov dword [ebp - 0x3d8], 0x3f800000
lea eax, [ebp - 0x340]
mov dword [ebp - 0x340], 0
xorps xmm2, xmm2
cmovbe ecx, esi
movss xmm0, dword [ecx]
comiss xmm0, xmm2
cmova eax, ecx
movss xmm1, dword [eax]
ucomiss xmm1, xmm2
movss dword [esi], xmm1
lahf
test ah, 0x44
jp 0x100a7825
test dh, dh
je 0x100a971b
mov ecx, dword [0x100f6c38]
mov eax, dword [0x100f69fc]
add ecx, 0xffffffbf
mov esi, dword [ebp - 0x348]
xor ecx, 0x920a48f4
movss xmm2, dword [eax + 0x10]
subss xmm2, dword [ecx + esi]
test dl, dl
je 0x100a785a
comiss xmm2, dword [0x100bbc28]
ja 0x100a971b
cmp byte [ebp - 0x339], 0
movaps xmm0, xmm1
mulss xmm1, dword [0x100bd8ac]
mulss xmm0, dword [0x100bbc38]
cvttss2si eax, xmm1
cvttss2si ecx, xmm0
mov dword [ebp - 0x358], eax
mov eax, dword [0x100cc348]
cmovne eax, dword [0x100cc2b8]
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x34c], ecx
test dl, dl
je 0x100a791d
test dh, dh
je 0x100a791d
movss xmm0, dword [0x100bbc24]
mov ecx, 0x70
comiss xmm2, xmm0
mov dword [ebp - 0x34c], ecx
mov dword [ebp - 0x358], 0x50
jbe 0x100a7907
subss xmm2, xmm0
movss xmm0, dword [0x100bdc28]
movaps xmm1, xmm2
mulss xmm2, dword [0x100bd5e4]
mulss xmm1, dword [0x100bdc14]
subss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x100bb5b0]
subss xmm0, xmm2
mov dword [ebp - 0x34c], ecx
cvttss2si eax, xmm0
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x370], 0xff707070
mov eax, dword [ebp - 0x370]
mov dword [ebp - 0x374], eax
mov byte [ebp - 0x371], cl
lea edx, [ebp - 0x338]
mov ecx, dword [0x100f699c]
push edx
push dword [ebp - 0x360]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100a971b
push dword [ebp - 0x34c]
mov ecx, dword [ebp - 0x39c]
push esi
call fcn.100ab400
mov ecx, dword [ebp - 0x39c]
lea eax, [ebp - 0x390]
push eax
push esi
call fcn.100aa540
test al, al
je 0x100a971b
cmp byte [ebp - 0x339], 0
je 0x100a7998
push 0
push dword [0x100ccc34]
push dword [0x100ccc30]
call fcn.100adb90
cmp eax, dword [0x100ccc34]
jne 0x100a79b3
jmp 0x100a79ce
push 1
push dword [0x100ccc34]
push dword [0x100ccc30]
call fcn.100adb90
cmp eax, dword [0x100ccc34]
je 0x100a79eb
push dword [ebp - 0x34c]
mov ecx, dword [ebp - 0x39c]
push esi
call fcn.100aa2e0
cmp byte [ebp - 0x339], 0
je 0x100a79eb
push 0
push dword [0x100cc224]
push dword [0x100cc220]
call fcn.100adb90
cmp eax, dword [0x100cc224]
jne 0x100a7a06
jmp 0x100a7a4a
push 1
push dword [0x100cc224]
push dword [0x100cc220]
call fcn.100adb90
cmp eax, dword [0x100cc224]
je 0x100a7a6a
push ecx
mov ecx, dword [ebp - 0x358]
mov eax, esp
push dword [ebp - 0x374]
push dword [ebp - 0x384]
mov word [eax], 0xa0a
push dword [ebp - 0x388]
mov byte [eax + 2], 0xa
push dword [ebp - 0x38c]
mov byte [eax + 3], cl
push dword [ebp - 0x390]
call fcn.100a0e50
add esp, 0x18
cmp byte [ebp - 0x339], 0
je 0x100a7a6a
push 0
push dword [0x100cc58c]
push dword [0x100cc588]
call fcn.100adb90
cmp eax, dword [0x100cc58c]
jne 0x100a7a89
jmp 0x100a7d5d
push 1
push dword [0x100cc58c]
push dword [0x100cc588]
call fcn.100adb90
cmp eax, dword [0x100cc58c]
je 0x100a7df3
lea eax, [ebp - 0x328]
push eax
lea ecx, [ebp - 0x70]
call fcn.10034dd0
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0
cmovae eax, dword [ebp - 0x70]
mov dword [ebp - 0x340], eax
lea eax, [ebp - 0x35c]
push eax
call fcn.100ad210
push dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
cmp dword [ebp - 0x5c], 0x10
lea ecx, [ebp - 0x70]
push dword [ebp - 0x340]
cmovae ecx, dword [ebp - 0x70]
push dword [eax]
lea eax, [ebp - 0x340]
push ecx
push eax
call fcn.100a5f00
add esp, 0x14
cmp dword [ebp - 0x60], 0xc
jbe 0x100a7b23
push 0
push 0xc
lea ecx, [ebp - 0x70]
call fcn.1003b190
mov eax, dword [0x100cc620]
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x34c]
mov byte [ebp - 0x375], al
lea eax, [ebp - 0x370]
mov dword [ebp - 0x370], 0x2e2e2e
jmp 0x100a7b47
mov eax, dword [0x100cc620]
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x34c]
mov byte [ebp - 0x375], al
lea eax, [ebp - 0x351]
mov byte [ebp - 0x351], 0
push eax
lea ecx, [ebp - 0x70]
call fcn.100ad190
mov esi, dword [ebp - 0x38c]
mov ecx, eax
mov eax, dword [ebp - 0x388]
sub esi, dword [0x100fa5b4]
push 2
cdq
push ecx
push dword [ebp - 0x378]
sub eax, edx
mov ecx, 0x100fa5ac
sar eax, 1
add eax, dword [ebp - 0x390]
push esi
push eax
mov dword [ebp - 0x3a0], eax
call fcn.100a1120
mov ecx, dword [0x100f69a0]
mov eax, dword [0x100f6cb8]
add eax, 0xffffff9f
mov byte [ebp - 0x351], 0
xor eax, 0x920a4914
mov edx, dword [ecx]
add eax, dword [ebp - 0x348]
push ecx
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax]
mov dword [edx], eax
call esi
test eax, eax
je 0x100a7d41
mov ecx, dword [0x100f69a0]
mov eax, dword [0x100f6cb8]
add eax, 0xffffff9f
xor eax, 0x920a4914
mov edx, dword [ecx]
add eax, dword [ebp - 0x348]
push ecx
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax]
mov dword [edx], eax
call esi
mov ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100a7d41
mov ecx, dword [0x100f69a0]
mov eax, dword [0x100f6cb8]
add eax, 0xffffff9f
xor eax, 0x920a4914
mov edx, dword [ecx]
add eax, dword [ebp - 0x348]
push ecx
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax]
mov dword [edx], eax
call esi
mov ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov eax, dword [eax + 0xc8]
cmp eax, 7
je 0x100a7c42
test eax, eax
je 0x100a7c42
cmp eax, 9
jne 0x100a7c49
mov byte [ebp - 0x351], 1
mov eax, dword [0x100f6b60]
mov edx, dword [ebp - 0x348]
mov ecx, dword [edx + eax]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, dword [0x100bbbf4]
lahf
test ah, 0x44
jnp 0x100a7cac
mov esi, dword [ecx + 0x50]
mov ecx, dword [0x100f6b7c]
mov eax, dword [0x100f6b18]
mov dword [ebp - 0x340], eax
cmp dword [edx + ecx], 0
jne 0x100a7c98
mov eax, dword [0x100f6af4]
mov ecx, edx
call eax
mov ecx, dword [0x100f6b7c]
mov eax, dword [ebp - 0x340]
mov edx, esi
mov esi, dword [ebp - 0x348]
mov ecx, dword [esi + ecx]
call eax
cmp eax, 0x3c7
je 0x100a7cb9
cmp byte [ebp - 0x351], 0
je 0x100a7d41
mov dword [ebp - 0x36c], 0xe2e0f9fa
xor eax, eax
mov dword [ebp - 0x368], 0xeeedfee9
mov word [ebp - 0x364], 0xe9e0
mov byte [ebp - 0x362], 0xac
nop
xor byte [ebp + eax - 0x36c], 0xac
inc eax
cmp eax, 0xb
jb 0x100a7ce0
lea eax, [ebp - 0x36c]
push eax
lea ecx, [ebp - 0x58]
call fcn.10034dd0
mov ecx, dword [ebp - 0x38c]
lea eax, [ebp - 0x58]
sub ecx, dword [0x100fa5b4]
push 2
push eax
mov eax, dword [ebp - 0x34c]
sub ecx, 8
movzx eax, al
shl eax, 0x18
or eax, 0x3cc896
mov byte [ebp - 4], 1
push eax
push ecx
push dword [ebp - 0x3a0]
mov ecx, 0x100fa5b8
call fcn.100a1120
lea ecx, [ebp - 0x58]
call fcn.1001f960
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
cmp byte [ebp - 0x339], 0
je 0x100a7df3
push 0
push dword [0x100cc6c4]
push dword [0x100cc6c0]
call fcn.100adb90
cmp eax, dword [0x100cc6c4]
jne 0x100a7e12
mov eax, dword [ebp - 0x358]
mov dword [ebp - 0x358], eax
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movq qword [ebp - 0x38], xmm0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
cmp byte [ebp - 0x339], 0
mov dword [ebp - 4], 2
movq qword [ebp - 0x64], xmm0
mov dword [ebp - 0x5c], 0
je 0x100a7f2b
push 0x100cc768
lea ecx, [ebp - 0x3e4]
call fcn.1001f1f0
mov ecx, dword [ebp - 0x350]
or ecx, 0x20
lea eax, [ebp - 0x3e4]
or ecx, 1
jmp 0x100a7f4a
push 1
push dword [0x100cc6c4]
push dword [0x100cc6c0]
call fcn.100adb90
cmp eax, dword [0x100cc6c4]
je 0x100a7d7c
mov ecx, dword [0x100f6c10]
lea eax, [ebp - 0x340]
mov esi, dword [ebp - 0x384]
add ecx, 0xffffffc9
xor ecx, 0x920a48e9
mov dword [ebp - 0x340], 0x64
add ecx, dword [ebp - 0x348]
add esi, 0xfffffffe
push ecx
cmp dword [ecx], 0x64
cmovl eax, ecx
mov eax, dword [eax]
imul eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100bb550]
movss dword [ebp - 0x340], xmm0
fld dword [ebp - 0x340]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov ecx, dword [ebp - 0x358]
mov eax, esp
push esi
mov esi, dword [ebp - 0x390]
push 2
mov word [eax], 0x5a5a
mov byte [eax + 2], 0x5a
mov byte [eax + 3], cl
mov eax, dword [ebp - 0x38c]
inc eax
push eax
lea eax, [esi - 5]
push eax
fstp dword [ebp - 0x340]
call fcn.100a0dc0
mov ecx, dword [ebp - 0x34c]
add esp, 0x10
mov eax, esp
add esi, 0xfffffffa
mov byte [eax + 3], cl
cvttss2si ecx, dword [ebp - 0x340]
mov word [eax], 0xc896
mov byte [eax + 2], 0x32
lea eax, [ecx + 2]
push eax
mov eax, dword [ebp - 0x384]
add eax, 0xfffffffe
sub eax, ecx
add eax, dword [ebp - 0x38c]
push 4
push eax
push esi
call fcn.100a0dc0
movd xmm0, dword [ebp - 0x34c]
add esp, 0x10
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov word [ecx], 0x4646
mulss xmm0, dword [0x100bdbd8]
mov byte [ecx + 2], 0x46
cvttss2si eax, xmm0
mov byte [ecx + 3], al
mov eax, dword [ebp - 0x384]
push eax
mov eax, dword [ebp - 0x38c]
push 4
push eax
push esi
call fcn.100a0d80
add esp, 0x14
jmp 0x100a7d88
push 0x100cc810
lea ecx, [ebp - 0x36c]
call fcn.1001f1f0
mov ecx, dword [ebp - 0x350]
lea eax, [ebp - 0x36c]
or ecx, 0x12
mov edx, dword [eax + 8]
mov esi, dword [eax + 4]
mov dword [ebp - 0x340], edx
mov edx, dword [eax]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [ebp - 0x340]
mov dword [ebp - 0x3d0], esi
mov dword [ebp - 0x3a0], edx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], eax
mov dword [ebp - 4], 4
test cl, 2
je 0x100a7fad
and ecx, 0xfffffffd
mov dword [ebp - 0x350], ecx
lea ecx, [ebp - 0x36c]
call fcn.1001faa0
mov ecx, dword [ebp - 0x350]
mov byte [ebp - 4], 5
test cl, 1
je 0x100a7fc1
lea ecx, [ebp - 0x3e4]
call fcn.1001faa0
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x544
cmp byte [eax + 0x100d9c00], 0
lea esi, [eax + 0x100d9700]
mov dword [ebp - 0x370], esi
je 0x100a804e
lea eax, [ebp - 0x398]
mov dword [ebp - 0x398], 0x4241414b
push eax
lea ecx, [ebp - 0x58]
mov word [ebp - 0x394], 0x41
call fcn.10034dd0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x2c]
call fcn.10027ea0
mov eax, dword [ebp - 0x358]
mov word [ebp - 0x14], 0xffff
mov byte [ebp - 0x12], 0xff
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x38]
call fcn.100ad270
lea ecx, [ebp - 0x2c]
call fcn.1001f960
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.1001f960
cmp byte [esi + 0x501], 0
je 0x100a80c7
lea eax, [ebp - 0x368]
mov dword [ebp - 0x368], 0x45454843
push eax
lea ecx, [ebp - 0x58]
mov word [ebp - 0x364], 0x4553
mov byte [ebp - 0x362], 0
call fcn.10034dd0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x2c]
call fcn.10027ea0
mov eax, dword [ebp - 0x358]
mov word [ebp - 0x14], 0xffff
mov byte [ebp - 0x12], 0xff
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x38]
call fcn.100ad270
lea ecx, [ebp - 0x2c]
call fcn.1001f960
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.1001f960
cmp byte [esi + 0x502], 0
je 0x100a8158
mov dword [ebp - 0x36c], 0xe9e9e4ef
xor eax, eax
mov dword [ebp - 0x368], 0xe08ce9ff
mov dword [ebp - 0x364], 0xace7ede9
xor byte [ebp + eax - 0x36c], 0xac
inc eax
cmp eax, 0xc
jb 0x100a80f4
lea eax, [ebp - 0x36c]
push eax
lea ecx, [ebp - 0x58]
call fcn.10034dd0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x2c]
call fcn.10027ea0
mov eax, dword [ebp - 0x358]
mov word [ebp - 0x14], 0xffff
mov byte [ebp - 0x12], 0xff
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x38]
call fcn.100ad270
lea ecx, [ebp - 0x2c]
call fcn.1001f960
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.1001f960
push esi
mov ecx, 0x100fa634
call fcn.100a1c20
test eax, eax
je 0x100a8223
mov ecx, dword [ebp - 0x370]
mov esi, dword [ecx + 0x14]
mov eax, dword [ecx + 0x18]
add eax, esi
mov dword [ebp - 0x360], eax
cmp esi, eax
je 0x100a8223
mov edi, eax
nop dword [eax]
mov eax, dword [ecx + 0x10]
mov edx, esi
dec eax
shr edx, 1
and edx, eax
mov ecx, esi
mov eax, dword [ebp - 0x370]
and ecx, 1
mov eax, dword [eax + 0xc]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + ecx*8]
cmp byte [eax + 0x18], 0
jne 0x100a820e
xorps xmm0, xmm0
comiss xmm0, dword [eax + 4]
jb 0x100a820e
mov ecx, dword [0x100f699c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
test eax, eax
je 0x100a820e
cmp dword [0x100c712c], 0
je 0x100a820e
mov ecx, dword [0x100f6a08]
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x360], eax
call dword [ebp - 0x360]
mov ecx, dword [0x100f6a44]
fstp st(0)
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x360], eax
call dword [ebp - 0x360]
fstp st(0)
mov ecx, dword [ebp - 0x370]
inc esi
cmp esi, edi
jne 0x100a8190
mov edi, dword [ebp - 0x3d4]
mov eax, dword [ebp - 0x3a0]
mov esi, eax
cmp eax, dword [ebp - 0x3d0]
je 0x100a8d02
nop word [eax + eax]
xor al, al
cmp dword [ebp - 0x348], 0
je 0x100a8279
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x100f699c]
lea edi, [ebp - 0x1e0]
push edi
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
mov edi, dword [ebp - 0x3d4]
neg al
sbb al, al
and al, byte [ebp - 0xa4]
cmp dword [esi], 0
jne 0x100a832e
test al, al
jne 0x100a832e
xorps xmm0, xmm0
mov dword [ebp - 0x3b0], 0x454b4146
lea ecx, [ebp - 0x3b0]
mov byte [ebp - 0x3ac], al
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a82b8
sub ecx, edx
lea eax, [ebp - 0x3b0]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.1001d5b0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x2c]
call fcn.10027ea0
mov eax, dword [ebp - 0x34c]
mov word [ebp - 0x14], 0xffff
mov byte [ebp - 0x12], 0xff
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xd
push ecx
cmp eax, dword [ebp - 0x30]
je 0x100a8311
mov ecx, eax
call fcn.100a6010
add dword [ebp - 0x34], 0x1c
jmp 0x100a831a
push eax
lea ecx, [ebp - 0x38]
call fcn.1004bf90
lea ecx, [ebp - 0x2c]
call fcn.1001f960
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.1001f960
cmp dword [esi], 1
jne 0x100a8456
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [ebp - 0x39c]
add ecx, 0x2374
mov dword [ebp - 0x380], 0x4d206925
mov word [ebp - 0x37c], 0x53
lea eax, [ecx + eax*4]
push eax
lea eax, [ebp - 0x380]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.10087650
add esp, 0xc
mov ecx, dword [ebp - 0x34c]
mov byte [ebp - 0x3c1], cl
lea ecx, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0xe
mov word [ebp - 0x3c4], 0x7832
mov byte [ebp - 0x3c2], 0xff
call fcn.10027ea0
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x34]
mov byte [ebp - 4], 0xf
cmp ecx, dword [ebp - 0x30]
je 0x100a83d7
movups xmm0, xmmword [ebp - 0x2c]
mov edx, 0xf
mov byte [ebp - 0x2c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x1c]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x34], 0x1c
jmp 0x100a83e7
lea eax, [ebp - 0x2c]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.1004bf90
mov edx, dword [ebp - 0x18]
mov byte [ebp - 4], 0xe
cmp edx, 0x10
jb 0x100a841e
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x2c]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a8414
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a8e3f
push ecx
push edx
call fcn.100ae001
add esp, 8
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 4], 5
cmp ecx, 0x10
jb 0x100a8456
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a844c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a8e3f
push ecx
push edx
call fcn.100ae001
add esp, 8
cmp dword [esi], 2
jne 0x100a8570
mov eax, dword [0x100f6c14]
add eax, 0xffffffc8
mov dword [ebp - 0x3c8], 0x692524
xor eax, 0x920a48ea
add eax, dword [ebp - 0x348]
push eax
lea eax, [ebp - 0x3c8]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.10087650
add esp, 0xc
mov ecx, dword [ebp - 0x358]
mov byte [ebp - 0x3c9], cl
lea ecx, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x10
mov word [ebp - 0x3cc], 0xc896
mov byte [ebp - 0x3ca], 0x3c
call fcn.10027ea0
mov eax, dword [ebp - 0x3cc]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x34]
mov byte [ebp - 4], 0x11
cmp ecx, dword [ebp - 0x30]
je 0x100a84f1
movups xmm0, xmmword [ebp - 0x2c]
mov edx, 0xf
mov byte [ebp - 0x2c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x1c]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x34], 0x1c
jmp 0x100a8501
lea eax, [ebp - 0x2c]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.1004bf90
mov edx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x10
cmp edx, 0x10
jb 0x100a8538
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x2c]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a852e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a8e3f
push ecx
push edx
call fcn.100ae001
add esp, 8
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 4], 5
cmp ecx, 0x10
jb 0x100a8570
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a8566
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a8e3f
push ecx
push edx
call fcn.100ae001
add esp, 8
cmp dword [esi], 3
mov ecx, dword [ebp - 0x348]
jne 0x100a873c
mov eax, dword [0x100f6c48]
add eax, 0xffffffbb
xor eax, 0x920a48f8
cmp byte [eax + ecx], 0
mov eax, dword [0x100f6c64]
je 0x100a8685
add eax, 0xffffffb4
mov dword [ebp - 0x48], 0
xor eax, 0x920a48ff
mov dword [ebp - 0x44], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x58], xmm0
cmp dword [eax + ecx], 0
jle 0x100a8629
lea ecx, [ebp - 0x3b8]
mov dword [ebp - 0x3b8], 0x4d4c4548
mov byte [ebp - 0x3b4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a85d8
sub ecx, edx
lea eax, [ebp - 0x3b8]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.1001d5b0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x2c]
call fcn.10027ea0
mov eax, dword [ebp - 0x34c]
mov word [ebp - 0x14], 0xffff
mov byte [ebp - 0x12], 0xff
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x38]
call fcn.100ad270
jmp 0x100a8722
lea ecx, [ebp - 0x3c0]
mov dword [ebp - 0x3c0], 0x4d4c4548
mov byte [ebp - 0x3bc], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a8643
sub ecx, edx
lea eax, [ebp - 0x3c0]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.1001d5b0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x2c]
call fcn.10027ea0
mov eax, dword [ebp - 0x34c]
mov word [ebp - 0x14], 0xffff
mov byte [ebp - 0x12], 0xff
mov byte [ebp - 0x11], al
mov byte [ebp - 4], 0x15
jmp 0x100a8700
add eax, 0xffffffb4
xor eax, 0x920a48ff
cmp dword [eax + ecx], 0
jle 0x100a873c
xorps xmm0, xmm0
mov dword [ebp - 0x378], 0x56454b
lea ecx, [ebp - 0x378]
mov dword [ebp - 0x48], 0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a86c0
sub ecx, edx
lea eax, [ebp - 0x378]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.1001d5b0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x2c]
call fcn.10027ea0
mov eax, dword [ebp - 0x34c]
mov word [ebp - 0x14], 0xffff
mov byte [ebp - 0x12], 0xff
mov byte [ebp - 0x11], al
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x2c]
push ecx
cmp eax, dword [ebp - 0x30]
je 0x100a8719
mov ecx, eax
call fcn.100a6010
add dword [ebp - 0x34], 0x1c
jmp 0x100a8722
push eax
lea ecx, [ebp - 0x38]
call fcn.1004bf90
lea ecx, [ebp - 0x2c]
call fcn.1001f960
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.1001f960
mov ecx, dword [ebp - 0x348]
cmp dword [esi], 4
jne 0x100a8890
mov eax, dword [0x100f6c54]
add eax, 0xffffffb8
xor eax, 0x920a48fb
cmp byte [eax + ecx], 0
je 0x100a8890
xorps xmm0, xmm0
mov dword [ebp - 0x3a8], 0x504f4353
lea ecx, [ebp - 0x3a8]
mov word [ebp - 0x3a4], 0x4445
mov byte [ebp - 0x3a2], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a8794
sub ecx, edx
lea eax, [ebp - 0x3a8]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.1001d5b0
mov eax, dword [ebp - 0x34c]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x371], al
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 0x18
mov word [ebp - 0x374], 0xc8e6
mov byte [ebp - 0x372], 0x82
call fcn.10027ea0
mov eax, dword [ebp - 0x374]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x34]
mov byte [ebp - 4], 0x19
cmp ecx, dword [ebp - 0x30]
je 0x100a8811
movups xmm0, xmmword [ebp - 0x2c]
mov edx, 0xf
mov byte [ebp - 0x2c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x1c]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x34], 0x1c
jmp 0x100a8821
lea eax, [ebp - 0x2c]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.1004bf90
mov edx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x18
cmp edx, 0x10
jb 0x100a8858
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x2c]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a884e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a8e3f
push ecx
push edx
call fcn.100ae001
add esp, 8
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 4], 5
cmp ecx, 0x10
jb 0x100a8890
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a8886
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a8e3f
push ecx
push edx
call fcn.100ae001
add esp, 8
cmp dword [esi], 5
xorps xmm1, xmm1
mov edx, dword [ebp - 0x348]
jne 0x100a89a0
mov eax, dword [0x100f6c78]
add eax, 0xffffffaf
xor eax, 0x920a4904
movss xmm0, dword [eax + edx]
comiss xmm0, xmm1
jbe 0x100a89a0
xorps xmm0, xmm0
mov dword [ebp - 0x398], 0x4e494c42
lea ecx, [ebp - 0x398]
mov word [ebp - 0x394], 0x44
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x44], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a88f0
sub ecx, edx
lea eax, [ebp - 0x398]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.1001d5b0
mov eax, dword [ebp - 0x358]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x35d], al
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 0x1a
mov word [ebp - 0x360], 0xffff
mov byte [ebp - 0x35e], 0
call fcn.10027ea0
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x34]
mov byte [ebp - 4], 0x1b
cmp ecx, dword [ebp - 0x30]
je 0x100a8976
movups xmm0, xmmword [ebp - 0x2c]
mov byte [ebp - 0x2c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x1c]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x34], 0x1c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
jmp 0x100a8983
lea eax, [ebp - 0x2c]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.1004bf90
lea ecx, [ebp - 0x2c]
call fcn.1001f960
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.1001f960
mov edx, dword [ebp - 0x348]
xorps xmm1, xmm1
cmp dword [esi], 6
jne 0x100a8ab0
mov eax, dword [0x100f6b60]
mov ecx, dword [edx + eax]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100a8ab0
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x100f6b18]
mov dword [ebp - 0x344], ecx
mov ecx, dword [0x100f6b7c]
mov dword [ebp - 0x35c], eax
cmp dword [edx + ecx], 0
jne 0x100a89f9
mov eax, dword [0x100f6af4]
mov ecx, edx
call eax
mov ecx, dword [0x100f6b7c]
mov eax, dword [ebp - 0x35c]
mov edx, eax
mov eax, dword [ebp - 0x348]
mov ecx, dword [eax + ecx]
call dword [ebp - 0x344]
cmp eax, 0x3c7
jne 0x100a8ab0
xorps xmm0, xmm0
mov dword [ebp - 0x368], 0x4f4c4552
lea ecx, [ebp - 0x368]
mov word [ebp - 0x364], 0x4441
mov byte [ebp - 0x362], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a8a50
sub ecx, edx
lea eax, [ebp - 0x368]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.1001d5b0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x1c
push eax
lea ecx, [ebp - 0x2c]
call fcn.10027ea0
mov eax, dword [ebp - 0x34c]
mov word [ebp - 0x14], 0xb43c
mov byte [ebp - 0x12], 0xe1
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x38]
call fcn.100ad270
lea ecx, [ebp - 0x2c]
call fcn.1001f960
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.1001f960
cmp dword [esi], 7
jne 0x100a8ba2
mov eax, dword [0x100f6b24]
mov ecx, dword [ebp - 0x348]
call eax
test al, al
je 0x100a8ba2
xorps xmm0, xmm0
mov word [ebp - 0x350], 0x3443
lea ecx, [ebp - 0x350]
mov byte [ebp - 0x34e], 0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x44], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a8b00
sub ecx, edx
lea eax, [ebp - 0x350]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.1001d5b0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x1e
push eax
lea ecx, [ebp - 0x2c]
call fcn.10027ea0
mov eax, dword [ebp - 0x34c]
mov word [ebp - 0x14], 0xff
mov byte [ebp - 0x12], 0
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x1f
push ecx
cmp eax, dword [ebp - 0x30]
je 0x100a8b59
mov ecx, eax
call fcn.100a6010
add dword [ebp - 0x34], 0x1c
jmp 0x100a8b62
push eax
lea ecx, [ebp - 0x38]
call fcn.1004bf90
lea ecx, [ebp - 0x2c]
call fcn.1001f960
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 4], 5
cmp ecx, 0x10
jb 0x100a8ba2
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a8b98
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a8e3f
push ecx
push edx
call fcn.100ae001
add esp, 8
cmp dword [esi], 8
jne 0x100a8cf3
cmp byte [0x100c8d18], 0
je 0x100a8cf3
mov ecx, dword [ebp - 0x370]
cmp dword [ecx + 0x18], 0
je 0x100a8cf3
mov edx, dword [ecx + 0x14]
mov eax, edx
mov ecx, dword [ecx + 0x10]
and edx, 1
shr eax, 1
dec ecx
and ecx, eax
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + edx*8]
test ecx, ecx
je 0x100a8cf3
mov eax, dword [ecx + 0x414]
cmp eax, 8
je 0x100a8cb5
test eax, eax
je 0x100a8cb5
cmp eax, 7
je 0x100a8cb5
cmp eax, 6
je 0x100a8cb5
cmp eax, 5
je 0x100a8cb5
cmp eax, 1
je 0x100a8cb5
cmp eax, 2
jne 0x100a8c60
cmp byte [ecx + 0x3ec], 0
je 0x100a8c65
lea eax, [ecx + 0x434]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10027ea0
mov eax, dword [ebp - 0x358]
mov word [ebp - 0x14], 0xff
mov byte [ebp - 0x12], 0
mov byte [ebp - 0x11], al
mov byte [ebp - 4], 0x21
jmp 0x100a8cdb
cmp eax, 4
jne 0x100a8c8d
lea eax, [ecx + 0x434]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10027ea0
mov eax, dword [ebp - 0x358]
mov word [ebp - 0x14], 0xa5ff
mov byte [ebp - 0x12], 0
mov byte [ebp - 0x11], al
mov byte [ebp - 4], 0x22
jmp 0x100a8cdb
lea eax, [ecx + 0x434]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10027ea0
mov eax, dword [ebp - 0x358]
mov word [ebp - 0x14], 0xff
mov byte [ebp - 0x12], 0
mov byte [ebp - 0x11], al
mov byte [ebp - 4], 0x23
jmp 0x100a8cdb
lea eax, [ecx + 0x434]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10027ea0
mov eax, dword [ebp - 0x358]
mov word [ebp - 0x14], 0xff00
mov byte [ebp - 0x12], 0
mov byte [ebp - 0x11], al
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x38]
call fcn.100ad270
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 5
call fcn.1001f960
add esi, 4
cmp esi, dword [ebp - 0x3d0]
jne 0x100a8240
mov ecx, dword [ebp - 0x34]
mov eax, 0x92492493
mov esi, dword [ebp - 0x38]
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100a8da3
mov eax, dword [ebp - 0x390]
mov edx, dword [ebp - 0x388]
add eax, 2
add edx, eax
xor eax, eax
mov dword [ebp - 0x344], edx
xor edi, edi
mov dword [ebp - 0x360], eax
lea ecx, [esi + eax]
mov eax, dword [0x100fa5c0]
add eax, 0xfffffffc
push 0
imul eax, edi
push ecx
push dword [ecx + 0x18]
mov ecx, 0x100fa5b8
add eax, dword [ebp - 0x38c]
push eax
push edx
call fcn.100a1120
mov ecx, dword [ebp - 0x34]
mov eax, 0x92492493
mov esi, dword [ebp - 0x38]
inc edi
add dword [ebp - 0x360], 0x1c
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x344]
cmp edi, eax
mov eax, dword [ebp - 0x360]
jb 0x100a8d44
mov edi, dword [ebp - 0x3d4]
mov eax, dword [ebp - 0x3a0]
mov byte [ebp - 4], 2
test eax, eax
je 0x100a8de3
mov ecx, dword [ebp - 0x340]
sub ecx, eax
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x100a8dd6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a8e3f
mov eax, edx
push ecx
push eax
call fcn.100ae001
mov esi, dword [ebp - 0x38]
add esp, 8
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x100a8e4f
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x34]
push esi
call fcn.1004bdb0
mov ecx, dword [ebp - 0x30]
mov eax, 0x92492493
mov esi, dword [ebp - 0x38]
add esp, 0xc
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x100a8e45
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100a8e45
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.100ae001
add esp, 8
xor eax, eax
mov dword [ebp - 0x350], eax
cmp byte [ebp - 0x339], al
je 0x100a9079
cmp byte [0x100ccaec], al
je 0x100a9059
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
dec eax
imul esi, eax, 0x544
add esi, 0x100d9c44
je 0x100a9059
cmp byte [esi + 0x31], 0
je 0x100a9059
cmp dword [esi + 0x18], 0
je 0x100a9059
mov edx, dword [esi + 0x14]
mov eax, edx
mov ecx, dword [esi + 0x10]
and edx, 1
shr eax, 1
dec ecx
and ecx, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + edx*8]
test eax, eax
je 0x100a9059
movss xmm0, dword [eax + 0x44]
movss xmm1, dword [eax + 0x40]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [0x100bdbf0]
jbe 0x100a8ef7
cmp byte [eax + 0x418], 0
je 0x100a9059
cmp dword [esi + 0x48], 3
jg 0x100a9059
movss xmm0, dword [esi + 0x4cc]
lea ecx, [ebp - 0x35c]
subss xmm0, dword [eax + 0x428]
xorps xmm1, xmm1
mov dword [ebp - 0x344], 0
lea edx, [ebp - 0x344]
mov dword [ebp - 0x340], 0x3f800000
comiss xmm1, xmm0
movss dword [ebp - 0x35c], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x340]
comiss xmm0, dword [0x100bb590]
movd xmm0, dword [ebp - 0x388]
cvtdq2ps xmm0, xmm0
seta al
test al, al
cmove ecx, edx
mulss xmm0, dword [ecx]
mulss xmm0, dword [0x100bdbe8]
comiss xmm0, xmm1
movss dword [ebp - 0x344], xmm0
jbe 0x100a9059
mov eax, dword [0x100ccb90]
mov ecx, dword [0x100f69a0]
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x34c]
mov byte [ebp - 0x33d], al
mov eax, dword [0x100f6cb8]
mov edx, dword [ecx]
add eax, 0xffffff9f
xor eax, 0x920a4914
add eax, dword [ebp - 0x348]
push ecx
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax]
mov dword [edx], eax
call esi
mov ecx, eax
test ecx, ecx
je 0x100a8fee
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov ecx, eax
xor eax, eax
test ecx, ecx
je 0x100a8ff0
cmp dword [ecx + 0x14], 0xffffffff
mov edx, 5
cmovne eax, edx
mov dword [ebp - 0x350], eax
jmp 0x100a8ff0
xor eax, eax
add eax, dword [ebp - 0x38c]
mov esi, dword [ebp - 0x384]
push dword [ebp - 0x340]
mov edi, dword [ebp - 0x390]
add esi, 2
add esi, eax
cvttss2si eax, dword [ebp - 0x344]
push 4
push eax
push esi
push edi
call fcn.100a0dc0
movd xmm0, dword [ebp - 0x34c]
add esp, 0x10
cvtdq2ps xmm0, xmm0
mov ecx, esp
push 4
push dword [ebp - 0x388]
mulss xmm0, dword [0x100bdbd8]
push esi
push edi
mov word [ecx], 0x4646
cvttss2si eax, xmm0
mov byte [ecx + 2], 0x46
mov byte [ecx + 3], al
call fcn.100a0d80
add esp, 0x14
push 0
push dword [0x100cc8bc]
push dword [0x100cc8b8]
call fcn.100adb90
cmp eax, dword [0x100cc8bc]
jne 0x100a9098
jmp 0x100a971b
push 1
push dword [0x100cc8bc]
push dword [0x100cc8b8]
call fcn.100adb90
cmp eax, dword [0x100cc8bc]
je 0x100a971b
mov ecx, dword [0x100f69a0]
mov eax, dword [0x100f6cb8]
add eax, 0xffffff9f
xor eax, 0x920a4914
mov edx, dword [ecx]
add eax, dword [ebp - 0x348]
push ecx
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax]
mov dword [edx], eax
call esi
mov esi, eax
mov dword [ebp - 0x3a0], esi
test esi, esi
je 0x100a971b
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100a971b
mov ecx, dword [eax + 0x14]
mov eax, dword [0x100f6cd4]
mov edx, dword [ebp - 0x348]
add eax, 0xffffff98
xor eax, 0x920a491b
mov dword [ebp - 0x340], ecx
mov ecx, dword [eax + esi]
mov eax, dword [0x100f6b60]
mov dword [ebp - 0x3d0], ecx
mov edi, dword [edx + eax]
movss xmm0, dword [edi + 0x58]
ucomiss xmm0, dword [0x100bbbf4]
lahf
test ah, 0x44
jnp 0x100a9174
mov ecx, dword [0x100f6b18]
mov eax, dword [edi + 0x50]
mov dword [ebp - 0x35c], ecx
mov ecx, dword [0x100f6b7c]
mov dword [ebp - 0x344], eax
cmp dword [edx + ecx], 0
jne 0x100a9158
mov eax, dword [0x100f6af4]
mov ecx, edx
call eax
mov ecx, dword [0x100f6b7c]
mov eax, dword [ebp - 0x344]
mov edx, eax
mov eax, dword [ebp - 0x348]
mov ecx, dword [eax + ecx]
call dword [ebp - 0x35c]
cmp eax, 0x3c7
jne 0x100a9174
mov al, 1
jmp 0x100a9176
xor al, al
mov ecx, dword [ebp - 0x340]
cmp ecx, 0xffffffff
je 0x100a9292
cmp byte [0x100cc9d4], 0
je 0x100a9292
test al, al
je 0x100a919d
movss xmm1, dword [edi + 0x64]
jmp 0x100a91b3
movd xmm1, dword [ebp - 0x3d0]
movd xmm0, ecx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mov eax, dword [ebp - 0x388]
add eax, 0xfffffffe
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x344], xmm0
fld dword [ebp - 0x344]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov ecx, dword [ebp - 0x358]
mov eax, esp
mov edi, dword [ebp - 0x384]
push 4
push dword [ebp - 0x388]
mov word [eax], 0x5a5a
mov byte [eax + 2], 0x5a
mov byte [eax + 3], cl
mov eax, dword [ebp - 0x38c]
add eax, 2
add edi, eax
push edi
push dword [ebp - 0x390]
fstp dword [ebp - 0x344]
cvttss2si esi, dword [ebp - 0x344]
call fcn.100a0dc0
mov eax, dword [0x100cca78]
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x34c]
mov byte [ebp - 0x33d], al
push dword [ebp - 0x340]
push 4
push esi
mov esi, dword [ebp - 0x390]
push edi
push esi
call fcn.100a0dc0
movd xmm0, dword [ebp - 0x34c]
add esp, 0x24
cvtdq2ps xmm0, xmm0
mov ecx, esp
push 4
push dword [ebp - 0x388]
mulss xmm0, dword [0x100bdbd8]
push edi
push esi
mov word [ecx], 0x4646
cvttss2si eax, xmm0
mov byte [ecx + 2], 0x46
mov byte [ecx + 3], al
call fcn.100a0d80
mov esi, dword [ebp - 0x3a0]
add esp, 0x14
add dword [ebp - 0x350], 6
mov eax, dword [0x100cc960]
test eax, eax
jne 0x100a93e3
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100a92c7
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
mov edx, dword [eax + 4]
jmp 0x100a92e0
mov dword [ebp - 0x380], 0x6f727265
lea edx, [ebp - 0x380]
mov word [ebp - 0x37c], 0x72
mov ecx, edx
mov dword [ebp - 0x78], 0
xorps xmm0, xmm0
mov dword [ebp - 0x74], 0
movups xmmword [ebp - 0x88], xmm0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9300
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.1001d5b0
push 7
push 0
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], 0x24
call fcn.10038a30
cmp dword [ebp - 0x74], 0x10
lea eax, [ebp - 0x88]
mov edx, dword [ebp - 0x88]
lea ecx, [ebp - 0x88]
cmovae eax, edx
lea edi, [ebp - 0x88]
mov dword [ebp - 0x344], eax
cmovae ecx, edx
mov eax, dword [ebp - 0x78]
add eax, ecx
cmp dword [ebp - 0x74], 0x10
mov dword [ebp - 0x35c], eax
cmovae edi, edx
cmp edi, eax
je 0x100a938b
mov esi, dword [ebp - 0x344]
sub esi, edi
movsx eax, byte [edi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [edi + esi], al
add esp, 4
inc edi
cmp edi, dword [ebp - 0x35c]
jne 0x100a9372
mov edx, dword [ebp - 0x350]
lea eax, [ebp - 0x88]
add edx, dword [ebp - 0x38c]
add edx, dword [ebp - 0x384]
push 2
push eax
mov eax, dword [ebp - 0x34c]
push ecx
mov ecx, esp
push edx
mov byte [ecx + 3], al
mov eax, dword [ebp - 0x388]
cdq
sub eax, edx
mov word [ecx], 0xffff
sar eax, 1
add eax, dword [ebp - 0x390]
mov byte [ecx + 2], 0xff
mov ecx, 0x100fa5b8
push eax
call fcn.100a1120
lea ecx, [ebp - 0x88]
jmp 0x100a9716
cmp eax, 1
jne 0x100a971b
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100a940d
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
mov eax, dword [eax + 4]
jmp 0x100a9426
mov dword [ebp - 0x380], 0x6f727265
lea eax, [ebp - 0x380]
mov word [ebp - 0x37c], 0x72
push eax
lea ecx, [ebp - 0x58]
call fcn.10034dd0
cmp dword [ebp - 0x44], 0x10
lea ecx, [ebp - 0x58]
mov edx, dword [ebp - 0x58]
lea edi, [ebp - 0x58]
push dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov eax, dword [ebp - 0x48]
cmovae ecx, edx
cmovae edi, edx
mov dword [ebp - 4], 0x25
add eax, ecx
lea ecx, [ebp - 0x58]
cmp dword [ebp - 0x44], 0x10
push edi
push eax
cmovae ecx, edx
lea eax, [ebp - 0x344]
push ecx
push eax
call fcn.100a5f00
mov edx, dword [0x100f6cd0]
add esp, 0x14
mov ecx, dword [ebp - 0x3a0]
lea eax, [edx - 0x67]
xor eax, 0x920a491a
cmp dword [eax + ecx], 0x40
jne 0x100a94d9
push 2
lea eax, [ebp - 0x58]
push eax
push ecx
mov ecx, dword [ebp - 0x358]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, 0x100fa5b8
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x350]
add eax, dword [ebp - 0x38c]
add eax, dword [ebp - 0x384]
push eax
mov eax, dword [ebp - 0x388]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x390]
push eax
call fcn.100a1120
jmp 0x100a9713
add edx, 0xffffff99
mov esi, dword [ebp - 0x39c]
xor edx, 0x920a491a
mov edi, dword [ebp - 0x350]
add edx, ecx
add esi, 0x24f4
sub edi, 5
mov dword [ebp - 0x344], edx
movzx eax, byte [edx]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edx + 1]
xor ecx, eax
movzx eax, byte [edx + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, esi
push eax
mov dword [ebp - 0x340], eax
lea eax, [ebp - 0x368]
push edx
push eax
call fcn.1002ec70
mov eax, dword [ebp - 0x364]
test eax, eax
jne 0x100a962c
cmp dword [esi + 8], 0xfffffff
je 0x100a9738
lea eax, [esi + 4]
mov dword [ebp - 0x3a8], eax
push 0x10
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x3a4], 0
call fcn.100adfd1
mov ecx, dword [ebp - 0x344]
add esp, 4
mov dword [ebp - 0x3a4], eax
add eax, 8
mov dword [ebp - 0x35c], eax
mov ecx, dword [ecx]
mov dword [eax], ecx
mov byte [eax + 4], 0
mov eax, dword [esi + 8]
inc eax
mov byte [ebp - 4], 0x27
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100bb5e0]
mov eax, dword [esi + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100bb5e0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [esi]
seta al
test al, al
je 0x100a960e
mov ecx, esi
call fcn.10031df0
push dword [ebp - 0x340]
lea eax, [ebp - 0x380]
mov ecx, esi
push dword [ebp - 0x35c]
push eax
call fcn.1002ec70
mov ecx, dword [eax]
jmp 0x100a9614
mov ecx, dword [ebp - 0x368]
push dword [ebp - 0x3a4]
push ecx
push dword [ebp - 0x340]
mov ecx, esi
call fcn.10031d90
mov byte [ebp - 4], 0x25
push 0x98
lea esi, [eax + 0xc]
mov word [ebp - 0x350], 0x6325
lea eax, [ebp - 0x120]
mov byte [ebp - 0x34e], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x120]
push 1
call fcn.100a5f50
lea eax, [ebp - 0x38]
mov dword [ebp - 0x64], esi
push 1
push eax
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x350]
push eax
lea eax, [ebp - 0x120]
mov dword [ebp - 0x60], 0x100a5c30
movq xmm0, qword [ebp - 0x64]
push eax
mov byte [ebp - 4], 0x28
mov dword [ebp - 0x3c], 1
movq qword [ebp - 0x38], xmm0
mov dword [ebp - 0x30], 0x100a5ee0
call fcn.1002a440
add esp, 0x10
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x11c]
push eax
call fcn.1002a980
lea ecx, [ebp - 0x120]
call fcn.10028070
push 2
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x29
push eax
push ecx
mov ecx, dword [ebp - 0x358]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, 0x100fa600
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x38c]
add eax, edi
add eax, dword [ebp - 0x384]
push eax
mov eax, dword [ebp - 0x388]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x390]
push eax
call fcn.100a1120
lea ecx, [ebp - 0x28]
call fcn.1001f960
lea ecx, [ebp - 0x58]
call fcn.1001f960
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100ae337
mov esp, ebp
pop ebp
ret 4
push str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__
int3