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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1023212e
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1918
call fcn.101f4260
mov eax, dword [0x102d5080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x1918], eax
mov edi, dword [eax + 0x63cc0]
lea edx, [eax + 0x63cc0]
mov dword [ebp - 0x1904], edi
cmp edi, dword [edx + 4]
je 0x10165abe
mov ecx, dword [0x10bbf240]
add ecx, 0xaff3cc8c
xor ecx, 0x3743f7af
movss xmm0, dword [ecx + 0x40]
subss xmm0, dword [edi + 0x14]
call fcn.1000deb0
comiss xmm0, dword [0x102bd7ac]
jbe 0x10163101
push edi
lea eax, [ebp - 0x18f8]
mov ecx, edx
push eax
jmp 0x10165ab9
movss xmm0, dword [edi + 0x18]
ucomiss xmm0, dword [0x102bdb48]
lahf
test ah, 0x44
jnp 0x10165abe
mov edx, dword [edi + 0x20]
test edx, edx
je 0x10165abe
cmp dword [edi + 8], 0xffffffff
jne 0x10165abe
cmp byte [edi], 0
je 0x10165abe
cmp byte [edi + 1], 0
je 0x10165abe
mov ecx, dword [ecx + 0xb0]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
mov dword [ebp - 0x1914], esi
test esi, esi
je 0x10165aa0
mov edx, dword [esi]
mov ecx, esi
mov edx, dword [edx + 0x278]
call edx
test al, al
je 0x10165aa0
cmp dword [edi + 0x48], esi
jne 0x10165aa0
mov eax, dword [0x10bbf240]
mov ecx, dword [ebp - 0x1914]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
add ecx, 4
mov esi, dword [eax + 0xd4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
xor edx, edx
mov ecx, esi
test esi, esi
push eax
cmovne edx, esi
mov edx, dword [edx]
mov edx, dword [edx + 0x80]
call edx
test eax, eax
je 0x10165aa0
cmp byte [edi + 0x5c], 0
movss xmm0, dword [edi + 0x30]
movss dword [ebp - 0x1924], xmm0
movss xmm0, dword [edi + 0x34]
movss dword [ebp - 0x1920], xmm0
movss xmm0, dword [edi + 0x38]
movss dword [ebp - 0x191c], xmm0
je 0x101631f6
add edi, 0xd400
mov dword [ebp - 0x18ec], edi
jmp 0x10163202
lea eax, [edi + 0xa3e0]
mov dword [ebp - 0x18ec], eax
push 0x1800
xorps xmm0, xmm0
mov word [ebp - 0x18e0], 0
lea eax, [ebp - 0x1890]
mov dword [ebp - 0x18dc], 0
push 0
push eax
movaps xmmword [ebp - 0x18d0], xmm0
movaps xmmword [ebp - 0x18c0], xmm0
movaps xmmword [ebp - 0x18b0], xmm0
mov dword [ebp - 0x18a0], 0
mov dword [ebp - 0x189c], 0
mov dword [ebp - 0x1898], 0
call fcn.101f5dc0
add esp, 0xc
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0xffffffff
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov esi, dword [ebp - 0x1914]
mov dword [ebp - 4], 0
mov eax, dword [0x10375508]
mov dword [ebp - 0x18d8], esi
test al, 1
jne 0x10163470
or eax, 1
mov dword [0x10375508], eax
mov byte [ebp - 4], 1
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x18e8], eax
cmp eax, ecx
je 0x10163365
mov eax, dword [eax]
mov dword [ebp - 0x1900], eax
test eax, eax
je 0x10163352
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10163326
xor edx, edx
test ecx, ecx
je 0x1016334c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10163333
cmp esi, 0x1eee87cc
je 0x1016337a
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x18e8]
add eax, 4
mov dword [ebp - 0x18e8], eax
cmp eax, ecx
jne 0x10163310
mov esi, dword [ebp - 0x1914]
xor eax, eax
mov dword [0x1037554c], eax
mov byte [ebp - 4], al
jmp 0x10163475
mov eax, dword [ebp - 0x1900]
xor edi, edi
mov dword [ebp - 0x18e8], edi
mov dword [ebp - 0x18fc], edi
cmp dword [eax + 4], edi
jle 0x1016343d
xor ecx, ecx
mov dword [ebp - 0x18e4], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x1910], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101633dd
cmp dword [ecx + 4], 0
jle 0x101633dd
push 0
mov edx, 0x559d81af
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101633d7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18e8], edi
mov eax, dword [ebp - 0x1900]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x101633e6
xor edx, edx
test ecx, ecx
je 0x10163412
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101633f3
cmp esi, 0x559d81af
je 0x10163450
mov eax, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x18fc]
mov ecx, dword [ebp - 0x18e4]
inc edx
mov edi, dword [ebp - 0x18e8]
add ecx, 0x3c
mov dword [ebp - 0x18fc], edx
mov dword [ebp - 0x18e4], ecx
cmp edx, dword [eax + 4]
jl 0x101633a0
mov esi, dword [ebp - 0x1914]
mov eax, edi
mov dword [0x1037554c], eax
mov byte [ebp - 4], 0
jmp 0x10163475
mov eax, dword [ebp - 0x1910]
mov esi, dword [ebp - 0x1914]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18e8]
mov dword [0x1037554c], eax
mov byte [ebp - 4], 0
jmp 0x10163475
mov eax, dword [0x1037554c]
movq xmm0, qword [eax + esi]
mov ecx, esi
movq qword [ebp - 0x18d0], xmm0
mov eax, dword [eax + esi + 8]
mov dword [ebp - 0x18c8], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
movq xmm0, qword [eax]
movq qword [ebp - 0x18c4], xmm0
mov eax, dword [eax + 8]
mov dword [ebp - 0x18bc], eax
mov eax, dword [0x10373c28]
test al, 1
jne 0x10163640
or eax, 1
mov dword [0x10373c28], eax
mov byte [ebp - 4], 2
mov eax, dword [0x10371278]
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
je 0x10163530
mov ecx, dword [eax]
mov dword [ebp - 0x18e8], ecx
test ecx, ecx
je 0x1016351f
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x101634f0
xor edx, edx
test ecx, ecx
je 0x1016351f
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10163500
cmp esi, 0x72e242a1
je 0x10163545
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
jne 0x101634d6
mov esi, dword [ebp - 0x1914]
xor eax, eax
mov dword [0x10373cc0], eax
mov byte [ebp - 4], al
jmp 0x10163645
mov eax, dword [ebp - 0x18e8]
xor edi, edi
mov dword [ebp - 0x1900], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x1016360d
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x1910], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101635ad
cmp dword [ecx + 4], 0
jle 0x101635ad
push 0
mov edx, 0xf3c2c786
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101635a7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1900], edi
mov eax, dword [ebp - 0x18e8]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x101635b6
xor edx, edx
test ecx, ecx
je 0x101635e2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101635c3
cmp esi, 0xf3c2c786
je 0x10163620
mov eax, dword [ebp - 0x18e8]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x1900]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jl 0x10163570
mov esi, dword [ebp - 0x1914]
mov eax, edi
mov dword [0x10373cc0], eax
mov byte [ebp - 4], 0
jmp 0x10163645
mov eax, dword [ebp - 0x1910]
mov esi, dword [ebp - 0x1914]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1900]
mov dword [0x10373cc0], eax
mov byte [ebp - 4], 0
jmp 0x10163645
mov eax, dword [0x10373cc0]
movq xmm0, qword [eax + esi]
movq qword [ebp - 0x18b8], xmm0
mov eax, dword [eax + esi + 8]
mov dword [ebp - 0x18b0], eax
mov eax, dword [0x10373c60]
test al, 1
jne 0x101637f0
or eax, 1
mov dword [0x10373c60], eax
mov byte [ebp - 4], 3
mov eax, dword [0x10371278]
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
je 0x101636e3
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x18e8], ecx
test ecx, ecx
je 0x101636d2
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x101636a6
xor edx, edx
test ecx, ecx
je 0x101636d2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101636b3
cmp esi, 0x1eee87cc
je 0x101636f8
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
jne 0x10163690
mov esi, dword [ebp - 0x1914]
xor eax, eax
mov dword [0x10373c78], eax
mov byte [ebp - 4], al
jmp 0x101637f5
mov eax, dword [ebp - 0x18e8]
xor edi, edi
mov dword [ebp - 0x1900], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x101637bd
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x1910], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1016375d
cmp dword [ecx + 4], 0
jle 0x1016375d
push 0
mov edx, 0xe57f80c
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10163757
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1900], edi
mov eax, dword [ebp - 0x18e8]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x10163766
xor edx, edx
test ecx, ecx
je 0x10163792
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10163773
cmp esi, 0xe57f80c
je 0x101637d0
mov eax, dword [ebp - 0x18e8]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x1900]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jl 0x10163720
mov esi, dword [ebp - 0x1914]
mov eax, edi
mov dword [0x10373c78], eax
mov byte [ebp - 4], 0
jmp 0x101637f5
mov eax, dword [ebp - 0x1910]
mov esi, dword [ebp - 0x1914]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1900]
mov dword [0x10373c78], eax
mov byte [ebp - 4], 0
jmp 0x101637f5
mov eax, dword [0x10373c78]
movq xmm0, qword [eax + esi]
movq qword [ebp - 0x18ac], xmm0
mov eax, dword [eax + esi + 8]
mov dword [ebp - 0x18a4], eax
mov eax, dword [0x103754d4]
test al, 1
jne 0x101639a0
or eax, 1
mov dword [0x103754d4], eax
mov byte [ebp - 4], 4
mov eax, dword [0x10371278]
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
je 0x10163893
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x18e8], ecx
test ecx, ecx
je 0x10163882
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10163856
xor edx, edx
test ecx, ecx
je 0x10163882
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10163863
cmp esi, 0x1eee87cc
je 0x101638a8
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
jne 0x10163840
mov esi, dword [ebp - 0x1914]
xor eax, eax
mov dword [0x10373c98], eax
mov byte [ebp - 4], al
jmp 0x101639a5
mov eax, dword [ebp - 0x18e8]
xor edi, edi
mov dword [ebp - 0x1900], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x1016396d
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x1910], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1016390d
cmp dword [ecx + 4], 0
jle 0x1016390d
push 0
mov edx, 0x7d388d3e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10163907
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1900], edi
mov eax, dword [ebp - 0x18e8]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x10163916
xor edx, edx
test ecx, ecx
je 0x10163942
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10163923
cmp esi, 0x7d388d3e
je 0x10163980
mov eax, dword [ebp - 0x18e8]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x1900]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jl 0x101638d0
mov esi, dword [ebp - 0x1914]
mov eax, edi
mov dword [0x10373c98], eax
mov byte [ebp - 4], 0
jmp 0x101639a5
mov eax, dword [ebp - 0x1910]
mov esi, dword [ebp - 0x1914]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1900]
mov dword [0x10373c98], eax
mov byte [ebp - 4], 0
jmp 0x101639a5
mov eax, dword [0x10373c98]
movq xmm0, qword [eax + esi]
lea edi, [ebp - 0x1890]
movq qword [ebp - 0x18a0], xmm0
mov eax, dword [eax + esi + 8]
mov dword [ebp - 0x1898], eax
mov eax, dword [esi + 0x2920]
mov esi, dword [esi + 0x2914]
lea ecx, [eax + eax*2]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x1914]
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov esi, dword [0x107f41e8]
add esi, 0xdee113ef
xor esi, 0xb3e5279a
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x38c
add eax, esi
je 0x10164229
mov esi, dword [ebp - 0x1904]
cmp byte [esi + 0x5c], 0
lea eax, [esi + 0xd3e0]
jne 0x10163a1f
lea eax, [esi + 0xe4]
movss xmm0, dword [eax + 8]
movss xmm2, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [ebp - 0x38], xmm0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x18f8], eax
mov eax, dword [0x10375508]
unpcklps xmm2, xmm1
movq qword [ebp - 0x40], xmm2
test al, 1
jne 0x10163be9
or eax, 1
mov dword [0x10375508], eax
mov byte [ebp - 4], 5
mov eax, dword [0x10371278]
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
je 0x10163ac3
nop
mov ecx, dword [eax]
mov dword [ebp - 0x18e8], ecx
test ecx, ecx
je 0x10163ab2
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10163a86
xor edx, edx
test ecx, ecx
je 0x10163ab2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10163a93
cmp esi, 0x1eee87cc
je 0x10163ade
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
jne 0x10163a70
mov edi, dword [ebp - 0x1914]
xor eax, eax
mov byte [ebp - 4], al
mov esi, dword [ebp - 0x1904]
mov dword [0x1037554c], eax
jmp 0x10163bee
mov eax, dword [ebp - 0x18e8]
xor edi, edi
mov dword [ebp - 0x1900], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x10163baa
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x1910], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10163b40
cmp dword [ecx + 4], 0
jle 0x10163b40
push 0
mov edx, 0x559d81af
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10163b3a
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1900], edi
mov eax, dword [ebp - 0x18e8]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10163b50
xor edx, edx
test ecx, ecx
je 0x10163b7f
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10163b60
cmp esi, 0x559d81af
je 0x10163bc3
mov eax, dword [ebp - 0x18e8]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x1900]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jl 0x10163b03
mov eax, edi
mov byte [ebp - 4], 0
mov esi, dword [ebp - 0x1904]
mov edi, dword [ebp - 0x1914]
mov dword [0x1037554c], eax
jmp 0x10163bee
mov eax, dword [ebp - 0x1910]
mov edi, dword [ebp - 0x1914]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1900]
mov byte [ebp - 4], 0
mov esi, dword [ebp - 0x1904]
mov dword [0x1037554c], eax
jmp 0x10163bee
mov eax, dword [0x1037554c]
mov ecx, dword [ebp - 0x18f8]
movq qword [eax + edi], xmm2
mov dword [eax + edi + 8], ecx
lea ecx, [ebp - 0x40]
mov eax, dword [0x103bfe04]
push ecx
mov ecx, edi
call eax
mov eax, dword [esi + 0x11c]
movq xmm0, qword [esi + 0x114]
mov dword [ebp - 0x1910], eax
mov eax, dword [0x103754d4]
test al, 1
jne 0x10163dc9
or eax, 1
mov dword [0x103754d4], eax
mov byte [ebp - 4], 6
mov eax, dword [0x10371278]
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
je 0x10163ca3
nop word [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x18e8], ecx
test ecx, ecx
je 0x10163c92
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10163c66
xor edx, edx
test ecx, ecx
je 0x10163c92
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10163c73
cmp esi, 0x1eee87cc
je 0x10163cbe
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
jne 0x10163c50
mov edi, dword [ebp - 0x1914]
xor eax, eax
mov byte [ebp - 4], al
mov esi, dword [ebp - 0x1904]
mov dword [0x10373c98], eax
jmp 0x10163dce
mov eax, dword [ebp - 0x18e8]
xor edi, edi
mov dword [ebp - 0x1900], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x10163d8a
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x18f8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10163d20
cmp dword [ecx + 4], 0
jle 0x10163d20
push 0
mov edx, 0x7d388d3e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10163d1a
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1900], edi
mov eax, dword [ebp - 0x18e8]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10163d30
xor edx, edx
test ecx, ecx
je 0x10163d5f
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10163d40
cmp esi, 0x7d388d3e
je 0x10163da3
mov eax, dword [ebp - 0x18e8]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x1900]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jl 0x10163ce3
mov eax, edi
mov byte [ebp - 4], 0
mov esi, dword [ebp - 0x1904]
mov edi, dword [ebp - 0x1914]
mov dword [0x10373c98], eax
jmp 0x10163dce
mov eax, dword [ebp - 0x18f8]
mov edi, dword [ebp - 0x1914]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1900]
mov byte [ebp - 4], 0
mov esi, dword [ebp - 0x1904]
mov dword [0x10373c98], eax
jmp 0x10163dce
mov eax, dword [0x10373c98]
mov ecx, dword [ebp - 0x1910]
movq qword [eax + edi], xmm0
mov dword [eax + edi + 8], ecx
mov eax, dword [esi + 0x110]
movq xmm0, qword [esi + 0x108]
mov dword [ebp - 0x1910], eax
mov eax, dword [0x10373c60]
test al, 1
jne 0x10163f80
or eax, 1
mov dword [0x10373c60], eax
mov byte [ebp - 4], 7
mov eax, dword [0x10371278]
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
je 0x10163e73
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x18e8], ecx
test ecx, ecx
je 0x10163e62
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10163e36
xor edx, edx
test ecx, ecx
je 0x10163e62
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10163e43
cmp esi, 0x1eee87cc
je 0x10163e88
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
jne 0x10163e20
mov edi, dword [ebp - 0x1914]
xor eax, eax
mov dword [0x10373c78], eax
mov byte [ebp - 4], al
jmp 0x10163f85
mov eax, dword [ebp - 0x18e8]
xor edi, edi
mov dword [ebp - 0x1900], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x10163f4d
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x18f8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10163eed
cmp dword [ecx + 4], 0
jle 0x10163eed
push 0
mov edx, 0xe57f80c
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10163ee7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1900], edi
mov eax, dword [ebp - 0x18e8]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x10163ef6
xor edx, edx
test ecx, ecx
je 0x10163f22
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10163f03
cmp esi, 0xe57f80c
je 0x10163f60
mov eax, dword [ebp - 0x18e8]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x1900]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jl 0x10163eb0
mov eax, edi
mov byte [ebp - 4], 0
mov edi, dword [ebp - 0x1914]
mov dword [0x10373c78], eax
jmp 0x10163f85
mov eax, dword [ebp - 0x18f8]
mov edi, dword [ebp - 0x1914]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1900]
mov dword [0x10373c78], eax
mov byte [ebp - 4], 0
jmp 0x10163f85
mov eax, dword [0x10373c78]
mov edx, dword [0x10373cb4]
mov ecx, dword [ebp - 0x1910]
movq qword [eax + edi], xmm0
mov dword [eax + edi + 8], ecx
test dl, 1
jne 0x10164117
or edx, 1
mov dword [0x10373cb4], edx
mov byte [ebp - 4], 8
mov eax, dword [0x10371278]
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
je 0x10164020
mov ecx, dword [eax]
mov dword [ebp - 0x18e8], ecx
test ecx, ecx
je 0x1016400f
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10163fe0
xor edx, edx
test ecx, ecx
je 0x1016400f
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10163ff0
cmp esi, 0x54aff69
je 0x10164040
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
jne 0x10163fc3
xor edi, edi
lea ecx, [edi + 0x1c]
mov byte [ebp - 4], 0
mov edx, dword [0x10373cb4]
mov edi, dword [ebp - 0x1914]
mov dword [0x10373c2c], ecx
jmp 0x1016411d
mov eax, dword [ebp - 0x18e8]
xor edi, edi
mov dword [ebp - 0x1900], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x10164022
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x18f8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1016409e
cmp dword [ecx + 4], 0
jle 0x1016409e
push 0
mov edx, 0xddac019e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10164098
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1900], edi
mov eax, dword [ebp - 0x18e8]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x101640a7
xor edx, edx
test ecx, ecx
je 0x101640d3
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101640b4
cmp esi, 0xddac019e
je 0x10164103
mov eax, dword [ebp - 0x18e8]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x1900]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jge 0x10164022
jmp 0x10164061
mov eax, dword [ebp - 0x18f8]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1900]
jmp 0x10164022
mov ecx, dword [0x10373c2c]
lea eax, [ecx + edi]
test eax, eax
je 0x10164153
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x103bfd24]
test eax, eax
je 0x1016413e
add eax, 0xa
mov eax, dword [eax]
mov eax, dword [eax]
dec eax
mov dword [edi + 0x2690], eax
mov dword [edi + 0x2924], 0xff7fffff
test dl, 1
jne 0x101641ec
or edx, 1
mov dword [0x10373cb4], edx
mov byte [ebp - 4], 9
mov eax, dword [0x10371278]
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
je 0x101641d7
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x18e8], ecx
test ecx, ecx
je 0x101641c6
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10164196
xor edx, edx
test ecx, ecx
je 0x101641c6
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101641a3
cmp esi, 0x54aff69
je 0x101644b3
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
jne 0x10164180
xor edi, edi
lea ecx, [edi + 0x1c]
mov byte [ebp - 4], 0
mov edi, dword [ebp - 0x1914]
mov dword [0x10373c2c], ecx
lea edx, [ecx + edi]
test edx, edx
je 0x10164229
mov eax, dword [edi + 0x2920]
mov edi, dword [edi + 0x2914]
mov esi, dword [ebp - 0x18ec]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x1914]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 0x2920]
mov edi, dword [edx]
mov esi, dword [ebp - 0x18ec]
lea ecx, [eax + eax*2]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x1904]
lea edx, [ebp - 0x1924]
lea eax, [edi + 0x50]
push eax
push dword [ebp - 0x18ec]
lea eax, [ebp - 0x18e0]
push dword [edi + 0x10]
lea ecx, [edi + 0x24]
push eax
call fcn.10145cb0
add esp, 0x10
test al, al
jne 0x101646dc
movss xmm0, dword [edi + 0x34]
subss xmm0, dword [edi + 0x28]
movss xmm1, dword [0x102bd800]
call fcn.1002f3b0
movss xmm1, dword [0x102bd800]
movss dword [ebp - 0x18ec], xmm0
movss xmm0, dword [edi + 0x30]
subss xmm0, dword [edi + 0x24]
call fcn.1002f3b0
movss xmm1, dword [ebp - 0x18ec]
addss xmm1, xmm0
movss xmm0, dword [edi + 0x38]
subss xmm0, dword [edi + 0x2c]
movss dword [ebp - 0x18ec], xmm1
movss xmm1, dword [0x102bd800]
call fcn.1002f3b0
addss xmm0, dword [ebp - 0x18ec]
call fcn.1000ded0
movss xmm1, dword [0x102bd800]
movss dword [ebp - 0x18f8], xmm0
movss xmm0, dword [edi + 0x40]
subss xmm0, dword [edi + 0x28]
call fcn.1002f3b0
movss xmm1, dword [0x102bd800]
movss dword [ebp - 0x18ec], xmm0
movss xmm0, dword [edi + 0x3c]
subss xmm0, dword [edi + 0x24]
call fcn.1002f3b0
movss xmm2, dword [ebp - 0x18ec]
movss xmm1, dword [0x102bd800]
addss xmm2, xmm0
movss xmm0, dword [edi + 0x44]
subss xmm0, dword [edi + 0x2c]
movss dword [ebp - 0x18ec], xmm2
call fcn.1002f3b0
addss xmm0, dword [ebp - 0x18ec]
call fcn.1000ded0
mov edi, dword [0x1109cd88]
lea eax, [ebp - 0x4c]
add edi, 0x338c723d
mov dword [ebp - 0x1904], 0xffffffff
xor edi, 0xaf83288a
comiss xmm0, dword [ebp - 0x18f8]
push eax
jbe 0x10164596
mov ecx, 0x1036d7c0
call fcn.10052980
mov byte [ebp - 4], 0xa
movss xmm1, dword [0x102bda54]
movss xmm0, dword [0x10359d50]
mulss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x10359d4c]
mulss xmm0, xmm1
mov dword [ebp - 0x18f8], eax
cvttss2si edx, xmm0
movss xmm0, dword [0x10359d48]
mulss xmm0, xmm1
mov byte [ebp - 0x18ea], dl
cvttss2si ecx, xmm0
movss xmm0, dword [0x10359d44]
mulss xmm0, xmm1
mov byte [ebp - 0x18eb], cl
mov ecx, 0x10360230
cvttss2si eax, xmm0
mov byte [ebp - 0x18ec], al
mov eax, dword [ebp - 0x18f8]
mov byte [ebp - 0x18e9], al
mov eax, dword [ebp - 0x18ec]
mov dword [ebp - 0x18f8], eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov esi, dword [eax + 0xd0]
lea eax, [ebp - 0x2c]
push eax
call fcn.10043330
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
mov eax, dword [esi]
cmova ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x18f8]
mov eax, dword [eax + 0x64]
push ecx
push esi
call eax
add esp, 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2c]
call fcn.1002b0f0
mov eax, dword [0x10bbf240]
lea ecx, [ebp - 0x4c]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
cmp dword [ebp - 0x38], 0xf
cmova ecx, dword [ebp - 0x4c]
push ecx
mov edx, dword [eax + 0xd0]
lea ecx, [ebp - 0x1904]
push str._s__n
push ecx
push edx
mov eax, dword [edx]
mov eax, dword [eax + 0x64]
call eax
add esp, 0x10
call fcn.101f9398
lea ecx, [ebp - 0x2c]
movd xmm0, eax
mov eax, dword [ebp - 0x1904]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x4c]
push eax
mulss xmm0, dword [0x102bd634]
movss dword [ebp - 0x34], xmm0
call fcn.10044c30
mov byte [ebp - 4], 0xc
jmp 0x10164fd8
mov eax, dword [ebp - 0x18e8]
xor edi, edi
mov dword [ebp - 0x1900], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x101641d9
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x18f8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1016451d
cmp dword [ecx + 4], 0
jle 0x1016451d
push 0
mov edx, 0xddac019e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10164517
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1900], edi
mov eax, dword [ebp - 0x18e8]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x10164526
xor edx, edx
test ecx, ecx
je 0x10164552
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10164533
cmp esi, 0xddac019e
je 0x10164582
mov eax, dword [ebp - 0x18e8]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x1900]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jge 0x101641d9
jmp 0x101644e0
mov eax, dword [ebp - 0x18f8]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1900]
jmp 0x101641d9
mov ecx, 0x1036d820
call fcn.10133dc0
mov byte [ebp - 4], 0xd
movss xmm1, dword [0x102bda54]
movss xmm0, dword [0x10359d50]
mulss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x10359d4c]
mulss xmm0, xmm1
mov dword [ebp - 0x18f8], eax
cvttss2si edx, xmm0
movss xmm0, dword [0x10359d48]
mulss xmm0, xmm1
mov byte [ebp - 0x18ea], dl
cvttss2si ecx, xmm0
movss xmm0, dword [0x10359d44]
mulss xmm0, xmm1
mov byte [ebp - 0x18eb], cl
mov ecx, 0x10360230
cvttss2si eax, xmm0
mov byte [ebp - 0x18ec], al
mov eax, dword [ebp - 0x18f8]
mov byte [ebp - 0x18e9], al
mov eax, dword [ebp - 0x18ec]
mov dword [ebp - 0x18f8], eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov esi, dword [eax + 0xd0]
lea eax, [ebp - 0x2c]
push eax
call fcn.10043330
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
mov eax, dword [esi]
cmova ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x18f8]
mov eax, dword [eax + 0x64]
push ecx
push esi
call eax
add esp, 0xc
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x2c]
call fcn.1002b0f0
mov eax, dword [0x10bbf240]
lea ecx, [ebp - 0x4c]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
cmp dword [ebp - 0x38], 0xf
cmova ecx, dword [ebp - 0x4c]
push ecx
mov edx, dword [eax + 0xd0]
lea ecx, [ebp - 0x1904]
push str._s__n
push ecx
push edx
mov eax, dword [edx]
mov eax, dword [eax + 0x64]
call eax
add esp, 0x10
call fcn.101f9398
lea ecx, [ebp - 0x2c]
movd xmm0, eax
mov eax, dword [ebp - 0x1904]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x4c]
push eax
mulss xmm0, dword [0x102bd634]
movss dword [ebp - 0x34], xmm0
call fcn.10044c30
mov byte [ebp - 4], 0xf
jmp 0x10164fd8
mov eax, dword [0x10373c4c]
test al, 1
jne 0x10164864
or eax, 1
mov dword [0x10373c4c], eax
mov byte [ebp - 4], 0x10
mov eax, dword [0x10371278]
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
je 0x10164763
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x18ec], ecx
test ecx, ecx
je 0x10164752
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10164726
xor edx, edx
test ecx, ecx
je 0x10164752
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10164733
cmp esi, 0x4e9f1122
je 0x10164772
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
jne 0x10164710
xor eax, eax
mov dword [0x10373c50], eax
mov byte [ebp - 4], al
jmp 0x10164869
mov eax, dword [ebp - 0x18ec]
xor edi, edi
mov dword [ebp - 0x18e8], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x1016483d
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x18f8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101647dd
cmp dword [ecx + 4], 0
jle 0x101647dd
push 0
mov edx, 0x1c93bcf0
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101647d7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18e8], edi
mov eax, dword [ebp - 0x18ec]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x101647e6
xor edx, edx
test ecx, ecx
je 0x10164812
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101647f3
cmp esi, 0x1c93bcf0
je 0x1016484a
mov eax, dword [ebp - 0x18ec]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x18e8]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jl 0x101647a0
mov eax, edi
mov byte [ebp - 4], 0
mov dword [0x10373c50], eax
jmp 0x10164869
mov eax, dword [ebp - 0x18f8]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18e8]
mov dword [0x10373c50], eax
mov byte [ebp - 4], 0
jmp 0x10164869
mov eax, dword [0x10373c50]
mov ecx, dword [ebp - 0x1914]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x1910], eax
mov eax, dword [0x1037556c]
test al, 1
jne 0x10164a10
or eax, 1
mov dword [0x1037556c], eax
mov byte [ebp - 4], 0x11
mov eax, dword [0x10371278]
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
je 0x10164900
mov ecx, dword [eax]
mov dword [ebp - 0x18ec], ecx
test ecx, ecx
je 0x101648ef
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x101648c0
xor edx, edx
test ecx, ecx
je 0x101648ef
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101648d0
cmp esi, 0x72e242a1
je 0x10164915
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
jne 0x101648a4
mov ecx, dword [ebp - 0x1914]
xor eax, eax
mov dword [0x1037552c], eax
mov byte [ebp - 4], al
jmp 0x10164a15
mov eax, dword [ebp - 0x18ec]
xor edi, edi
mov dword [ebp - 0x18e8], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x101649dd
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x18f8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1016497d
cmp dword [ecx + 4], 0
jle 0x1016497d
push 0
mov edx, 0x84cdad2
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10164977
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18e8], edi
mov eax, dword [ebp - 0x18ec]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x10164986
xor edx, edx
test ecx, ecx
je 0x101649b2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10164993
cmp esi, 0x84cdad2
je 0x101649f0
mov eax, dword [ebp - 0x18ec]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x18e8]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jl 0x10164940
mov ecx, dword [ebp - 0x1914]
mov eax, edi
mov dword [0x1037552c], eax
mov byte [ebp - 4], 0
jmp 0x10164a15
mov eax, dword [ebp - 0x18f8]
mov ecx, dword [ebp - 0x1914]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18e8]
mov dword [0x1037552c], eax
mov byte [ebp - 4], 0
jmp 0x10164a15
mov eax, dword [0x1037552c]
cmp dword [ebp - 0x1910], 2
je 0x10164e77
cmp dword [eax + ecx], 0
jle 0x10164e77
mov eax, dword [ebp - 0x1904]
mov dword [ebp - 0x1904], 0xffffffff
cmp byte [eax + 0x5c], 0
je 0x10164ba2
mov edi, dword [0x1109cd88]
lea eax, [ebp - 0x4c]
add edi, 0x338c723d
mov ecx, 0x1036d948
push eax
xor edi, 0xaf83288a
call fcn.1013e7d0
mov byte [ebp - 4], 0x12
movss xmm1, dword [0x102bda54]
movss xmm0, dword [0x10359d50]
mulss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x10359d4c]
mulss xmm0, xmm1
mov dword [ebp - 0x18f8], eax
cvttss2si edx, xmm0
movss xmm0, dword [0x10359d48]
mulss xmm0, xmm1
mov byte [ebp - 0x18ea], dl
cvttss2si ecx, xmm0
movss xmm0, dword [0x10359d44]
mulss xmm0, xmm1
mov byte [ebp - 0x18eb], cl
mov ecx, 0x10360230
cvttss2si eax, xmm0
mov byte [ebp - 0x18ec], al
mov eax, dword [ebp - 0x18f8]
mov byte [ebp - 0x18e9], al
mov eax, dword [ebp - 0x18ec]
mov dword [ebp - 0x18f8], eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov esi, dword [eax + 0xd0]
lea eax, [ebp - 0x2c]
push eax
call fcn.10043330
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
mov eax, dword [esi]
cmova ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x18f8]
mov eax, dword [eax + 0x64]
push ecx
push esi
call eax
add esp, 0xc
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x2c]
call fcn.1002b0f0
mov eax, dword [0x10bbf240]
lea ecx, [ebp - 0x4c]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
cmp dword [ebp - 0x38], 0xf
cmova ecx, dword [ebp - 0x4c]
push ecx
mov edx, dword [eax + 0xd0]
lea ecx, [ebp - 0x1904]
push str._s__n
push ecx
push edx
mov eax, dword [edx]
mov eax, dword [eax + 0x64]
call eax
add esp, 0x10
call fcn.101f9398
lea ecx, [ebp - 0x2c]
movd xmm0, eax
mov eax, dword [ebp - 0x1904]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x4c]
push eax
mulss xmm0, dword [0x102bd634]
movss dword [ebp - 0x34], xmm0
call fcn.10044c30
mov byte [ebp - 4], 0x14
jmp 0x10164fd8
cmp byte [eax + 0xec00], 0
je 0x10164d1b
mov eax, dword [eax + 0x20]
mov ecx, dword [ebp - 0x1918]
inc dword [ecx + eax*4 + 0x63d6c]
lea eax, [ebp - 0x4c]
mov edi, dword [0x1109cd88]
mov ecx, 0x1036d848
add edi, 0x338c723d
push eax
xor edi, 0xaf83288a
call fcn.100526e0
mov byte [ebp - 4], 0x15
movss xmm1, dword [0x102bda54]
movss xmm0, dword [0x10359d50]
mulss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x10359d4c]
mulss xmm0, xmm1
mov dword [ebp - 0x18f8], eax
cvttss2si edx, xmm0
movss xmm0, dword [0x10359d48]
mulss xmm0, xmm1
mov byte [ebp - 0x18ea], dl
cvttss2si ecx, xmm0
movss xmm0, dword [0x10359d44]
mulss xmm0, xmm1
mov byte [ebp - 0x18eb], cl
mov ecx, 0x10360230
cvttss2si eax, xmm0
mov byte [ebp - 0x18ec], al
mov eax, dword [ebp - 0x18f8]
mov byte [ebp - 0x18e9], al
mov eax, dword [ebp - 0x18ec]
mov dword [ebp - 0x18f8], eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov esi, dword [eax + 0xd0]
lea eax, [ebp - 0x2c]
push eax
call fcn.10043330
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
mov eax, dword [esi]
cmova ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x18f8]
mov eax, dword [eax + 0x64]
push ecx
push esi
call eax
add esp, 0xc
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x2c]
call fcn.1002b0f0
mov eax, dword [0x10bbf240]
lea ecx, [ebp - 0x4c]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
cmp dword [ebp - 0x38], 0xf
cmova ecx, dword [ebp - 0x4c]
push ecx
mov edx, dword [eax + 0xd0]
lea ecx, [ebp - 0x1904]
push str._s__n
push ecx
push edx
mov eax, dword [edx]
mov eax, dword [eax + 0x64]
call eax
add esp, 0x10
call fcn.101f9398
movd xmm0, eax
mov eax, dword [ebp - 0x1904]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x4c]
mulss xmm0, dword [0x102bd634]
movss dword [ebp - 0x34], xmm0
push eax
lea ecx, [ebp - 0x2c]
call fcn.10044c30
mov byte [ebp - 4], 0x17
jmp 0x10164fd8
mov edi, dword [0x1109cd88]
lea eax, [ebp - 0x4c]
add edi, 0x338c723d
mov ecx, 0x1036d910
push eax
xor edi, 0xaf83288a
call fcn.1004f160
mov byte [ebp - 4], 0x18
movss xmm1, dword [0x102bda54]
movss xmm0, dword [0x10359d50]
mulss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x10359d4c]
mulss xmm0, xmm1
mov dword [ebp - 0x18f8], eax
cvttss2si edx, xmm0
movss xmm0, dword [0x10359d48]
mulss xmm0, xmm1
mov byte [ebp - 0x18ea], dl
cvttss2si ecx, xmm0
movss xmm0, dword [0x10359d44]
mulss xmm0, xmm1
mov byte [ebp - 0x18eb], cl
mov ecx, 0x10360230
cvttss2si eax, xmm0
mov byte [ebp - 0x18ec], al
mov eax, dword [ebp - 0x18f8]
mov byte [ebp - 0x18e9], al
mov eax, dword [ebp - 0x18ec]
mov dword [ebp - 0x18f8], eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov esi, dword [eax + 0xd0]
lea eax, [ebp - 0x2c]
push eax
call fcn.10043330
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
mov eax, dword [esi]
cmova ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x18f8]
mov eax, dword [eax + 0x64]
push ecx
push esi
call eax
add esp, 0xc
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x2c]
call fcn.1002b0f0
mov eax, dword [0x10bbf240]
lea ecx, [ebp - 0x4c]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
cmp dword [ebp - 0x38], 0xf
cmova ecx, dword [ebp - 0x4c]
push ecx
mov edx, dword [eax + 0xd0]
lea ecx, [ebp - 0x1904]
push str._s__n
push ecx
push edx
mov eax, dword [edx]
mov eax, dword [eax + 0x64]
call eax
add esp, 0x10
call fcn.101f9398
lea ecx, [ebp - 0x2c]
movd xmm0, eax
mov eax, dword [ebp - 0x1904]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x4c]
push eax
mulss xmm0, dword [0x102bd634]
movss dword [ebp - 0x34], xmm0
call fcn.10044c30
mov byte [ebp - 4], 0x1a
jmp 0x10164fd8
mov edi, dword [0x1109cd88]
lea eax, [ebp - 0x4c]
add edi, 0x338c723d
mov dword [ebp - 0x1904], 0xffffffff
push eax
mov ecx, 0x1036d7f8
xor edi, 0xaf83288a
call fcn.10042980
mov byte [ebp - 4], 0x1b
movss xmm1, dword [0x102bda54]
movss xmm0, dword [0x10359d50]
mulss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x10359d4c]
mulss xmm0, xmm1
mov dword [ebp - 0x18f8], eax
cvttss2si edx, xmm0
movss xmm0, dword [0x10359d48]
mulss xmm0, xmm1
mov byte [ebp - 0x18ea], dl
cvttss2si ecx, xmm0
movss xmm0, dword [0x10359d44]
mulss xmm0, xmm1
mov byte [ebp - 0x18eb], cl
mov ecx, 0x10360230
cvttss2si eax, xmm0
mov byte [ebp - 0x18ec], al
mov eax, dword [ebp - 0x18f8]
mov byte [ebp - 0x18e9], al
mov eax, dword [ebp - 0x18ec]
mov dword [ebp - 0x18f8], eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov esi, dword [eax + 0xd0]
lea eax, [ebp - 0x2c]
push eax
call fcn.10043330
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
mov eax, dword [esi]
cmova ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x18f8]
mov eax, dword [eax + 0x64]
push ecx
push esi
call eax
add esp, 0xc
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x2c]
call fcn.1002b0f0
mov eax, dword [0x10bbf240]
lea ecx, [ebp - 0x4c]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
cmp dword [ebp - 0x38], 0xf
cmova ecx, dword [ebp - 0x4c]
push ecx
mov edx, dword [eax + 0xd0]
lea ecx, [ebp - 0x1904]
push str._s__n
push ecx
push edx
mov eax, dword [edx]
mov eax, dword [eax + 0x64]
call eax
add esp, 0x10
call fcn.101f9398
lea ecx, [ebp - 0x2c]
movd xmm0, eax
mov eax, dword [ebp - 0x1904]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x4c]
push eax
mulss xmm0, dword [0x102bd634]
movss dword [ebp - 0x34], xmm0
call fcn.10044c30
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x34]
push eax
lea ecx, [edi + 4]
call fcn.10087140
lea ecx, [ebp - 0x2c]
call fcn.1002b0f0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0
call fcn.1002b0f0
mov eax, dword [ebp - 0x18c8]
movq xmm0, qword [ebp - 0x18d0]
mov dword [ebp - 0x1910], eax
mov eax, dword [0x10375508]
test al, 1
jne 0x10165194
or eax, 1
mov dword [0x10375508], eax
mov byte [ebp - 4], 0x1e
mov eax, dword [0x10371278]
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
je 0x10165093
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x18ec], ecx
test ecx, ecx
je 0x10165082
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10165056
xor edx, edx
test ecx, ecx
je 0x10165082
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10165063
cmp esi, 0x1eee87cc
je 0x101650a2
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
jne 0x10165040
xor eax, eax
mov dword [0x1037554c], eax
mov byte [ebp - 4], al
jmp 0x10165199
mov eax, dword [ebp - 0x18ec]
xor edi, edi
mov dword [ebp - 0x18e8], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x1016516d
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x18f8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1016510d
cmp dword [ecx + 4], 0
jle 0x1016510d
push 0
mov edx, 0x559d81af
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10165107
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18e8], edi
mov eax, dword [ebp - 0x18ec]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x10165116
xor edx, edx
test ecx, ecx
je 0x10165142
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10165123
cmp esi, 0x559d81af
je 0x1016517a
mov eax, dword [ebp - 0x18ec]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x18e8]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jl 0x101650d0
mov eax, edi
mov byte [ebp - 4], 0
mov dword [0x1037554c], eax
jmp 0x10165199
mov eax, dword [ebp - 0x18f8]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18e8]
mov dword [0x1037554c], eax
mov byte [ebp - 4], 0
jmp 0x10165199
mov eax, dword [0x1037554c]
mov esi, dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1910]
movq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
lea ecx, [ebp - 0x18c4]
mov eax, dword [0x103bfe04]
push ecx
mov ecx, esi
call eax
mov eax, dword [ebp - 0x18b0]
movq xmm0, qword [ebp - 0x18b8]
mov dword [ebp - 0x1910], eax
mov eax, dword [0x10373c28]
test al, 1
jne 0x10165358
or eax, 1
mov dword [0x10373c28], eax
mov byte [ebp - 4], 0x1f
mov eax, dword [0x10371278]
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
je 0x10165253
nop
mov ecx, dword [eax]
mov dword [ebp - 0x18ec], ecx
test ecx, ecx
je 0x10165242
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10165216
xor edx, edx
test ecx, ecx
je 0x10165242
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10165223
cmp esi, 0x72e242a1
je 0x10165265
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
jne 0x10165200
mov esi, dword [ebp - 0x1914]
xor eax, eax
mov dword [0x10373cc0], eax
jmp 0x1016535d
mov eax, dword [ebp - 0x18ec]
xor edi, edi
mov dword [ebp - 0x18e8], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x1016532d
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x18f8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101652cd
cmp dword [ecx + 4], 0
jle 0x101652cd
push 0
mov edx, 0xf3c2c786
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101652c7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18e8], edi
mov eax, dword [ebp - 0x18ec]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x101652d6
xor edx, edx
test ecx, ecx
je 0x10165302
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101652e3
cmp esi, 0xf3c2c786
je 0x1016533c
mov eax, dword [ebp - 0x18ec]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x18e8]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jl 0x10165290
mov esi, dword [ebp - 0x1914]
mov eax, edi
mov dword [0x10373cc0], eax
jmp 0x1016535d
mov eax, dword [ebp - 0x18f8]
mov esi, dword [ebp - 0x1914]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18e8]
mov dword [0x10373cc0], eax
jmp 0x1016535d
mov eax, dword [0x10373cc0]
mov ecx, dword [ebp - 0x1910]
movq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
mov eax, dword [ebp - 0x1898]
movq xmm0, qword [ebp - 0x18a0]
mov dword [ebp - 0x1910], eax
mov eax, dword [0x103754d4]
test al, 1
jne 0x10165508
or eax, 1
mov dword [0x103754d4], eax
mov byte [ebp - 4], 0x20
mov eax, dword [0x10371278]
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
je 0x10165403
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x18ec], ecx
test ecx, ecx
je 0x101653f2
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x101653c6
xor edx, edx
test ecx, ecx
je 0x101653f2
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101653d3
cmp esi, 0x1eee87cc
je 0x10165415
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, dword [0x1037127c]
jne 0x101653b0
mov esi, dword [ebp - 0x1914]
xor eax, eax
mov dword [0x10373c98], eax
jmp 0x1016550d
mov eax, dword [ebp - 0x18ec]
xor edi, edi
mov dword [ebp - 0x18e8], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x101654dd
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x18f8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1016547d
cmp dword [ecx + 4], 0
jle 0x1016547d
push 0
mov edx, 0x7d388d3e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10165477
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18e8], edi
mov eax, dword [ebp - 0x18ec]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x10165486
xor edx, edx
test ecx, ecx
je 0x101654b2
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10165493
cmp esi, 0x7d388d3e
je 0x101654ec
mov eax, dword [ebp - 0x18ec]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x18e8]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jl 0x10165440
mov esi, dword [ebp - 0x1914]
mov eax, edi
mov dword [0x10373c98], eax
jmp 0x1016550d
mov eax, dword [ebp - 0x18f8]
mov esi, dword [ebp - 0x1914]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18e8]
mov dword [0x10373c98], eax
jmp 0x1016550d
mov eax, dword [0x10373c98]
mov ecx, dword [ebp - 0x1910]
movq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
mov eax, dword [ebp - 0x18a4]
movq xmm0, qword [ebp - 0x18ac]
mov dword [ebp - 0x1910], eax
mov eax, dword [0x10373c60]
test al, 1
jne 0x101656b8
or eax, 1
mov dword [0x10373c60], eax
mov byte [ebp - 4], 0x21
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x18e4], eax
cmp eax, ecx
je 0x101655b5
nop
mov eax, dword [eax]
mov dword [ebp - 0x18ec], eax
test eax, eax
je 0x101655a2
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10165576
xor edx, edx
test ecx, ecx
je 0x1016559c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10165583
cmp esi, 0x1eee87cc
je 0x101655c7
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, ecx
jne 0x10165560
mov esi, dword [ebp - 0x1914]
xor eax, eax
mov dword [0x10373c78], eax
jmp 0x101656bd
mov eax, dword [ebp - 0x18ec]
xor edi, edi
mov dword [ebp - 0x18e8], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x1016568d
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x18f8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1016562d
cmp dword [ecx + 4], 0
jle 0x1016562d
push 0
mov edx, 0xe57f80c
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10165627
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18e8], edi
mov eax, dword [ebp - 0x18ec]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x10165636
xor edx, edx
test ecx, ecx
je 0x10165662
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10165643
cmp esi, 0xe57f80c
je 0x1016569c
mov eax, dword [ebp - 0x18ec]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x18e8]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jl 0x101655f0
mov esi, dword [ebp - 0x1914]
mov eax, edi
mov dword [0x10373c78], eax
jmp 0x101656bd
mov eax, dword [ebp - 0x18f8]
mov esi, dword [ebp - 0x1914]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18e8]
mov dword [0x10373c78], eax
jmp 0x101656bd
mov eax, dword [0x10373c78]
mov edx, dword [0x10373cb4]
mov ecx, dword [ebp - 0x1910]
movq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
test dl, 1
jne 0x10165848
or edx, 1
mov dword [0x10373cb4], edx
mov byte [ebp - 4], 0x22
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x18e4], eax
cmp eax, ecx
je 0x10165755
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x18ec], eax
test eax, eax
je 0x10165742
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10165716
xor edx, edx
test ecx, ecx
je 0x1016573c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10165723
cmp esi, 0x54aff69
je 0x10165771
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, ecx
jne 0x10165700
xor edi, edi
mov edx, dword [0x10373cb4]
lea ecx, [edi + 0x1c]
mov esi, dword [ebp - 0x1914]
mov dword [0x10373c2c], ecx
jmp 0x1016584e
mov eax, dword [ebp - 0x18ec]
xor edi, edi
mov dword [ebp - 0x18e8], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x10165757
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x18f8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101657cf
cmp dword [ecx + 4], 0
jle 0x101657cf
push 0
mov edx, 0xddac019e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101657c9
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18e8], edi
mov eax, dword [ebp - 0x18ec]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x101657d8
xor edx, edx
test ecx, ecx
je 0x10165804
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101657e5
cmp esi, 0xddac019e
je 0x10165834
mov eax, dword [ebp - 0x18ec]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x18e8]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jge 0x10165757
jmp 0x10165792
mov eax, dword [ebp - 0x18f8]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x18e8]
jmp 0x10165757
mov ecx, dword [0x10373c2c]
lea eax, [ecx + esi]
test eax, eax
je 0x10165884
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x103bfd24]
test eax, eax
je 0x1016586f
add eax, 0xa
mov eax, dword [eax]
mov eax, dword [eax]
dec eax
mov dword [esi + 0x2690], eax
mov dword [esi + 0x2924], 0xff7fffff
test dl, 1
jne 0x1016591a
or edx, 1
mov dword [0x10373cb4], edx
mov byte [ebp - 4], 0x23
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x18e4], eax
cmp eax, ecx
je 0x10165909
nop
mov eax, dword [eax]
mov dword [ebp - 0x18ec], eax
test eax, eax
je 0x101658f6
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x101658c6
xor edx, edx
test ecx, ecx
je 0x101658f0
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101658d3
cmp esi, 0x54aff69
je 0x101659b5
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x18e4]
add eax, 4
mov dword [ebp - 0x18e4], eax
cmp eax, ecx
jne 0x101658b0
xor edi, edi
mov esi, dword [ebp - 0x1914]
lea ecx, [edi + 0x1c]
mov dword [0x10373c2c], ecx
lea edx, [ecx + esi]
test edx, edx
je 0x10165959
mov eax, dword [esi + 0x2920]
mov edi, dword [esi + 0x2914]
lea ecx, [eax + eax*2]
lea eax, [ebp - 0x1890]
shl ecx, 4
mov esi, eax
mov eax, dword [ebp - 0x1914]
rep movsb byte es:[edi], byte [esi]
mov edi, dword [edx]
lea esi, [ebp - 0x1890]
mov eax, dword [eax + 0x2920]
lea ecx, [eax + eax*2]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x64]
test esi, esi
je 0x10165aa0
mov ecx, dword [ebp - 0x5c]
mov eax, 0x38e38e39
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, esi
shl ecx, 2
mov dword [ebp - 4], 0x24
cmp ecx, 0x1000
jb 0x10165a96
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10165adc
jmp 0x10165a96
mov eax, dword [ebp - 0x18ec]
xor edi, edi
mov dword [ebp - 0x18e8], edi
mov dword [ebp - 0x18e4], edi
cmp dword [eax + 4], edi
jle 0x1016590b
xor ecx, ecx
mov dword [ebp - 0x18fc], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x18f8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10165a1d
cmp dword [ecx + 4], 0
jle 0x10165a1d
push 0
mov edx, 0xddac019e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10165a17
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18e8], edi
mov eax, dword [ebp - 0x18ec]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x10165a26
xor edx, edx
test ecx, ecx
je 0x10165a52
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10165a33
cmp esi, 0xddac019e
je 0x10165a82
mov eax, dword [ebp - 0x18ec]
mov edx, dword [ebp - 0x18e4]
mov ecx, dword [ebp - 0x18fc]
inc edx
mov edi, dword [ebp - 0x18e8]
add ecx, 0x3c
mov dword [ebp - 0x18e4], edx
mov dword [ebp - 0x18fc], ecx
cmp edx, dword [eax + 4]
jge 0x1016590b
jmp 0x101659e0
mov eax, dword [ebp - 0x18f8]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x18e8]
jmp 0x1016590b
push ecx
push esi
call fcn.101f3b69
add esp, 8
mov eax, dword [ebp - 0x1918]
lea ecx, [ebp - 0x18f8]
push dword [eax + 0x63cc0]
push ecx
lea ecx, [eax + 0x63cc0]
call fcn.10165af0
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.101f36c3
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.101f90dd
int3