Function at 0x1015ebe0
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 0x10275678
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x338
mov eax, dword [0x103230ac]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x2ec], esi
mov dword [ebp - 0x330], 0
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
cmp dword [eax + 0x138], 0
je 0x101630b5
cmp dword [eax + 0x13c], 0
je 0x101630b5
mov eax, dword [eax + 0xa8]
cmp dword [eax + 0x174], 0xffffffff
je 0x101630b5
call fcn.1014bc90
mov eax, dword [0x10c0dd38]
add eax, 0x6153321e
xor eax, 0xf66471cc
cmp byte [eax + 0x34], 0
je 0x1015ec93
cmp byte [eax + 0x35], 0
jne 0x101630b5
mov eax, dword [esi + 0x18]
lea ecx, [esi + 0x18]
cmp eax, dword [ecx + 4]
je 0x1015eca1
mov dword [ecx + 4], eax
push 0x13
call fcn.10166a80
lea eax, [ebp - 0x120]
push eax
call fcn.101360b0
add esp, 4
mov ecx, esi
movups xmm0, xmmword [eax]
movups xmm1, xmmword [eax + 0x10]
movups xmm2, xmmword [eax + 0x20]
movups xmm3, xmmword [eax + 0x30]
movq xmm4, qword [eax + 0x40]
mov eax, dword [eax + 0x48]
movups xmmword [esi + 0x65910], xmm0
movups xmmword [esi + 0x65920], xmm1
movups xmmword [esi + 0x65930], xmm2
movups xmmword [esi + 0x65940], xmm3
movq qword [esi + 0x65950], xmm4
mov dword [esi + 0x65958], eax
call fcn.10148b90
lea edi, [esi + 0x64080]
mov word [esi + 0x63d68], 0
mov word [esi], 1
lea eax, [edi + 0x50]
mov byte [esi + 0x63d6a], 0
mov dword [esi + 4], 0
push 0x1800
push 0
push eax
mov dword [esi + 0x2c], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x24], 0
mov dword [ebp - 0x344], edi
mov word [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x48], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x40], 0
call fcn.102372c0
add esp, 0xc
mov dword [edi + 0x1850], 0
lea ecx, [edi + 0x187c]
mov dword [edi + 0x1854], 0
mov dword [edi + 0x1858], 0
mov dword [edi + 0x185c], 0
mov dword [edi + 0x1860], 0
mov dword [edi + 0x1864], 0
mov dword [edi + 0x1868], 0
mov dword [edi + 0x186c], 0
mov dword [edi + 0x1878], 0
mov dword [edi + 0x1874], 0
mov dword [edi + 0x1870], 0
call fcn.10086f10
cmp byte [0x103a6a10], 0
je 0x10162f7a
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x2c8], eax
mov eax, dword [0x103c2330]
test al, 1
jne 0x1015efea
or eax, 1
mov dword [0x103c2330], eax
mov dword [ebp - 4], 0
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2d8], eax
cmp eax, dword [0x103bf634]
je 0x1015eee0
mov ecx, dword [eax]
mov dword [ebp - 0x2e8], ecx
test ecx, ecx
je 0x1015eecf
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015eea0
xor edx, edx
test ecx, ecx
je 0x1015eecf
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015eeb0
cmp esi, 0xcd2ed041
je 0x1015eef3
mov eax, dword [ebp - 0x2d8]
add eax, 4
mov dword [ebp - 0x2d8], eax
cmp eax, dword [0x103bf634]
jne 0x1015ee86
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c3c14], eax
jmp 0x1015efef
mov eax, dword [ebp - 0x2e8]
xor edi, edi
mov dword [ebp - 0x2e4], edi
mov dword [ebp - 0x2d8], edi
cmp dword [eax + 4], edi
jle 0x1015efbd
xor ecx, ecx
mov dword [ebp - 0x2c4], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x328], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015ef5d
cmp dword [ecx + 4], 0
jle 0x1015ef5d
push 0
mov edx, 0xa2ccb41a
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1015ef57
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2e4], edi
mov eax, dword [ebp - 0x2e8]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015ef66
xor edx, edx
test ecx, ecx
je 0x1015ef92
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015ef73
cmp esi, 0xa2ccb41a
je 0x1015efcd
mov eax, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2c4]
inc edx
mov edi, dword [ebp - 0x2e4]
add ecx, 0x3c
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 0x2c4], ecx
cmp edx, dword [eax + 4]
jl 0x1015ef20
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c3c14], eax
jmp 0x1015efef
mov eax, dword [ebp - 0x328]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2e4]
mov dword [0x103c3c14], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1015efef
mov eax, dword [0x103c3c14]
mov ecx, dword [ebp - 0x2c8]
movzx esi, word [ecx + eax]
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov ecx, dword [eax + 0xf4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
movsx eax, si
push eax
call edx
test eax, eax
je 0x1015f428
mov eax, dword [eax + 0xc8]
test si, si
je 0x1015f428
cmp si, 0x1f
je 0x1015f428
add eax, 0xfffffff9
cmp eax, 9
ja 0x1015f428
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x2c8], eax
mov eax, dword [0x103c2330]
test al, 1
jne 0x1015f1ea
or eax, 1
mov dword [0x103c2330], eax
mov dword [ebp - 4], 1
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2d8], eax
cmp eax, dword [0x103bf634]
je 0x1015f0e3
mov ecx, dword [eax]
mov dword [ebp - 0x2e8], ecx
test ecx, ecx
je 0x1015f0d2
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015f0a6
xor edx, edx
test ecx, ecx
je 0x1015f0d2
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f0b3
cmp esi, 0xcd2ed041
je 0x1015f0f6
mov eax, dword [ebp - 0x2d8]
add eax, 4
mov dword [ebp - 0x2d8], eax
cmp eax, dword [0x103bf634]
jne 0x1015f090
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c3c14], eax
jmp 0x1015f1ef
mov eax, dword [ebp - 0x2e8]
xor edi, edi
mov dword [ebp - 0x2e4], edi
mov dword [ebp - 0x2d8], edi
cmp dword [eax + 4], edi
jle 0x1015f1bd
xor ecx, ecx
mov dword [ebp - 0x2c4], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x328], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015f15d
cmp dword [ecx + 4], 0
jle 0x1015f15d
push 0
mov edx, 0xa2ccb41a
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1015f157
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2e4], edi
mov eax, dword [ebp - 0x2e8]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1015f166
xor edx, edx
test ecx, ecx
je 0x1015f192
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f173
cmp edi, 0xa2ccb41a
je 0x1015f1cd
mov eax, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2c4]
inc edx
mov edi, dword [ebp - 0x2e4]
add ecx, 0x3c
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 0x2c4], ecx
cmp edx, dword [eax + 4]
jl 0x1015f120
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c3c14], eax
jmp 0x1015f1ef
mov eax, dword [ebp - 0x328]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2e4]
mov dword [0x103c3c14], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1015f1ef
mov eax, dword [0x103c3c14]
mov ecx, dword [ebp - 0x2c8]
movzx eax, word [ecx + eax]
mov edi, eax
mov esi, eax
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov ecx, dword [eax + 0xf4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
movsx eax, si
push eax
call edx
test eax, eax
je 0x1015f22b
cmp di, 0x1f
je 0x1015f428
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x2c8], eax
mov eax, dword [0x103c2330]
test al, 1
jne 0x1015f3da
or eax, 1
mov dword [0x103c2330], eax
mov dword [ebp - 4], 2
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2d8], eax
cmp eax, dword [0x103bf634]
je 0x1015f2d0
mov ecx, dword [eax]
mov dword [ebp - 0x2e8], ecx
test ecx, ecx
je 0x1015f2bf
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015f290
xor edx, edx
test ecx, ecx
je 0x1015f2bf
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f2a0
cmp esi, 0xcd2ed041
je 0x1015f2e3
mov eax, dword [ebp - 0x2d8]
add eax, 4
mov dword [ebp - 0x2d8], eax
cmp eax, dword [0x103bf634]
jne 0x1015f275
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c3c14], eax
jmp 0x1015f3df
mov eax, dword [ebp - 0x2e8]
xor edi, edi
mov dword [ebp - 0x2e4], edi
mov dword [ebp - 0x2d8], edi
cmp dword [eax + 4], edi
jle 0x1015f3ad
xor ecx, ecx
mov dword [ebp - 0x2c4], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x328], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015f34d
cmp dword [ecx + 4], 0
jle 0x1015f34d
push 0
mov edx, 0xa2ccb41a
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1015f347
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2e4], edi
mov eax, dword [ebp - 0x2e8]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015f356
xor edx, edx
test ecx, ecx
je 0x1015f382
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f363
cmp edi, 0xa2ccb41a
je 0x1015f3bd
mov eax, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2c4]
inc edx
mov edi, dword [ebp - 0x2e4]
add ecx, 0x3c
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 0x2c4], ecx
cmp edx, dword [eax + 4]
jl 0x1015f310
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c3c14], eax
jmp 0x1015f3df
mov eax, dword [ebp - 0x328]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2e4]
mov dword [0x103c3c14], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1015f3df
mov eax, dword [0x103c3c14]
mov ecx, dword [ebp - 0x2c8]
movzx esi, word [ecx + eax]
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov ecx, dword [eax + 0xf4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
movsx eax, si
push eax
call edx
test eax, eax
je 0x10162f74
cmp dword [eax + 0xc8], 0
jne 0x10162f74
cmp si, 0x1f
je 0x10162f74
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x2c8], eax
mov eax, dword [0x103c2330]
test al, 1
jne 0x1015f5ca
or eax, 1
mov dword [0x103c2330], eax
mov dword [ebp - 4], 3
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2d8], eax
cmp eax, dword [0x103bf634]
je 0x1015f4c5
mov ecx, dword [eax]
mov dword [ebp - 0x2e8], ecx
test ecx, ecx
je 0x1015f4b4
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015f488
xor edx, edx
test ecx, ecx
je 0x1015f4b4
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f495
cmp esi, 0xcd2ed041
je 0x1015f4d8
mov eax, dword [ebp - 0x2d8]
add eax, 4
mov dword [ebp - 0x2d8], eax
cmp eax, dword [0x103bf634]
jne 0x1015f472
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c3c14], eax
jmp 0x1015f5cf
mov eax, dword [ebp - 0x2e8]
xor edi, edi
mov dword [ebp - 0x2e4], edi
mov dword [ebp - 0x2d8], edi
cmp dword [eax + 4], edi
jle 0x1015f59d
xor ecx, ecx
mov dword [ebp - 0x2c4], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x328], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015f53d
cmp dword [ecx + 4], 0
jle 0x1015f53d
push 0
mov edx, 0xa2ccb41a
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1015f537
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2e4], edi
mov eax, dword [ebp - 0x2e8]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1015f546
xor edx, edx
test ecx, ecx
je 0x1015f572
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f553
cmp edi, 0xa2ccb41a
je 0x1015f5ad
mov eax, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2c4]
inc edx
mov edi, dword [ebp - 0x2e4]
add ecx, 0x3c
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 0x2c4], ecx
cmp edx, dword [eax + 4]
jl 0x1015f500
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c3c14], eax
jmp 0x1015f5cf
mov eax, dword [ebp - 0x328]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2e4]
mov dword [0x103c3c14], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1015f5cf
mov eax, dword [0x103c3c14]
mov ecx, dword [ebp - 0x2c8]
movzx esi, word [ecx + eax]
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov ecx, dword [eax + 0xf4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
movsx eax, si
push eax
call edx
test eax, eax
je 0x1015f61c
cmp dword [eax + 0xc8], 0
jne 0x1015f61c
cmp si, 0x1f
je 0x1015f61c
mov ecx, dword [ebp - 0x2ec]
call fcn.10159730
jmp 0x101630b5
mov edi, dword [ebp - 0x2ec]
mov ecx, edi
call fcn.1014ce50
mov ecx, edi
call fcn.1014e440
cmp dword [edi + 4], 1
jge 0x1015f769
cmp byte [edi + 1], 0
je 0x101630b5
lea esi, [edi + 0x30]
lea edi, [esi + 0x63c90]
cmp esi, edi
je 0x101630a4
add esi, 0x20
nop dword [eax + eax]
push 0x1800
lea eax, [esi + 0x30]
mov word [esi - 0x20], 0
push 0
push eax
mov dword [esi - 0x1c], 0
mov dword [esi - 0x18], 0
mov dword [esi - 8], 0
mov dword [esi - 0xc], 0
mov dword [esi - 0x10], 0
mov dword [esi + 4], 0
mov dword [esi], 0
mov dword [esi - 4], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], 0
call fcn.102372c0
add esp, 0xc
mov dword [esi + 0x1830], 0
lea ecx, [esi + 0x185c]
mov dword [esi + 0x1834], 0
mov dword [esi + 0x1838], 0
mov dword [esi + 0x183c], 0
mov dword [esi + 0x1840], 0
mov dword [esi + 0x1844], 0
mov dword [esi + 0x1848], 0
mov dword [esi + 0x184c], 0
mov dword [esi + 0x1858], 0
mov dword [esi + 0x1854], 0
mov dword [esi + 0x1850], 0
call fcn.10086f10
lea esi, [esi + 0x1890]
lea eax, [esi - 0x20]
cmp eax, edi
jne 0x1015f660
jmp 0x101630a4
mov ecx, edi
mov byte [edi + 1], 1
call fcn.10155c50
mov ecx, edi
call fcn.10156fa0
lea esi, [edi + 0x64080]
mov word [edi + 0x63d69], 0
push 0x1800
lea eax, [esi + 0x50]
mov dword [ebp - 0x348], 0x7f7fffff
push 0
push eax
mov word [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x40], 0
call fcn.102372c0
add esp, 0xc
mov dword [esi + 0x1850], 0
lea ecx, [esi + 0x187c]
mov dword [esi + 0x1854], 0
mov dword [esi + 0x1858], 0
mov dword [esi + 0x185c], 0
mov dword [esi + 0x1860], 0
mov dword [esi + 0x1864], 0
mov dword [esi + 0x1868], 0
mov dword [esi + 0x186c], 0
mov dword [esi + 0x1878], 0
mov dword [esi + 0x1874], 0
mov dword [esi + 0x1870], 0
call fcn.10086f10
mov esi, dword [0x1040e29c]
lea eax, [ebp - 0x348]
mov dword [ebp - 0x2f4], eax
add esi, 0x6d021181
lea eax, [ebp - 0x100]
mov dword [ebp - 0x2f8], edi
xor esi, 0x9a51fc9e
mov dword [ebp - 0x334], eax
mov dword [ebp - 0xdc], 0
lea eax, [ebp - 0x2f8]
mov dword [ebp - 4], 4
push eax
lea ecx, [ebp - 0x100]
call fcn.10167dc0
mov dword [ebp - 4], 5
mov edx, dword [esi + 8]
mov esi, dword [esi + 4]
mov dword [ebp - 0x32c], edx
mov dword [ebp - 0x2d4], esi
cmp esi, edx
je 0x1015fadf
mov edx, dword [0x103c3b94]
mov eax, dword [ebp - 0x32c]
nop word [eax + eax]
mov esi, dword [esi + 8]
mov dword [ebp - 0x2cc], esi
test esi, esi
je 0x1015fac2
mov ecx, dword [0x10c0dd10]
add ecx, 0x72c821ae
xor ecx, 0x43f50f5d
mov eax, dword [ecx + 0x134]
mov dword [ebp - 0x2d0], eax
cmp esi, eax
je 0x1015fabc
test eax, eax
je 0x1015faaa
mov ecx, dword [ecx + 0x184]
mov eax, dword [ecx + 0x1c]
cmp dword [eax + 0x30], ecx
jne 0x1015faaa
mov eax, dword [0x103c3bdc]
test al, 1
jne 0x1015f9f9
or dword [0x103c3bdc], 1
mov byte [ebp - 4], 6
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2e8], eax
cmp eax, dword [0x103bf634]
je 0x1015f9e7
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x2e4], ecx
test ecx, ecx
je 0x1015f9d6
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015f9a6
xor edx, edx
test ecx, ecx
je 0x1015f9d6
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f9b3
cmp esi, 0x1eee87cc
je 0x1015fb5b
mov eax, dword [ebp - 0x2e8]
add eax, 4
mov dword [ebp - 0x2e8], eax
cmp eax, dword [0x103bf634]
jne 0x1015f990
xor edx, edx
mov esi, dword [ebp - 0x2cc]
mov dword [0x103c3b94], edx
mov byte [ebp - 4], 5
mov eax, dword [edx + esi]
mov dword [ebp - 0x2c8], eax
mov eax, dword [0x103c3bdc]
test al, 1
jne 0x1015fa99
or dword [0x103c3bdc], 1
mov byte [ebp - 4], 7
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2e8], eax
cmp eax, dword [0x103bf634]
je 0x1015fa87
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x2e4], ecx
test ecx, ecx
je 0x1015fa76
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1015fa46
xor edx, edx
test ecx, ecx
je 0x1015fa76
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015fa53
cmp edi, 0x1eee87cc
je 0x1015fc38
mov eax, dword [ebp - 0x2e8]
add eax, 4
mov dword [ebp - 0x2e8], eax
cmp eax, dword [0x103bf634]
jne 0x1015fa30
xor edx, edx
mov esi, dword [ebp - 0x2cc]
mov dword [0x103c3b94], edx
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x2c8]
cmp eax, dword [edx + ecx]
je 0x1015fabc
push esi
lea ecx, [ebp - 0x100]
call fcn.10029ef0
mov edx, dword [0x103c3b94]
mov eax, dword [ebp - 0x32c]
mov esi, dword [ebp - 0x2d4]
add esi, 0xc
mov dword [ebp - 0x2d4], esi
cmp esi, eax
jne 0x1015f910
mov edi, dword [ebp - 0x2ec]
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0xffffffff
call fcn.1000fab0
mov eax, dword [edi + 0x64088]
lea ecx, [edi + 0x658d8]
mov dword [ebp - 0x32c], ecx
mov dword [ebp - 0x2cc], eax
test eax, eax
je 0x10162e76
cmp byte [ecx], 0
je 0x10162e76
cmp byte [edi + 0x64081], 0
je 0x10162e76
mov byte [edi + 0x63d6a], 1
mov eax, dword [0x10842cb8]
add eax, 0x772b78e1
xor eax, 0xa30d42b2
cmp byte [0x103aa678], 0
mov dword [ebp - 0x2e0], eax
je 0x1015fd18
mov eax, dword [edi + 0x65920]
jmp 0x1015fd1e
mov eax, dword [ebp - 0x2e4]
xor edi, edi
mov dword [ebp - 0x2e8], edi
mov dword [ebp - 0x2d8], edi
cmp dword [eax + 4], edi
jle 0x1015fc1d
xor ecx, ecx
mov dword [ebp - 0x2c4], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x328], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015fbbd
cmp dword [ecx + 4], 0
jle 0x1015fbbd
push 0
mov edx, 0xa5bfefb3
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1015fbb7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2e8], edi
mov eax, dword [ebp - 0x2e4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015fbc6
xor edx, edx
test ecx, ecx
je 0x1015fbf2
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015fbd3
cmp edi, 0xa5bfefb3
je 0x1015fc24
mov eax, dword [ebp - 0x2e4]
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2c4]
inc edx
mov edi, dword [ebp - 0x2e8]
add ecx, 0x3c
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 0x2c4], ecx
cmp edx, dword [eax + 4]
jl 0x1015fb80
mov edx, edi
jmp 0x1015f9e9
mov eax, dword [ebp - 0x328]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp - 0x2e8]
jmp 0x1015f9e9
mov eax, dword [ebp - 0x2e4]
xor edi, edi
mov dword [ebp - 0x2e8], edi
mov dword [ebp - 0x2d8], edi
cmp dword [eax + 4], edi
jle 0x1015fcfd
xor ecx, ecx
mov dword [ebp - 0x2c4], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x328], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015fc9d
cmp dword [ecx + 4], 0
jle 0x1015fc9d
push 0
mov edx, 0xa5bfefb3
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1015fc97
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2e8], edi
mov eax, dword [ebp - 0x2e4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015fca6
xor edx, edx
test ecx, ecx
je 0x1015fcd2
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015fcb3
cmp edi, 0xa5bfefb3
je 0x1015fd04
mov eax, dword [ebp - 0x2e4]
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2c4]
inc edx
mov edi, dword [ebp - 0x2e8]
add ecx, 0x3c
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 0x2c4], ecx
cmp edx, dword [eax + 4]
jl 0x1015fc60
mov edx, edi
jmp 0x1015fa89
mov eax, dword [ebp - 0x328]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp - 0x2e8]
jmp 0x1015fa89
mov eax, dword [edi + 0x6591c]
mov ecx, dword [0x103c3c0c]
mov dword [ebp - 0x2e8], eax
test cl, 1
jne 0x1015fea8
or ecx, 1
mov dword [0x103c3c0c], ecx
mov dword [ebp - 4], 8
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2d8], eax
cmp eax, dword [0x103bf634]
je 0x1015fdb0
mov ecx, dword [eax]
mov dword [ebp - 0x2e4], ecx
test ecx, ecx
je 0x1015fd9f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015fd70
xor edx, edx
test ecx, ecx
je 0x1015fd9f
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015fd80
cmp edi, 0x72e242a1
je 0x1015fdc9
mov eax, dword [ebp - 0x2d8]
add eax, 4
mov dword [ebp - 0x2d8], eax
cmp eax, dword [0x103bf634]
jne 0x1015fd56
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x103c3c0c]
mov dword [0x103c3bcc], eax
jmp 0x1015fead
mov eax, dword [ebp - 0x2e4]
xor edi, edi
mov dword [ebp - 0x2d4], edi
mov dword [ebp - 0x2d8], edi
cmp dword [eax + 4], edi
jle 0x1015fe8d
xor ecx, ecx
mov dword [ebp - 0x2c4], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2c8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015fe2d
cmp dword [ecx + 4], 0
jle 0x1015fe2d
push 0
mov edx, 0x84cdad2
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1015fe27
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2d4], edi
mov eax, dword [ebp - 0x2e4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015fe36
xor edx, edx
test ecx, ecx
je 0x1015fe62
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015fe43
cmp edi, 0x84cdad2
je 0x1015fe94
mov eax, dword [ebp - 0x2e4]
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2c4]
inc edx
mov edi, dword [ebp - 0x2d4]
add ecx, 0x3c
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 0x2c4], ecx
cmp edx, dword [eax + 4]
jl 0x1015fdf0
mov eax, edi
jmp 0x1015fdb2
mov eax, dword [ebp - 0x2c8]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2d4]
jmp 0x1015fdb2
mov eax, dword [0x103c3bcc]
mov edx, dword [ebp - 0x2cc]
mov esi, dword [ebp - 0x2e8]
mov edx, dword [edx + eax]
mov dword [ebp - 0x2d0], edx
cmp esi, 0x63
jle 0x1015fed1
add esi, 0xffffff9c
add esi, edx
jmp 0x1015ff7d
test cl, 1
jne 0x1015ff71
or ecx, 1
mov dword [0x103c3c0c], ecx
mov dword [ebp - 4], 9
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2d8], eax
cmp eax, dword [0x103bf634]
je 0x1015ff57
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x2e4], ecx
test ecx, ecx
je 0x1015ff46
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1015ff16
xor edx, edx
test ecx, ecx
je 0x1015ff46
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015ff23
cmp edi, 0x72e242a1
je 0x10160173
mov eax, dword [ebp - 0x2d8]
add eax, 4
mov dword [ebp - 0x2d8], eax
cmp eax, dword [0x103bf634]
jne 0x1015ff00
xor eax, eax
mov esi, dword [ebp - 0x2e8]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2d0]
mov dword [0x103c3bcc], eax
mov ecx, dword [ebp - 0x2cc]
cmp esi, dword [ecx + eax]
cmovg esi, edx
mov edi, dword [ebp - 0x32c]
mov dword [ebp - 0x2e8], esi
mov byte [ebp - 0x2f0], 0
cmp byte [edi + 3], 0
je 0x1015ffd4
cmp dword [edi + 8], esi
jl 0x1015ffd4
mov esi, dword [ebp - 0x2ec]
test byte [esi + 0x65940], 1
je 0x1015ffd4
mov ecx, esi
call fcn.1014c6c0
cmp byte [esi + 0x65911], 0
je 0x1015ffd4
push edi
mov ecx, esi
call fcn.1014cbd0
test al, al
je 0x1015ffd4
mov byte [ebp - 0x2f0], 1
mov byte [esi + 0x63d68], 1
mov eax, dword [ebp - 0x2e0]
movss xmm2, dword [eax + 0x3cc074]
movss xmm0, dword [eax + 0x3cc078]
subss xmm0, dword [edi + 0x1c]
subss xmm2, dword [edi + 0x18]
movss xmm1, dword [eax + 0x3cc07c]
subss xmm1, dword [edi + 0x20]
mulss xmm0, xmm0
mulss xmm2, xmm2
movss dword [ebp - 0x2e0], xmm1
addss xmm0, xmm2
call fcn.1000e050
movss xmm1, dword [0x1030bc10]
divss xmm1, xmm0
mulss xmm1, dword [ebp - 0x2e0]
movaps xmm0, xmm1
call fcn.102627be
mulss xmm0, dword [0x1030bc44]
movss dword [ebp - 0x2e0], xmm0
fld dword [ebp - 0x2e0]
fld dword [0x1030bb34]
call fcn.102627a0
movss xmm0, dword [0x1030bb34]
fstp dword [ebp - 0x2e0]
movss xmm2, dword [ebp - 0x2e0]
comiss xmm2, dword [0x1030bae8]
jbe 0x1016007a
subss xmm2, xmm0
movss xmm1, dword [0x1030bc60]
comiss xmm1, xmm2
jbe 0x1016008b
addss xmm2, xmm0
mov ecx, dword [0x10842cb8]
lea eax, [ebp - 0x340]
add ecx, 0x772b78e1
xor ecx, 0xa30d42b2
push eax
call fcn.1001f200
mov edi, dword [ebp - 0x2ec]
mov eax, dword [edi + 0x658d4]
mov esi, dword [edi + 0x64088]
mov dword [ebp - 0x2e4], eax
mov eax, dword [0x103c3ba8]
mov dword [ebp - 0x2c4], esi
test al, 1
jne 0x10160338
or eax, 1
mov dword [0x103c3ba8], eax
mov dword [ebp - 4], 0xa
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2d8], eax
cmp eax, dword [0x103bf634]
je 0x10160154
mov ecx, dword [eax]
mov dword [ebp - 0x2d4], ecx
test ecx, ecx
je 0x10160143
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10160110
xor edx, edx
test ecx, ecx
je 0x10160143
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10160120
cmp edi, 0x1eee87cc
je 0x10160258
mov eax, dword [ebp - 0x2d8]
add eax, 4
mov dword [ebp - 0x2d8], eax
cmp eax, dword [0x103bf634]
jne 0x101600f6
xor eax, eax
mov edi, dword [ebp - 0x2ec]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x2c4]
mov dword [0x103c3bec], eax
jmp 0x1016033d
mov eax, dword [ebp - 0x2e4]
xor edi, edi
mov dword [ebp - 0x2d4], edi
mov dword [ebp - 0x2d8], edi
cmp dword [eax + 4], edi
jle 0x1016023d
xor ecx, ecx
mov dword [ebp - 0x2c4], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2c8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101601dd
cmp dword [ecx + 4], 0
jle 0x101601dd
push 0
mov edx, 0x84cdad2
call fcn.1013c990
add esp, 4
test eax, eax
je 0x101601d7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2d4], edi
mov eax, dword [ebp - 0x2e4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x101601e6
xor edx, edx
test ecx, ecx
je 0x10160212
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101601f3
cmp edi, 0x84cdad2
je 0x10160244
mov eax, dword [ebp - 0x2e4]
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2c4]
inc edx
mov edi, dword [ebp - 0x2d4]
add ecx, 0x3c
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 0x2c4], ecx
cmp edx, dword [eax + 4]
jl 0x101601a0
mov eax, edi
jmp 0x1015ff59
mov eax, dword [ebp - 0x2c8]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2d4]
jmp 0x1015ff59
mov eax, dword [ebp - 0x2d4]
xor edi, edi
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2d8], edi
cmp dword [eax + 4], edi
jle 0x1016031d
xor ecx, ecx
mov dword [ebp - 0x2d0], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2e0], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101602bd
cmp dword [ecx + 4], 0
jle 0x101602bd
push 0
mov edx, 0x559d81af
call fcn.1013c990
add esp, 4
test eax, eax
je 0x101602b7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2cc], edi
mov eax, dword [ebp - 0x2d4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x101602c6
xor edx, edx
test ecx, ecx
je 0x101602f2
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101602d3
cmp edi, 0x559d81af
je 0x10160324
mov eax, dword [ebp - 0x2d4]
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2d0]
inc edx
mov edi, dword [ebp - 0x2cc]
add ecx, 0x3c
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 0x2d0], ecx
cmp edx, dword [eax + 4]
jl 0x10160280
mov eax, edi
jmp 0x10160156
mov eax, dword [ebp - 0x2e0]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2cc]
jmp 0x10160156
mov eax, dword [0x103c3bec]
movq xmm0, qword [eax + esi]
mov ecx, esi
movq qword [edi + 0x64090], xmm0
mov eax, dword [eax + esi + 8]
mov dword [edi + 0x64098], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
movq xmm0, qword [eax]
movq qword [edi + 0x6409c], xmm0
mov eax, dword [eax + 8]
mov dword [edi + 0x640a4], eax
mov eax, dword [0x103c22c8]
test al, 1
jne 0x101604f8
or eax, 1
mov dword [0x103c22c8], eax
mov dword [ebp - 4], 0xb
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2d0], eax
cmp eax, dword [0x103bf634]
je 0x101603f4
mov ecx, dword [eax]
mov dword [ebp - 0x2cc], ecx
test ecx, ecx
je 0x101603e3
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x101603b7
xor edx, edx
test ecx, ecx
je 0x101603e3
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101603c4
cmp edi, 0x72e242a1
je 0x10160413
mov eax, dword [ebp - 0x2d0]
add eax, 4
mov dword [ebp - 0x2d0], eax
cmp eax, dword [0x103bf634]
jne 0x101603a1
xor eax, eax
mov edi, dword [ebp - 0x2ec]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x2c4]
mov dword [0x103c2360], eax
jmp 0x101604fd
mov eax, dword [ebp - 0x2cc]
xor edi, edi
mov dword [ebp - 0x2d4], edi
mov dword [ebp - 0x2d0], edi
cmp dword [eax + 4], edi
jle 0x101604dd
xor ecx, ecx
mov dword [ebp - 0x2d8], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2e0], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1016047d
cmp dword [ecx + 4], 0
jle 0x1016047d
push 0
mov edx, 0xf3c2c786
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10160477
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2d4], edi
mov eax, dword [ebp - 0x2cc]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10160486
xor edx, edx
test ecx, ecx
je 0x101604b2
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10160493
cmp edi, 0xf3c2c786
je 0x101604e4
mov eax, dword [ebp - 0x2cc]
mov edx, dword [ebp - 0x2d0]
mov ecx, dword [ebp - 0x2d8]
inc edx
mov edi, dword [ebp - 0x2d4]
add ecx, 0x3c
mov dword [ebp - 0x2d0], edx
mov dword [ebp - 0x2d8], ecx
cmp edx, dword [eax + 4]
jl 0x10160440
mov eax, edi
jmp 0x101603f6
mov eax, dword [ebp - 0x2e0]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2d4]
jmp 0x101603f6
mov eax, dword [0x103c2360]
movq xmm0, qword [eax + esi]
movq qword [edi + 0x640a8], xmm0
mov eax, dword [eax + esi + 8]
mov dword [edi + 0x640b0], eax
mov eax, dword [0x103c2300]
test al, 1
jne 0x101606a5
or eax, 1
mov dword [0x103c2300], eax
mov dword [ebp - 4], 0xc
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2d0], eax
cmp eax, dword [0x103bf634]
je 0x101605a0
mov ecx, dword [eax]
mov dword [ebp - 0x2cc], ecx
test ecx, ecx
je 0x1016058f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10160560
xor edx, edx
test ecx, ecx
je 0x1016058f
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10160570
cmp edi, 0x1eee87cc
je 0x101605bf
mov eax, dword [ebp - 0x2d0]
add eax, 4
mov dword [ebp - 0x2d0], eax
cmp eax, dword [0x103bf634]
jne 0x10160543
xor eax, eax
mov edi, dword [ebp - 0x2ec]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x2c4]
mov dword [0x103c2318], eax
jmp 0x101606aa
mov eax, dword [ebp - 0x2cc]
xor edi, edi
mov dword [ebp - 0x2d4], edi
mov dword [ebp - 0x2d0], edi
cmp dword [eax + 4], edi
jle 0x1016068a
xor ecx, ecx
mov dword [ebp - 0x2d8], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2e0], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10160621
cmp dword [ecx + 4], 0
jle 0x10160621
push 0
mov edx, 0xe57f80c
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1016061b
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2d4], edi
mov eax, dword [ebp - 0x2cc]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10160630
xor edx, edx
test ecx, ecx
je 0x1016065f
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10160640
cmp edi, 0xe57f80c
je 0x10160691
mov eax, dword [ebp - 0x2cc]
mov edx, dword [ebp - 0x2d0]
mov ecx, dword [ebp - 0x2d8]
inc edx
mov edi, dword [ebp - 0x2d4]
add ecx, 0x3c
mov dword [ebp - 0x2d0], edx
mov dword [ebp - 0x2d8], ecx
cmp edx, dword [eax + 4]
jl 0x101605e4
mov eax, edi
jmp 0x101605a2
mov eax, dword [ebp - 0x2e0]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2d4]
jmp 0x101605a2
mov eax, dword [0x103c2318]
movq xmm0, qword [eax + esi]
movq qword [edi + 0x640b4], xmm0
mov eax, dword [eax + esi + 8]
mov dword [edi + 0x640bc], eax
mov eax, dword [0x103c3b74]
test al, 1
jne 0x10160845
or eax, 1
mov dword [0x103c3b74], eax
mov dword [ebp - 4], 0xd
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2d0], eax
cmp eax, dword [0x103bf634]
je 0x10160743
mov ecx, dword [eax]
mov dword [ebp - 0x2d8], ecx
test ecx, ecx
je 0x10160732
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10160706
xor edx, edx
test ecx, ecx
je 0x10160732
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10160713
cmp edi, 0x1eee87cc
je 0x10160762
mov eax, dword [ebp - 0x2d0]
add eax, 4
mov dword [ebp - 0x2d0], eax
cmp eax, dword [0x103bf634]
jne 0x101606f0
xor eax, eax
mov edi, dword [ebp - 0x2ec]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x2c4]
mov dword [0x103c2338], eax
jmp 0x1016084a
mov ecx, dword [ebp - 0x2d8]
xor edi, edi
mov dword [ebp - 0x2d4], edi
mov dword [ebp - 0x2d0], edi
cmp dword [ecx + 4], edi
jle 0x1016082a
xor eax, eax
mov dword [ebp - 0x2cc], eax
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x2e0], esi
test ecx, ecx
je 0x101607c5
cmp dword [ecx + 4], 0
jle 0x101607c5
push 0
mov edx, 0x7d388d3e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x101607bf
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2d4], edi
mov eax, dword [ebp - 0x2cc]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [esi + ecx], 0
jne 0x101607d0
xor edx, edx
test ecx, ecx
je 0x101607ff
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101607e0
cmp edi, 0x7d388d3e
je 0x10160831
mov eax, dword [ebp - 0x2cc]
mov edx, dword [ebp - 0x2d0]
add eax, 0x3c
mov ecx, dword [ebp - 0x2d8]
inc edx
mov edi, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d0], edx
mov dword [ebp - 0x2cc], eax
cmp edx, dword [ecx + 4]
jl 0x10160787
mov eax, edi
jmp 0x10160745
mov eax, dword [ebp - 0x2e0]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2d4]
jmp 0x10160745
mov eax, dword [0x103c2338]
movq xmm0, qword [eax + esi]
movq qword [edi + 0x640c0], xmm0
mov eax, dword [eax + esi + 8]
mov dword [edi + 0x640c8], eax
add edi, 0x640d0
mov eax, dword [esi + 0x2920]
mov esi, dword [esi + 0x2914]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x2e4]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
cmp byte [eax + 0xc], 0
je 0x1016088e
add eax, 0xd3b0
jmp 0x10160893
add eax, 0xa390
mov esi, dword [ebp - 0x2ec]
mov dword [ebp - 0x2d8], eax
mov edi, dword [esi + 0x64088]
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov esi, dword [0x10842cb8]
add esi, 0x772b78e1
mov dword [ebp - 0x2d4], edi
xor esi, 0xa30d42b2
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x394
add eax, esi
je 0x101610dd
mov esi, dword [ebp - 0x2e4]
cmp byte [esi + 0xc], 0
lea eax, [esi + 0xd390]
jne 0x101608ee
lea eax, [esi + 0x94]
movss xmm0, dword [eax + 8]
movss xmm2, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [ebp - 0x44], xmm0
mov eax, dword [ebp - 0x44]
unpcklps xmm2, xmm1
mov dword [ebp - 0x2f8], eax
mov eax, dword [0x103c3ba8]
movq qword [ebp - 0x4c], xmm2
movups xmmword [ebp - 0x40], xmm2
test al, 1
jne 0x10160aa5
or eax, 1
mov dword [0x103c3ba8], eax
mov dword [ebp - 4], 0xe
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2d0], eax
cmp eax, dword [0x103bf634]
je 0x101609a0
mov ecx, dword [eax]
mov dword [ebp - 0x2c8], ecx
test ecx, ecx
je 0x1016098f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10160960
xor edx, edx
test ecx, ecx
je 0x1016098f
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10160970
cmp edi, 0x1eee87cc
je 0x101609c3
mov eax, dword [ebp - 0x2d0]
add eax, 4
mov dword [ebp - 0x2d0], eax
cmp eax, dword [0x103bf634]
jne 0x10160945
xor eax, eax
mov esi, dword [ebp - 0x2e4]
mov dword [ebp - 4], 0xffffffff
movups xmm2, xmmword [ebp - 0x40]
mov edi, dword [ebp - 0x2d4]
mov dword [0x103c3bec], eax
jmp 0x10160aaa
mov ecx, dword [ebp - 0x2c8]
xor edi, edi
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2d0], edi
cmp dword [ecx + 4], edi
jle 0x10160a8a
xor eax, eax
mov dword [ebp - 0x2c4], eax
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x2e0], esi
test ecx, ecx
je 0x10160a26
cmp dword [ecx + 4], 0
jle 0x10160a26
push 0
mov edx, 0x559d81af
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10160a20
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2cc], edi
mov eax, dword [ebp - 0x2c4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x10160a30
xor edx, edx
test ecx, ecx
je 0x10160a5f
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10160a40
cmp edi, 0x559d81af
je 0x10160a91
mov eax, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2d0]
add eax, 0x3c
mov ecx, dword [ebp - 0x2c8]
inc edx
mov edi, dword [ebp - 0x2cc]
mov dword [ebp - 0x2d0], edx
mov dword [ebp - 0x2c4], eax
cmp edx, dword [ecx + 4]
jl 0x101609e8
mov eax, edi
jmp 0x101609a2
mov eax, dword [ebp - 0x2e0]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2cc]
jmp 0x101609a2
mov eax, dword [0x103c3bec]
mov ecx, dword [ebp - 0x2f8]
movq qword [eax + edi], xmm2
mov dword [eax + edi + 8], ecx
lea ecx, [ebp - 0x4c]
mov eax, dword [0x1040e4ac]
push ecx
mov ecx, edi
call eax
mov eax, dword [esi + 0xcc]
movq xmm0, qword [esi + 0xc4]
mov dword [ebp - 0x2e0], eax
mov eax, dword [0x103c3b74]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x10160c69
or eax, 1
mov dword [0x103c3b74], eax
mov dword [ebp - 4], 0xf
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
je 0x10160b63
nop
mov ecx, dword [eax]
mov dword [ebp - 0x2d0], ecx
test ecx, ecx
je 0x10160b52
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10160b26
xor edx, edx
test ecx, ecx
je 0x10160b52
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10160b33
cmp edi, 0x1eee87cc
je 0x10160b87
mov eax, dword [ebp - 0x2c8]
add eax, 4
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
jne 0x10160b10
xor eax, eax
mov esi, dword [ebp - 0x2e4]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov edi, dword [ebp - 0x2d4]
mov dword [0x103c2338], eax
jmp 0x10160c6e
mov ecx, dword [ebp - 0x2d0]
xor edi, edi
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2c8], edi
cmp dword [ecx + 4], edi
jle 0x10160c4e
xor eax, eax
mov dword [ebp - 0x2c4], eax
nop dword [eax]
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x2f4], esi
test ecx, ecx
je 0x10160bee
cmp dword [ecx + 4], 0
jle 0x10160bee
push 0
mov edx, 0x7d388d3e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10160be8
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2cc], edi
mov eax, dword [ebp - 0x2c4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10160bf7
xor edx, edx
test ecx, ecx
je 0x10160c23
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10160c04
cmp edi, 0x7d388d3e
je 0x10160c55
mov eax, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2c8]
add eax, 0x3c
mov ecx, dword [ebp - 0x2d0]
inc edx
mov edi, dword [ebp - 0x2cc]
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2c4], eax
cmp edx, dword [ecx + 4]
jl 0x10160bb0
mov eax, edi
jmp 0x10160b65
mov eax, dword [ebp - 0x2f4]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2cc]
jmp 0x10160b65
mov eax, dword [0x103c2338]
mov ecx, dword [ebp - 0x2e0]
movq qword [eax + edi], xmm0
mov dword [eax + edi + 8], ecx
mov eax, dword [esi + 0xc0]
movq xmm0, qword [esi + 0xb8]
mov dword [ebp - 0x2e0], eax
mov eax, dword [0x103c2300]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x10160e25
or eax, 1
mov dword [0x103c2300], eax
mov dword [ebp - 4], 0x10
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
je 0x10160d20
mov ecx, dword [eax]
mov dword [ebp - 0x2d0], ecx
test ecx, ecx
je 0x10160d0f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10160ce0
xor edx, edx
test ecx, ecx
je 0x10160d0f
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10160cf0
cmp edi, 0x1eee87cc
je 0x10160d3e
mov eax, dword [ebp - 0x2c8]
add eax, 4
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
jne 0x10160cc5
xor eax, eax
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov edi, dword [ebp - 0x2d4]
mov dword [0x103c2318], eax
jmp 0x10160e2a
mov ecx, dword [ebp - 0x2d0]
xor edi, edi
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2c8], edi
cmp dword [ecx + 4], edi
jle 0x10160e0a
xor eax, eax
mov dword [ebp - 0x2c4], eax
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x2f4], esi
test ecx, ecx
je 0x10160da1
cmp dword [ecx + 4], 0
jle 0x10160da1
push 0
mov edx, 0xe57f80c
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10160d9b
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2cc], edi
mov eax, dword [ebp - 0x2c4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10160db0
xor edx, edx
test ecx, ecx
je 0x10160ddf
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10160dc0
cmp edi, 0xe57f80c
je 0x10160e11
mov eax, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2c8]
add eax, 0x3c
mov ecx, dword [ebp - 0x2d0]
inc edx
mov edi, dword [ebp - 0x2cc]
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2c4], eax
cmp edx, dword [ecx + 4]
jl 0x10160d63
mov eax, edi
jmp 0x10160d22
mov eax, dword [ebp - 0x2f4]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2cc]
jmp 0x10160d22
mov eax, dword [0x103c2318]
mov edx, dword [0x103c2354]
mov ecx, dword [ebp - 0x2e0]
movq qword [eax + edi], xmm0
mov dword [eax + edi + 8], ecx
test dl, 1
jne 0x10160fc9
or edx, 1
mov dword [0x103c2354], edx
mov dword [ebp - 4], 0x11
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
je 0x10160ec3
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x2d0], ecx
test ecx, ecx
je 0x10160eb2
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10160e86
xor edx, edx
test ecx, ecx
je 0x10160eb2
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10160e93
cmp edi, 0x54aff69
je 0x10160ee6
mov eax, dword [ebp - 0x2c8]
add eax, 4
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
jne 0x10160e70
xor ecx, ecx
add ecx, 0x1c
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x103c2354]
mov edi, dword [ebp - 0x2d4]
mov dword [0x103c22cc], ecx
jmp 0x10160fcf
mov ecx, dword [ebp - 0x2d0]
xor edi, edi
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2c8], edi
cmp dword [ecx + 4], edi
jle 0x10160fae
xor eax, eax
mov dword [ebp - 0x2c4], eax
nop dword [eax + eax]
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x2f4], esi
test ecx, ecx
je 0x10160f4e
cmp dword [ecx + 4], 0
jle 0x10160f4e
push 0
mov edx, 0xddac019e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10160f48
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2cc], edi
mov eax, dword [ebp - 0x2c4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10160f57
xor edx, edx
test ecx, ecx
je 0x10160f83
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10160f64
cmp edi, 0xddac019e
je 0x10160fb5
mov eax, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2c8]
add eax, 0x3c
mov ecx, dword [ebp - 0x2d0]
inc edx
mov edi, dword [ebp - 0x2cc]
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2c4], eax
cmp edx, dword [ecx + 4]
jl 0x10160f10
mov ecx, edi
jmp 0x10160ec5
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x2cc]
jmp 0x10160ec5
mov ecx, dword [0x103c22cc]
lea eax, [ecx + edi]
test eax, eax
je 0x10161005
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x1040e3cc]
test eax, eax
je 0x10160ff0
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 0x101610a0
or edx, 1
mov dword [0x103c2354], edx
mov dword [ebp - 4], 0x12
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
je 0x10161088
mov ecx, dword [eax]
mov dword [ebp - 0x2d0], ecx
test ecx, ecx
je 0x10161077
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10161047
xor edx, edx
test ecx, ecx
je 0x10161077
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10161054
cmp edi, 0x54aff69
je 0x10161228
mov eax, dword [ebp - 0x2c8]
add eax, 4
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
jne 0x10161031
xor ecx, ecx
add ecx, 0x1c
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x2d4]
mov dword [0x103c22cc], ecx
lea edx, [ecx + edi]
test edx, edx
je 0x101610dd
mov eax, dword [edi + 0x2920]
mov edi, dword [edi + 0x2914]
mov esi, dword [ebp - 0x2d8]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x2d4]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 0x2920]
mov edi, dword [edx]
mov esi, dword [ebp - 0x2d8]
lea ecx, [eax + eax*2]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x10c0dd10]
mov edi, dword [ebp - 0x2ec]
add eax, 0x72c821ae
movss xmm0, dword [ebp - 0x340]
xor eax, 0x43f50f5d
push 0
push 0
mov edx, dword [edi + 0x64088]
mov ecx, dword [eax + 0x134]
mov eax, dword [ebp - 0x32c]
add eax, 0x18
push eax
sub esp, 0xc
mov eax, esp
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x33c]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x338]
movss dword [eax + 8], xmm0
lea eax, [ebp - 0x40]
push eax
call fcn.10141600
mov esi, dword [edi + 0x64088]
add esp, 0x1c
mov dword [ebp - 0x2d4], esi
movups xmm0, xmmword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x44], eax
mov eax, dword [edi + 0x64098]
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x2e0], eax
movq xmm0, qword [edi + 0x64090]
mov eax, dword [0x103c3ba8]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x101613e9
or eax, 1
mov dword [0x103c3ba8], eax
mov dword [ebp - 4], 0x13
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
je 0x10161204
mov ecx, dword [eax]
mov dword [ebp - 0x2d0], ecx
test ecx, ecx
je 0x101611f3
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x101611c0
xor edx, edx
test ecx, ecx
je 0x101611f3
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101611d0
cmp edi, 0x1eee87cc
je 0x10161309
mov eax, dword [ebp - 0x2c8]
add eax, 4
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
jne 0x101611a4
xor eax, eax
mov edi, dword [ebp - 0x2ec]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov esi, dword [ebp - 0x2d4]
mov dword [0x103c3bec], eax
jmp 0x101613ee
mov ecx, dword [ebp - 0x2d0]
xor edi, edi
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2c8], edi
cmp dword [ecx + 4], edi
jle 0x101612ee
xor eax, eax
mov dword [ebp - 0x2c4], eax
nop dword [eax]
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x2f4], esi
test ecx, ecx
je 0x1016128e
cmp dword [ecx + 4], 0
jle 0x1016128e
push 0
mov edx, 0xddac019e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10161288
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2cc], edi
mov eax, dword [ebp - 0x2c4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10161297
xor edx, edx
test ecx, ecx
je 0x101612c3
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101612a4
cmp edi, 0xddac019e
je 0x101612f5
mov eax, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2c8]
add eax, 0x3c
mov ecx, dword [ebp - 0x2d0]
inc edx
mov edi, dword [ebp - 0x2cc]
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2c4], eax
cmp edx, dword [ecx + 4]
jl 0x10161250
mov ecx, edi
jmp 0x1016108a
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x2cc]
jmp 0x1016108a
mov ecx, dword [ebp - 0x2d0]
xor edi, edi
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2c8], edi
cmp dword [ecx + 4], edi
jle 0x101613ce
xor eax, eax
mov dword [ebp - 0x2c4], eax
nop
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x2f4], esi
test ecx, ecx
je 0x1016136e
cmp dword [ecx + 4], 0
jle 0x1016136e
push 0
mov edx, 0x559d81af
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10161368
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2cc], edi
mov eax, dword [ebp - 0x2c4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10161377
xor edx, edx
test ecx, ecx
je 0x101613a3
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10161384
cmp edi, 0x559d81af
je 0x101613d5
mov eax, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2c8]
add eax, 0x3c
mov ecx, dword [ebp - 0x2d0]
inc edx
mov edi, dword [ebp - 0x2cc]
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2c4], eax
cmp edx, dword [ecx + 4]
jl 0x10161330
mov eax, edi
jmp 0x10161206
mov eax, dword [ebp - 0x2f4]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2cc]
jmp 0x10161206
mov eax, dword [0x103c3bec]
mov ecx, dword [ebp - 0x2e0]
movq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
lea ecx, [edi + 0x6409c]
mov eax, dword [0x1040e4ac]
push ecx
mov ecx, esi
call eax
mov eax, dword [edi + 0x640b0]
movq xmm0, qword [edi + 0x640a8]
mov dword [ebp - 0x2e0], eax
mov eax, dword [0x103c22c8]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x101615b9
or eax, 1
mov dword [0x103c22c8], eax
mov dword [ebp - 4], 0x14
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
je 0x101614b0
mov ecx, dword [eax]
mov dword [ebp - 0x2d0], ecx
test ecx, ecx
je 0x1016149f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10161470
xor edx, edx
test ecx, ecx
je 0x1016149f
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10161480
cmp edi, 0x72e242a1
je 0x101614d4
mov eax, dword [ebp - 0x2c8]
add eax, 4
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
jne 0x10161455
xor eax, eax
mov edi, dword [ebp - 0x2ec]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov esi, dword [ebp - 0x2d4]
mov dword [0x103c2360], eax
jmp 0x101615be
mov ecx, dword [ebp - 0x2d0]
xor edi, edi
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2c8], edi
cmp dword [ecx + 4], edi
jle 0x1016159e
xor eax, eax
mov dword [ebp - 0x2c4], eax
nop dword [eax]
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x2f4], esi
test ecx, ecx
je 0x1016153e
cmp dword [ecx + 4], 0
jle 0x1016153e
push 0
mov edx, 0xf3c2c786
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10161538
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2cc], edi
mov eax, dword [ebp - 0x2c4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10161547
xor edx, edx
test ecx, ecx
je 0x10161573
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10161554
cmp edi, 0xf3c2c786
je 0x101615a5
mov eax, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2c8]
add eax, 0x3c
mov ecx, dword [ebp - 0x2d0]
inc edx
mov edi, dword [ebp - 0x2cc]
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2c4], eax
cmp edx, dword [ecx + 4]
jl 0x10161500
mov eax, edi
jmp 0x101614b2
mov eax, dword [ebp - 0x2f4]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2cc]
jmp 0x101614b2
mov eax, dword [0x103c2360]
mov ecx, dword [ebp - 0x2e0]
movq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
mov eax, dword [edi + 0x640c8]
movq xmm0, qword [edi + 0x640c0]
mov dword [ebp - 0x2e0], eax
mov eax, dword [0x103c3b74]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x10161779
or eax, 1
mov dword [0x103c3b74], eax
mov dword [ebp - 4], 0x15
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
je 0x10161670
mov ecx, dword [eax]
mov dword [ebp - 0x2d0], ecx
test ecx, ecx
je 0x1016165f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10161630
xor edx, edx
test ecx, ecx
je 0x1016165f
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10161640
cmp edi, 0x1eee87cc
je 0x10161694
mov eax, dword [ebp - 0x2c8]
add eax, 4
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
jne 0x10161615
xor eax, eax
mov edi, dword [ebp - 0x2ec]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov esi, dword [ebp - 0x2d4]
mov dword [0x103c2338], eax
jmp 0x1016177e
mov ecx, dword [ebp - 0x2d0]
xor edi, edi
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2c8], edi
cmp dword [ecx + 4], edi
jle 0x1016175e
xor eax, eax
mov dword [ebp - 0x2c4], eax
nop dword [eax]
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x2f4], esi
test ecx, ecx
je 0x101616fe
cmp dword [ecx + 4], 0
jle 0x101616fe
push 0
mov edx, 0x7d388d3e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x101616f8
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2cc], edi
mov eax, dword [ebp - 0x2c4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10161707
xor edx, edx
test ecx, ecx
je 0x10161733
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10161714
cmp edi, 0x7d388d3e
je 0x10161765
mov eax, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2c8]
add eax, 0x3c
mov ecx, dword [ebp - 0x2d0]
inc edx
mov edi, dword [ebp - 0x2cc]
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2c4], eax
cmp edx, dword [ecx + 4]
jl 0x101616c0
mov eax, edi
jmp 0x10161672
mov eax, dword [ebp - 0x2f4]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2cc]
jmp 0x10161672
mov eax, dword [0x103c2338]
mov ecx, dword [ebp - 0x2e0]
movq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
mov eax, dword [edi + 0x640bc]
movq xmm0, qword [edi + 0x640b4]
mov dword [ebp - 0x2e0], eax
mov eax, dword [0x103c2300]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x10161935
or eax, 1
mov dword [0x103c2300], eax
mov dword [ebp - 4], 0x16
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
je 0x10161830
mov ecx, dword [eax]
mov dword [ebp - 0x2c4], ecx
test ecx, ecx
je 0x1016181f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x101617f0
xor edx, edx
test ecx, ecx
je 0x1016181f
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10161800
cmp edi, 0x1eee87cc
je 0x1016184e
mov eax, dword [ebp - 0x2c8]
add eax, 4
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
jne 0x101617d5
xor eax, eax
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov esi, dword [ebp - 0x2d4]
mov dword [0x103c2318], eax
jmp 0x1016193a
mov eax, dword [ebp - 0x2c4]
xor edi, edi
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2c8], edi
cmp dword [eax + 4], edi
jle 0x1016191a
xor ecx, ecx
mov dword [ebp - 0x2d0], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2f4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101618b0
cmp dword [ecx + 4], 0
jle 0x101618b0
push 0
mov edx, 0xe57f80c
call fcn.1013c990
add esp, 4
test eax, eax
je 0x101618aa
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2cc], edi
mov eax, dword [ebp - 0x2c4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x101618c0
xor edx, edx
test ecx, ecx
je 0x101618ef
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101618d0
cmp edi, 0xe57f80c
je 0x10161921
mov eax, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2d0]
inc edx
mov edi, dword [ebp - 0x2cc]
add ecx, 0x3c
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2d0], ecx
cmp edx, dword [eax + 4]
jl 0x10161873
mov eax, edi
jmp 0x10161832
mov eax, dword [ebp - 0x2f4]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2cc]
jmp 0x10161832
mov eax, dword [0x103c2318]
mov edx, dword [0x103c2354]
mov ecx, dword [ebp - 0x2e0]
movq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
test dl, 1
jne 0x10161ad8
or edx, 1
mov dword [0x103c2354], edx
mov dword [ebp - 4], 0x17
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
je 0x101619d3
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x2c4], ecx
test ecx, ecx
je 0x101619c2
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10161996
xor edx, edx
test ecx, ecx
je 0x101619c2
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101619a3
cmp edi, 0x54aff69
je 0x101619f6
mov eax, dword [ebp - 0x2c8]
add eax, 4
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
jne 0x10161980
xor ecx, ecx
add ecx, 0x1c
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x103c2354]
mov esi, dword [ebp - 0x2d4]
mov dword [0x103c22cc], ecx
jmp 0x10161ade
mov eax, dword [ebp - 0x2c4]
xor edi, edi
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2c8], edi
cmp dword [eax + 4], edi
jle 0x10161abd
xor ecx, ecx
mov dword [ebp - 0x2d0], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2f4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10161a5d
cmp dword [ecx + 4], 0
jle 0x10161a5d
push 0
mov edx, 0xddac019e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10161a57
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2cc], edi
mov eax, dword [ebp - 0x2c4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10161a66
xor edx, edx
test ecx, ecx
je 0x10161a92
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10161a73
cmp edi, 0xddac019e
je 0x10161ac4
mov eax, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2d0]
inc edx
mov edi, dword [ebp - 0x2cc]
add ecx, 0x3c
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2d0], ecx
cmp edx, dword [eax + 4]
jl 0x10161a20
mov ecx, edi
jmp 0x101619d5
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x2cc]
jmp 0x101619d5
mov ecx, dword [0x103c22cc]
lea eax, [ecx + esi]
test eax, eax
je 0x10161b14
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x1040e3cc]
test eax, eax
je 0x10161aff
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 0x10161baf
or edx, 1
mov dword [0x103c2354], edx
mov dword [ebp - 4], 0x18
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
je 0x10161b97
mov ecx, dword [eax]
mov dword [ebp - 0x2c4], ecx
test ecx, ecx
je 0x10161b86
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10161b56
xor edx, edx
test ecx, ecx
je 0x10161b86
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10161b63
cmp edi, 0x54aff69
je 0x10161cbb
mov eax, dword [ebp - 0x2c8]
add eax, 4
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
jne 0x10161b40
xor ecx, ecx
add ecx, 0x1c
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x2d4]
mov dword [0x103c22cc], ecx
lea edx, [ecx + esi]
test edx, edx
je 0x10161bf8
mov eax, dword [esi + 0x2920]
mov edi, dword [esi + 0x2914]
mov esi, dword [ebp - 0x2ec]
add esi, 0x640d0
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x2d4]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 0x2920]
mov esi, dword [ebp - 0x2ec]
mov edi, dword [edx]
lea ecx, [eax + eax*2]
shl ecx, 4
add esi, 0x640d0
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x2e8]
cmp dword [ebp - 0x54], eax
jl 0x101630b5
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x2e0], eax
mov eax, dword [0x103c2330]
test al, 1
jne 0x10161e8a
or eax, 1
mov dword [0x103c2330], eax
mov dword [ebp - 4], 0x19
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
je 0x10161ca8
mov ecx, dword [eax]
mov dword [ebp - 0x2c4], ecx
test ecx, ecx
je 0x10161c97
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10161c67
xor edx, edx
test ecx, ecx
je 0x10161c97
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10161c74
cmp edi, 0xcd2ed041
je 0x10161d98
mov eax, dword [ebp - 0x2c8]
add eax, 4
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
jne 0x10161c51
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c3c14], eax
jmp 0x10161e8f
mov eax, dword [ebp - 0x2c4]
xor edi, edi
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2c8], edi
cmp dword [eax + 4], edi
jle 0x10161d7d
xor ecx, ecx
mov dword [ebp - 0x2d0], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2f4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10161d1d
cmp dword [ecx + 4], 0
jle 0x10161d1d
push 0
mov edx, 0xddac019e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10161d17
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2cc], edi
mov eax, dword [ebp - 0x2c4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10161d26
xor edx, edx
test ecx, ecx
je 0x10161d52
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10161d33
cmp edi, 0xddac019e
je 0x10161d84
mov eax, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2d0]
inc edx
mov edi, dword [ebp - 0x2cc]
add ecx, 0x3c
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2d0], ecx
cmp edx, dword [eax + 4]
jl 0x10161ce0
mov ecx, edi
jmp 0x10161b99
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x2cc]
jmp 0x10161b99
mov eax, dword [ebp - 0x2c4]
xor edi, edi
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2c8], edi
cmp dword [eax + 4], edi
jle 0x10161e5d
xor ecx, ecx
mov dword [ebp - 0x2d0], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2f4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10161dfd
cmp dword [ecx + 4], 0
jle 0x10161dfd
push 0
mov edx, 0xa2ccb41a
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10161df7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2cc], edi
mov eax, dword [ebp - 0x2c4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10161e06
xor edx, edx
test ecx, ecx
je 0x10161e32
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10161e13
cmp edi, 0xa2ccb41a
je 0x10161e6d
mov eax, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2d0]
inc edx
mov edi, dword [ebp - 0x2cc]
add ecx, 0x3c
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2d0], ecx
cmp edx, dword [eax + 4]
jl 0x10161dc0
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c3c14], eax
jmp 0x10161e8f
mov eax, dword [ebp - 0x2f4]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x2cc]
mov dword [0x103c3c14], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10161e8f
mov eax, dword [0x103c3c14]
mov ecx, dword [ebp - 0x2e0]
movzx eax, word [ecx + eax]
mov edi, eax
mov esi, eax
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov ecx, dword [eax + 0xf4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
movsx eax, si
push eax
call edx
test eax, eax
je 0x10161ed1
cmp di, 0x1f
jne 0x10161ed1
cmp dword [ebp - 0x50], 4
jl 0x101630b5
mov esi, dword [ebp - 0x2ec]
cmp byte [esi], 0
je 0x101630b5
cmp byte [ebp - 0x2f0], 0
je 0x10161ef2
test byte [esi + 0x65940], 1
jne 0x10161f1d
mov ecx, esi
call fcn.1014c6c0
cmp byte [esi + 0x65911], 0
mov edi, dword [ebp - 0x32c]
je 0x10161f23
push edi
mov ecx, esi
call fcn.1014cbd0
test al, al
je 0x10161f23
mov byte [esi + 0x63d68], 1
jmp 0x10161f23
mov edi, dword [ebp - 0x32c]
mov eax, dword [0x10c0dd38]
add eax, 0x6153321e
xor eax, 0xf66471cc
cmp byte [eax + 0x1c], 0
jne 0x10161f54
cmp byte [eax + 0x1d], 0
je 0x10161f54
cmp dword [eax + 0x20], 0
jg 0x10161f54
cmp dword [eax + 4], 0
jne 0x10161f54
cmp dword [eax + 0x44], 2
jle 0x101630b5
push 0
mov ecx, esi
call fcn.10147090
test al, al
je 0x101630b5
cmp byte [0x103aa7bc], 0
mov dword [ebp - 0x328], 0
je 0x10161f80
mov eax, dword [esi + 0x65918]
jmp 0x10161f86
mov eax, dword [esi + 0x65914]
mov esi, dword [ebp - 0x2e4]
mov edx, edi
mov ecx, dword [ebp - 0x344]
movd xmm0, eax
lea eax, [ebp - 0x328]
push eax
cvtdq2ps xmm0, xmm0
push 0
lea eax, [ebp - 0x334]
push eax
push esi
sub esp, 0xc
mulss xmm0, dword [0x1030b730]
mov eax, esp
movss dword [ebp - 0x334], xmm0
movss xmm0, dword [ebp - 0x340]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x33c]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x338]
movss dword [eax + 8], xmm0
call fcn.10152030
add esp, 0x1c
test al, al
je 0x101630b5
cmp byte [0x103a6a11], 0
je 0x10162019
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0x140]
or dword [eax + 0x30], 1
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0x140]
test byte [eax + 0x30], 1
je 0x10162e76
mov edi, dword [ebp - 0x2ec]
movss xmm1, dword [0x1030b7fc]
mov byte [edi + 0x63d69], 1
mov edx, dword [0x10c0dd10]
movss xmm0, dword [esi + 0x28]
add edx, 0x72c821ae
xor edx, 0x43f50f5d
movss dword [ebp - 0x2d8], xmm0
addss xmm0, dword [edx + 0x38]
mov eax, dword [edx + 0xf0]
divss xmm0, dword [eax + 0x20]
mov eax, dword [edx + 0x140]
addss xmm0, xmm1
cvttss2si ecx, xmm0
mov dword [eax + 8], ecx
mov eax, dword [edi + 0x64088]
mov esi, eax
mov dword [ebp - 0x2e0], eax
mov eax, dword [0x103c3bd8]
test al, 1
jne 0x10162228
or eax, 1
mov dword [0x103c3bd8], eax
mov dword [ebp - 4], 0x1a
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
je 0x10162123
nop word [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x2c4], ecx
test ecx, ecx
je 0x10162112
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x101620e6
xor edx, edx
test ecx, ecx
je 0x10162112
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101620f3
cmp edi, 0x1eee87cc
je 0x1016214b
mov eax, dword [ebp - 0x2c8]
add eax, 4
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
jne 0x101620d0
xor ecx, ecx
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 4], 0xffffffff
movss xmm1, dword [0x1030b7fc]
mov dword [0x103c3b90], ecx
mov esi, dword [eax + 0x64088]
jmp 0x1016222e
mov eax, dword [ebp - 0x2c4]
xor edi, edi
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2c8], edi
cmp dword [eax + 4], edi
jle 0x1016220d
xor ecx, ecx
mov dword [ebp - 0x2d0], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2f4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101621ad
cmp dword [ecx + 4], 0
jle 0x101621ad
push 0
mov edx, 0x7fcb378d
call fcn.1013c990
add esp, 4
test eax, eax
je 0x101621a7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2cc], edi
mov eax, dword [ebp - 0x2c4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x101621b6
xor edx, edx
test ecx, ecx
je 0x101621e2
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101621c3
cmp edi, 0x7fcb378d
je 0x10162214
mov eax, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2d0]
inc edx
mov edi, dword [ebp - 0x2cc]
add ecx, 0x3c
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2d0], ecx
cmp edx, dword [eax + 4]
jl 0x10162170
mov ecx, edi
jmp 0x10162125
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x2cc]
jmp 0x10162125
mov ecx, dword [0x103c3b90]
mov eax, dword [0x10c0dd10]
mov edx, dword [ebp - 0x2e0]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
movss xmm0, dword [ecx + edx]
subss xmm0, dword [ebp - 0x2d8]
mov eax, dword [eax + 0xf0]
divss xmm0, dword [eax + 0x20]
addss xmm0, xmm1
cvttss2si eax, xmm0
cdq
mov edi, eax
xor edi, edx
sub edi, edx
cmp byte [0x103a7390], 0
mov dword [ebp - 0x2d8], edi
je 0x1016229d
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [0x110e9940]
add eax, 0xa390
add ecx, 0x6bd3347a
push eax
xor ecx, 0x4b81d371
push esi
call fcn.1004edc0
mov esi, dword [ebp - 0x32c]
movss xmm1, dword [ebp - 0x33c]
movss xmm0, dword [ebp - 0x338]
movss xmm2, dword [ebp - 0x340]
subss xmm1, dword [esi + 0x1c]
subss xmm0, dword [esi + 0x20]
subss xmm2, dword [esi + 0x18]
movss dword [ebp - 0x2f4], xmm1
movss dword [ebp - 0x2d0], xmm0
movaps xmm0, xmm1
mulss xmm0, xmm1
movaps xmm1, xmm2
mulss xmm1, xmm2
movss dword [ebp - 0x2c8], xmm2
addss xmm0, xmm1
call fcn.1000e050
movss dword [ebp - 0x2e0], xmm0
movss xmm0, dword [ebp - 0x2f4]
divss xmm0, dword [ebp - 0x2c8]
call fcn.102627be
mulss xmm0, dword [0x1030ba40]
movss dword [ebp - 0x2f4], xmm0
movss xmm0, dword [0x1030bc10]
divss xmm0, dword [ebp - 0x2e0]
mulss xmm0, dword [ebp - 0x2d0]
call fcn.102627be
mulss xmm0, dword [0x1030bc44]
xorps xmm2, xmm2
movss xmm1, dword [ebp - 0x2f4]
movss dword [ebp - 0x2d0], xmm1
movss dword [ebp - 0x2e0], xmm0
movss xmm0, dword [ebp - 0x2c8]
comiss xmm0, xmm2
jb 0x10162383
addss xmm1, dword [0x1030bae8]
movss dword [ebp - 0x2d0], xmm1
fld dword [ebp - 0x2e0]
fld dword [0x1030bb34]
call fcn.102627a0
movss xmm1, dword [0x1030bb34]
fstp dword [ebp - 0x2f4]
movss xmm0, dword [ebp - 0x2f4]
comiss xmm0, dword [0x1030bae8]
jbe 0x101623b7
subss xmm0, xmm1
movss xmm2, dword [0x1030bc60]
comiss xmm2, xmm0
jbe 0x101623c8
addss xmm0, xmm1
fld dword [ebp - 0x2d0]
fld dword [0x1030bb34]
movss dword [ebp - 0x34], xmm0
call fcn.102627a0
movss xmm1, dword [0x1030bb34]
fstp dword [ebp - 0x2f4]
movss xmm0, dword [ebp - 0x2f4]
comiss xmm0, dword [0x1030bae8]
jbe 0x10162401
subss xmm0, xmm1
movss xmm2, dword [0x1030bc60]
comiss xmm2, xmm0
jbe 0x10162412
addss xmm0, xmm1
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
movss dword [ebp - 0x30], xmm0
movq xmm0, qword [ebp - 0x34]
xor eax, 0x43f50f5d
mov dword [ebp - 0x2c], 0
mov ecx, dword [eax + 0x140]
mov eax, dword [ebp - 0x2c]
movq qword [ecx + 0xc], xmm0
mov dword [ecx + 0x14], eax
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x2e0], eax
mov eax, dword [0x103c231c]
test al, 1
jne 0x101625da
or eax, 1
mov dword [0x103c231c], eax
mov dword [ebp - 4], 0x1b
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
je 0x101624e3
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x2c4], ecx
test ecx, ecx
je 0x101624d2
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x101624a6
xor edx, edx
test ecx, ecx
je 0x101624d2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101624b3
cmp esi, 0x4e9f1122
je 0x101624fd
mov eax, dword [ebp - 0x2c8]
add eax, 4
mov dword [ebp - 0x2c8], eax
cmp eax, dword [0x103bf634]
jne 0x10162490
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x2d8]
mov dword [0x103c3b9c], esi
jmp 0x101625e0
mov eax, dword [ebp - 0x2c4]
xor edi, edi
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2c8], edi
cmp dword [eax + 4], edi
jle 0x101625bf
xor ecx, ecx
mov dword [ebp - 0x2d0], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2f4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1016255f
cmp dword [ecx + 4], 0
jle 0x1016255f
push 0
mov edx, 0x1e948cb9
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10162559
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x2cc], edi
mov eax, dword [ebp - 0x2c4]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10162568
xor edx, edx
test ecx, ecx
je 0x10162594
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10162575
cmp edi, 0x1e948cb9
je 0x101625c6
mov eax, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2d0]
inc edx
mov edi, dword [ebp - 0x2cc]
add ecx, 0x3c
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2d0], ecx
cmp edx, dword [eax + 4]
jl 0x10162522
mov esi, edi
jmp 0x101624e5
mov eax, dword [ebp - 0x2f4]
mov esi, dword [eax + 0x2c]
add esi, dword [ebp - 0x2cc]
jmp 0x101624e5
mov esi, dword [0x103c3b9c]
mov edx, dword [0x10c0dd10]
add edx, 0x72c821ae
xor edx, 0x43f50f5d
mov ecx, dword [edx + 0x1a8]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, ecx
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2e0]
movss xmm3, dword [ebp - 0x2f4]
movaps xmm1, xmm3
movaps xmm2, xmm3
mulss xmm1, dword [eax + esi]
mulss xmm2, dword [eax + esi + 4]
mulss xmm3, dword [eax + esi + 8]
mov eax, dword [edx + 0x140]
movss xmm0, dword [eax + 0xc]
subss xmm0, xmm1
movss dword [eax + 0xc], xmm0
movss xmm0, dword [eax + 0x10]
subss xmm0, xmm2
movss dword [eax + 0x10], xmm0
movss xmm0, dword [eax + 0x14]
subss xmm0, xmm3
movss dword [eax + 0x14], xmm0
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov esi, dword [eax + 0x140]
movss xmm0, dword [esi + 0x10]
fld dword [esi + 0xc]
fld dword [0x1030bb34]
movss dword [ebp - 0x2e0], xmm0
movss xmm0, dword [esi + 0x14]
movss dword [ebp - 0x2c], xmm0
call fcn.102627a0
movss xmm1, dword [0x1030bb34]
fstp dword [ebp - 0x2f4]
movss xmm0, dword [ebp - 0x2f4]
comiss xmm0, dword [0x1030bae8]
jbe 0x101626b8
subss xmm0, xmm1
movss xmm2, dword [0x1030bc60]
comiss xmm2, xmm0
jbe 0x101626c9
addss xmm0, xmm1
fld dword [ebp - 0x2e0]
fld dword [0x1030bb34]
movss dword [ebp - 0x34], xmm0
call fcn.102627a0
movss xmm1, dword [0x1030bb34]
fstp dword [ebp - 0x2f4]
movss xmm0, dword [ebp - 0x2f4]
comiss xmm0, dword [0x1030bae8]
jbe 0x10162702
subss xmm0, xmm1
movss xmm2, dword [0x1030bc60]
comiss xmm2, xmm0
jbe 0x10162713
addss xmm0, xmm1
fld dword [ebp - 0x2c]
fld dword [0x1030bb34]
movss dword [ebp - 0x30], xmm0
call fcn.102627a0
movss xmm1, dword [0x1030bb34]
fstp dword [ebp - 0x2f4]
movss xmm0, dword [ebp - 0x2f4]
comiss xmm0, dword [0x1030bae8]
jbe 0x10162749
subss xmm0, xmm1
movss xmm2, dword [0x1030bc60]
comiss xmm2, xmm0
jbe 0x1016275a
addss xmm0, xmm1
mov edx, dword [ebp - 0x2ec]
sub esp, 0xc
movss dword [ebp - 0x2c], xmm0
movq xmm0, qword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
movq qword [esi + 0xc], xmm0
mov dword [esi + 0x14], eax
mov eax, esp
mov ecx, dword [edx + 0x64088]
movss xmm0, dword [ebp - 0x340]
mov esi, dword [ebp - 0x2e4]
push esi
push dword [ebp - 0x32c]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x33c]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x338]
push ecx
mov ecx, edx
movss dword [eax + 8], xmm0
call fcn.10163700
test byte [0x103a7914], 4
je 0x10162e3f
mov eax, dword [ebp - 0x2ec]
mov edx, dword [eax + 0x63cc4]
cmp byte [edx - 0xef00], 0
je 0x101628a9
mov edx, dword [edx - 0xeefc]
lea ecx, [ebp - 0xa0]
call fcn.10082730
mov eax, dword [ebp - 0x2ec]
lea ecx, [ebp - 0xec]
mov dword [ebp - 4], 0x1c
mov edx, 0x1030b2dc
mov dword [ebp - 0x330], 0x801
mov eax, dword [eax + 0x63cc4]
sub eax, 0xeeec
push eax
call fcn.100f1b80
add esp, 4
push 1
mov dword [ebp - 4], 0x1d
mov ecx, eax
push 0x103058d8
mov dword [ebp - 0x330], 0x803
call fcn.10046500
push eax
lea ecx, [ebp - 0xb8]
call fcn.10044c90
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x330], 0xa07
push eax
push dword [ebp - 0x334]
lea ecx, [ebp - 0xd0]
call fcn.10116230
mov eax, 0xe0f
mov dword [ebp - 4], 0x1f
lea edx, [ebp - 0xd0]
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x330], eax
jmp 0x101628d7
push 0x10304658
lea ecx, [ebp - 0x138]
call fcn.1002a6b0
mov dword [ebp - 0x2c8], eax
mov ecx, 0x10
mov dword [ebp - 4], 0x20
mov dword [ebp - 0x2d4], ecx
mov dword [ebp - 0x330], ecx
cmp byte [esi + 0xc], 0
mov ecx, dword [ebp - 0x32c]
je 0x101628f0
mov eax, dword [esi + 0x14]
neg eax
mov dword [ebp - 0x2d0], eax
jmp 0x101628f6
mov dword [ebp - 0x2d0], edi
movss xmm0, dword [ebp - 0x328]
mulss xmm0, dword [0x1030ba90]
mov edx, dword [ecx + 4]
lea ecx, [ebp - 0x150]
cvttss2si eax, xmm0
mov dword [ebp - 0x2f4], eax
call fcn.10137180
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2ec]
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0x21
push dword [ebp - 0x334]
mov edi, dword [eax + 0x64088]
call fcn.1002c1a0
push 0
push 0x10304658
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x22
call fcn.1002c1c0
push 0x158
lea eax, [ebp - 0x2c0]
mov byte [ebp - 4], 0x23
push 0
push eax
call fcn.102372c0
mov eax, dword [0x10c0dd10]
lea ecx, [edi + 8]
add eax, 0x72c821ae
add esp, 0xc
xor eax, 0x43f50f5d
mov esi, dword [eax + 0xac]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea ecx, [ebp - 0x2c0]
push ecx
push eax
mov ecx, esi
call fcn.10072b80
cmp dword [ebp - 0x48], 0
je 0x101629c6
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x168]
call fcn.10044de0
mov ecx, eax
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0x2d4]
or eax, 0x20
jmp 0x101629e7
lea eax, [ebp - 0x2b0]
push eax
lea ecx, [ebp - 0x70]
call fcn.1002a6b0
mov ecx, eax
mov dword [ebp - 4], 0x25
mov eax, dword [ebp - 0x2d4]
or eax, 0x40
push ecx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x2d4], eax
call fcn.10044de0
mov eax, dword [ebp - 0x2d4]
or eax, 0x80
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x330], eax
test al, 0x40
je 0x10162a34
and eax, 0xffffffbf
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x330], eax
call fcn.1002aa60
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 4], 0x23
test al, 0x20
je 0x10162a59
and eax, 0xffffffdf
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x330], eax
call fcn.1002aa60
mov ecx, dword [ebp - 0x32c]
mov edx, str.Fire_to__s___s___d_____dhp___dt___dsp_s
push dword [ebp - 0x2c8]
mov byte [ebp - 4], 0x26
lea eax, [ecx + 0xc]
push eax
lea eax, [ebp - 0x2d0]
push eax
lea eax, [ecx + 8]
push eax
lea eax, [ebp - 0x2f4]
push eax
push dword [ebp - 0x2e0]
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x88]
call fcn.10167340
add esp, 0x1c
lea ecx, [ebp - 0x40]
call fcn.1002aa60
lea ecx, [ebp - 0x58]
call fcn.1002aa60
lea ecx, [ebp - 0x150]
call fcn.1002aa60
mov eax, dword [ebp - 0x2d4]
test al, 0x10
je 0x10162adb
and eax, 0xffffffef
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x2d4], eax
call fcn.1002aa60
mov eax, dword [ebp - 0x2d4]
test al, 8
je 0x10162af9
and eax, 0xfffffff7
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x2d4], eax
call fcn.1002aa60
mov eax, dword [ebp - 0x2d4]
test al, 4
je 0x10162b17
and eax, 0xfffffffb
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x2d4], eax
call fcn.1002aa60
mov eax, dword [ebp - 0x2d4]
test al, 2
je 0x10162b35
and eax, 0xfffffffd
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x2d4], eax
call fcn.1002aa60
mov eax, dword [ebp - 0x2d4]
mov byte [ebp - 4], 0x2f
test al, 1
je 0x10162b48
lea ecx, [ebp - 0xa0]
call fcn.1002aa60
movss xmm1, dword [0x1030bb18]
movss xmm0, dword [0x103a7e0c]
mulss xmm0, xmm1
mov byte [ebp - 0x2f0], 0xff
mov byte [ebp - 0x2f9], 0
cvttss2si eax, xmm0
movss xmm0, dword [0x103a7e08]
mulss xmm0, xmm1
mov dword [ebp - 0x2e0], eax
mov byte [ebp - 0x304], al
mov byte [ebp - 0x2e0], 0
push dword [ebp - 0x2e0]
cvttss2si edx, xmm0
movss xmm0, dword [0x103a7e04]
mulss xmm0, xmm1
mov byte [ebp - 0x314], dl
lea edx, [ebp - 0x2f9]
cvttss2si ecx, xmm0
movss xmm0, dword [0x103a7e00]
mulss xmm0, xmm1
mov byte [ebp - 0x310], cl
lea ecx, [ebp - 0x300]
cvttss2si eax, xmm0
mov byte [ebp - 0x300], al
lea eax, [ebp - 0x2f0]
push eax
call fcn.1003bbe0
mov byte [ebp - 0x2e0], 0
lea edx, [ebp - 0x31d]
push dword [ebp - 0x2e0]
lea ecx, [ebp - 0x310]
mov byte [ebp - 0x324], 0xff
mov al, byte [eax]
mov byte [ebp - 0x2c4], al
lea eax, [ebp - 0x324]
push eax
mov byte [ebp - 0x31d], 0
call fcn.1003bbe0
mov byte [ebp - 0x2e0], 0
lea edx, [ebp - 0x315]
push dword [ebp - 0x2e0]
lea ecx, [ebp - 0x314]
mov byte [ebp - 0x31c], 0xff
mov al, byte [eax]
mov byte [ebp - 0x2c3], al
lea eax, [ebp - 0x31c]
push eax
mov byte [ebp - 0x315], 0
call fcn.1003bbe0
mov byte [ebp - 0x2e0], 0
lea edx, [ebp - 0x305]
push dword [ebp - 0x2e0]
lea ecx, [ebp - 0x304]
mov byte [ebp - 0x30c], 0xff
mov al, byte [eax]
mov byte [ebp - 0x2c2], al
lea eax, [ebp - 0x30c]
push eax
mov byte [ebp - 0x305], 0
call fcn.1003bbe0
add esp, 0x20
mov ecx, 0x103ae3a0
mov al, byte [eax]
mov byte [ebp - 0x2c1], al
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x2d8], eax
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov esi, dword [eax + 0xd0]
lea eax, [ebp - 0x70]
push eax
call fcn.10042be0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x30
call fcn.1002a680
push eax
lea eax, [ebp - 0x2d8]
mov ecx, esi
push eax
call fcn.1008a0b0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x2f
call fcn.1002aa60
mov eax, dword [0x10c0dd10]
lea ecx, [ebp - 0x88]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov edi, dword [eax + 0xd0]
call fcn.1002a680
mov esi, eax
mov byte [ebp - 0x2e0], 0
push dword [ebp - 0x2e0]
lea eax, [ebp - 0x304]
mov byte [ebp - 0x2f0], 0xff
push eax
lea edx, [ebp - 0x305]
mov byte [ebp - 0x324], 0x96
lea ecx, [ebp - 0x30c]
mov byte [ebp - 0x31c], 0x96
mov byte [ebp - 0x30c], 0x96
mov byte [ebp - 0x304], 0xff
mov byte [ebp - 0x305], 0
call fcn.1003bbe0
mov byte [ebp - 0x2e0], 0
lea edx, [ebp - 0x315]
push dword [ebp - 0x2e0]
lea ecx, [ebp - 0x31c]
mov byte [ebp - 0x314], 0xff
mov al, byte [eax]
mov byte [ebp - 0x2c4], al
lea eax, [ebp - 0x314]
push eax
mov byte [ebp - 0x315], 0
call fcn.1003bbe0
mov byte [ebp - 0x2e0], 0
lea edx, [ebp - 0x31d]
push dword [ebp - 0x2e0]
lea ecx, [ebp - 0x324]
mov byte [ebp - 0x310], 0xff
mov al, byte [eax]
mov byte [ebp - 0x2c3], al
lea eax, [ebp - 0x310]
push eax
mov byte [ebp - 0x31d], 0
call fcn.1003bbe0
mov byte [ebp - 0x2e0], 0
lea edx, [ebp - 0x2f9]
push dword [ebp - 0x2e0]
lea ecx, [ebp - 0x2f0]
mov byte [ebp - 0x300], 0xff
mov al, byte [eax]
mov byte [ebp - 0x2c2], al
lea eax, [ebp - 0x300]
push eax
mov byte [ebp - 0x2f9], 0
call fcn.1003bbe0
add esp, 0x20
mov ecx, edi
mov al, byte [eax]
push esi
mov byte [ebp - 0x2c1], al
lea eax, [ebp - 0x2c4]
push str._s__n
push eax
call fcn.1008a0d0
lea ecx, [ebp - 0x88]
call fcn.1002aa60
cmp byte [0x103aa558], 0
jne 0x10162e5c
mov eax, dword [0x10474034]
add eax, 0x42a602b0
xor eax, 0xd864dca8
cmp byte [eax], 0
jne 0x10162e76
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0x10]
cmp byte [eax], 0
jne 0x10162e76
mov byte [eax], 1
mov esi, dword [ebp - 0x344]
push 0x1800
push 0
lea eax, [esi + 0x50]
mov word [esi], 0
push eax
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x40], 0
call fcn.102372c0
add esp, 0xc
mov dword [esi + 0x1850], 0
lea ecx, [esi + 0x187c]
mov dword [esi + 0x1854], 0
mov dword [esi + 0x1858], 0
mov dword [esi + 0x185c], 0
mov dword [esi + 0x1860], 0
mov dword [esi + 0x1864], 0
mov dword [esi + 0x1868], 0
mov dword [esi + 0x186c], 0
mov dword [esi + 0x1878], 0
mov dword [esi + 0x1874], 0
mov dword [esi + 0x1870], 0
call fcn.10086f10
jmp 0x101630b5
mov esi, dword [ebp - 0x2ec]
cmp byte [esi + 1], 0
je 0x101630b5
add esi, 0x30
lea edi, [esi + 0x63c90]
cmp esi, edi
je 0x101630a4
add esi, 0x20
nop dword [eax + eax]
push 0x1800
lea eax, [esi + 0x30]
mov word [esi - 0x20], 0
push 0
push eax
mov dword [esi - 0x1c], 0
mov dword [esi - 0x18], 0
mov dword [esi - 8], 0
mov dword [esi - 0xc], 0
mov dword [esi - 0x10], 0
mov dword [esi + 4], 0
mov dword [esi], 0
mov dword [esi - 4], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], 0
call fcn.102372c0
add esp, 0xc
mov dword [esi + 0x1830], 0
lea ecx, [esi + 0x185c]
mov dword [esi + 0x1834], 0
mov dword [esi + 0x1838], 0
mov dword [esi + 0x183c], 0
mov dword [esi + 0x1840], 0
mov dword [esi + 0x1844], 0
mov dword [esi + 0x1848], 0
mov dword [esi + 0x184c], 0
mov dword [esi + 0x1858], 0
mov dword [esi + 0x1854], 0
mov dword [esi + 0x1850], 0
call fcn.10086f10
lea esi, [esi + 0x1890]
lea eax, [esi - 0x20]
cmp eax, edi
jne 0x10162fa0
mov eax, dword [ebp - 0x2ec]
mov dword [eax + 4], 0
mov byte [eax + 1], 0
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.1023505f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret