Function at 0x1015ded0
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 0x10231ed9
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2d8
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 edi, ecx
mov dword [ebp - 0x288], edi
mov dword [ebp - 0x2d0], 0
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
cmp dword [eax + 0x138], 0
je 0x101622c5
cmp dword [eax + 0x13c], 0
je 0x101622c5
mov eax, dword [eax + 0xa8]
cmp dword [eax + 0x174], 0xffffffff
je 0x101622c5
call fcn.1014aed0
mov eax, dword [0x10bbf268]
add eax, 0x9ab0a510
xor eax, 0x83ea5eeb
cmp byte [eax + 0x34], 0
je 0x1015df83
cmp byte [eax + 0x35], 0
jne 0x101622c5
mov eax, dword [edi + 0x18]
lea ecx, [edi + 0x18]
cmp eax, dword [ecx + 4]
je 0x1015df91
mov dword [ecx + 4], eax
push 0x13
call fcn.10165da0
lea eax, [ebp - 0xd0]
push eax
call fcn.10135440
add esp, 4
mov ecx, edi
movups xmm0, xmmword [eax]
movups xmm1, xmmword [eax + 0x10]
movups xmm2, xmmword [eax + 0x20]
movups xmm3, xmmword [eax + 0x30]
movq xmm4, qword [eax + 0x40]
movups xmmword [edi + 0x65700], xmm0
movups xmmword [edi + 0x65710], xmm1
movups xmmword [edi + 0x65720], xmm2
movups xmmword [edi + 0x65730], xmm3
movq qword [edi + 0x65740], xmm4
call fcn.10147d90
mov word [edi + 0x63d68], 0
lea eax, [edi + 0x63ec0]
mov word [edi], 1
mov byte [edi + 0x63d6a], 0
mov dword [edi + 4], 0
push 0x1800
push 0
push eax
mov dword [edi + 0x2c], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x24], 0
mov word [edi + 0x63e70], 0
mov dword [edi + 0x63e74], 0
mov dword [edi + 0x63e78], 0
mov dword [edi + 0x63e88], 0
mov dword [edi + 0x63e84], 0
mov dword [edi + 0x63e80], 0
mov dword [edi + 0x63e94], 0
mov dword [edi + 0x63e90], 0
mov dword [edi + 0x63e8c], 0
mov dword [edi + 0x63eac], 0
mov dword [edi + 0x63ea8], 0
mov dword [edi + 0x63ea4], 0
mov dword [edi + 0x63eb8], 0
mov dword [edi + 0x63eb4], 0
mov dword [edi + 0x63eb0], 0
call fcn.101f5dc0
add esp, 0xc
mov dword [edi + 0x656c0], 0
lea ecx, [edi + 0x656ec]
mov dword [edi + 0x656c4], 0
mov dword [edi + 0x656c8], 0
mov dword [edi + 0x656cc], 0
mov dword [edi + 0x656d0], 0
mov dword [edi + 0x656d4], 0
mov dword [edi + 0x656d8], 0
mov dword [edi + 0x656dc], 0
mov dword [edi + 0x656e8], 0
mov dword [edi + 0x656e4], 0
mov dword [edi + 0x656e0], 0
call fcn.10086c10
cmp byte [0x103589a0], 0
je 0x10162186
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x2cc], eax
mov eax, dword [0x10373c90]
test al, 1
jne 0x1015e2f0
or eax, 1
mov dword [0x10373c90], eax
mov dword [ebp - 4], 0
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x270], eax
cmp eax, ecx
je 0x1015e1f2
mov eax, dword [eax]
mov dword [ebp - 0x284], eax
test eax, eax
je 0x1015e1df
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015e1b0
xor edx, edx
test ecx, ecx
je 0x1015e1d9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015e1c0
cmp esi, 0xcd2ed041
je 0x1015e206
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x270]
add eax, 4
mov dword [ebp - 0x270], eax
cmp eax, ecx
jne 0x1015e194
xor edi, edi
mov dword [0x10375574], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x1015e2f6
mov eax, dword [ebp - 0x284]
xor edi, edi
mov dword [ebp - 0x26c], edi
mov dword [ebp - 0x270], edi
cmp dword [eax + 4], edi
jle 0x1015e1f4
xor ecx, ecx
mov dword [ebp - 0x25c], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x274], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015e26d
cmp dword [ecx + 4], 0
jle 0x1015e26d
push 0
mov edx, 0xa2ccb41a
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015e267
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x26c], edi
mov eax, dword [ebp - 0x284]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015e276
xor edx, edx
test ecx, ecx
je 0x1015e2a2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015e283
cmp esi, 0xa2ccb41a
je 0x1015e2d2
mov eax, dword [ebp - 0x284]
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x25c]
inc edx
mov edi, dword [ebp - 0x26c]
add ecx, 0x3c
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x25c], ecx
cmp edx, dword [eax + 4]
jge 0x1015e1f4
jmp 0x1015e230
mov eax, dword [ebp - 0x274]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x26c]
mov dword [0x10375574], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x1015e2f6
mov edi, dword [0x10375574]
mov eax, dword [ebp - 0x2cc]
movzx esi, word [eax + edi]
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
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 0x1015e71f
mov eax, dword [eax + 0xc8]
test si, si
je 0x1015e71f
cmp si, 0x1f
je 0x1015e71f
add eax, 0xfffffff9
cmp eax, 9
ja 0x1015e71f
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x2cc], eax
mov eax, dword [0x10373c90]
test al, 1
jne 0x1015e4f0
or eax, 1
mov dword [0x10373c90], eax
mov dword [ebp - 4], 1
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x270], eax
cmp eax, ecx
je 0x1015e3f5
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x284], eax
test eax, eax
je 0x1015e3e2
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015e3b6
xor edx, edx
test ecx, ecx
je 0x1015e3dc
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015e3c3
cmp esi, 0xcd2ed041
je 0x1015e409
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x270]
add eax, 4
mov dword [ebp - 0x270], eax
cmp eax, ecx
jne 0x1015e3a0
xor edi, edi
mov dword [0x10375574], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x1015e4f6
mov eax, dword [ebp - 0x284]
xor edi, edi
mov dword [ebp - 0x26c], edi
mov dword [ebp - 0x270], edi
cmp dword [eax + 4], edi
jle 0x1015e3f7
xor ecx, ecx
mov dword [ebp - 0x25c], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x274], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015e46d
cmp dword [ecx + 4], 0
jle 0x1015e46d
push 0
mov edx, 0xa2ccb41a
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015e467
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x26c], edi
mov eax, dword [ebp - 0x284]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015e476
xor edx, edx
test ecx, ecx
je 0x1015e4a2
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015e483
cmp esi, 0xa2ccb41a
je 0x1015e4d2
mov eax, dword [ebp - 0x284]
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x25c]
inc edx
mov edi, dword [ebp - 0x26c]
add ecx, 0x3c
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x25c], ecx
cmp edx, dword [eax + 4]
jge 0x1015e3f7
jmp 0x1015e430
mov eax, dword [ebp - 0x274]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x26c]
mov dword [0x10375574], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x1015e4f6
mov edi, dword [0x10375574]
mov eax, dword [ebp - 0x2cc]
movzx eax, word [eax + edi]
mov edi, eax
mov esi, eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
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 0x1015e532
cmp di, 0x1f
je 0x1015e71f
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x2cc], eax
mov eax, dword [0x10373c90]
test al, 1
jne 0x1015e6d0
or eax, 1
mov dword [0x10373c90], eax
mov dword [ebp - 4], 2
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x270], eax
cmp eax, ecx
je 0x1015e5d5
nop
mov eax, dword [eax]
mov dword [ebp - 0x284], eax
test eax, eax
je 0x1015e5c2
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015e596
xor edx, edx
test ecx, ecx
je 0x1015e5bc
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015e5a3
cmp esi, 0xcd2ed041
je 0x1015e5e9
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x270]
add eax, 4
mov dword [ebp - 0x270], eax
cmp eax, ecx
jne 0x1015e580
xor edi, edi
mov dword [0x10375574], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x1015e6d6
mov eax, dword [ebp - 0x284]
xor edi, edi
mov dword [ebp - 0x26c], edi
mov dword [ebp - 0x270], edi
cmp dword [eax + 4], edi
jle 0x1015e5d7
xor ecx, ecx
mov dword [ebp - 0x25c], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x274], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015e64d
cmp dword [ecx + 4], 0
jle 0x1015e64d
push 0
mov edx, 0xa2ccb41a
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015e647
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x26c], edi
mov eax, dword [ebp - 0x284]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015e656
xor edx, edx
test ecx, ecx
je 0x1015e682
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015e663
cmp esi, 0xa2ccb41a
je 0x1015e6b2
mov eax, dword [ebp - 0x284]
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x25c]
inc edx
mov edi, dword [ebp - 0x26c]
add ecx, 0x3c
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x25c], ecx
cmp edx, dword [eax + 4]
jge 0x1015e5d7
jmp 0x1015e610
mov eax, dword [ebp - 0x274]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x26c]
mov dword [0x10375574], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x1015e6d6
mov edi, dword [0x10375574]
mov eax, dword [ebp - 0x2cc]
movzx esi, word [eax + edi]
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
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 0x10162180
cmp dword [eax + 0xc8], 0
jne 0x10162180
cmp si, 0x1f
je 0x10162180
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x2cc], eax
mov eax, dword [0x10373c90]
test al, 1
jne 0x1015e8c0
or eax, 1
mov dword [0x10373c90], eax
mov dword [ebp - 4], 3
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x270], eax
cmp eax, ecx
je 0x1015e7c5
nop dword [eax + eax]
mov eax, dword [eax]
mov dword [ebp - 0x284], eax
test eax, eax
je 0x1015e7b2
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015e786
xor edx, edx
test ecx, ecx
je 0x1015e7ac
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015e793
cmp esi, 0xcd2ed041
je 0x1015e7d9
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x270]
add eax, 4
mov dword [ebp - 0x270], eax
cmp eax, ecx
jne 0x1015e770
xor edi, edi
mov dword [0x10375574], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x1015e8c6
mov eax, dword [ebp - 0x284]
xor edi, edi
mov dword [ebp - 0x26c], edi
mov dword [ebp - 0x270], edi
cmp dword [eax + 4], edi
jle 0x1015e7c7
xor ecx, ecx
mov dword [ebp - 0x25c], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x274], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015e83d
cmp dword [ecx + 4], 0
jle 0x1015e83d
push 0
mov edx, 0xa2ccb41a
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015e837
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x26c], edi
mov eax, dword [ebp - 0x284]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015e846
xor edx, edx
test ecx, ecx
je 0x1015e872
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015e853
cmp esi, 0xa2ccb41a
je 0x1015e8a2
mov eax, dword [ebp - 0x284]
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x25c]
inc edx
mov edi, dword [ebp - 0x26c]
add ecx, 0x3c
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x25c], ecx
cmp edx, dword [eax + 4]
jge 0x1015e7c7
jmp 0x1015e800
mov eax, dword [ebp - 0x274]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x26c]
mov dword [0x10375574], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x1015e8c6
mov edi, dword [0x10375574]
mov eax, dword [ebp - 0x2cc]
movzx esi, word [eax + edi]
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
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 0x1015e913
cmp dword [eax + 0xc8], 0
jne 0x1015e913
cmp si, 0x1f
je 0x1015e913
mov ecx, dword [ebp - 0x288]
call fcn.101589c0
jmp 0x101622c5
mov edi, dword [ebp - 0x288]
mov ecx, edi
call fcn.1014c080
mov ecx, edi
call fcn.1014d680
cmp dword [edi + 4], 1
jge 0x1015ea5a
cmp byte [edi + 1], 0
je 0x101622c5
lea esi, [edi + 0x30]
lea eax, [esi + 0x63c90]
cmp esi, eax
je 0x101622ba
add esi, 0x20
mov edi, 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.101f5dc0
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.10086c10
lea esi, [esi + 0x1890]
lea eax, [esi - 0x20]
cmp eax, edi
jne 0x1015e951
jmp 0x101622b4
mov ecx, edi
mov byte [edi + 1], 1
call fcn.10154eb0
mov ecx, edi
call fcn.10156220
mov word [edi + 0x63d69], 0
lea eax, [edi + 0x63ec0]
push 0x1800
push 0
push eax
mov dword [ebp - 0x2e4], 0x7f7fffff
mov word [edi + 0x63e70], 0
mov dword [edi + 0x63e74], 0
mov dword [edi + 0x63e78], 0
mov dword [edi + 0x63e88], 0
mov dword [edi + 0x63e84], 0
mov dword [edi + 0x63e80], 0
mov dword [edi + 0x63e94], 0
mov dword [edi + 0x63e90], 0
mov dword [edi + 0x63e8c], 0
mov dword [edi + 0x63eac], 0
mov dword [edi + 0x63ea8], 0
mov dword [edi + 0x63ea4], 0
mov dword [edi + 0x63eb8], 0
mov dword [edi + 0x63eb4], 0
mov dword [edi + 0x63eb0], 0
call fcn.101f5dc0
add esp, 0xc
mov dword [edi + 0x656c0], 0
lea ecx, [edi + 0x656ec]
mov dword [edi + 0x656c4], 0
mov dword [edi + 0x656c8], 0
mov dword [edi + 0x656cc], 0
mov dword [edi + 0x656d0], 0
mov dword [edi + 0x656d4], 0
mov dword [edi + 0x656d8], 0
mov dword [edi + 0x656dc], 0
mov dword [edi + 0x656e8], 0
mov dword [edi + 0x656e4], 0
mov dword [edi + 0x656e0], 0
call fcn.10086c10
mov esi, dword [0x103bfbf4]
lea eax, [ebp - 0x2e4]
mov dword [ebp - 0x294], eax
add esi, 0xa0c98075
lea eax, [ebp - 0xb0]
mov dword [ebp - 0x298], edi
xor esi, 0x1d0deff2
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x8c], 0
lea eax, [ebp - 0x298]
mov dword [ebp - 4], 4
push eax
lea ecx, [ebp - 0xb0]
call fcn.10167030
mov dword [ebp - 4], 5
mov edx, dword [esi + 8]
mov esi, dword [esi + 4]
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x268], esi
cmp esi, edx
je 0x1015edf6
mov edx, dword [0x103754f4]
mov eax, dword [ebp - 0x29c]
mov esi, dword [esi + 8]
mov dword [ebp - 0x260], esi
test esi, esi
je 0x1015edd9
mov ecx, dword [0x10bbf240]
add ecx, 0xaff3cc8c
xor ecx, 0x3743f7af
mov eax, dword [ecx + 0x134]
mov dword [ebp - 0x264], eax
cmp esi, eax
je 0x1015edd3
test eax, eax
je 0x1015edc1
mov ecx, dword [ecx + 0x184]
mov eax, dword [ecx + 0x1c]
cmp dword [eax + 0x30], ecx
jne 0x1015edc1
mov eax, dword [0x1037553c]
test al, 1
jne 0x1015ed10
or dword [0x1037553c], 1
mov byte [ebp - 4], 6
mov edi, dword [0x10371278]
cmp edi, dword [0x1037127c]
je 0x1015ecfe
nop word [eax + eax]
mov eax, dword [edi]
mov dword [ebp - 0x284], eax
test eax, eax
je 0x1015ecf3
mov eax, dword [eax + 0xc]
mov esi, 0x811c9dc5
mov dword [ebp - 0x274], eax
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + eax], 0
jne 0x1015ecc0
xor edx, edx
test ecx, ecx
je 0x1015ecf3
nop dword [eax]
movsx eax, byte [eax + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x274]
cmp edx, ecx
jb 0x1015ecd0
cmp esi, 0x1eee87cc
je 0x1015ee72
add edi, 4
cmp edi, dword [0x1037127c]
jne 0x1015eca0
xor edx, edx
mov esi, dword [ebp - 0x260]
mov dword [0x103754f4], edx
mov byte [ebp - 4], 5
mov eax, dword [esi + edx]
mov dword [ebp - 0x2cc], eax
mov eax, dword [0x1037553c]
test al, 1
jne 0x1015edb0
or dword [0x1037553c], 1
mov byte [ebp - 4], 7
mov edi, dword [0x10371278]
cmp edi, dword [0x1037127c]
je 0x1015ed9e
nop
mov eax, dword [edi]
mov dword [ebp - 0x284], eax
test eax, eax
je 0x1015ed93
mov eax, dword [eax + 0xc]
mov esi, 0x811c9dc5
mov dword [ebp - 0x274], eax
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [eax + ecx], 0
jne 0x1015ed60
xor edx, edx
test ecx, ecx
je 0x1015ed93
nop dword [eax]
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x274]
cmp edx, ecx
jb 0x1015ed70
cmp esi, 0x1eee87cc
je 0x1015ef58
add edi, 4
cmp edi, dword [0x1037127c]
jne 0x1015ed40
xor edx, edx
mov esi, dword [ebp - 0x260]
mov dword [0x103754f4], edx
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x2cc]
cmp eax, dword [ecx + edx]
je 0x1015edd3
push esi
lea ecx, [ebp - 0xb0]
call fcn.1002a890
mov edx, dword [0x103754f4]
mov eax, dword [ebp - 0x29c]
mov esi, dword [ebp - 0x268]
add esi, 0xc
mov dword [ebp - 0x268], esi
cmp esi, eax
jne 0x1015ec23
mov edi, dword [ebp - 0x288]
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
call fcn.1000f9c0
mov eax, dword [edi + 0x63e78]
lea ecx, [edi + 0x656c8]
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x25c], eax
test eax, eax
je 0x10162057
cmp byte [ecx], 0
je 0x10162057
cmp byte [edi + 0x63e71], 0
je 0x10162057
mov byte [edi + 0x63d6a], 1
mov eax, dword [0x107f41e8]
add eax, 0xdee113ef
xor eax, 0xb3e5279a
cmp byte [0x1035c5bc], 0
mov dword [ebp - 0x280], eax
je 0x1015f038
mov eax, dword [edi + 0x6570c]
jmp 0x1015f03e
mov eax, dword [ebp - 0x284]
xor edi, edi
mov dword [ebp - 0x26c], edi
mov dword [ebp - 0x270], edi
cmp dword [eax + 4], edi
jle 0x1015ef3d
xor ecx, ecx
mov dword [ebp - 0x25c], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x274], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015eedd
cmp dword [ecx + 4], 0
jle 0x1015eedd
push 0
mov edx, 0xa5bfefb3
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015eed7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x26c], edi
mov eax, dword [ebp - 0x284]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015eee6
xor edx, edx
test ecx, ecx
je 0x1015ef12
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015eef3
cmp esi, 0xa5bfefb3
je 0x1015ef44
mov eax, dword [ebp - 0x284]
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x25c]
inc edx
mov edi, dword [ebp - 0x26c]
add ecx, 0x3c
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x25c], ecx
cmp edx, dword [eax + 4]
jl 0x1015eea0
mov edx, edi
jmp 0x1015ed00
mov eax, dword [ebp - 0x274]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp - 0x26c]
jmp 0x1015ed00
mov eax, dword [ebp - 0x284]
xor edi, edi
mov dword [ebp - 0x26c], edi
mov dword [ebp - 0x270], edi
cmp dword [eax + 4], edi
jle 0x1015f01d
xor ecx, ecx
mov dword [ebp - 0x25c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x274], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015efbd
cmp dword [ecx + 4], 0
jle 0x1015efbd
push 0
mov edx, 0xa5bfefb3
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015efb7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x26c], edi
mov eax, dword [ebp - 0x284]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015efc6
xor edx, edx
test ecx, ecx
je 0x1015eff2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015efd3
cmp esi, 0xa5bfefb3
je 0x1015f024
mov eax, dword [ebp - 0x284]
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x25c]
inc edx
mov edi, dword [ebp - 0x26c]
add ecx, 0x3c
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x25c], ecx
cmp edx, dword [eax + 4]
jl 0x1015ef80
mov edx, edi
jmp 0x1015eda0
mov eax, dword [ebp - 0x274]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp - 0x26c]
jmp 0x1015eda0
mov eax, dword [edi + 0x65708]
mov ecx, dword [0x1037556c]
mov dword [ebp - 0x284], eax
test cl, 1
jne 0x1015f1d5
or ecx, 1
mov dword [0x1037556c], ecx
mov dword [ebp - 4], 8
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x268], eax
cmp eax, ecx
je 0x1015f0d5
nop dword [eax + eax]
mov eax, dword [eax]
mov dword [ebp - 0x26c], eax
test eax, eax
je 0x1015f0c2
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015f096
xor edx, edx
test ecx, ecx
je 0x1015f0bc
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f0a3
cmp esi, 0x72e242a1
je 0x1015f0ee
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x268]
add eax, 4
mov dword [ebp - 0x268], eax
cmp eax, ecx
jne 0x1015f080
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x1037556c]
mov dword [0x1037552c], eax
jmp 0x1015f1da
mov eax, dword [ebp - 0x26c]
xor edi, edi
mov dword [ebp - 0x29c], edi
mov dword [ebp - 0x268], edi
cmp dword [eax + 4], edi
jle 0x1015f1ba
xor ecx, ecx
mov dword [ebp - 0x270], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x264], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015f150
cmp dword [ecx + 4], 0
jle 0x1015f150
push 0
mov edx, 0x84cdad2
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015f14a
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x29c], edi
mov eax, dword [ebp - 0x26c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015f160
xor edx, edx
test ecx, ecx
je 0x1015f18f
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f170
cmp esi, 0x84cdad2
je 0x1015f1c1
mov eax, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x270]
inc edx
mov edi, dword [ebp - 0x29c]
add ecx, 0x3c
mov dword [ebp - 0x268], edx
mov dword [ebp - 0x270], ecx
cmp edx, dword [eax + 4]
jl 0x1015f113
mov eax, edi
jmp 0x1015f0d7
mov eax, dword [ebp - 0x264]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x29c]
jmp 0x1015f0d7
mov eax, dword [0x1037552c]
mov edx, dword [ebp - 0x25c]
mov esi, dword [ebp - 0x284]
mov edx, dword [edx + eax]
mov dword [ebp - 0x260], edx
cmp esi, 0x63
jle 0x1015f1fe
add esi, 0xffffff9c
add esi, edx
jmp 0x1015f2af
test cl, 1
jne 0x1015f2a3
or ecx, 1
mov dword [0x1037556c], ecx
mov dword [ebp - 4], 9
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x268], eax
cmp eax, ecx
je 0x1015f289
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x26c], eax
test eax, eax
je 0x1015f276
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015f246
xor edx, edx
test ecx, ecx
je 0x1015f270
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f253
cmp esi, 0x72e242a1
je 0x1015f31f
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x268]
add eax, 4
mov dword [ebp - 0x268], eax
cmp eax, ecx
jne 0x1015f230
xor eax, eax
mov edx, dword [ebp - 0x260]
mov esi, dword [ebp - 0x284]
mov dword [0x1037552c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x25c]
cmp esi, dword [ecx + eax]
cmovg esi, edx
mov edi, dword [ebp - 0x274]
mov dword [ebp - 0x284], esi
mov byte [ebp - 0x28c], 0
cmp byte [edi + 3], 0
je 0x1015f405
cmp dword [edi + 8], esi
mov esi, dword [ebp - 0x288]
jl 0x1015f40b
test byte [esi + 0x6572c], 1
je 0x1015f40b
mov ecx, esi
call fcn.1014b900
cmp byte [esi + 0x65701], 0
je 0x1015f40b
push edi
mov ecx, esi
call fcn.1014be10
test al, al
je 0x1015f40b
mov byte [ebp - 0x28c], 1
mov byte [esi + 0x63d68], 1
jmp 0x1015f40b
mov eax, dword [ebp - 0x26c]
xor edi, edi
mov dword [ebp - 0x29c], edi
mov dword [ebp - 0x268], edi
cmp dword [eax + 4], edi
jle 0x1015f3ea
xor ecx, ecx
mov dword [ebp - 0x270], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x264], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015f381
cmp dword [ecx + 4], 0
jle 0x1015f381
push 0
mov edx, 0x84cdad2
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015f37b
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x29c], edi
mov eax, dword [ebp - 0x26c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015f390
xor edx, edx
test ecx, ecx
je 0x1015f3bf
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f3a0
cmp esi, 0x84cdad2
je 0x1015f3f1
mov eax, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x270]
inc edx
mov edi, dword [ebp - 0x29c]
add ecx, 0x3c
mov dword [ebp - 0x268], edx
mov dword [ebp - 0x270], ecx
cmp edx, dword [eax + 4]
jl 0x1015f344
mov eax, edi
jmp 0x1015f28b
mov eax, dword [ebp - 0x264]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x29c]
jmp 0x1015f28b
mov esi, dword [ebp - 0x288]
mov eax, dword [ebp - 0x280]
movss xmm0, dword [eax + 0x3cbe64]
movss xmm1, dword [eax + 0x3cbe68]
subss xmm0, dword [edi + 0x18]
subss xmm1, dword [edi + 0x1c]
movss xmm2, dword [eax + 0x3cbe6c]
subss xmm2, dword [edi + 0x20]
mulss xmm0, xmm0
mulss xmm1, xmm1
movss dword [ebp - 0x280], xmm2
addss xmm0, xmm1
call fcn.1000ded0
movss xmm1, dword [0x102bdb48]
divss xmm1, xmm0
mulss xmm1, dword [ebp - 0x280]
movaps xmm0, xmm1
call fcn.1021f3ee
mulss xmm0, dword [0x102bdb7c]
movss dword [ebp - 0x280], xmm0
fld dword [ebp - 0x280]
fld dword [0x102bda6c]
call fcn.1021f3d0
movss xmm0, dword [0x102bda6c]
fstp dword [ebp - 0x280]
movss xmm2, dword [ebp - 0x280]
comiss xmm2, dword [0x102bda24]
jbe 0x1015f4b1
subss xmm2, xmm0
movss xmm1, dword [0x102bdb98]
comiss xmm1, xmm2
jbe 0x1015f4c2
addss xmm2, xmm0
mov ecx, dword [0x107f41e8]
lea eax, [ebp - 0x2e0]
add ecx, 0xdee113ef
xor ecx, 0xb3e5279a
push eax
call fcn.1001fc50
mov eax, dword [esi + 0x656c4]
mov edi, dword [esi + 0x63e78]
mov dword [ebp - 0x29c], eax
mov eax, dword [0x10375508]
mov dword [ebp - 0x26c], edi
test al, 1
jne 0x1015f688
or eax, 1
mov dword [0x10375508], eax
mov dword [ebp - 4], 0xa
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x268], eax
cmp eax, ecx
je 0x1015f585
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x260], eax
test eax, eax
je 0x1015f572
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015f546
xor edx, edx
test ecx, ecx
je 0x1015f56c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f553
cmp esi, 0x1eee87cc
je 0x1015f5a4
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x268]
add eax, 4
mov dword [ebp - 0x268], eax
cmp eax, ecx
jne 0x1015f530
xor eax, eax
mov esi, dword [ebp - 0x288]
mov edi, dword [ebp - 0x26c]
mov dword [0x1037554c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1015f68d
mov eax, dword [ebp - 0x260]
xor edi, edi
mov dword [ebp - 0x25c], edi
mov dword [ebp - 0x268], edi
cmp dword [eax + 4], edi
jle 0x1015f66d
xor ecx, ecx
mov dword [ebp - 0x270], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015f60d
cmp dword [ecx + 4], 0
jle 0x1015f60d
push 0
mov edx, 0x559d81af
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015f607
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x25c], edi
mov eax, dword [ebp - 0x260]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015f616
xor edx, edx
test ecx, ecx
je 0x1015f642
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f623
cmp esi, 0x559d81af
je 0x1015f674
mov eax, dword [ebp - 0x260]
mov edx, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x270]
inc edx
mov edi, dword [ebp - 0x25c]
add ecx, 0x3c
mov dword [ebp - 0x268], edx
mov dword [ebp - 0x270], ecx
cmp edx, dword [eax + 4]
jl 0x1015f5d0
mov eax, edi
jmp 0x1015f587
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x25c]
jmp 0x1015f587
mov eax, dword [0x1037554c]
movq xmm0, qword [edi + eax]
mov ecx, edi
movq qword [esi + 0x63e80], xmm0
mov eax, dword [edi + eax + 8]
mov dword [esi + 0x63e88], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
movq xmm0, qword [eax]
movq qword [esi + 0x63e8c], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0x63e94], eax
mov eax, dword [0x10373c28]
test al, 1
jne 0x1015f855
or eax, 1
mov dword [0x10373c28], eax
mov dword [ebp - 4], 0xb
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x268], eax
cmp eax, ecx
je 0x1015f752
mov eax, dword [eax]
mov dword [ebp - 0x25c], eax
test eax, eax
je 0x1015f73f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015f710
xor edx, edx
test ecx, ecx
je 0x1015f739
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f720
cmp esi, 0x72e242a1
je 0x1015f771
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x268]
add eax, 4
mov dword [ebp - 0x268], eax
cmp eax, ecx
jne 0x1015f6f3
xor eax, eax
mov esi, dword [ebp - 0x288]
mov edi, dword [ebp - 0x26c]
mov dword [0x10373cc0], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1015f85a
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x268], edi
cmp dword [eax + 4], edi
jle 0x1015f83a
xor ecx, ecx
mov dword [ebp - 0x270], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015f7d3
cmp dword [ecx + 4], 0
jle 0x1015f7d3
push 0
mov edx, 0xf3c2c786
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015f7cd
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015f7e0
xor edx, edx
test ecx, ecx
je 0x1015f80f
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f7f0
cmp esi, 0xf3c2c786
je 0x1015f841
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x270]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x268], edx
mov dword [ebp - 0x270], ecx
cmp edx, dword [eax + 4]
jl 0x1015f796
mov eax, edi
jmp 0x1015f754
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x260]
jmp 0x1015f754
mov eax, dword [0x10373cc0]
movq xmm0, qword [edi + eax]
movq qword [esi + 0x63e98], xmm0
mov eax, dword [edi + eax + 8]
mov dword [esi + 0x63ea0], eax
mov eax, dword [0x10373c60]
test al, 1
jne 0x1015f9f8
or eax, 1
mov dword [0x10373c60], eax
mov dword [ebp - 4], 0xc
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x268], eax
cmp eax, ecx
je 0x1015f8f7
mov eax, dword [eax]
mov dword [ebp - 0x25c], eax
test eax, eax
je 0x1015f8e4
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015f8b8
xor edx, edx
test ecx, ecx
je 0x1015f8de
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f8c5
cmp esi, 0x1eee87cc
je 0x1015f916
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x268]
add eax, 4
mov dword [ebp - 0x268], eax
cmp eax, ecx
jne 0x1015f8a2
xor eax, eax
mov esi, dword [ebp - 0x288]
mov edi, dword [ebp - 0x26c]
mov dword [0x10373c78], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1015f9fd
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x268], edi
cmp dword [eax + 4], edi
jle 0x1015f9dd
xor ecx, ecx
mov dword [ebp - 0x270], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015f97d
cmp dword [ecx + 4], 0
jle 0x1015f97d
push 0
mov edx, 0xe57f80c
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015f977
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015f986
xor edx, edx
test ecx, ecx
je 0x1015f9b2
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015f993
cmp esi, 0xe57f80c
je 0x1015f9e4
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x270]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x268], edx
mov dword [ebp - 0x270], ecx
cmp edx, dword [eax + 4]
jl 0x1015f940
mov eax, edi
jmp 0x1015f8f9
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x260]
jmp 0x1015f8f9
mov eax, dword [0x10373c78]
movq xmm0, qword [edi + eax]
movq qword [esi + 0x63ea4], xmm0
mov eax, dword [edi + eax + 8]
mov dword [esi + 0x63eac], eax
mov eax, dword [0x103754d4]
test al, 1
jne 0x1015fba5
or eax, 1
mov dword [0x103754d4], eax
mov dword [ebp - 4], 0xd
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x268], eax
cmp eax, ecx
je 0x1015faa2
mov eax, dword [eax]
mov dword [ebp - 0x25c], eax
test eax, eax
je 0x1015fa8f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015fa60
xor edx, edx
test ecx, ecx
je 0x1015fa89
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015fa70
cmp esi, 0x1eee87cc
je 0x1015fac1
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x268]
add eax, 4
mov dword [ebp - 0x268], eax
cmp eax, ecx
jne 0x1015fa45
xor eax, eax
mov esi, dword [ebp - 0x288]
mov edi, dword [ebp - 0x26c]
mov dword [0x10373c98], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1015fbaa
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x268], edi
cmp dword [eax + 4], edi
jle 0x1015fb8a
xor ecx, ecx
mov dword [ebp - 0x270], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015fb23
cmp dword [ecx + 4], 0
jle 0x1015fb23
push 0
mov edx, 0x7d388d3e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015fb1d
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015fb30
xor edx, edx
test ecx, ecx
je 0x1015fb5f
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015fb40
cmp esi, 0x7d388d3e
je 0x1015fb91
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x270]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x268], edx
mov dword [ebp - 0x270], ecx
cmp edx, dword [eax + 4]
jl 0x1015fae6
mov eax, edi
jmp 0x1015faa4
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x260]
jmp 0x1015faa4
mov eax, dword [0x10373c98]
movq xmm0, qword [edi + eax]
movq qword [esi + 0x63eb0], xmm0
mov eax, dword [edi + eax + 8]
mov dword [esi + 0x63eb8], eax
mov eax, dword [edi + 0x2920]
lea edi, [esi + 0x63ec0]
mov esi, dword [ebp - 0x26c]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x29c]
mov esi, dword [esi + 0x2914]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
cmp byte [eax + 0xc], 0
je 0x1015fbf4
add eax, 0xd3b0
jmp 0x1015fbf9
add eax, 0xa390
mov esi, dword [0x107f41e8]
mov dword [ebp - 0x270], eax
add esi, 0xdee113ef
mov eax, dword [ebp - 0x288]
xor esi, 0xb3e5279a
mov edi, dword [eax + 0x63e78]
mov eax, dword [edi + 8]
mov dword [ebp - 0x26c], edi
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x38c
add eax, esi
je 0x10160439
mov esi, dword [ebp - 0x29c]
cmp byte [esi + 0xc], 0
lea eax, [esi + 0xd390]
jne 0x1015fc54
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 - 0x298], eax
mov eax, dword [0x10375508]
movaps xmmword [ebp - 0x40], xmm2
movq qword [ebp - 0x4c], xmm2
test al, 1
jne 0x1015fe08
or eax, 1
mov dword [0x10375508], eax
mov dword [ebp - 4], 0xe
mov eax, dword [0x10371278]
mov dword [ebp - 0x268], eax
cmp eax, dword [0x1037127c]
je 0x1015fd03
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015fcf2
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015fcc6
xor edx, edx
test ecx, ecx
je 0x1015fcf2
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015fcd3
cmp esi, 0x1eee87cc
je 0x1015fd26
mov eax, dword [ebp - 0x268]
add eax, 4
mov dword [ebp - 0x268], eax
cmp eax, dword [0x1037127c]
jne 0x1015fcb0
xor eax, eax
mov edi, dword [ebp - 0x26c]
mov esi, dword [ebp - 0x29c]
mov dword [ebp - 4], 0xffffffff
movaps xmm2, xmmword [ebp - 0x40]
mov dword [0x1037554c], eax
jmp 0x1015fe0d
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x268], edi
cmp dword [eax + 4], edi
jle 0x1015fded
xor ecx, ecx
mov dword [ebp - 0x264], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015fd8d
cmp dword [ecx + 4], 0
jle 0x1015fd8d
push 0
mov edx, 0x559d81af
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015fd87
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015fd96
xor edx, edx
test ecx, ecx
je 0x1015fdc2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015fda3
cmp esi, 0x559d81af
je 0x1015fdf4
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x268], edx
mov dword [ebp - 0x264], ecx
cmp edx, dword [eax + 4]
jl 0x1015fd50
mov eax, edi
jmp 0x1015fd05
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x260]
jmp 0x1015fd05
mov eax, dword [0x1037554c]
mov ecx, dword [ebp - 0x298]
movq qword [edi + eax], xmm2
mov dword [edi + eax + 8], ecx
lea ecx, [ebp - 0x4c]
mov eax, dword [0x103bfe04]
push ecx
mov ecx, edi
call eax
mov eax, dword [esi + 0xcc]
movq xmm0, qword [esi + 0xc4]
mov dword [ebp - 0x280], eax
mov eax, dword [0x103754d4]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x1015ffc8
or eax, 1
mov dword [0x103754d4], eax
mov dword [ebp - 4], 0xf
mov eax, dword [0x10371278]
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
je 0x1015fec4
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015feb3
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015fe87
xor edx, edx
test ecx, ecx
je 0x1015feb3
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015fe94
cmp esi, 0x1eee87cc
je 0x1015fee8
mov eax, dword [ebp - 0x264]
add eax, 4
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
jne 0x1015fe71
xor eax, eax
mov edi, dword [ebp - 0x26c]
mov esi, dword [ebp - 0x29c]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov dword [0x10373c98], eax
jmp 0x1015ffcd
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x264], edi
cmp dword [eax + 4], edi
jle 0x1015ffad
xor ecx, ecx
mov dword [ebp - 0x268], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x294], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015ff4d
cmp dword [ecx + 4], 0
jle 0x1015ff4d
push 0
mov edx, 0x7d388d3e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015ff47
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015ff56
xor edx, edx
test ecx, ecx
je 0x1015ff82
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015ff63
cmp esi, 0x7d388d3e
je 0x1015ffb4
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x268]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x268], ecx
cmp edx, dword [eax + 4]
jl 0x1015ff10
mov eax, edi
jmp 0x1015fec6
mov eax, dword [ebp - 0x294]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x260]
jmp 0x1015fec6
mov eax, dword [0x10373c98]
mov ecx, dword [ebp - 0x280]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov eax, dword [esi + 0xc0]
movq xmm0, qword [esi + 0xb8]
mov dword [ebp - 0x280], eax
mov eax, dword [0x10373c60]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x10160185
or eax, 1
mov dword [0x10373c60], eax
mov dword [ebp - 4], 0x10
mov eax, dword [0x10371278]
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
je 0x10160080
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1016006f
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10160040
xor edx, edx
test ecx, ecx
je 0x1016006f
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10160050
cmp esi, 0x1eee87cc
je 0x1016009e
mov eax, dword [ebp - 0x264]
add eax, 4
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
jne 0x10160024
xor eax, eax
mov edi, dword [ebp - 0x26c]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov dword [0x10373c78], eax
jmp 0x1016018a
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x264], edi
cmp dword [eax + 4], edi
jle 0x1016016a
xor ecx, ecx
mov dword [ebp - 0x268], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x294], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10160100
cmp dword [ecx + 4], 0
jle 0x10160100
push 0
mov edx, 0xe57f80c
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101600fa
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10160110
xor edx, edx
test ecx, ecx
je 0x1016013f
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10160120
cmp esi, 0xe57f80c
je 0x10160171
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x268]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x268], ecx
cmp edx, dword [eax + 4]
jl 0x101600c3
mov eax, edi
jmp 0x10160082
mov eax, dword [ebp - 0x294]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x260]
jmp 0x10160082
mov eax, dword [0x10373c78]
mov ecx, dword [ebp - 0x280]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov ecx, dword [0x10373cb4]
test cl, 1
jne 0x10160326
or ecx, 1
mov dword [0x10373cb4], ecx
mov dword [ebp - 4], 0x11
mov eax, dword [0x10371278]
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
je 0x10160223
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x10160212
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x101601e6
xor edx, edx
test ecx, ecx
je 0x10160212
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101601f3
cmp esi, 0x54aff69
je 0x10160246
mov eax, dword [ebp - 0x264]
add eax, 4
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
jne 0x101601d0
xor edi, edi
lea edx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x10373cb4]
mov edi, dword [ebp - 0x26c]
mov dword [0x10373c2c], edx
jmp 0x1016032c
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x264], edi
cmp dword [eax + 4], edi
jle 0x10160225
xor ecx, ecx
mov dword [ebp - 0x268], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x294], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101602ad
cmp dword [ecx + 4], 0
jle 0x101602ad
push 0
mov edx, 0xddac019e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101602a7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x101602b6
xor edx, edx
test ecx, ecx
je 0x101602e2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101602c3
cmp esi, 0xddac019e
je 0x10160312
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x268]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x268], ecx
cmp edx, dword [eax + 4]
jge 0x10160225
jmp 0x10160270
mov eax, dword [ebp - 0x294]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x260]
jmp 0x10160225
mov edx, dword [0x10373c2c]
lea eax, [edi + edx]
test eax, eax
je 0x10160362
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x103bfd24]
test eax, eax
je 0x1016034d
add eax, 0xa
mov eax, dword [eax]
mov eax, dword [eax]
dec eax
mov dword [edi + 0x2690], eax
mov dword [edi + 0x2924], 0xff7fffff
test cl, 1
jne 0x101603ff
or ecx, 1
mov dword [0x10373cb4], ecx
mov dword [ebp - 4], 0x12
mov eax, dword [0x10371278]
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
je 0x101603e7
nop
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x101603d6
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x101603a6
xor edx, edx
test ecx, ecx
je 0x101603d6
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101603b3
cmp esi, 0x54aff69
je 0x1016057b
mov eax, dword [ebp - 0x264]
add eax, 4
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
jne 0x10160390
xor edi, edi
lea edx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x26c]
mov dword [0x10373c2c], edx
add edx, edi
je 0x10160439
mov eax, dword [edi + 0x2920]
mov edi, dword [edi + 0x2914]
mov esi, dword [ebp - 0x270]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x26c]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 0x2920]
mov edi, dword [edx]
mov esi, dword [ebp - 0x270]
lea ecx, [eax + eax*2]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x10bbf240]
mov esi, dword [ebp - 0x288]
add eax, 0xaff3cc8c
movss xmm0, dword [ebp - 0x2e0]
xor eax, 0x3743f7af
push 0
push 0
mov edx, dword [esi + 0x63e78]
mov ecx, dword [eax + 0x134]
lea eax, [esi + 0x656e0]
push eax
sub esp, 0xc
mov eax, esp
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x2dc]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x2d8]
movss dword [eax + 8], xmm0
lea eax, [ebp - 0x40]
push eax
call fcn.10140800
mov edi, dword [esi + 0x63e78]
add esp, 0x1c
mov dword [ebp - 0x26c], edi
movups xmm0, xmmword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x44], eax
mov eax, dword [esi + 0x63e88]
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x280], eax
movq xmm0, qword [esi + 0x63e80]
mov eax, dword [0x10375508]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x10160738
or eax, 1
mov dword [0x10375508], eax
mov dword [ebp - 4], 0x13
mov eax, dword [0x10371278]
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
je 0x10160557
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x10160546
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10160516
xor edx, edx
test ecx, ecx
je 0x10160546
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10160523
cmp esi, 0x1eee87cc
je 0x10160656
mov eax, dword [ebp - 0x264]
add eax, 4
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
jne 0x10160500
xor eax, eax
mov esi, dword [ebp - 0x288]
mov edi, dword [ebp - 0x26c]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov dword [0x1037554c], eax
jmp 0x1016073d
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x264], edi
cmp dword [eax + 4], edi
jle 0x101603e9
xor ecx, ecx
mov dword [ebp - 0x268], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x294], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101605dd
cmp dword [ecx + 4], 0
jle 0x101605dd
push 0
mov edx, 0xddac019e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101605d7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x101605e6
xor edx, edx
test ecx, ecx
je 0x10160612
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101605f3
cmp esi, 0xddac019e
je 0x10160642
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x268]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x268], ecx
cmp edx, dword [eax + 4]
jge 0x101603e9
jmp 0x101605a0
mov eax, dword [ebp - 0x294]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x260]
jmp 0x101603e9
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x264], edi
cmp dword [eax + 4], edi
jle 0x1016071d
xor ecx, ecx
mov dword [ebp - 0x268], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x294], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101606bd
cmp dword [ecx + 4], 0
jle 0x101606bd
push 0
mov edx, 0x559d81af
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101606b7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x101606c6
xor edx, edx
test ecx, ecx
je 0x101606f2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101606d3
cmp esi, 0x559d81af
je 0x10160724
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x268]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x268], ecx
cmp edx, dword [eax + 4]
jl 0x10160680
mov eax, edi
jmp 0x10160559
mov eax, dword [ebp - 0x294]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x260]
jmp 0x10160559
mov eax, dword [0x1037554c]
mov ecx, dword [ebp - 0x280]
movq qword [eax + edi], xmm0
mov dword [eax + edi + 8], ecx
lea eax, [esi + 0x63e8c]
mov edx, dword [0x103bfe04]
mov ecx, edi
push eax
call edx
mov eax, dword [esi + 0x63ea0]
movq xmm0, qword [esi + 0x63e98]
mov dword [ebp - 0x280], eax
mov eax, dword [0x10373c28]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x10160908
or eax, 1
mov dword [0x10373c28], eax
mov dword [ebp - 4], 0x14
mov eax, dword [0x10371278]
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
je 0x10160800
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x101607ef
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x101607c0
xor edx, edx
test ecx, ecx
je 0x101607ef
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101607d0
cmp esi, 0x72e242a1
je 0x10160824
mov eax, dword [ebp - 0x264]
add eax, 4
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
jne 0x101607a5
xor eax, eax
mov esi, dword [ebp - 0x288]
mov edi, dword [ebp - 0x26c]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov dword [0x10373cc0], eax
jmp 0x1016090d
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x264], edi
cmp dword [eax + 4], edi
jle 0x101608ed
xor ecx, ecx
mov dword [ebp - 0x268], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x294], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1016088d
cmp dword [ecx + 4], 0
jle 0x1016088d
push 0
mov edx, 0xf3c2c786
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10160887
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x10160896
xor edx, edx
test ecx, ecx
je 0x101608c2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101608a3
cmp esi, 0xf3c2c786
je 0x101608f4
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x268]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x268], ecx
cmp edx, dword [eax + 4]
jl 0x10160850
mov eax, edi
jmp 0x10160802
mov eax, dword [ebp - 0x294]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x260]
jmp 0x10160802
mov eax, dword [0x10373cc0]
mov ecx, dword [ebp - 0x280]
movq qword [eax + edi], xmm0
mov dword [eax + edi + 8], ecx
mov eax, dword [esi + 0x63eb8]
movq xmm0, qword [esi + 0x63eb0]
mov dword [ebp - 0x280], eax
mov eax, dword [0x103754d4]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x10160ac8
or eax, 1
mov dword [0x103754d4], eax
mov dword [ebp - 4], 0x15
mov eax, dword [0x10371278]
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
je 0x101609c0
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x101609af
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10160980
xor edx, edx
test ecx, ecx
je 0x101609af
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10160990
cmp esi, 0x1eee87cc
je 0x101609e4
mov eax, dword [ebp - 0x264]
add eax, 4
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
jne 0x10160964
xor eax, eax
mov esi, dword [ebp - 0x288]
mov edi, dword [ebp - 0x26c]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov dword [0x10373c98], eax
jmp 0x10160acd
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x264], edi
cmp dword [eax + 4], edi
jle 0x10160aad
xor ecx, ecx
mov dword [ebp - 0x268], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x294], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10160a4d
cmp dword [ecx + 4], 0
jle 0x10160a4d
push 0
mov edx, 0x7d388d3e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10160a47
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x10160a56
xor edx, edx
test ecx, ecx
je 0x10160a82
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10160a63
cmp esi, 0x7d388d3e
je 0x10160ab4
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x268]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x268], ecx
cmp edx, dword [eax + 4]
jl 0x10160a10
mov eax, edi
jmp 0x101609c2
mov eax, dword [ebp - 0x294]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x260]
jmp 0x101609c2
mov eax, dword [0x10373c98]
mov ecx, dword [ebp - 0x280]
movq qword [eax + edi], xmm0
mov dword [eax + edi + 8], ecx
mov eax, dword [esi + 0x63eac]
movq xmm0, qword [esi + 0x63ea4]
mov dword [ebp - 0x280], eax
mov eax, dword [0x10373c60]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x10160c85
or eax, 1
mov dword [0x10373c60], eax
mov dword [ebp - 4], 0x16
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x264], eax
cmp eax, ecx
je 0x10160b82
mov eax, dword [eax]
mov dword [ebp - 0x25c], eax
test eax, eax
je 0x10160b6f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10160b40
xor edx, edx
test ecx, ecx
je 0x10160b69
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10160b50
cmp esi, 0x1eee87cc
je 0x10160ba0
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x264]
add eax, 4
mov dword [ebp - 0x264], eax
cmp eax, ecx
jne 0x10160b26
xor eax, eax
mov edi, dword [ebp - 0x26c]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov dword [0x10373c78], eax
jmp 0x10160c8a
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x264], edi
cmp dword [eax + 4], edi
jle 0x10160c6a
xor ecx, ecx
mov dword [ebp - 0x268], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x294], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10160c02
cmp dword [ecx + 4], 0
jle 0x10160c02
push 0
mov edx, 0xe57f80c
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10160bfc
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10160c10
xor edx, edx
test ecx, ecx
je 0x10160c3f
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10160c20
cmp esi, 0xe57f80c
je 0x10160c71
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x268]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x268], ecx
cmp edx, dword [eax + 4]
jl 0x10160bc5
mov eax, edi
jmp 0x10160b84
mov eax, dword [ebp - 0x294]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x260]
jmp 0x10160b84
mov eax, dword [0x10373c78]
mov ecx, dword [ebp - 0x280]
movq qword [eax + edi], xmm0
mov dword [eax + edi + 8], ecx
mov ecx, dword [0x10373cb4]
test cl, 1
jne 0x10160e26
or ecx, 1
mov dword [0x10373cb4], ecx
mov dword [ebp - 4], 0x17
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x264], eax
cmp eax, ecx
je 0x10160d25
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x25c], eax
test eax, eax
je 0x10160d12
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10160ce6
xor edx, edx
test ecx, ecx
je 0x10160d0c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10160cf3
cmp esi, 0x54aff69
je 0x10160d48
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x264]
add eax, 4
mov dword [ebp - 0x264], eax
cmp eax, ecx
jne 0x10160cd0
xor edi, edi
lea edx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x10373cb4]
mov edi, dword [ebp - 0x26c]
mov dword [0x10373c2c], edx
jmp 0x10160e2c
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x264], edi
cmp dword [eax + 4], edi
jle 0x10160d27
xor ecx, ecx
mov dword [ebp - 0x268], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x294], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10160dad
cmp dword [ecx + 4], 0
jle 0x10160dad
push 0
mov edx, 0xddac019e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10160da7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x10160db6
xor edx, edx
test ecx, ecx
je 0x10160de2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10160dc3
cmp esi, 0xddac019e
je 0x10160e12
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x268]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x268], ecx
cmp edx, dword [eax + 4]
jge 0x10160d27
jmp 0x10160d70
mov eax, dword [ebp - 0x294]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x260]
jmp 0x10160d27
mov edx, dword [0x10373c2c]
lea eax, [edx + edi]
test eax, eax
je 0x10160e62
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x103bfd24]
test eax, eax
je 0x10160e4d
add eax, 0xa
mov eax, dword [eax]
mov eax, dword [eax]
dec eax
mov dword [edi + 0x2690], eax
mov dword [edi + 0x2924], 0xff7fffff
mov esi, dword [ebp - 0x288]
add esi, 0x63ec0
mov dword [ebp - 0x270], esi
test cl, 1
jne 0x10160f19
or ecx, 1
mov dword [0x10373cb4], ecx
mov dword [ebp - 4], 0x18
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x264], eax
cmp eax, ecx
je 0x10160efb
mov eax, dword [eax]
mov dword [ebp - 0x25c], eax
test eax, eax
je 0x10160ee8
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10160eb8
xor edx, edx
test ecx, ecx
je 0x10160ee2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10160ec5
cmp esi, 0x54aff69
je 0x1016101d
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x264]
add eax, 4
mov dword [ebp - 0x264], eax
cmp eax, ecx
jne 0x10160ea2
xor edi, edi
mov esi, dword [ebp - 0x270]
lea edx, [edi + 0x1c]
mov edi, dword [ebp - 0x26c]
mov dword [0x10373c2c], edx
mov dword [ebp - 4], 0xffffffff
add edx, edi
je 0x10160f4d
mov eax, dword [edi + 0x2920]
mov edi, dword [edi + 0x2914]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x26c]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 0x2920]
mov edi, dword [edx]
mov esi, dword [ebp - 0x270]
lea ecx, [eax + eax*2]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x284]
cmp dword [ebp - 0x54], eax
jl 0x101622c5
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x280], eax
mov eax, dword [0x10373c90]
test al, 1
jne 0x101611e0
or eax, 1
mov dword [0x10373c90], eax
mov dword [ebp - 4], 0x19
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x264], eax
cmp eax, ecx
je 0x10161009
nop dword [eax + eax]
mov eax, dword [eax]
mov dword [ebp - 0x25c], eax
test eax, eax
je 0x10160ff6
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10160fc6
xor edx, edx
test ecx, ecx
je 0x10160ff0
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10160fd3
cmp esi, 0xcd2ed041
je 0x101610f8
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x264]
add eax, 4
mov dword [ebp - 0x264], eax
cmp eax, ecx
jne 0x10160fb0
xor edi, edi
mov dword [0x10375574], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x101611e6
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x264], edi
cmp dword [eax + 4], edi
jle 0x10160efd
xor ecx, ecx
mov dword [ebp - 0x268], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x294], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1016107f
cmp dword [ecx + 4], 0
jle 0x1016107f
push 0
mov edx, 0xddac019e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10161079
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x10161088
xor edx, edx
test ecx, ecx
je 0x101610b4
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10161095
cmp esi, 0xddac019e
je 0x101610e4
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x268]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x268], ecx
cmp edx, dword [eax + 4]
jge 0x10160efd
jmp 0x10161042
mov eax, dword [ebp - 0x294]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x260]
jmp 0x10160efd
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x264], edi
cmp dword [eax + 4], edi
jle 0x1016100b
xor ecx, ecx
mov dword [ebp - 0x268], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x294], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1016115d
cmp dword [ecx + 4], 0
jle 0x1016115d
push 0
mov edx, 0xa2ccb41a
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10161157
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x10161166
xor edx, edx
test ecx, ecx
je 0x10161192
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10161173
cmp esi, 0xa2ccb41a
je 0x101611c2
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x268]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x268], ecx
cmp edx, dword [eax + 4]
jge 0x1016100b
jmp 0x10161120
mov eax, dword [ebp - 0x294]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x260]
mov dword [0x10375574], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x101611e6
mov edi, dword [0x10375574]
mov eax, dword [ebp - 0x280]
movzx eax, word [eax + edi]
mov edi, eax
mov esi, eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
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 0x10161228
cmp di, 0x1f
jne 0x10161228
cmp dword [ebp - 0x50], 4
jl 0x101622c5
mov edi, dword [ebp - 0x288]
cmp byte [edi], 0
je 0x101622c5
cmp byte [ebp - 0x28c], 0
je 0x10161249
test byte [edi + 0x6572c], 1
jne 0x10161272
mov ecx, edi
call fcn.1014b900
cmp byte [edi + 0x65701], 0
je 0x10161272
lea eax, [edi + 0x656c8]
mov ecx, edi
push eax
call fcn.1014be10
test al, al
je 0x10161272
mov byte [edi + 0x63d68], 1
mov eax, dword [0x10bbf268]
add eax, 0x9ab0a510
xor eax, 0x83ea5eeb
cmp byte [eax + 0x1c], 0
jne 0x101612a3
cmp byte [eax + 0x1d], 0
je 0x101612a3
cmp dword [eax + 0x20], 0
jg 0x101612a3
cmp dword [eax + 4], 0
jne 0x101612a3
cmp dword [eax + 0x44], 2
jle 0x101622c5
push 0
mov ecx, edi
call fcn.10146290
test al, al
je 0x101622c5
movd xmm0, dword [edi + 0x65704]
lea eax, [ebp - 0x2cc]
mov esi, dword [ebp - 0x29c]
lea ecx, [edi + 0x63e70]
push eax
cvtdq2ps xmm0, xmm0
push 0
lea eax, [ebp - 0x2d4]
mov dword [ebp - 0x2cc], 0
push eax
push esi
sub esp, 0xc
lea edx, [edi + 0x656c8]
mulss xmm0, dword [0x102bd668]
mov eax, esp
movss dword [ebp - 0x2d4], xmm0
movss xmm0, dword [ebp - 0x2e0]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x2dc]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x2d8]
movss dword [eax + 8], xmm0
call fcn.10151290
add esp, 0x1c
test al, al
je 0x101622c5
cmp byte [0x103589a1], 0
je 0x10161359
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x140]
or dword [eax + 0x30], 1
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x140]
test byte [eax + 0x30], 1
je 0x10162057
mov byte [edi + 0x63d69], 1
mov edx, dword [0x10bbf240]
movss xmm0, dword [esi + 0x28]
add edx, 0xaff3cc8c
xor edx, 0x3743f7af
movss dword [ebp - 0x270], xmm0
movss xmm1, dword [0x102bd73c]
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 + 0x63e78]
mov esi, eax
mov dword [ebp - 0x280], eax
mov eax, dword [0x10375538]
test al, 1
jne 0x10161574
or eax, 1
mov dword [0x10375538], eax
mov dword [ebp - 4], 0x1a
mov eax, dword [0x10371278]
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
je 0x10161466
mov eax, dword [eax]
mov dword [ebp - 0x25c], eax
test eax, eax
je 0x10161449
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10161420
xor edx, edx
test ecx, ecx
je 0x10161449
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10161430
cmp esi, 0x1eee87cc
je 0x10161488
mov eax, dword [ebp - 0x264]
add eax, 4
mov dword [ebp - 0x264], eax
cmp eax, dword [0x1037127c]
jne 0x10161404
mov edi, dword [ebp - 0x288]
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov esi, dword [edi + 0x63e78]
movss xmm1, dword [0x102bd73c]
mov dword [0x103754f0], ecx
jmp 0x1016157a
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x264], edi
cmp dword [eax + 4], edi
jle 0x1016154d
xor ecx, ecx
mov dword [ebp - 0x268], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x294], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101614ed
cmp dword [ecx + 4], 0
jle 0x101614ed
push 0
mov edx, 0x7fcb378d
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101614e7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x101614f6
xor edx, edx
test ecx, ecx
je 0x10161522
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10161503
cmp esi, 0x7fcb378d
je 0x1016155a
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x268]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x268], ecx
cmp edx, dword [eax + 4]
jl 0x101614b0
mov ecx, edi
mov edi, dword [ebp - 0x288]
jmp 0x10161468
mov eax, dword [ebp - 0x294]
mov edi, dword [ebp - 0x288]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x260]
jmp 0x10161468
mov ecx, dword [0x103754f0]
mov eax, dword [0x10bbf240]
mov edx, dword [ebp - 0x280]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
movss xmm0, dword [edx + ecx]
mov eax, dword [eax + 0xf0]
subss xmm0, dword [ebp - 0x270]
divss xmm0, dword [eax + 0x20]
addss xmm0, xmm1
cvttss2si eax, xmm0
cdq
xor eax, edx
sub eax, edx
test byte [0x1035987c], 4
je 0x10161ab3
mov ecx, dword [ebp - 0x29c]
cmp byte [ecx + 0xc], 0
je 0x101615d2
mov eax, dword [ecx + 0x14]
neg eax
movss xmm0, dword [ebp - 0x2cc]
lea ecx, [ebp - 0xa0]
mulss xmm0, dword [0x102bd9c4]
mov edx, dword [edi + 0x656cc]
mov dword [ebp - 0x264], eax
cvttss2si eax, xmm0
mov dword [ebp - 0x294], eax
call fcn.10136500
mov ecx, eax
mov dword [ebp - 4], 0x1b
call fcn.1002af80
push dword [ebp - 0x2d4]
mov edi, dword [edi + 0x63e78]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x280], eax
call fcn.1002c7d0
push 0
push 0x102b6628
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1c
call fcn.1002c7f0
push 0x158
lea eax, [ebp - 0x258]
mov byte [ebp - 4], 0x1d
push 0
push eax
call fcn.101f5dc0
mov eax, dword [0x10bbf240]
lea ecx, [edi + 8]
add eax, 0xaff3cc8c
add esp, 0xc
xor eax, 0x3743f7af
mov esi, dword [eax + 0xac]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea ecx, [ebp - 0x258]
push ecx
push eax
mov ecx, esi
call fcn.10072530
cmp dword [ebp - 0x48], 0
je 0x101616a6
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x100]
call fcn.10044c30
mov byte [ebp - 4], 0x1e
mov ecx, 1
jmp 0x101616c1
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x40]
call fcn.1002afb0
mov dword [ebp - 4], 0x1f
mov ecx, 2
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 0x25c], ecx
lea ecx, [ebp - 0x70]
push eax
call fcn.10044c30
mov eax, dword [ebp - 0x25c]
or eax, 4
test al, 2
je 0x101616fa
and eax, 0xfffffffd
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x25c], eax
call fcn.1002b0f0
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 4], 0x1d
test al, 1
je 0x10161710
lea ecx, [ebp - 0x100]
call fcn.1002b0f0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x20
call fcn.1002af80
mov dword [ebp - 0x268], eax
mov ecx, 0x1036d8a8
lea eax, [ebp - 0x88]
push eax
call fcn.1013d550
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x21
call fcn.1002af80
mov edx, dword [ebp - 0x274]
lea ecx, [ebp - 0x264]
push ecx
lea ecx, [edx + 8]
push ecx
lea ecx, [edx + 0xc]
mov edx, eax
push ecx
lea ecx, [ebp - 0x294]
push ecx
lea ecx, [ebp - 0x280]
push ecx
lea ecx, [ebp - 0x268]
push ecx
lea ecx, [ebp - 0xe8]
call fcn.101664e0
mov dword [ebp - 0x270], eax
mov byte [ebp - 4], 0x22
movss xmm1, dword [0x102bda54]
movss xmm0, dword [0x10359d50]
mulss xmm0, xmm1
mov byte [ebp - 0x28c], 0xff
mov byte [ebp - 0x29d], 0
cvttss2si eax, xmm0
movss xmm0, dword [0x10359d4c]
mulss xmm0, xmm1
mov dword [ebp - 0x274], eax
mov byte [ebp - 0x2b4], al
mov byte [ebp - 0x274], 0
push dword [ebp - 0x274]
cvttss2si edx, xmm0
movss xmm0, dword [0x10359d48]
mulss xmm0, xmm1
mov byte [ebp - 0x2c0], dl
lea edx, [ebp - 0x29d]
cvttss2si ecx, xmm0
movss xmm0, dword [0x10359d44]
mulss xmm0, xmm1
mov byte [ebp - 0x2b0], cl
lea ecx, [ebp - 0x2a4]
cvttss2si eax, xmm0
mov byte [ebp - 0x2a4], al
lea eax, [ebp - 0x28c]
push eax
call fcn.1003b910
mov byte [ebp - 0x274], 0
lea edx, [ebp - 0x2a9]
push dword [ebp - 0x274]
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 0x2a8], 0xff
mov al, byte [eax]
mov byte [ebp - 0x25c], al
lea eax, [ebp - 0x2a8]
push eax
mov byte [ebp - 0x2a9], 0
call fcn.1003b910
mov byte [ebp - 0x274], 0
lea edx, [ebp - 0x2c1]
push dword [ebp - 0x274]
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 0x2c8], 0xff
mov al, byte [eax]
mov byte [ebp - 0x25b], al
lea eax, [ebp - 0x2c8]
push eax
mov byte [ebp - 0x2c1], 0
call fcn.1003b910
mov al, byte [eax]
lea edx, [ebp - 0x2b5]
mov byte [ebp - 0x274], 0
lea ecx, [ebp - 0x2b4]
push dword [ebp - 0x274]
mov byte [ebp - 0x25a], al
lea eax, [ebp - 0x2bc]
push eax
mov byte [ebp - 0x2bc], 0xff
mov byte [ebp - 0x2b5], 0
call fcn.1003b910
add esp, 0x38
mov ecx, 0x10360230
mov al, byte [eax]
mov byte [ebp - 0x259], al
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x2d0], eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov esi, dword [eax + 0xd0]
lea eax, [ebp - 0x40]
push eax
call fcn.10043330
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x23
call fcn.1002af80
push eax
lea eax, [ebp - 0x2d0]
mov ecx, esi
push eax
call fcn.10089c70
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x22
call fcn.1002b0f0
mov eax, dword [0x10bbf240]
mov ecx, dword [ebp - 0x270]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov edi, dword [eax + 0xd0]
call fcn.1002af80
mov byte [ebp - 0x274], 0
lea edx, [ebp - 0x2b5]
push dword [ebp - 0x274]
mov esi, eax
mov byte [ebp - 0x28c], 0xff
lea eax, [ebp - 0x2b4]
mov byte [ebp - 0x2a8], 0x96
push eax
lea ecx, [ebp - 0x2bc]
mov byte [ebp - 0x2c8], 0x96
mov byte [ebp - 0x2bc], 0x96
mov byte [ebp - 0x2b4], 0xff
mov byte [ebp - 0x2b5], 0
call fcn.1003b910
mov byte [ebp - 0x274], 0
lea edx, [ebp - 0x2c1]
push dword [ebp - 0x274]
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 0x2c0], 0xff
mov al, byte [eax]
mov byte [ebp - 0x25c], al
lea eax, [ebp - 0x2c0]
push eax
mov byte [ebp - 0x2c1], 0
call fcn.1003b910
mov byte [ebp - 0x274], 0
lea edx, [ebp - 0x2a9]
push dword [ebp - 0x274]
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 0x2b0], 0xff
mov al, byte [eax]
mov byte [ebp - 0x25b], al
lea eax, [ebp - 0x2b0]
push eax
mov byte [ebp - 0x2a9], 0
call fcn.1003b910
mov byte [ebp - 0x2a4], 0xff
mov al, byte [eax]
mov byte [ebp - 0x25a], al
mov byte [ebp - 0x274], 0
lea eax, [ebp - 0x2a4]
push dword [ebp - 0x274]
lea edx, [ebp - 0x29d]
mov byte [ebp - 0x29d], 0
push eax
lea ecx, [ebp - 0x28c]
call fcn.1003b910
add esp, 0x20
mov ecx, edi
mov al, byte [eax]
push esi
mov byte [ebp - 0x259], al
lea eax, [ebp - 0x25c]
push str._s__n
push eax
call fcn.10089c90
lea ecx, [ebp - 0xe8]
call fcn.1002b0f0
lea ecx, [ebp - 0x88]
call fcn.1002b0f0
lea ecx, [ebp - 0x70]
call fcn.1002b0f0
lea ecx, [ebp - 0x58]
call fcn.1002b0f0
lea ecx, [ebp - 0xa0]
mov dword [ebp - 4], 0xffffffff
call fcn.1002b0f0
mov edi, dword [ebp - 0x288]
mov esi, dword [edi + 0x63e78]
cmp byte [0x103592f8], 0
je 0x10161ae0
mov eax, dword [ebp - 0x29c]
mov ecx, dword [0x11096e6c]
add eax, 0xa390
add ecx, 0xf4f6192
push eax
xor ecx, 0x7bb221ad
push esi
call fcn.1004e930
movss xmm1, dword [ebp - 0x2dc]
subss xmm1, dword [edi + 0x656e4]
movss xmm0, dword [ebp - 0x2d8]
subss xmm0, dword [edi + 0x656e8]
movss xmm2, dword [ebp - 0x2e0]
subss xmm2, dword [edi + 0x656e0]
movss dword [ebp - 0x294], xmm1
movss dword [ebp - 0x2d0], xmm0
movaps xmm0, xmm1
mulss xmm0, xmm1
movaps xmm1, xmm2
movss dword [ebp - 0x274], xmm2
mulss xmm1, xmm2
addss xmm0, xmm1
call fcn.1000ded0
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [ebp - 0x294]
divss xmm0, dword [ebp - 0x274]
call fcn.1021f3ee
mulss xmm0, dword [0x102bd974]
movss dword [ebp - 0x294], xmm0
movss xmm0, dword [0x102bdb48]
divss xmm0, dword [ebp - 0x280]
mulss xmm0, dword [ebp - 0x2d0]
call fcn.1021f3ee
mulss xmm0, dword [0x102bdb7c]
xorps xmm2, xmm2
movss xmm1, dword [ebp - 0x294]
movss dword [ebp - 0x2d0], xmm1
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [ebp - 0x274]
comiss xmm0, xmm2
jb 0x10161bc9
addss xmm1, dword [0x102bda24]
movss dword [ebp - 0x2d0], xmm1
fld dword [ebp - 0x280]
fld dword [0x102bda6c]
call fcn.1021f3d0
movss xmm1, dword [0x102bda6c]
fstp dword [ebp - 0x294]
movss xmm0, dword [ebp - 0x294]
comiss xmm0, dword [0x102bda24]
jbe 0x10161bfd
subss xmm0, xmm1
movss xmm2, dword [0x102bdb98]
comiss xmm2, xmm0
jbe 0x10161c0e
addss xmm0, xmm1
fld dword [ebp - 0x2d0]
fld dword [0x102bda6c]
movss dword [ebp - 0x34], xmm0
call fcn.1021f3d0
movss xmm1, dword [0x102bda6c]
fstp dword [ebp - 0x294]
movss xmm0, dword [ebp - 0x294]
comiss xmm0, dword [0x102bda24]
jbe 0x10161c47
subss xmm0, xmm1
movss xmm2, dword [0x102bdb98]
comiss xmm2, xmm0
jbe 0x10161c58
addss xmm0, xmm1
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
movss dword [ebp - 0x30], xmm0
movq xmm0, qword [ebp - 0x34]
xor eax, 0x3743f7af
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 [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x280], eax
mov eax, dword [0x10373c7c]
test al, 1
jne 0x10161e29
or eax, 1
mov dword [0x10373c7c], eax
mov dword [ebp - 4], 0x25
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x274], eax
cmp eax, ecx
je 0x10161d32
mov eax, dword [eax]
mov dword [ebp - 0x25c], eax
test eax, eax
je 0x10161d1f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10161cf0
xor edx, edx
test ecx, ecx
je 0x10161d19
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10161d00
cmp esi, 0x4e9f1122
je 0x10161d4c
mov ecx, dword [0x1037127c]
mov eax, dword [ebp - 0x274]
add eax, 4
mov dword [ebp - 0x274], eax
cmp eax, ecx
jne 0x10161cd5
xor esi, esi
mov edi, dword [ebp - 0x288]
mov dword [0x103754fc], esi
mov dword [ebp - 4], 0xffffffff
jmp 0x10161e2f
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x274], edi
cmp dword [eax + 4], edi
jle 0x10161e0e
xor ecx, ecx
mov dword [ebp - 0x2d0], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x294], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10161dae
cmp dword [ecx + 4], 0
jle 0x10161dae
push 0
mov edx, 0x1e948cb9
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10161da8
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x260], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x10161db7
xor edx, edx
test ecx, ecx
je 0x10161de3
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10161dc4
cmp esi, 0x1e948cb9
je 0x10161e15
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x2d0]
inc edx
mov edi, dword [ebp - 0x260]
add ecx, 0x3c
mov dword [ebp - 0x274], edx
mov dword [ebp - 0x2d0], ecx
cmp edx, dword [eax + 4]
jl 0x10161d71
mov esi, edi
jmp 0x10161d34
mov eax, dword [ebp - 0x294]
mov esi, dword [eax + 0x2c]
add esi, dword [ebp - 0x260]
jmp 0x10161d34
mov esi, dword [0x103754fc]
mov edx, dword [0x10bbf240]
add edx, 0xaff3cc8c
xor edx, 0x3743f7af
mov ecx, dword [edx + 0x1a8]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, ecx
mov ecx, dword [ebp - 0x280]
mov dword [ebp - 0x294], eax
mov eax, dword [edx + 0x140]
movss xmm3, dword [ebp - 0x294]
movss xmm2, dword [esi + ecx + 4]
movaps xmm1, xmm3
mulss xmm1, dword [esi + ecx]
movss xmm0, dword [eax + 0xc]
movss xmm4, dword [esi + ecx + 8]
subss xmm0, xmm1
movaps xmm1, xmm3
mulss xmm1, xmm2
mulss xmm3, xmm4
movss dword [eax + 0xc], xmm0
movss xmm0, dword [eax + 0x10]
subss xmm0, xmm1
movss dword [eax + 0x10], xmm0
movss xmm0, dword [eax + 0x14]
subss xmm0, xmm3
movss dword [eax + 0x14], xmm0
mov esi, dword [0x10bbf240]
lea eax, [esi - 0x500c3374]
xor eax, 0x3743f7af
mov eax, dword [eax + 0x140]
movss xmm0, dword [eax + 0x10]
fld dword [eax + 0xc]
fld dword [0x102bda6c]
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [eax + 0x14]
movss dword [ebp - 0x2c], xmm0
call fcn.1021f3d0
movss xmm1, dword [0x102bda6c]
fstp dword [ebp - 0x294]
movss xmm0, dword [ebp - 0x294]
comiss xmm0, dword [0x102bda24]
jbe 0x10161f11
subss xmm0, xmm1
movss xmm2, dword [0x102bdb98]
comiss xmm2, xmm0
jbe 0x10161f22
addss xmm0, xmm1
fld dword [ebp - 0x280]
fld dword [0x102bda6c]
movss dword [ebp - 0x34], xmm0
call fcn.1021f3d0
movss xmm1, dword [0x102bda6c]
fstp dword [ebp - 0x294]
movss xmm0, dword [ebp - 0x294]
comiss xmm0, dword [0x102bda24]
jbe 0x10161f5b
subss xmm0, xmm1
movss xmm2, dword [0x102bdb98]
comiss xmm2, xmm0
jbe 0x10161f6c
addss xmm0, xmm1
fld dword [ebp - 0x2c]
fld dword [0x102bda6c]
movss dword [ebp - 0x30], xmm0
call fcn.1021f3d0
movss xmm1, dword [0x102bda6c]
fstp dword [ebp - 0x294]
movss xmm0, dword [ebp - 0x294]
comiss xmm0, dword [0x102bda24]
jbe 0x10161fa2
subss xmm0, xmm1
movss xmm2, dword [0x102bdb98]
comiss xmm2, xmm0
jbe 0x10161fb3
addss xmm0, xmm1
add esi, 0xaff3cc8c
movss dword [ebp - 0x2c], xmm0
movq xmm0, qword [ebp - 0x34]
xor esi, 0x3743f7af
mov eax, dword [ebp - 0x2c]
sub esp, 0xc
mov ecx, dword [esi + 0x140]
movq qword [ecx + 0xc], xmm0
mov dword [ecx + 0x14], eax
mov eax, esp
mov ecx, dword [edi + 0x63e78]
movss xmm0, dword [ebp - 0x2e0]
push dword [ebp - 0x29c]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x2dc]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x2d8]
movss dword [eax + 8], xmm0
lea eax, [edi + 0x656c8]
push eax
push ecx
mov ecx, edi
call fcn.10162910
cmp byte [0x1035c49c], 0
jne 0x1016203d
mov eax, dword [0x10425774]
add eax, 0x9286fe9c
xor eax, 0x873b5781
cmp byte [eax], 0
jne 0x10162057
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x10]
cmp byte [eax], 0
jne 0x10162057
mov byte [eax], 1
push 0x1800
lea eax, [edi + 0x63ec0]
mov word [edi + 0x63e70], 0
push 0
push eax
mov dword [edi + 0x63e74], 0
mov dword [edi + 0x63e78], 0
mov dword [edi + 0x63e88], 0
mov dword [edi + 0x63e84], 0
mov dword [edi + 0x63e80], 0
mov dword [edi + 0x63e94], 0
mov dword [edi + 0x63e90], 0
mov dword [edi + 0x63e8c], 0
mov dword [edi + 0x63eac], 0
mov dword [edi + 0x63ea8], 0
mov dword [edi + 0x63ea4], 0
mov dword [edi + 0x63eb8], 0
mov dword [edi + 0x63eb4], 0
mov dword [edi + 0x63eb0], 0
call fcn.101f5dc0
add esp, 0xc
mov dword [edi + 0x656c0], 0
lea ecx, [edi + 0x656ec]
mov dword [edi + 0x656c4], 0
mov dword [edi + 0x656c8], 0
mov dword [edi + 0x656cc], 0
mov dword [edi + 0x656d0], 0
mov dword [edi + 0x656d4], 0
mov dword [edi + 0x656d8], 0
mov dword [edi + 0x656dc], 0
mov dword [edi + 0x656e8], 0
mov dword [edi + 0x656e4], 0
mov dword [edi + 0x656e0], 0
call fcn.10086c10
jmp 0x101622c5
mov edi, dword [ebp - 0x288]
cmp byte [edi + 1], 0
je 0x101622c5
lea esi, [edi + 0x30]
lea eax, [esi + 0x63c90]
mov dword [ebp - 0x2d4], eax
cmp esi, eax
je 0x101622ba
add esi, 0x20
mov edi, eax
nop dword [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.101f5dc0
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.10086c10
lea esi, [esi + 0x1890]
lea eax, [esi - 0x20]
cmp eax, edi
jne 0x101621b0
mov edi, dword [ebp - 0x288]
mov dword [edi + 4], 0
mov byte [edi + 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.101f36c3
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret