Function at 0x1015b060
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 0x1022efb9
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2d8
mov eax, dword [0x102d2084]
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 - 0x284], esi
mov dword [ebp - 0x280], 0
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
cmp dword [eax + 0x138], 0
je 0x1015f395
cmp dword [eax + 0x13c], 0
je 0x1015f395
mov eax, dword [eax + 0xa8]
cmp dword [eax + 0x174], 0xffffffff
je 0x1015f395
call fcn.10148130
mov eax, dword [0x10bbb648]
add eax, 0x48e22c6a
xor eax, 0xfd491cfd
cmp byte [eax + 0x34], 0
je 0x1015b113
cmp byte [eax + 0x35], 0
jne 0x1015f395
mov eax, dword [esi + 0x18]
lea ecx, [esi + 0x18]
cmp eax, dword [ecx + 4]
je 0x1015b121
mov dword [ecx + 4], eax
push 0x13
call fcn.10162cc0
lea eax, [ebp - 0xd0]
push eax
call fcn.10132750
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]
movups xmmword [esi + 0x65700], xmm0
movups xmmword [esi + 0x65710], xmm1
movups xmmword [esi + 0x65720], xmm2
movups xmmword [esi + 0x65730], xmm3
movq qword [esi + 0x65740], xmm4
call fcn.10145030
lea edi, [esi + 0x63e70]
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 - 0x2dc], 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.101f2d60
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.10087130
cmp byte [0x10354c30], 0
je 0x1015f262
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x260], eax
mov eax, dword [0x1036f6d0]
test al, 1
jne 0x1015b45a
or eax, 1
mov dword [0x1036f6d0], eax
mov dword [ebp - 4], 0
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x270], eax
cmp eax, dword [0x1036cbb4]
je 0x1015b353
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x27c], ecx
test ecx, ecx
je 0x1015b342
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015b316
xor edx, edx
test ecx, ecx
je 0x1015b342
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015b323
cmp esi, 0xcd2ed041
je 0x1015b366
mov eax, dword [ebp - 0x270]
add eax, 4
mov dword [ebp - 0x270], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015b300
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370fb4], eax
jmp 0x1015b45f
mov eax, dword [ebp - 0x27c]
xor edi, edi
mov dword [ebp - 0x268], edi
mov dword [ebp - 0x270], edi
cmp dword [eax + 4], edi
jle 0x1015b42d
xor ecx, ecx
mov dword [ebp - 0x25c], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2c4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015b3cd
cmp dword [ecx + 4], 0
jle 0x1015b3cd
push 0
mov edx, 0xa2ccb41a
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015b3c7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x268], edi
mov eax, dword [ebp - 0x27c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015b3d6
xor edx, edx
test ecx, ecx
je 0x1015b402
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015b3e3
cmp esi, 0xa2ccb41a
je 0x1015b43d
mov eax, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x25c]
inc edx
mov edi, dword [ebp - 0x268]
add ecx, 0x3c
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x25c], ecx
cmp edx, dword [eax + 4]
jl 0x1015b390
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370fb4], eax
jmp 0x1015b45f
mov eax, dword [ebp - 0x2c4]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x268]
mov dword [0x10370fb4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1015b45f
mov eax, dword [0x10370fb4]
mov ecx, dword [ebp - 0x260]
movzx esi, word [ecx + eax]
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
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 0x1015b898
mov eax, dword [eax + 0xc8]
test si, si
je 0x1015b898
cmp si, 0x1f
je 0x1015b898
add eax, 0xfffffff9
cmp eax, 9
ja 0x1015b898
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x260], eax
mov eax, dword [0x1036f6d0]
test al, 1
jne 0x1015b65a
or eax, 1
mov dword [0x1036f6d0], eax
mov dword [ebp - 4], 1
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x270], eax
cmp eax, dword [0x1036cbb4]
je 0x1015b553
mov ecx, dword [eax]
mov dword [ebp - 0x27c], ecx
test ecx, ecx
je 0x1015b542
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015b516
xor edx, edx
test ecx, ecx
je 0x1015b542
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015b523
cmp esi, 0xcd2ed041
je 0x1015b566
mov eax, dword [ebp - 0x270]
add eax, 4
mov dword [ebp - 0x270], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015b500
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370fb4], eax
jmp 0x1015b65f
mov eax, dword [ebp - 0x27c]
xor edi, edi
mov dword [ebp - 0x268], edi
mov dword [ebp - 0x270], edi
cmp dword [eax + 4], edi
jle 0x1015b62d
xor ecx, ecx
mov dword [ebp - 0x25c], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2c4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015b5cd
cmp dword [ecx + 4], 0
jle 0x1015b5cd
push 0
mov edx, 0xa2ccb41a
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015b5c7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x268], edi
mov eax, dword [ebp - 0x27c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015b5d6
xor edx, edx
test ecx, ecx
je 0x1015b602
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015b5e3
cmp esi, 0xa2ccb41a
je 0x1015b63d
mov eax, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x25c]
inc edx
mov edi, dword [ebp - 0x268]
add ecx, 0x3c
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x25c], ecx
cmp edx, dword [eax + 4]
jl 0x1015b590
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370fb4], eax
jmp 0x1015b65f
mov eax, dword [ebp - 0x2c4]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x268]
mov dword [0x10370fb4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1015b65f
mov eax, dword [0x10370fb4]
mov ecx, dword [ebp - 0x260]
movzx eax, word [ecx + eax]
mov edi, eax
mov esi, eax
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
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 0x1015b69b
cmp di, 0x1f
je 0x1015b898
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x260], eax
mov eax, dword [0x1036f6d0]
test al, 1
jne 0x1015b84a
or eax, 1
mov dword [0x1036f6d0], eax
mov dword [ebp - 4], 2
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x270], eax
cmp eax, dword [0x1036cbb4]
je 0x1015b740
mov ecx, dword [eax]
mov dword [ebp - 0x27c], ecx
test ecx, ecx
je 0x1015b72f
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015b700
xor edx, edx
test ecx, ecx
je 0x1015b72f
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015b710
cmp esi, 0xcd2ed041
je 0x1015b753
mov eax, dword [ebp - 0x270]
add eax, 4
mov dword [ebp - 0x270], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015b6e5
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370fb4], eax
jmp 0x1015b84f
mov eax, dword [ebp - 0x27c]
xor edi, edi
mov dword [ebp - 0x268], edi
mov dword [ebp - 0x270], edi
cmp dword [eax + 4], edi
jle 0x1015b81d
xor ecx, ecx
mov dword [ebp - 0x25c], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2c4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015b7bd
cmp dword [ecx + 4], 0
jle 0x1015b7bd
push 0
mov edx, 0xa2ccb41a
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015b7b7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x268], edi
mov eax, dword [ebp - 0x27c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015b7c6
xor edx, edx
test ecx, ecx
je 0x1015b7f2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015b7d3
cmp esi, 0xa2ccb41a
je 0x1015b82d
mov eax, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x25c]
inc edx
mov edi, dword [ebp - 0x268]
add ecx, 0x3c
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x25c], ecx
cmp edx, dword [eax + 4]
jl 0x1015b780
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370fb4], eax
jmp 0x1015b84f
mov eax, dword [ebp - 0x2c4]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x268]
mov dword [0x10370fb4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1015b84f
mov eax, dword [0x10370fb4]
mov ecx, dword [ebp - 0x260]
movzx esi, word [ecx + eax]
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
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 0x1015f25c
cmp dword [eax + 0xc8], 0
jne 0x1015f25c
cmp si, 0x1f
je 0x1015f25c
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x260], eax
mov eax, dword [0x1036f6d0]
test al, 1
jne 0x1015ba3a
or eax, 1
mov dword [0x1036f6d0], eax
mov dword [ebp - 4], 3
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x270], eax
cmp eax, dword [0x1036cbb4]
je 0x1015b935
mov ecx, dword [eax]
mov dword [ebp - 0x27c], ecx
test ecx, ecx
je 0x1015b924
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015b8f8
xor edx, edx
test ecx, ecx
je 0x1015b924
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015b905
cmp esi, 0xcd2ed041
je 0x1015b948
mov eax, dword [ebp - 0x270]
add eax, 4
mov dword [ebp - 0x270], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015b8e2
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370fb4], eax
jmp 0x1015ba3f
mov eax, dword [ebp - 0x27c]
xor edi, edi
mov dword [ebp - 0x268], edi
mov dword [ebp - 0x270], edi
cmp dword [eax + 4], edi
jle 0x1015ba0d
xor ecx, ecx
mov dword [ebp - 0x25c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2c4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015b9ad
cmp dword [ecx + 4], 0
jle 0x1015b9ad
push 0
mov edx, 0xa2ccb41a
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015b9a7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x268], edi
mov eax, dword [ebp - 0x27c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015b9b6
xor edx, edx
test ecx, ecx
je 0x1015b9e2
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015b9c3
cmp esi, 0xa2ccb41a
je 0x1015ba1d
mov eax, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x25c]
inc edx
mov edi, dword [ebp - 0x268]
add ecx, 0x3c
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x25c], ecx
cmp edx, dword [eax + 4]
jl 0x1015b970
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370fb4], eax
jmp 0x1015ba3f
mov eax, dword [ebp - 0x2c4]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x268]
mov dword [0x10370fb4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1015ba3f
mov eax, dword [0x10370fb4]
mov ecx, dword [ebp - 0x260]
movzx esi, word [ecx + eax]
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
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 0x1015ba8c
cmp dword [eax + 0xc8], 0
jne 0x1015ba8c
cmp si, 0x1f
je 0x1015ba8c
mov ecx, dword [ebp - 0x284]
call fcn.10155bb0
jmp 0x1015f395
mov edi, dword [ebp - 0x284]
mov ecx, edi
call fcn.101492d0
mov ecx, edi
call fcn.1014a8c0
cmp dword [edi + 4], 1
jge 0x1015bbd9
cmp byte [edi + 1], 0
je 0x1015f395
lea esi, [edi + 0x30]
lea edi, [esi + 0x63c90]
cmp esi, edi
je 0x1015f384
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.101f2d60
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.10087130
lea esi, [esi + 0x1890]
lea eax, [esi - 0x20]
cmp eax, edi
jne 0x1015bad0
jmp 0x1015f384
mov ecx, edi
mov byte [edi + 1], 1
call fcn.101520d0
mov ecx, edi
call fcn.10153420
lea esi, [edi + 0x63e70]
mov word [edi + 0x63d69], 0
push 0x1800
lea eax, [esi + 0x50]
mov dword [ebp - 0x2e0], 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.101f2d60
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.10087130
mov esi, dword [0x103bb5ac]
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x28c], eax
add esi, 0x1063aecf
lea eax, [ebp - 0xb0]
mov dword [ebp - 0x290], edi
xor esi, 0xd952f2b3
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x8c], 0
lea eax, [ebp - 0x290]
mov dword [ebp - 4], 4
push eax
lea ecx, [ebp - 0xb0]
call fcn.10163fe0
mov dword [ebp - 4], 5
mov edx, dword [esi + 8]
mov esi, dword [esi + 4]
mov dword [ebp - 0x294], edx
mov dword [ebp - 0x2c8], esi
cmp esi, edx
je 0x1015bf4f
mov edx, dword [0x10370f34]
mov eax, dword [ebp - 0x294]
nop word [eax + eax]
mov esi, dword [esi + 8]
mov dword [ebp - 0x264], esi
test esi, esi
je 0x1015bf32
mov ecx, dword [0x10bbb620]
add ecx, 0x91761abb
xor ecx, 0xfd410b50
mov eax, dword [ecx + 0x134]
mov dword [ebp - 0x26c], eax
cmp esi, eax
je 0x1015bf2c
test eax, eax
je 0x1015bf1a
mov ecx, dword [ecx + 0x184]
mov eax, dword [ecx + 0x1c]
cmp dword [eax + 0x30], ecx
jne 0x1015bf1a
mov eax, dword [0x10370f7c]
test al, 1
jne 0x1015be69
or dword [0x10370f7c], 1
mov byte [ebp - 4], 6
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x27c], eax
cmp eax, dword [0x1036cbb4]
je 0x1015be57
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x268], ecx
test ecx, ecx
je 0x1015be46
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015be16
xor edx, edx
test ecx, ecx
je 0x1015be46
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015be23
cmp esi, 0x1eee87cc
je 0x1015bfcb
mov eax, dword [ebp - 0x27c]
add eax, 4
mov dword [ebp - 0x27c], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015be00
xor edx, edx
mov esi, dword [ebp - 0x264]
mov dword [0x10370f34], edx
mov byte [ebp - 4], 5
mov eax, dword [esi + edx]
mov dword [ebp - 0x260], eax
mov eax, dword [0x10370f7c]
test al, 1
jne 0x1015bf09
or dword [0x10370f7c], 1
mov byte [ebp - 4], 7
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x27c], eax
cmp eax, dword [0x1036cbb4]
je 0x1015bef7
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x268], ecx
test ecx, ecx
je 0x1015bee6
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015beb6
xor edx, edx
test ecx, ecx
je 0x1015bee6
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015bec3
cmp esi, 0x1eee87cc
je 0x1015c0a8
mov eax, dword [ebp - 0x27c]
add eax, 4
mov dword [ebp - 0x27c], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015bea0
xor edx, edx
mov esi, dword [ebp - 0x264]
mov dword [0x10370f34], edx
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x260]
cmp eax, dword [ecx + edx]
je 0x1015bf2c
push esi
lea ecx, [ebp - 0xb0]
call fcn.1002acf0
mov edx, dword [0x10370f34]
mov eax, dword [ebp - 0x294]
mov esi, dword [ebp - 0x2c8]
add esi, 0xc
mov dword [ebp - 0x2c8], esi
cmp esi, eax
jne 0x1015bd80
mov edi, dword [ebp - 0x284]
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
call fcn.1000f4d0
mov eax, dword [edi + 0x63e78]
lea ecx, [edi + 0x656c8]
mov dword [ebp - 0x2c8], ecx
mov dword [ebp - 0x264], eax
test eax, eax
je 0x1015f15e
cmp byte [ecx], 0
je 0x1015f15e
cmp byte [edi + 0x63e71], 0
je 0x1015f15e
mov byte [edi + 0x63d6a], 1
mov eax, dword [0x107ef998]
add eax, 0xfaacd160
xor eax, 0x7af747a1
cmp byte [0x1035881c], 0
mov dword [ebp - 0x278], eax
je 0x1015c188
mov eax, dword [edi + 0x6570c]
jmp 0x1015c18e
mov eax, dword [ebp - 0x268]
xor edi, edi
mov dword [ebp - 0x27c], edi
mov dword [ebp - 0x270], edi
cmp dword [eax + 4], edi
jle 0x1015c08d
xor ecx, ecx
mov dword [ebp - 0x25c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2c4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015c02d
cmp dword [ecx + 4], 0
jle 0x1015c02d
push 0
mov edx, 0xa5bfefb3
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015c027
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x27c], edi
mov eax, dword [ebp - 0x268]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015c036
xor edx, edx
test ecx, ecx
je 0x1015c062
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015c043
cmp esi, 0xa5bfefb3
je 0x1015c094
mov eax, dword [ebp - 0x268]
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x25c]
inc edx
mov edi, dword [ebp - 0x27c]
add ecx, 0x3c
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x25c], ecx
cmp edx, dword [eax + 4]
jl 0x1015bff0
mov edx, edi
jmp 0x1015be59
mov eax, dword [ebp - 0x2c4]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp - 0x27c]
jmp 0x1015be59
mov eax, dword [ebp - 0x268]
xor edi, edi
mov dword [ebp - 0x27c], edi
mov dword [ebp - 0x270], edi
cmp dword [eax + 4], edi
jle 0x1015c16d
xor ecx, ecx
mov dword [ebp - 0x25c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2c4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015c10d
cmp dword [ecx + 4], 0
jle 0x1015c10d
push 0
mov edx, 0xa5bfefb3
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015c107
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x27c], edi
mov eax, dword [ebp - 0x268]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015c116
xor edx, edx
test ecx, ecx
je 0x1015c142
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015c123
cmp esi, 0xa5bfefb3
je 0x1015c174
mov eax, dword [ebp - 0x268]
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x25c]
inc edx
mov edi, dword [ebp - 0x27c]
add ecx, 0x3c
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x25c], ecx
cmp edx, dword [eax + 4]
jl 0x1015c0d0
mov edx, edi
jmp 0x1015bef9
mov eax, dword [ebp - 0x2c4]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp - 0x27c]
jmp 0x1015bef9
mov eax, dword [edi + 0x65708]
mov ecx, dword [0x10370fac]
mov dword [ebp - 0x27c], eax
test cl, 1
jne 0x1015c318
or ecx, 1
mov dword [0x10370fac], ecx
mov dword [ebp - 4], 8
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x270], eax
cmp eax, dword [0x1036cbb4]
je 0x1015c220
mov ecx, dword [eax]
mov dword [ebp - 0x268], ecx
test ecx, ecx
je 0x1015c20f
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015c1e0
xor edx, edx
test ecx, ecx
je 0x1015c20f
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015c1f0
cmp esi, 0x72e242a1
je 0x1015c239
mov eax, dword [ebp - 0x270]
add eax, 4
mov dword [ebp - 0x270], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015c1c6
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x10370fac]
mov dword [0x10370f6c], eax
jmp 0x1015c31d
mov eax, dword [ebp - 0x268]
xor edi, edi
mov dword [ebp - 0x294], edi
mov dword [ebp - 0x270], edi
cmp dword [eax + 4], edi
jle 0x1015c2fd
xor ecx, ecx
mov dword [ebp - 0x25c], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x260], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015c29d
cmp dword [ecx + 4], 0
jle 0x1015c29d
push 0
mov edx, 0x84cdad2
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015c297
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x294], edi
mov eax, dword [ebp - 0x268]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015c2a6
xor edx, edx
test ecx, ecx
je 0x1015c2d2
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015c2b3
cmp esi, 0x84cdad2
je 0x1015c304
mov eax, dword [ebp - 0x268]
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x25c]
inc edx
mov edi, dword [ebp - 0x294]
add ecx, 0x3c
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x25c], ecx
cmp edx, dword [eax + 4]
jl 0x1015c260
mov eax, edi
jmp 0x1015c222
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x294]
jmp 0x1015c222
mov eax, dword [0x10370f6c]
mov edx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x27c]
mov edx, dword [edx + eax]
mov dword [ebp - 0x26c], edx
cmp esi, 0x63
jle 0x1015c341
add esi, 0xffffff9c
add esi, edx
jmp 0x1015c3ed
test cl, 1
jne 0x1015c3e1
or ecx, 1
mov dword [0x10370fac], ecx
mov dword [ebp - 4], 9
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x270], eax
cmp eax, dword [0x1036cbb4]
je 0x1015c3c7
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x268], ecx
test ecx, ecx
je 0x1015c3b6
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015c386
xor edx, edx
test ecx, ecx
je 0x1015c3b6
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015c393
cmp esi, 0x72e242a1
je 0x1015c5e3
mov eax, dword [ebp - 0x270]
add eax, 4
mov dword [ebp - 0x270], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015c370
xor eax, eax
mov esi, dword [ebp - 0x27c]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x26c]
mov dword [0x10370f6c], eax
mov ecx, dword [ebp - 0x264]
cmp esi, dword [ecx + eax]
cmovg esi, edx
mov edi, dword [ebp - 0x2c8]
mov dword [ebp - 0x27c], esi
mov byte [ebp - 0x288], 0
cmp byte [edi + 3], 0
je 0x1015c444
cmp dword [edi + 8], esi
jl 0x1015c444
mov esi, dword [ebp - 0x284]
test byte [esi + 0x6572c], 1
je 0x1015c444
mov ecx, esi
call fcn.10148b60
cmp byte [esi + 0x65701], 0
je 0x1015c444
push edi
mov ecx, esi
call fcn.10149070
test al, al
je 0x1015c444
mov byte [ebp - 0x288], 1
mov byte [esi + 0x63d68], 1
mov eax, dword [ebp - 0x278]
movss xmm2, dword [eax + 0x3cbc64]
movss xmm0, dword [eax + 0x3cbc68]
subss xmm0, dword [edi + 0x1c]
subss xmm2, dword [edi + 0x18]
movss xmm1, dword [eax + 0x3cbc6c]
subss xmm1, dword [edi + 0x20]
mulss xmm0, xmm0
mulss xmm2, xmm2
movss dword [ebp - 0x278], xmm1
addss xmm0, xmm2
call fcn.1000da70
movss xmm1, dword [0x102bab58]
divss xmm1, xmm0
mulss xmm1, dword [ebp - 0x278]
movaps xmm0, xmm1
call fcn.1021c94e
mulss xmm0, dword [0x102bab84]
movss dword [ebp - 0x278], xmm0
fld dword [ebp - 0x278]
fld dword [0x102baa78]
call fcn.1021c930
movss xmm0, dword [0x102baa78]
fstp dword [ebp - 0x278]
movss xmm2, dword [ebp - 0x278]
comiss xmm2, dword [0x102baa28]
jbe 0x1015c4ea
subss xmm2, xmm0
movss xmm1, dword [0x102baba0]
comiss xmm1, xmm2
jbe 0x1015c4fb
addss xmm2, xmm0
mov ecx, dword [0x107ef998]
lea eax, [ebp - 0x2d4]
add ecx, 0xfaacd160
xor ecx, 0x7af747a1
push eax
call fcn.1001fe50
mov edi, dword [ebp - 0x284]
mov eax, dword [edi + 0x656c4]
mov esi, dword [edi + 0x63e78]
mov dword [ebp - 0x294], eax
mov eax, dword [0x10370f48]
mov dword [ebp - 0x25c], esi
test al, 1
jne 0x1015c7a8
or eax, 1
mov dword [0x10370f48], eax
mov dword [ebp - 4], 0xa
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x270], eax
cmp eax, dword [0x1036cbb4]
je 0x1015c5c4
mov ecx, dword [eax]
mov dword [ebp - 0x268], ecx
test ecx, ecx
je 0x1015c5b3
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015c580
xor edx, edx
test ecx, ecx
je 0x1015c5b3
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015c590
cmp esi, 0x1eee87cc
je 0x1015c6c8
mov eax, dword [ebp - 0x270]
add eax, 4
mov dword [ebp - 0x270], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015c566
xor eax, eax
mov edi, dword [ebp - 0x284]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x25c]
mov dword [0x10370f8c], eax
jmp 0x1015c7ad
mov eax, dword [ebp - 0x268]
xor edi, edi
mov dword [ebp - 0x294], edi
mov dword [ebp - 0x270], edi
cmp dword [eax + 4], edi
jle 0x1015c6ad
xor ecx, ecx
mov dword [ebp - 0x25c], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x260], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015c64d
cmp dword [ecx + 4], 0
jle 0x1015c64d
push 0
mov edx, 0x84cdad2
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015c647
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x294], edi
mov eax, dword [ebp - 0x268]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015c656
xor edx, edx
test ecx, ecx
je 0x1015c682
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015c663
cmp esi, 0x84cdad2
je 0x1015c6b4
mov eax, dword [ebp - 0x268]
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x25c]
inc edx
mov edi, dword [ebp - 0x294]
add ecx, 0x3c
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x25c], ecx
cmp edx, dword [eax + 4]
jl 0x1015c610
mov eax, edi
jmp 0x1015c3c9
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x294]
jmp 0x1015c3c9
mov eax, dword [ebp - 0x268]
xor edi, edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x270], edi
cmp dword [eax + 4], edi
jle 0x1015c78d
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x278], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015c72d
cmp dword [ecx + 4], 0
jle 0x1015c72d
push 0
mov edx, 0x559d81af
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015c727
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x264], edi
mov eax, dword [ebp - 0x268]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015c736
xor edx, edx
test ecx, ecx
je 0x1015c762
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015c743
cmp esi, 0x559d81af
je 0x1015c794
mov eax, dword [ebp - 0x268]
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x26c]
inc edx
mov edi, dword [ebp - 0x264]
add ecx, 0x3c
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x26c], ecx
cmp edx, dword [eax + 4]
jl 0x1015c6f0
mov eax, edi
jmp 0x1015c5c6
mov eax, dword [ebp - 0x278]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x264]
jmp 0x1015c5c6
mov eax, dword [0x10370f8c]
movq xmm0, qword [esi + eax]
mov ecx, esi
movq qword [edi + 0x63e80], xmm0
mov eax, dword [esi + eax + 8]
mov dword [edi + 0x63e88], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
movq xmm0, qword [eax]
movq qword [edi + 0x63e8c], xmm0
mov eax, dword [eax + 8]
mov dword [edi + 0x63e94], eax
mov eax, dword [0x1036f668]
test al, 1
jne 0x1015c968
or eax, 1
mov dword [0x1036f668], eax
mov dword [ebp - 4], 0xb
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x26c], eax
cmp eax, dword [0x1036cbb4]
je 0x1015c864
mov ecx, dword [eax]
mov dword [ebp - 0x264], ecx
test ecx, ecx
je 0x1015c853
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015c827
xor edx, edx
test ecx, ecx
je 0x1015c853
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015c834
cmp esi, 0x72e242a1
je 0x1015c883
mov eax, dword [ebp - 0x26c]
add eax, 4
mov dword [ebp - 0x26c], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015c811
xor eax, eax
mov edi, dword [ebp - 0x284]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x25c]
mov dword [0x1036f700], eax
jmp 0x1015c96d
mov eax, dword [ebp - 0x264]
xor edi, edi
mov dword [ebp - 0x268], edi
mov dword [ebp - 0x26c], edi
cmp dword [eax + 4], edi
jle 0x1015c94d
xor ecx, ecx
mov dword [ebp - 0x270], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x278], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015c8ed
cmp dword [ecx + 4], 0
jle 0x1015c8ed
push 0
mov edx, 0xf3c2c786
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015c8e7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x268], edi
mov eax, dword [ebp - 0x264]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015c8f6
xor edx, edx
test ecx, ecx
je 0x1015c922
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015c903
cmp esi, 0xf3c2c786
je 0x1015c954
mov eax, dword [ebp - 0x264]
mov edx, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x270]
inc edx
mov edi, dword [ebp - 0x268]
add ecx, 0x3c
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x270], ecx
cmp edx, dword [eax + 4]
jl 0x1015c8b0
mov eax, edi
jmp 0x1015c866
mov eax, dword [ebp - 0x278]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x268]
jmp 0x1015c866
mov eax, dword [0x1036f700]
movq xmm0, qword [esi + eax]
movq qword [edi + 0x63e98], xmm0
mov eax, dword [esi + eax + 8]
mov dword [edi + 0x63ea0], eax
mov eax, dword [0x1036f6a0]
test al, 1
jne 0x1015cb15
or eax, 1
mov dword [0x1036f6a0], eax
mov dword [ebp - 4], 0xc
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x26c], eax
cmp eax, dword [0x1036cbb4]
je 0x1015ca10
mov ecx, dword [eax]
mov dword [ebp - 0x264], ecx
test ecx, ecx
je 0x1015c9ff
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015c9d0
xor edx, edx
test ecx, ecx
je 0x1015c9ff
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015c9e0
cmp esi, 0x1eee87cc
je 0x1015ca2f
mov eax, dword [ebp - 0x26c]
add eax, 4
mov dword [ebp - 0x26c], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015c9b3
xor eax, eax
mov edi, dword [ebp - 0x284]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x25c]
mov dword [0x1036f6b8], eax
jmp 0x1015cb1a
mov eax, dword [ebp - 0x264]
xor edi, edi
mov dword [ebp - 0x268], edi
mov dword [ebp - 0x26c], edi
cmp dword [eax + 4], edi
jle 0x1015cafa
xor ecx, ecx
mov dword [ebp - 0x270], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x278], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015ca91
cmp dword [ecx + 4], 0
jle 0x1015ca91
push 0
mov edx, 0xe57f80c
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015ca8b
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x268], edi
mov eax, dword [ebp - 0x264]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x1015caa0
xor edx, edx
test ecx, ecx
je 0x1015cacf
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015cab0
cmp edi, 0xe57f80c
je 0x1015cb01
mov eax, dword [ebp - 0x264]
mov edx, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x270]
inc edx
mov edi, dword [ebp - 0x268]
add ecx, 0x3c
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x270], ecx
cmp edx, dword [eax + 4]
jl 0x1015ca54
mov eax, edi
jmp 0x1015ca12
mov eax, dword [ebp - 0x278]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x268]
jmp 0x1015ca12
mov eax, dword [0x1036f6b8]
movq xmm0, qword [esi + eax]
movq qword [edi + 0x63ea4], xmm0
mov eax, dword [esi + eax + 8]
mov dword [edi + 0x63eac], eax
mov eax, dword [0x10370f14]
test al, 1
jne 0x1015ccb8
or eax, 1
mov dword [0x10370f14], eax
mov dword [ebp - 4], 0xd
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x26c], eax
cmp eax, dword [0x1036cbb4]
je 0x1015cbb3
mov ecx, dword [eax]
mov dword [ebp - 0x264], ecx
test ecx, ecx
je 0x1015cba2
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015cb76
xor edx, edx
test ecx, ecx
je 0x1015cba2
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015cb83
cmp esi, 0x1eee87cc
je 0x1015cbd2
mov eax, dword [ebp - 0x26c]
add eax, 4
mov dword [ebp - 0x26c], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015cb60
xor eax, eax
mov edi, dword [ebp - 0x284]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x25c]
mov dword [0x1036f6d8], eax
jmp 0x1015ccbd
mov eax, dword [ebp - 0x264]
xor edi, edi
mov dword [ebp - 0x268], edi
mov dword [ebp - 0x26c], edi
cmp dword [eax + 4], edi
jle 0x1015cc9d
xor ecx, ecx
mov dword [ebp - 0x270], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x278], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015cc3d
cmp dword [ecx + 4], 0
jle 0x1015cc3d
push 0
mov edx, 0x7d388d3e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015cc37
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x268], edi
mov eax, dword [ebp - 0x264]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1015cc46
xor edx, edx
test ecx, ecx
je 0x1015cc72
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015cc53
cmp edi, 0x7d388d3e
je 0x1015cca4
mov eax, dword [ebp - 0x264]
mov edx, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x270]
inc edx
mov edi, dword [ebp - 0x268]
add ecx, 0x3c
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x270], ecx
cmp edx, dword [eax + 4]
jl 0x1015cc00
mov eax, edi
jmp 0x1015cbb5
mov eax, dword [ebp - 0x278]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x268]
jmp 0x1015cbb5
mov eax, dword [0x1036f6d8]
movq xmm0, qword [esi + eax]
movq qword [edi + 0x63eb0], xmm0
mov eax, dword [esi + eax + 8]
mov dword [edi + 0x63eb8], eax
add edi, 0x63ec0
mov eax, dword [esi + 0x2920]
mov esi, dword [esi + 0x2914]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x294]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
cmp byte [eax + 0xc], 0
je 0x1015cd01
add eax, 0xd3a0
jmp 0x1015cd06
add eax, 0xa380
mov esi, dword [ebp - 0x284]
mov dword [ebp - 0x270], eax
mov edi, dword [esi + 0x63e78]
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov esi, dword [0x107ef998]
add esi, 0xfaacd160
mov dword [ebp - 0x268], edi
xor esi, 0x7af747a1
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x394
add eax, esi
je 0x1015d54c
mov esi, dword [ebp - 0x294]
cmp byte [esi + 0xc], 0
lea eax, [esi + 0xd380]
jne 0x1015cd61
lea eax, [esi + 0x84]
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 - 0x290], eax
mov eax, dword [0x10370f48]
movaps xmmword [ebp - 0x40], xmm2
movq qword [ebp - 0x4c], xmm2
test al, 1
jne 0x1015cf18
or eax, 1
mov dword [0x10370f48], eax
mov dword [ebp - 4], 0xe
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x26c], eax
cmp eax, dword [0x1036cbb4]
je 0x1015ce13
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015ce02
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1015cdd6
xor edx, edx
test ecx, ecx
je 0x1015ce02
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015cde3
cmp edi, 0x1eee87cc
je 0x1015ce36
mov eax, dword [ebp - 0x26c]
add eax, 4
mov dword [ebp - 0x26c], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015cdc0
xor eax, eax
mov edi, dword [ebp - 0x268]
mov esi, dword [ebp - 0x294]
mov dword [ebp - 4], 0xffffffff
movaps xmm2, xmmword [ebp - 0x40]
mov dword [0x10370f8c], eax
jmp 0x1015cf1d
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x26c], edi
cmp dword [eax + 4], edi
jle 0x1015cefd
xor ecx, ecx
mov dword [ebp - 0x260], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x278], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015ce9d
cmp dword [ecx + 4], 0
jle 0x1015ce9d
push 0
mov edx, 0x559d81af
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015ce97
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x264], edi
mov eax, dword [ebp - 0x25c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015cea6
xor edx, edx
test ecx, ecx
je 0x1015ced2
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015ceb3
cmp edi, 0x559d81af
je 0x1015cf04
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x260]
inc edx
mov edi, dword [ebp - 0x264]
add ecx, 0x3c
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x260], ecx
cmp edx, dword [eax + 4]
jl 0x1015ce60
mov eax, edi
jmp 0x1015ce15
mov eax, dword [ebp - 0x278]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x264]
jmp 0x1015ce15
mov eax, dword [0x10370f8c]
mov ecx, dword [ebp - 0x290]
movq qword [edi + eax], xmm2
mov dword [edi + eax + 8], ecx
lea ecx, [ebp - 0x4c]
mov eax, dword [0x103bb7bc]
push ecx
mov ecx, edi
call eax
mov eax, dword [esi + 0xbc]
movq xmm0, qword [esi + 0xb4]
mov dword [ebp - 0x278], eax
mov eax, dword [0x10370f14]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x1015d0d8
or eax, 1
mov dword [0x10370f14], eax
mov dword [ebp - 4], 0xf
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
je 0x1015cfd4
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015cfc3
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1015cf97
xor edx, edx
test ecx, ecx
je 0x1015cfc3
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015cfa4
cmp edi, 0x1eee87cc
je 0x1015cff8
mov eax, dword [ebp - 0x260]
add eax, 4
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015cf81
xor eax, eax
mov edi, dword [ebp - 0x268]
mov esi, dword [ebp - 0x294]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov dword [0x1036f6d8], eax
jmp 0x1015d0dd
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x260], edi
cmp dword [eax + 4], edi
jle 0x1015d0bd
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015d05d
cmp dword [ecx + 4], 0
jle 0x1015d05d
push 0
mov edx, 0x7d388d3e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015d057
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x264], edi
mov eax, dword [ebp - 0x25c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015d066
xor edx, edx
test ecx, ecx
je 0x1015d092
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015d073
cmp edi, 0x7d388d3e
je 0x1015d0c4
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
inc edx
mov edi, dword [ebp - 0x264]
add ecx, 0x3c
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x26c], ecx
cmp edx, dword [eax + 4]
jl 0x1015d020
mov eax, edi
jmp 0x1015cfd6
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x264]
jmp 0x1015cfd6
mov eax, dword [0x1036f6d8]
mov ecx, dword [ebp - 0x278]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov eax, dword [esi + 0xb0]
movq xmm0, qword [esi + 0xa8]
mov dword [ebp - 0x278], eax
mov eax, dword [0x1036f6a0]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x1015d295
or eax, 1
mov dword [0x1036f6a0], eax
mov dword [ebp - 4], 0x10
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
je 0x1015d190
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015d17f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015d150
xor edx, edx
test ecx, ecx
je 0x1015d17f
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015d160
cmp edi, 0x1eee87cc
je 0x1015d1ae
mov eax, dword [ebp - 0x260]
add eax, 4
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015d134
xor eax, eax
mov edi, dword [ebp - 0x268]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov dword [0x1036f6b8], eax
jmp 0x1015d29a
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x260], edi
cmp dword [eax + 4], edi
jle 0x1015d27a
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015d210
cmp dword [ecx + 4], 0
jle 0x1015d210
push 0
mov edx, 0xe57f80c
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015d20a
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x264], edi
mov eax, dword [ebp - 0x25c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015d220
xor edx, edx
test ecx, ecx
je 0x1015d24f
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015d230
cmp edi, 0xe57f80c
je 0x1015d281
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
inc edx
mov edi, dword [ebp - 0x264]
add ecx, 0x3c
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x26c], ecx
cmp edx, dword [eax + 4]
jl 0x1015d1d3
mov eax, edi
jmp 0x1015d192
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x264]
jmp 0x1015d192
mov eax, dword [0x1036f6b8]
mov edx, dword [0x1036f6f4]
mov ecx, dword [ebp - 0x278]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
test dl, 1
jne 0x1015d438
or edx, 1
mov dword [0x1036f6f4], edx
mov dword [ebp - 4], 0x11
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
je 0x1015d333
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015d322
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1015d2f6
xor edx, edx
test ecx, ecx
je 0x1015d322
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015d303
cmp edi, 0x54aff69
je 0x1015d356
mov eax, dword [ebp - 0x260]
add eax, 4
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015d2e0
xor ecx, ecx
mov edi, dword [ebp - 0x268]
add ecx, 0x1c
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x1036f6f4]
mov dword [0x1036f66c], ecx
jmp 0x1015d43e
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x260], edi
cmp dword [eax + 4], edi
jle 0x1015d41d
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015d3bd
cmp dword [ecx + 4], 0
jle 0x1015d3bd
push 0
mov edx, 0xddac019e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015d3b7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x264], edi
mov eax, dword [ebp - 0x25c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015d3c6
xor edx, edx
test ecx, ecx
je 0x1015d3f2
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015d3d3
cmp edi, 0xddac019e
je 0x1015d424
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
inc edx
mov edi, dword [ebp - 0x264]
add ecx, 0x3c
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x26c], ecx
cmp edx, dword [eax + 4]
jl 0x1015d380
mov ecx, edi
jmp 0x1015d335
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x264]
jmp 0x1015d335
mov ecx, dword [0x1036f66c]
lea eax, [edi + ecx]
test eax, eax
je 0x1015d474
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x103bb6dc]
test eax, eax
je 0x1015d45f
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 0x1015d50f
or edx, 1
mov dword [0x1036f6f4], edx
mov dword [ebp - 4], 0x12
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
je 0x1015d4f7
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015d4e6
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015d4b6
xor edx, edx
test ecx, ecx
je 0x1015d4e6
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015d4c3
cmp edi, 0x54aff69
je 0x1015d698
mov eax, dword [ebp - 0x260]
add eax, 4
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015d4a0
xor ecx, ecx
mov edi, dword [ebp - 0x268]
add ecx, 0x1c
mov dword [0x1036f66c], ecx
mov dword [ebp - 4], 0xffffffff
lea edx, [edi + ecx]
test edx, edx
je 0x1015d54c
mov eax, dword [edi + 0x2920]
mov edi, dword [edi + 0x2914]
mov esi, dword [ebp - 0x270]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x268]
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 [0x10bbb620]
mov edi, dword [ebp - 0x284]
add eax, 0x91761abb
movss xmm0, dword [ebp - 0x2d4]
xor eax, 0xfd410b50
push 0
push 0
mov edx, dword [edi + 0x63e78]
mov ecx, dword [eax + 0x134]
mov eax, dword [ebp - 0x2c8]
add eax, 0x18
push eax
sub esp, 0xc
mov eax, esp
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x2d0]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x2cc]
movss dword [eax + 8], xmm0
lea eax, [ebp - 0x40]
push eax
call fcn.1013daa0
mov esi, dword [edi + 0x63e78]
add esp, 0x1c
mov dword [ebp - 0x268], esi
movups xmm0, xmmword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x44], eax
mov eax, dword [edi + 0x63e88]
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x278], eax
movq xmm0, qword [edi + 0x63e80]
mov eax, dword [0x10370f48]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x1015d858
or eax, 1
mov dword [0x10370f48], eax
mov dword [ebp - 4], 0x13
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
je 0x1015d674
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015d663
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015d630
xor edx, edx
test ecx, ecx
je 0x1015d663
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015d640
cmp edi, 0x1eee87cc
je 0x1015d778
mov eax, dword [ebp - 0x260]
add eax, 4
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015d613
xor eax, eax
mov esi, dword [ebp - 0x268]
mov edi, dword [ebp - 0x284]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov dword [0x10370f8c], eax
jmp 0x1015d85d
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x260], edi
cmp dword [eax + 4], edi
jle 0x1015d75d
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015d6fd
cmp dword [ecx + 4], 0
jle 0x1015d6fd
push 0
mov edx, 0xddac019e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015d6f7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x264], edi
mov eax, dword [ebp - 0x25c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015d706
xor edx, edx
test ecx, ecx
je 0x1015d732
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015d713
cmp edi, 0xddac019e
je 0x1015d764
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
inc edx
mov edi, dword [ebp - 0x264]
add ecx, 0x3c
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x26c], ecx
cmp edx, dword [eax + 4]
jl 0x1015d6c0
mov ecx, edi
jmp 0x1015d4f9
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x264]
jmp 0x1015d4f9
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x260], edi
cmp dword [eax + 4], edi
jle 0x1015d83d
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015d7dd
cmp dword [ecx + 4], 0
jle 0x1015d7dd
push 0
mov edx, 0x559d81af
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015d7d7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x264], edi
mov eax, dword [ebp - 0x25c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015d7e6
xor edx, edx
test ecx, ecx
je 0x1015d812
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015d7f3
cmp edi, 0x559d81af
je 0x1015d844
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
inc edx
mov edi, dword [ebp - 0x264]
add ecx, 0x3c
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x26c], ecx
cmp edx, dword [eax + 4]
jl 0x1015d7a0
mov eax, edi
jmp 0x1015d676
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x264]
jmp 0x1015d676
mov eax, dword [0x10370f8c]
mov ecx, dword [ebp - 0x278]
movq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
lea ecx, [edi + 0x63e8c]
mov eax, dword [0x103bb7bc]
push ecx
mov ecx, esi
call eax
mov eax, dword [edi + 0x63ea0]
movq xmm0, qword [edi + 0x63e98]
mov dword [ebp - 0x278], eax
mov eax, dword [0x1036f668]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x1015da28
or eax, 1
mov dword [0x1036f668], eax
mov dword [ebp - 4], 0x14
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
je 0x1015d920
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015d90f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015d8e0
xor edx, edx
test ecx, ecx
je 0x1015d90f
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015d8f0
cmp edi, 0x72e242a1
je 0x1015d944
mov eax, dword [ebp - 0x260]
add eax, 4
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015d8c4
xor eax, eax
mov esi, dword [ebp - 0x268]
mov edi, dword [ebp - 0x284]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov dword [0x1036f700], eax
jmp 0x1015da2d
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x260], edi
cmp dword [eax + 4], edi
jle 0x1015da0d
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015d9ad
cmp dword [ecx + 4], 0
jle 0x1015d9ad
push 0
mov edx, 0xf3c2c786
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015d9a7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x264], edi
mov eax, dword [ebp - 0x25c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015d9b6
xor edx, edx
test ecx, ecx
je 0x1015d9e2
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015d9c3
cmp edi, 0xf3c2c786
je 0x1015da14
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
inc edx
mov edi, dword [ebp - 0x264]
add ecx, 0x3c
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x26c], ecx
cmp edx, dword [eax + 4]
jl 0x1015d970
mov eax, edi
jmp 0x1015d922
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x264]
jmp 0x1015d922
mov eax, dword [0x1036f700]
mov ecx, dword [ebp - 0x278]
movq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
mov eax, dword [edi + 0x63eb8]
movq xmm0, qword [edi + 0x63eb0]
mov dword [ebp - 0x278], eax
mov eax, dword [0x10370f14]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x1015dbe8
or eax, 1
mov dword [0x10370f14], eax
mov dword [ebp - 4], 0x15
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
je 0x1015dae0
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015dacf
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015daa0
xor edx, edx
test ecx, ecx
je 0x1015dacf
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015dab0
cmp esi, 0x1eee87cc
je 0x1015db04
mov eax, dword [ebp - 0x260]
add eax, 4
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015da84
xor eax, eax
mov esi, dword [ebp - 0x268]
mov edi, dword [ebp - 0x284]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov dword [0x1036f6d8], eax
jmp 0x1015dbed
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x260], edi
cmp dword [eax + 4], edi
jle 0x1015dbcd
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015db6d
cmp dword [ecx + 4], 0
jle 0x1015db6d
push 0
mov edx, 0x7d388d3e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015db67
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x264], edi
mov eax, dword [ebp - 0x25c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1015db76
xor edx, edx
test ecx, ecx
je 0x1015dba2
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1015db83
cmp edi, 0x7d388d3e
je 0x1015dbd4
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
inc edx
mov edi, dword [ebp - 0x264]
add ecx, 0x3c
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x26c], ecx
cmp edx, dword [eax + 4]
jl 0x1015db30
mov eax, edi
jmp 0x1015dae2
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x264]
jmp 0x1015dae2
mov eax, dword [0x1036f6d8]
mov ecx, dword [ebp - 0x278]
movq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
mov eax, dword [edi + 0x63eac]
movq xmm0, qword [edi + 0x63ea4]
mov dword [ebp - 0x278], eax
mov eax, dword [0x1036f6a0]
movq qword [ebp - 0x30], xmm0
test al, 1
jne 0x1015dda5
or eax, 1
mov dword [0x1036f6a0], eax
mov dword [ebp - 4], 0x16
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
je 0x1015dca0
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015dc8f
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015dc60
xor edx, edx
test ecx, ecx
je 0x1015dc8f
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015dc70
cmp esi, 0x1eee87cc
je 0x1015dcbe
mov eax, dword [ebp - 0x260]
add eax, 4
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015dc44
xor eax, eax
mov esi, dword [ebp - 0x268]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x30]
mov dword [0x1036f6b8], eax
jmp 0x1015ddaa
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x260], edi
cmp dword [eax + 4], edi
jle 0x1015dd8a
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015dd20
cmp dword [ecx + 4], 0
jle 0x1015dd20
push 0
mov edx, 0xe57f80c
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015dd1a
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x264], 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 0x1015dd30
xor edx, edx
test ecx, ecx
je 0x1015dd5f
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015dd40
cmp esi, 0xe57f80c
je 0x1015dd91
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
inc edx
mov edi, dword [ebp - 0x264]
add ecx, 0x3c
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x26c], ecx
cmp edx, dword [eax + 4]
jl 0x1015dce3
mov eax, edi
jmp 0x1015dca2
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x264]
jmp 0x1015dca2
mov eax, dword [0x1036f6b8]
mov edx, dword [0x1036f6f4]
mov ecx, dword [ebp - 0x278]
movq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
test dl, 1
jne 0x1015df48
or edx, 1
mov dword [0x1036f6f4], edx
mov dword [ebp - 4], 0x17
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
je 0x1015de43
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015de32
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015de06
xor edx, edx
test ecx, ecx
je 0x1015de32
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015de13
cmp esi, 0x54aff69
je 0x1015de66
mov eax, dword [ebp - 0x260]
add eax, 4
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015ddf0
xor ecx, ecx
mov esi, dword [ebp - 0x268]
add ecx, 0x1c
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x1036f6f4]
mov dword [0x1036f66c], ecx
jmp 0x1015df4e
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x260], edi
cmp dword [eax + 4], edi
jle 0x1015df2d
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015decd
cmp dword [ecx + 4], 0
jle 0x1015decd
push 0
mov edx, 0xddac019e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015dec7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x264], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015ded6
xor edx, edx
test ecx, ecx
je 0x1015df02
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015dee3
cmp esi, 0xddac019e
je 0x1015df34
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
inc edx
mov edi, dword [ebp - 0x264]
add ecx, 0x3c
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x26c], ecx
cmp edx, dword [eax + 4]
jl 0x1015de90
mov ecx, edi
jmp 0x1015de45
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x264]
jmp 0x1015de45
mov ecx, dword [0x1036f66c]
lea eax, [ecx + esi]
test eax, eax
je 0x1015df84
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x103bb6dc]
test eax, eax
je 0x1015df6f
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 0x1015e01f
or edx, 1
mov dword [0x1036f6f4], edx
mov dword [ebp - 4], 0x18
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
je 0x1015e007
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015dff6
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015dfc6
xor edx, edx
test ecx, ecx
je 0x1015dff6
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015dfd3
cmp esi, 0x54aff69
je 0x1015e12b
mov eax, dword [ebp - 0x260]
add eax, 4
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015dfb0
xor ecx, ecx
mov esi, dword [ebp - 0x268]
add ecx, 0x1c
mov dword [0x1036f66c], ecx
mov dword [ebp - 4], 0xffffffff
lea edx, [ecx + esi]
test edx, edx
je 0x1015e068
mov eax, dword [esi + 0x2920]
mov edi, dword [esi + 0x2914]
mov esi, dword [ebp - 0x284]
add esi, 0x63ec0
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x268]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 0x2920]
mov esi, dword [ebp - 0x284]
mov edi, dword [edx]
lea ecx, [eax + eax*2]
shl ecx, 4
add esi, 0x63ec0
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x27c]
cmp dword [ebp - 0x54], eax
jl 0x1015f395
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x278], eax
mov eax, dword [0x1036f6d0]
test al, 1
jne 0x1015e2fa
or eax, 1
mov dword [0x1036f6d0], eax
mov dword [ebp - 4], 0x19
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
je 0x1015e118
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015e107
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015e0d7
xor edx, edx
test ecx, ecx
je 0x1015e107
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015e0e4
cmp esi, 0xcd2ed041
je 0x1015e208
mov eax, dword [ebp - 0x260]
add eax, 4
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015e0c1
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370fb4], eax
jmp 0x1015e2ff
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x260], edi
cmp dword [eax + 4], edi
jle 0x1015e1ed
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015e18d
cmp dword [ecx + 4], 0
jle 0x1015e18d
push 0
mov edx, 0xddac019e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015e187
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x264], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1015e196
xor edx, edx
test ecx, ecx
je 0x1015e1c2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015e1a3
cmp esi, 0xddac019e
je 0x1015e1f4
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
inc edx
mov edi, dword [ebp - 0x264]
add ecx, 0x3c
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x26c], ecx
cmp edx, dword [eax + 4]
jl 0x1015e150
mov ecx, edi
jmp 0x1015e009
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x264]
jmp 0x1015e009
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x260], edi
cmp dword [eax + 4], edi
jle 0x1015e2cd
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28c], 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.10138e60
add esp, 4
test eax, eax
je 0x1015e267
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x264], edi
mov eax, dword [ebp - 0x25c]
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 0x1015e2dd
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
inc edx
mov edi, dword [ebp - 0x264]
add ecx, 0x3c
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x26c], ecx
cmp edx, dword [eax + 4]
jl 0x1015e230
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370fb4], eax
jmp 0x1015e2ff
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x264]
mov dword [0x10370fb4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1015e2ff
mov eax, dword [0x10370fb4]
mov ecx, dword [ebp - 0x278]
movzx eax, word [ecx + eax]
mov edi, eax
mov esi, eax
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
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 0x1015e341
cmp di, 0x1f
jne 0x1015e341
cmp dword [ebp - 0x50], 4
jl 0x1015f395
mov edi, dword [ebp - 0x284]
cmp byte [edi], 0
je 0x1015f395
cmp byte [ebp - 0x288], 0
je 0x1015e362
test byte [edi + 0x6572c], 1
jne 0x1015e38d
mov ecx, edi
call fcn.10148b60
cmp byte [edi + 0x65701], 0
mov esi, dword [ebp - 0x2c8]
je 0x1015e393
push esi
mov ecx, edi
call fcn.10149070
test al, al
je 0x1015e393
mov byte [edi + 0x63d68], 1
jmp 0x1015e393
mov esi, dword [ebp - 0x2c8]
mov eax, dword [0x10bbb648]
add eax, 0x48e22c6a
xor eax, 0xfd491cfd
cmp byte [eax + 0x1c], 0
jne 0x1015e3c4
cmp byte [eax + 0x1d], 0
je 0x1015e3c4
cmp dword [eax + 0x20], 0
jg 0x1015e3c4
cmp dword [eax + 4], 0
jne 0x1015e3c4
cmp dword [eax + 0x44], 2
jle 0x1015f395
push 0
mov ecx, edi
call fcn.10143530
test al, al
je 0x1015f395
movd xmm0, dword [edi + 0x65704]
lea eax, [ebp - 0x2c4]
mov edi, dword [ebp - 0x294]
mov edx, esi
mov ecx, dword [ebp - 0x2dc]
push eax
cvtdq2ps xmm0, xmm0
push 0
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x2c4], 0
push eax
push edi
sub esp, 0xc
mulss xmm0, dword [0x102ba670]
mov eax, esp
movss dword [ebp - 0x2d8], xmm0
movss xmm0, dword [ebp - 0x2d4]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x2d0]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x2cc]
movss dword [eax + 8], xmm0
call fcn.1014e4b0
add esp, 0x1c
test al, al
je 0x1015f395
cmp byte [0x10354c31], 0
je 0x1015e476
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x140]
or dword [eax + 0x30], 1
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x140]
test byte [eax + 0x30], 1
je 0x1015f15e
mov esi, dword [ebp - 0x284]
movss xmm1, dword [0x102ba73c]
mov byte [esi + 0x63d69], 1
mov edx, dword [0x10bbb620]
movss xmm0, dword [edi + 0x28]
add edx, 0x91761abb
xor edx, 0xfd410b50
movss dword [ebp - 0x270], 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 [esi + 0x63e78]
mov esi, eax
mov dword [ebp - 0x278], eax
mov eax, dword [0x10370f78]
test al, 1
jne 0x1015e695
or eax, 1
mov dword [0x10370f78], eax
mov dword [ebp - 4], 0x1a
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
je 0x1015e583
nop word [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015e572
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015e546
xor edx, edx
test ecx, ecx
je 0x1015e572
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015e553
cmp esi, 0x1eee87cc
je 0x1015e5b1
mov eax, dword [ebp - 0x260]
add eax, 4
mov dword [ebp - 0x260], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015e530
xor ecx, ecx
mov eax, dword [ebp - 0x284]
mov edi, dword [ebp - 0x294]
mov dword [ebp - 4], 0xffffffff
movss xmm1, dword [0x102ba73c]
mov esi, dword [eax + 0x63e78]
mov dword [0x10370f30], ecx
jmp 0x1015e69b
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x260], edi
cmp dword [eax + 4], edi
jle 0x1015e67a
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015e613
cmp dword [ecx + 4], 0
jle 0x1015e613
push 0
mov edx, 0x7fcb378d
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015e60d
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x264], 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 0x1015e620
xor edx, edx
test ecx, ecx
je 0x1015e64f
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015e630
cmp esi, 0x7fcb378d
je 0x1015e681
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
inc edx
mov edi, dword [ebp - 0x264]
add ecx, 0x3c
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x26c], ecx
cmp edx, dword [eax + 4]
jl 0x1015e5d6
mov ecx, edi
jmp 0x1015e585
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x264]
jmp 0x1015e585
mov ecx, dword [0x10370f30]
mov eax, dword [0x10bbb620]
mov edx, dword [ebp - 0x278]
add eax, 0x91761abb
xor eax, 0xfd410b50
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 [0x10355aec], 4
je 0x1015ebd7
cmp byte [edi + 0xc], 0
je 0x1015e6ed
mov eax, dword [edi + 0x14]
neg eax
movss xmm0, dword [ebp - 0x2c4]
lea ecx, [ebp - 0xa0]
mulss xmm0, dword [0x102ba9d0]
mov esi, dword [ebp - 0x2c8]
mov dword [ebp - 0x260], eax
cvttss2si eax, xmm0
mov edx, dword [esi + 4]
mov dword [ebp - 0x28c], eax
call fcn.10133810
mov ecx, eax
mov dword [ebp - 4], 0x1b
call fcn.1002b480
push dword [ebp - 0x2d8]
mov dword [ebp - 0x278], eax
lea ecx, [ebp - 0x58]
mov eax, dword [ebp - 0x284]
mov edi, dword [eax + 0x63e78]
call fcn.1002cf80
push 0
push 0x102b35f8
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1c
call fcn.1002cfa0
push 0x158
lea eax, [ebp - 0x258]
mov byte [ebp - 4], 0x1d
push 0
push eax
call fcn.101f2d60
mov eax, dword [0x10bbb620]
lea ecx, [edi + 8]
add eax, 0x91761abb
add esp, 0xc
xor eax, 0xfd410b50
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.100733e0
cmp dword [ebp - 0x48], 0
je 0x1015e7ca
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x100]
call fcn.10044a10
mov byte [ebp - 4], 0x1e
mov ecx, 1
jmp 0x1015e7e5
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x40]
call fcn.1002b4b0
mov dword [ebp - 4], 0x1f
mov ecx, 2
mov dword [ebp - 0x280], ecx
mov dword [ebp - 0x25c], ecx
lea ecx, [ebp - 0x70]
push eax
call fcn.10044a10
mov eax, dword [ebp - 0x25c]
or eax, 4
test al, 2
je 0x1015e81e
and eax, 0xfffffffd
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x25c], eax
call fcn.1002b860
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 4], 0x1d
test al, 1
je 0x1015e834
lea ecx, [ebp - 0x100]
call fcn.1002b860
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x20
call fcn.1002b480
mov dword [ebp - 0x26c], eax
mov ecx, 0x10369248
lea eax, [ebp - 0x88]
push eax
call fcn.1013a840
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x21
call fcn.1002b480
mov edx, dword [ebp - 0x2c8]
lea ecx, [ebp - 0x260]
push ecx
lea ecx, [edx + 8]
push ecx
lea ecx, [edx + 0xc]
mov edx, eax
push ecx
lea ecx, [ebp - 0x28c]
push ecx
lea ecx, [ebp - 0x278]
push ecx
lea ecx, [ebp - 0x26c]
push ecx
lea ecx, [ebp - 0xe8]
call fcn.10163580
mov dword [ebp - 0x264], eax
mov byte [ebp - 4], 0x22
movss xmm1, dword [0x102baa58]
movss xmm0, dword [0x10355fb0]
mulss xmm0, xmm1
mov byte [ebp - 0x288], 0xff
mov byte [ebp - 0x295], 0
cvttss2si eax, xmm0
movss xmm0, dword [0x10355fac]
mulss xmm0, xmm1
mov dword [ebp - 0x280], eax
mov byte [ebp - 0x2b0], al
mov byte [ebp - 0x280], 0
push dword [ebp - 0x280]
cvttss2si edx, xmm0
movss xmm0, dword [0x10355fa8]
mulss xmm0, xmm1
mov byte [ebp - 0x2bc], dl
lea edx, [ebp - 0x295]
cvttss2si ecx, xmm0
movss xmm0, dword [0x10355fa4]
mulss xmm0, xmm1
mov byte [ebp - 0x2a8], cl
lea ecx, [ebp - 0x29c]
cvttss2si eax, xmm0
mov byte [ebp - 0x29c], al
lea eax, [ebp - 0x288]
push eax
call fcn.1003b810
mov byte [ebp - 0x280], 0
lea edx, [ebp - 0x2a1]
push dword [ebp - 0x280]
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 0x2a0], 0xff
mov al, byte [eax]
mov byte [ebp - 0x25c], al
lea eax, [ebp - 0x2a0]
push eax
mov byte [ebp - 0x2a1], 0
call fcn.1003b810
mov byte [ebp - 0x280], 0
lea edx, [ebp - 0x2bd]
push dword [ebp - 0x280]
lea ecx, [ebp - 0x2bc]
mov byte [ebp - 0x2ac], 0xff
mov al, byte [eax]
mov byte [ebp - 0x25b], al
lea eax, [ebp - 0x2ac]
push eax
mov byte [ebp - 0x2bd], 0
call fcn.1003b810
mov al, byte [eax]
lea edx, [ebp - 0x2b1]
mov byte [ebp - 0x25a], al
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 0x280], 0
lea eax, [ebp - 0x2b8]
push dword [ebp - 0x280]
mov byte [ebp - 0x2b8], 0xff
push eax
mov byte [ebp - 0x2b1], 0
call fcn.1003b810
add esp, 0x38
mov ecx, 0x1035c270
mov al, byte [eax]
mov byte [ebp - 0x259], al
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x270], eax
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov esi, dword [eax + 0xd0]
lea eax, [ebp - 0x40]
push eax
call fcn.10042810
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x23
call fcn.1002b480
push eax
lea eax, [ebp - 0x270]
mov ecx, esi
push eax
call fcn.1008a2d0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x22
call fcn.1002b860
mov eax, dword [0x10bbb620]
mov ecx, dword [ebp - 0x264]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov edi, dword [eax + 0xd0]
call fcn.1002b480
mov esi, eax
mov byte [ebp - 0x280], 0
push dword [ebp - 0x280]
lea eax, [ebp - 0x2b0]
mov byte [ebp - 0x288], 0xff
push eax
lea edx, [ebp - 0x2b1]
mov byte [ebp - 0x2a0], 0x96
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 0x2ac], 0x96
mov byte [ebp - 0x2b8], 0x96
mov byte [ebp - 0x2b0], 0xff
mov byte [ebp - 0x2b1], 0
call fcn.1003b810
mov byte [ebp - 0x280], 0
lea edx, [ebp - 0x2bd]
push dword [ebp - 0x280]
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 0x2bc], 0xff
mov al, byte [eax]
mov byte [ebp - 0x25c], al
lea eax, [ebp - 0x2bc]
push eax
mov byte [ebp - 0x2bd], 0
call fcn.1003b810
mov byte [ebp - 0x280], 0
lea edx, [ebp - 0x2a1]
push dword [ebp - 0x280]
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 0x2a8], 0xff
mov al, byte [eax]
mov byte [ebp - 0x25b], al
lea eax, [ebp - 0x2a8]
push eax
mov byte [ebp - 0x2a1], 0
call fcn.1003b810
mov byte [ebp - 0x29c], 0xff
mov al, byte [eax]
mov byte [ebp - 0x25a], al
mov byte [ebp - 0x280], 0
lea eax, [ebp - 0x29c]
push dword [ebp - 0x280]
lea edx, [ebp - 0x295]
mov byte [ebp - 0x295], 0
push eax
lea ecx, [ebp - 0x288]
call fcn.1003b810
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.1008a2f0
lea ecx, [ebp - 0xe8]
call fcn.1002b860
lea ecx, [ebp - 0x88]
call fcn.1002b860
lea ecx, [ebp - 0x70]
call fcn.1002b860
lea ecx, [ebp - 0x58]
call fcn.1002b860
lea ecx, [ebp - 0xa0]
mov dword [ebp - 4], 0xffffffff
call fcn.1002b860
mov eax, dword [ebp - 0x284]
mov esi, dword [eax + 0x63e78]
cmp byte [0x10355568], 0
je 0x1015ec04
mov eax, dword [ebp - 0x294]
mov ecx, dword [0x1109324c]
add eax, 0xa380
add ecx, 0xbbe24138
push eax
xor ecx, 0x75177374
push esi
call fcn.1004e950
mov esi, dword [ebp - 0x2c8]
movss xmm1, dword [ebp - 0x2d0]
movss xmm0, dword [ebp - 0x2cc]
movss xmm2, dword [ebp - 0x2d4]
subss xmm1, dword [esi + 0x1c]
subss xmm0, dword [esi + 0x20]
subss xmm2, dword [esi + 0x18]
movss dword [ebp - 0x28c], xmm1
movss dword [ebp - 0x260], xmm0
movaps xmm0, xmm1
mulss xmm0, xmm1
movaps xmm1, xmm2
mulss xmm1, xmm2
movss dword [ebp - 0x280], xmm2
addss xmm0, xmm1
call fcn.1000da70
movss dword [ebp - 0x278], xmm0
movss xmm0, dword [ebp - 0x28c]
divss xmm0, dword [ebp - 0x280]
call fcn.1021c94e
mulss xmm0, dword [0x102ba980]
movss dword [ebp - 0x28c], xmm0
movss xmm0, dword [0x102bab58]
divss xmm0, dword [ebp - 0x278]
mulss xmm0, dword [ebp - 0x260]
call fcn.1021c94e
mulss xmm0, dword [0x102bab84]
xorps xmm2, xmm2
movss xmm1, dword [ebp - 0x28c]
movss dword [ebp - 0x260], xmm1
movss dword [ebp - 0x278], xmm0
movss xmm0, dword [ebp - 0x280]
comiss xmm0, xmm2
jb 0x1015ecea
addss xmm1, dword [0x102baa28]
movss dword [ebp - 0x260], xmm1
fld dword [ebp - 0x278]
fld dword [0x102baa78]
call fcn.1021c930
movss xmm1, dword [0x102baa78]
fstp dword [ebp - 0x28c]
movss xmm0, dword [ebp - 0x28c]
comiss xmm0, dword [0x102baa28]
jbe 0x1015ed1e
subss xmm0, xmm1
movss xmm2, dword [0x102baba0]
comiss xmm2, xmm0
jbe 0x1015ed2f
addss xmm0, xmm1
fld dword [ebp - 0x260]
fld dword [0x102baa78]
movss dword [ebp - 0x34], xmm0
call fcn.1021c930
movss xmm1, dword [0x102baa78]
fstp dword [ebp - 0x28c]
movss xmm0, dword [ebp - 0x28c]
comiss xmm0, dword [0x102baa28]
jbe 0x1015ed68
subss xmm0, xmm1
movss xmm2, dword [0x102baba0]
comiss xmm2, xmm0
jbe 0x1015ed79
addss xmm0, xmm1
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
movss dword [ebp - 0x30], xmm0
movq xmm0, qword [ebp - 0x34]
xor eax, 0xfd410b50
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 [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov edi, dword [eax + 0x134]
mov eax, dword [0x1036f6bc]
mov dword [ebp - 0x278], edi
test al, 1
jne 0x1015ef48
or eax, 1
mov dword [0x1036f6bc], eax
mov dword [ebp - 4], 0x25
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x280], eax
cmp eax, dword [0x1036cbb4]
je 0x1015ee50
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x1015ee3f
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015ee10
xor edx, edx
test ecx, ecx
je 0x1015ee3f
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015ee20
cmp esi, 0x4e9f1122
je 0x1015ee6a
mov eax, dword [ebp - 0x280]
add eax, 4
mov dword [ebp - 0x280], eax
cmp eax, dword [0x1036cbb4]
jne 0x1015edf4
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x278]
mov dword [0x10370f3c], esi
jmp 0x1015ef4e
mov eax, dword [ebp - 0x25c]
xor edi, edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x280], edi
cmp dword [eax + 4], edi
jle 0x1015ef2d
xor ecx, ecx
mov dword [ebp - 0x260], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1015eecd
cmp dword [ecx + 4], 0
jle 0x1015eecd
push 0
mov edx, 0x1e948cb9
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1015eec7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x264], edi
mov eax, dword [ebp - 0x25c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1015eed6
xor edx, edx
test ecx, ecx
je 0x1015ef02
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1015eee3
cmp esi, 0x1e948cb9
je 0x1015ef34
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x260]
inc edx
mov edi, dword [ebp - 0x264]
add ecx, 0x3c
mov dword [ebp - 0x280], edx
mov dword [ebp - 0x260], ecx
cmp edx, dword [eax + 4]
jl 0x1015ee90
mov esi, edi
jmp 0x1015ee52
mov eax, dword [ebp - 0x28c]
mov esi, dword [eax + 0x2c]
add esi, dword [ebp - 0x264]
jmp 0x1015ee52
mov esi, dword [0x10370f3c]
mov edx, dword [0x10bbb620]
movss xmm3, dword [esi + edi + 4]
add edx, 0x91761abb
movss xmm4, dword [esi + edi + 8]
xor edx, 0xfd410b50
mov ecx, dword [edx + 0x1a8]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, ecx
mov dword [ebp - 0x28c], eax
mov eax, dword [edx + 0x140]
movss xmm2, dword [ebp - 0x28c]
movaps xmm1, xmm2
mulss xmm3, xmm2
mulss xmm1, dword [esi + edi]
movss xmm0, dword [eax + 0xc]
mulss xmm4, xmm2
subss xmm0, xmm1
movss dword [eax + 0xc], xmm0
movss xmm0, dword [eax + 0x10]
subss xmm0, xmm3
movss dword [eax + 0x10], xmm0
movss xmm0, dword [eax + 0x14]
subss xmm0, xmm4
movss dword [eax + 0x14], xmm0
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov esi, dword [eax + 0x140]
movss xmm0, dword [esi + 0x10]
fld dword [esi + 0xc]
fld dword [0x102baa78]
movss dword [ebp - 0x278], xmm0
movss xmm0, dword [esi + 0x14]
movss dword [ebp - 0x2c], xmm0
call fcn.1021c930
movss xmm1, dword [0x102baa78]
fstp dword [ebp - 0x28c]
movss xmm0, dword [ebp - 0x28c]
comiss xmm0, dword [0x102baa28]
jbe 0x1015f025
subss xmm0, xmm1
movss xmm2, dword [0x102baba0]
comiss xmm2, xmm0
jbe 0x1015f036
addss xmm0, xmm1
fld dword [ebp - 0x278]
fld dword [0x102baa78]
movss dword [ebp - 0x34], xmm0
call fcn.1021c930
movss xmm1, dword [0x102baa78]
fstp dword [ebp - 0x28c]
movss xmm0, dword [ebp - 0x28c]
comiss xmm0, dword [0x102baa28]
jbe 0x1015f06f
subss xmm0, xmm1
movss xmm2, dword [0x102baba0]
comiss xmm2, xmm0
jbe 0x1015f080
addss xmm0, xmm1
fld dword [ebp - 0x2c]
fld dword [0x102baa78]
movss dword [ebp - 0x30], xmm0
call fcn.1021c930
movss xmm1, dword [0x102baa78]
fstp dword [ebp - 0x28c]
movss xmm0, dword [ebp - 0x28c]
comiss xmm0, dword [0x102baa28]
jbe 0x1015f0b6
subss xmm0, xmm1
movss xmm2, dword [0x102baba0]
comiss xmm2, xmm0
jbe 0x1015f0c7
addss xmm0, xmm1
mov edx, dword [ebp - 0x284]
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 + 0x63e78]
movss xmm0, dword [ebp - 0x2d4]
push dword [ebp - 0x294]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x2d0]
push dword [ebp - 0x2c8]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x2cc]
push ecx
mov ecx, edx
movss dword [eax + 8], xmm0
call fcn.1015f9e0
cmp byte [0x103586fc], 0
jne 0x1015f144
mov eax, dword [0x10421124]
add eax, 0x4ed95e0a
xor eax, 0xb3fe9118
cmp byte [eax], 0
jne 0x1015f15e
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x10]
cmp byte [eax], 0
jne 0x1015f15e
mov byte [eax], 1
mov edi, dword [ebp - 0x2dc]
push 0x1800
push 0
lea eax, [edi + 0x50]
mov word [edi], 0
push eax
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.101f2d60
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.10087130
jmp 0x1015f395
mov esi, dword [ebp - 0x284]
cmp byte [esi + 1], 0
je 0x1015f395
add esi, 0x30
lea edi, [esi + 0x63c90]
cmp esi, edi
je 0x1015f384
add esi, 0x20
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.101f2d60
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.10087130
lea esi, [esi + 0x1890]
lea eax, [esi - 0x20]
cmp eax, edi
jne 0x1015f280
mov eax, dword [ebp - 0x284]
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.101f065f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret