Function at 0x1014e4b0
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 0x1022e617
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x98
push esi
push edi
mov eax, dword [0x102d2084]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x38], edx
mov edi, ecx
mov dword [ebp - 0x14], edi
mov ecx, dword [0x11099410]
mov eax, dword [0x10bbb620]
test cl, 1
jne 0x1014e529
or ecx, 1
mov dword [0x11099410], ecx
lea ecx, [eax - 0x6e89e545]
xor ecx, 0xfd410b50
mov edx, dword [ecx + 0x1a4]
mov dword [0x1109940c], edx
jmp 0x1014e52f
mov edx, dword [0x1109940c]
test edx, edx
je 0x1014e541
mov ecx, dword [edx + 0x1c]
mov ecx, dword [ecx + 0x30]
xor ecx, edx
jne 0x1014e5d1
lea esi, [eax - 0x6e89e545]
mov dword [ebp - 0x3c], 0xa380
xor ecx, ecx
xor esi, 0xfd410b50
mov dword [ebp - 0x24], ecx
mov edx, 0xd3a0
mov ecx, dword [0x107ef970]
add ecx, 0xfb38d7d9
mov eax, dword [esi + 0x140]
xor ecx, 0xf4dd204d
mov dword [ebp - 0x34], ecx
movss xmm0, dword [esi + 0x44]
addss xmm0, dword [0x102ba634]
mov ecx, dword [eax + 4]
mov eax, dword [ebx + 0x14]
cmp byte [eax + 0xc], 0
cmove edx, dword [ebp - 0x3c]
add edx, eax
mov eax, 0x1b4e81b5
mov dword [ebp - 0x28], edx
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x96
sub ecx, eax
mov eax, dword [ebp - 0x34]
imul ecx, ecx, 0xc8
mov dword [ebp - 0x54], ecx
comiss xmm0, dword [ecx + eax + 0x23c]
jb 0x1014e5e7
mov eax, dword [ebx + 0x20]
mov dword [eax], 0x3f800000
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [0x10370f48]
mov esi, dword [edi + 8]
mov dword [ebp - 0x20], esi
test al, 1
jne 0x1014e73d
or eax, 1
mov dword [0x10370f48], eax
mov dword [ebp - 4], 0
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x1036cbb4]
je 0x1014e66a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x1014e65c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014e633
xor edx, edx
test ecx, ecx
je 0x1014e65c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014e640
cmp esi, 0x1eee87cc
je 0x1014e683
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x1036cbb4]
jne 0x1014e620
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x20]
mov dword [0x10370f8c], eax
jmp 0x1014e742
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x1014e728
xor ecx, ecx
mov dword [ebp - 0x30], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014e6d4
cmp dword [ecx + 4], 0
jle 0x1014e6d4
push 0
mov edx, 0x559d81af
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014e6d1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x18]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014e6e0
xor edx, edx
test ecx, ecx
je 0x1014e70c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014e6f0
cmp esi, 0x559d81af
je 0x1014e72f
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x1014e6a0
mov eax, edi
jmp 0x1014e66c
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1014e66c
mov eax, dword [0x10370f8c]
movq xmm0, qword [esi + eax]
mov ecx, esi
movq qword [edi + 0x10], xmm0
mov eax, dword [esi + eax + 8]
mov dword [edi + 0x18], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
movq xmm0, qword [eax]
movq qword [edi + 0x1c], xmm0
mov eax, dword [eax + 8]
mov dword [edi + 0x24], eax
mov eax, dword [0x1036f668]
test al, 1
jne 0x1014e8bd
or eax, 1
mov dword [0x1036f668], eax
mov dword [ebp - 4], 1
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
je 0x1014e7ea
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1014e7dc
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014e7b0
xor edx, edx
test ecx, ecx
je 0x1014e7dc
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014e7c0
cmp esi, 0x72e242a1
je 0x1014e803
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
jne 0x1014e797
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x20]
mov dword [0x1036f700], eax
jmp 0x1014e8c2
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1014e8a8
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014e854
cmp dword [ecx + 4], 0
jle 0x1014e854
push 0
mov edx, 0xf3c2c786
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014e851
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014e860
xor edx, edx
test ecx, ecx
je 0x1014e88c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014e870
cmp esi, 0xf3c2c786
je 0x1014e8af
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x1014e820
mov eax, edi
jmp 0x1014e7ec
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x1014e7ec
mov eax, dword [0x1036f700]
movq xmm0, qword [esi + eax]
movq qword [edi + 0x28], xmm0
mov eax, dword [esi + eax + 8]
mov dword [edi + 0x30], eax
mov eax, dword [0x1036f6a0]
test al, 1
jne 0x1014ea1d
or eax, 1
mov dword [0x1036f6a0], eax
mov dword [ebp - 4], 2
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
je 0x1014e94a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1014e93c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014e913
xor edx, edx
test ecx, ecx
je 0x1014e93c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014e920
cmp esi, 0x1eee87cc
je 0x1014e963
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
jne 0x1014e900
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x20]
mov dword [0x1036f6b8], eax
jmp 0x1014ea22
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1014ea08
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014e9b4
cmp dword [ecx + 4], 0
jle 0x1014e9b4
push 0
mov edx, 0xe57f80c
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014e9b1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014e9c0
xor edx, edx
test ecx, ecx
je 0x1014e9ec
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014e9d0
cmp esi, 0xe57f80c
je 0x1014ea0f
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x1014e980
mov eax, edi
jmp 0x1014e94c
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x1014e94c
mov eax, dword [0x1036f6b8]
movq xmm0, qword [esi + eax]
movq qword [edi + 0x34], xmm0
mov eax, dword [esi + eax + 8]
mov dword [edi + 0x3c], eax
mov eax, dword [0x10370f14]
test al, 1
jne 0x1014eb7d
or eax, 1
mov dword [0x10370f14], eax
mov dword [ebp - 4], 3
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
je 0x1014eaaa
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1014ea9c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014ea73
xor edx, edx
test ecx, ecx
je 0x1014ea9c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014ea80
cmp esi, 0x1eee87cc
je 0x1014eac3
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
jne 0x1014ea60
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x20]
mov dword [0x1036f6d8], eax
jmp 0x1014eb82
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1014eb68
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014eb14
cmp dword [ecx + 4], 0
jle 0x1014eb14
push 0
mov edx, 0x7d388d3e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014eb11
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014eb20
xor edx, edx
test ecx, ecx
je 0x1014eb4c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014eb30
cmp esi, 0x7d388d3e
je 0x1014eb6f
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x1014eae0
mov eax, edi
jmp 0x1014eaac
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x1014eaac
mov eax, dword [0x1036f6d8]
movq xmm0, qword [esi + eax]
movq qword [edi + 0x40], xmm0
mov eax, dword [esi + eax + 8]
mov dword [edi + 0x48], eax
mov eax, dword [esi + 0x2920]
mov esi, dword [esi + 0x2914]
lea ecx, [eax + eax*2]
lea eax, [edi + 0x50]
shl ecx, 4
mov edi, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x14]
rep movsb byte es:[edi], byte [esi]
mov edi, dword [eax + 8]
mov eax, dword [edi + 8]
mov esi, dword [0x107ef998]
add esi, 0xfaacd160
mov dword [ebp - 0x18], edi
lea ecx, [edi + 8]
xor esi, 0x7af747a1
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x394
add eax, esi
je 0x1014f2b4
mov esi, dword [ebx + 0x14]
mov eax, 0xd380
mov ecx, 0x84
cmp byte [esi + 0xc], 0
cmove eax, ecx
movss xmm0, dword [eax + esi + 8]
movss xmm2, dword [eax + esi]
movss xmm1, dword [eax + esi + 4]
movss dword [ebp - 0x68], xmm0
mov eax, dword [ebp - 0x68]
unpcklps xmm2, xmm1
mov dword [ebp - 0x50], eax
mov eax, dword [0x10370f48]
movq qword [ebp - 0x70], xmm2
movups xmmword [ebp - 0x90], xmm2
test al, 1
jne 0x1014ed6d
or eax, 1
mov dword [0x10370f48], eax
mov dword [ebp - 4], 4
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
je 0x1014ec9a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1014ec8c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1014ec63
xor edx, edx
test ecx, ecx
je 0x1014ec8c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014ec70
cmp esi, 0x1eee87cc
je 0x1014ecba
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
jne 0x1014ec50
xor eax, eax
mov esi, dword [ebx + 0x14]
mov dword [ebp - 4], 0xffffffff
movups xmm2, xmmword [ebp - 0x90]
mov edi, dword [ebp - 0x18]
mov dword [0x10370f8c], eax
jmp 0x1014ed72
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1014ed58
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x48], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014ed07
cmp dword [ecx + 4], 0
jle 0x1014ed07
push 0
mov edx, 0x559d81af
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014ed04
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1014ed10
xor edx, edx
test ecx, ecx
je 0x1014ed3c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014ed20
cmp esi, 0x559d81af
je 0x1014ed5f
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x1014ecd3
mov eax, edi
jmp 0x1014ec9c
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1014ec9c
mov eax, dword [0x10370f8c]
mov ecx, dword [ebp - 0x50]
movq qword [edi + eax], xmm2
mov dword [edi + eax + 8], ecx
lea ecx, [ebp - 0x70]
mov eax, dword [0x103bb7bc]
push ecx
mov ecx, edi
call eax
mov eax, dword [esi + 0xbc]
movq xmm0, qword [esi + 0xb4]
mov dword [ebp - 0x48], eax
mov eax, dword [0x10370f14]
movq qword [ebp - 0x88], xmm0
test al, 1
jne 0x1014eee9
or eax, 1
mov dword [0x10370f14], eax
mov dword [ebp - 4], 5
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
je 0x1014ee1a
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1014ee0c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1014ede3
xor edx, edx
test ecx, ecx
je 0x1014ee0c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014edf0
cmp esi, 0x1eee87cc
je 0x1014ee3b
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
jne 0x1014edd0
xor eax, eax
mov esi, dword [ebx + 0x14]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x88]
mov edi, dword [ebp - 0x18]
mov dword [0x1036f6d8], eax
jmp 0x1014eeee
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1014eed4
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x50], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014ee88
cmp dword [ecx + 4], 0
jle 0x1014ee88
push 0
mov edx, 0x7d388d3e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014ee85
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1014ee91
xor edx, edx
test ecx, ecx
je 0x1014eebc
nop
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014eea0
cmp esi, 0x7d388d3e
je 0x1014eedb
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x1014ee54
mov eax, edi
jmp 0x1014ee1c
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1014ee1c
mov eax, dword [0x1036f6d8]
mov ecx, dword [ebp - 0x48]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov eax, dword [esi + 0xb0]
movq xmm0, qword [esi + 0xa8]
mov dword [ebp - 0x48], eax
mov eax, dword [0x1036f6a0]
movq qword [ebp - 0x88], xmm0
test al, 1
jne 0x1014f05d
or eax, 1
mov dword [0x1036f6a0], eax
mov dword [ebp - 4], 6
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
je 0x1014ef8a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1014ef7c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014ef53
xor edx, edx
test ecx, ecx
je 0x1014ef7c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014ef60
cmp esi, 0x1eee87cc
je 0x1014efa8
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
jne 0x1014ef40
xor eax, eax
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x88]
mov edi, dword [ebp - 0x18]
mov dword [0x1036f6b8], eax
jmp 0x1014f062
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1014f048
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x50], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014eff5
cmp dword [ecx + 4], 0
jle 0x1014eff5
push 0
mov edx, 0xe57f80c
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014eff2
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014f000
xor edx, edx
test ecx, ecx
je 0x1014f02c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014f010
cmp esi, 0xe57f80c
je 0x1014f04f
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x1014efc1
mov eax, edi
jmp 0x1014ef8c
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1014ef8c
mov eax, dword [0x1036f6b8]
mov ecx, dword [ebp - 0x48]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov ecx, dword [0x1036f6f4]
test cl, 1
jne 0x1014f1bb
or ecx, 1
mov dword [0x1036f6f4], ecx
mov dword [ebp - 4], 7
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
je 0x1014f0ea
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1014f0dc
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014f0b3
xor edx, edx
test ecx, ecx
je 0x1014f0dc
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014f0c0
cmp esi, 0x54aff69
je 0x1014f10a
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
jne 0x1014f0a0
xor edi, edi
lea edx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x1036f6f4]
mov edi, dword [ebp - 0x18]
mov dword [0x1036f66c], edx
jmp 0x1014f1c1
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1014f0ec
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x50], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014f154
cmp dword [ecx + 4], 0
jle 0x1014f154
push 0
mov edx, 0xddac019e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014f151
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014f160
xor edx, edx
test ecx, ecx
je 0x1014f18c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014f170
cmp esi, 0xddac019e
je 0x1014f1ad
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jge 0x1014f0ec
jmp 0x1014f120
mov eax, dword [ebp - 0x50]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x1014f0ec
mov edx, dword [0x1036f66c]
lea eax, [edi + edx]
test eax, eax
je 0x1014f1f7
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x103bb6dc]
test eax, eax
je 0x1014f1e2
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 0x1014f283
or ecx, 1
mov dword [0x1036f6f4], ecx
mov dword [ebp - 4], 8
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
je 0x1014f26e
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1014f260
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014f233
xor edx, edx
test ecx, ecx
je 0x1014f260
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014f240
cmp esi, 0x54aff69
je 0x1014f59a
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1036cbb4]
jne 0x1014f220
xor edi, edi
lea edx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x18]
mov dword [0x1036f66c], edx
add edx, edi
je 0x1014f2b4
mov eax, dword [edi + 0x2920]
mov edi, dword [edi + 0x2914]
mov esi, dword [ebp - 0x28]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x18]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 0x2920]
mov edi, dword [edx]
mov esi, dword [ebp - 0x28]
lea ecx, [eax + eax*2]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x10]
movq xmm0, qword [ebx + 8]
movss xmm3, dword [ebx + 8]
movss xmm2, dword [ebx + 0xc]
movq qword [ebp - 0xa8], xmm0
movss xmm0, dword [ebx + 0x10]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x38]
subss xmm0, dword [eax + 0x20]
subss xmm3, dword [eax + 0x18]
subss xmm2, dword [eax + 0x1c]
movss dword [ebp - 0x48], xmm0
movaps xmm1, xmm3
movss dword [ebp - 0x2c], xmm3
movaps xmm0, xmm2
mulss xmm1, xmm3
mulss xmm0, xmm2
addss xmm0, xmm1
call fcn.1000da70
divss xmm2, xmm3
movss dword [ebp - 0x50], xmm0
movaps xmm0, xmm2
call fcn.1021c94e
mulss xmm0, dword [0x102ba980]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [0x102bab58]
divss xmm0, dword [ebp - 0x50]
mulss xmm0, dword [ebp - 0x48]
call fcn.1021c94e
movss dword [ebp - 0x50], xmm0
xorps xmm7, xmm7
movss xmm0, dword [ebp - 0x2c]
comiss xmm0, xmm7
movss xmm0, dword [ebp - 0x30]
jb 0x1014f360
addss xmm0, dword [0x102baa28]
mulss xmm0, dword [0x102ba678]
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0x20]
movaps xmm2, xmm0
call fcn.10134050
movss xmm2, dword [ebp - 0x50]
lea edx, [ebp - 0x50]
xorps xmm2, xmmword [0x102baf90]
lea ecx, [ebp - 0x2c]
call fcn.10134050
xorps xmm2, xmm2
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x1c]
call fcn.10134050
movss xmm5, dword [ebp - 0x50]
xor esi, esi
movss xmm2, dword [ebp - 0x2c]
movaps xmm1, xmm5
mulss xmm1, dword [ebp - 0x20]
movaps xmm0, xmm5
mov edi, dword [ebx + 0x20]
movss xmm4, dword [ebp - 0x48]
movss xmm3, dword [ebp - 0x1c]
movss xmm7, dword [ebp - 0x30]
mulss xmm7, dword [ebp - 0x20]
mov dword [ebp - 0x9c], 0
mulss xmm0, xmm4
mov dword [ebp - 0x98], 0
movss dword [ebp - 0x5c], xmm1
movaps xmm1, xmm2
xorps xmm1, xmmword [0x102baf90]
movss dword [ebp - 0x58], xmm0
movaps xmm0, xmm4
movss dword [ebp - 0x60], xmm1
movaps xmm1, xmm3
mulss xmm1, xmm2
mov dword [ebp - 0x94], 0
movss xmm6, dword [ebp - 0x30]
mulss xmm0, xmm1
subss xmm7, xmm0
movss xmm0, dword [ebp - 0x30]
mulss xmm0, dword [0x102bab58]
mulss xmm0, xmm4
movss dword [ebp - 0x50], xmm7
movaps xmm7, xmm4
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x20]
mulss xmm0, xmm1
movss xmm1, dword [ebp - 0x1c]
subss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x102bab58]
mulss xmm0, xmm5
movss dword [ebp - 0x1c], xmm1
movaps xmm1, xmm6
mulss xmm1, xmm2
movss xmm2, dword [ebp - 0x20]
movss dword [ebp - 0x48], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm2
mulss xmm7, xmm1
mulss xmm2, xmm1
mulss xmm3, xmm4
addss xmm7, xmm0
mulss xmm6, xmm5
subss xmm2, xmm3
movss dword [ebp - 0x68], xmm7
xorps xmm7, xmm7
movss dword [ebp - 0x78], xmm6
movss dword [ebp - 0x84], xmm2
mov eax, dword [0x1036cbe4]
movaps xmm1, xmm2
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x54]
movss xmm5, dword [ebp - 0x50]
movss xmm3, dword [esi + eax + 8]
movss xmm4, dword [ebp - 0x1c]
mulss xmm3, dword [edx + ecx + 0x23c]
movss xmm6, dword [ebp - 0x48]
movss xmm2, dword [ebp - 0x78]
movaps xmm0, xmm3
mulss xmm3, dword [esi + eax + 4]
mulss xmm0, dword [esi + eax]
mulss xmm1, xmm3
mulss xmm4, xmm0
mulss xmm5, xmm0
addss xmm4, dword [ebp - 0x5c]
mulss xmm6, xmm0
movss xmm0, dword [ebp - 0x68]
addss xmm5, dword [ebp - 0x58]
addss xmm6, dword [ebp - 0x60]
mulss xmm0, xmm3
addss xmm4, xmm1
mulss xmm2, xmm3
addss xmm5, xmm0
movaps xmm1, xmm4
mulss xmm1, xmm4
addss xmm6, xmm2
movaps xmm0, xmm5
mulss xmm0, xmm5
addss xmm0, xmm1
movaps xmm1, xmm6
mulss xmm1, xmm6
addss xmm0, xmm1
call fcn.1000da70
addss xmm0, dword [0x102ba60c]
movss xmm1, dword [0x102ba7b4]
divss xmm1, xmm0
mulss xmm4, xmm1
mulss xmm5, xmm1
ucomiss xmm4, xmm7
movss dword [ebp - 0x2c], xmm5
movss dword [ebp - 0x30], xmm4
lahf
mulss xmm6, xmm1
test ah, 0x44
jp 0x1014f655
ucomiss xmm5, xmm7
lahf
test ah, 0x44
jp 0x1014f655
comiss xmm6, xmm7
xorps xmm2, xmm2
jbe 0x1014f64b
movss xmm7, dword [0x102baa64]
jmp 0x1014f6c7
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1014f270
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x50], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014f5e7
cmp dword [ecx + 4], 0
jle 0x1014f5e7
push 0
mov edx, 0xddac019e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014f5e4
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014f5f0
xor edx, edx
test ecx, ecx
je 0x1014f61c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014f600
cmp esi, 0xddac019e
je 0x1014f63d
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jge 0x1014f270
jmp 0x1014f5b3
mov eax, dword [ebp - 0x50]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x1014f270
movss xmm7, dword [0x102ba9c0]
jmp 0x1014f6c7
fld dword [ebp - 0x30]
fld dword [ebp - 0x2c]
fpatan
movss xmm3, dword [0x102ba97c]
movss xmm1, dword [0x102baa78]
fstp dword [ebp - 0x30]
movss xmm2, dword [ebp - 0x30]
mulss xmm2, xmm3
comiss xmm7, xmm2
jbe 0x1014f682
addss xmm2, xmm1
mulss xmm4, xmm4
mulss xmm5, xmm5
addss xmm4, xmm5
movaps xmm0, xmm4
call fcn.1000da70
xorps xmm6, xmmword [0x102baf90]
movss dword [ebp - 0x30], xmm6
fld dword [ebp - 0x30]
movss dword [ebp - 0x2c], xmm0
xorps xmm0, xmm0
fld dword [ebp - 0x2c]
fpatan
fstp dword [ebp - 0x30]
movss xmm7, dword [ebp - 0x30]
mulss xmm7, xmm3
comiss xmm0, xmm7
jbe 0x1014f6c7
addss xmm7, xmm1
mulss xmm2, dword [0x102ba678]
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
call fcn.10134050
mulss xmm7, dword [0x102ba678]
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x18]
movaps xmm2, xmm7
call fcn.10134050
movss xmm6, dword [ebp - 0x2c]
movss xmm3, dword [ebp - 0x30]
movss xmm4, dword [ebp - 0x18]
xorps xmm4, xmmword [0x102baf90]
mulss xmm3, xmm6
mulss xmm6, dword [ebp - 0x20]
movaps xmm1, xmm3
mulss xmm1, xmm3
movaps xmm0, xmm6
mulss xmm0, xmm6
addss xmm0, xmm1
movaps xmm1, xmm4
mulss xmm1, xmm4
addss xmm0, xmm1
call fcn.1000da70
addss xmm0, dword [0x102ba60c]
movss xmm5, dword [0x102ba7b4]
lea edx, [ebp - 0x9c]
mov eax, dword [0x10bbb620]
lea ecx, [ebp - 0xa8]
push dword [ebx + 0x14]
add eax, 0x91761abb
divss xmm5, xmm0
xor eax, 0xfd410b50
mov eax, dword [eax + 0x13c]
movss xmm0, dword [eax + 0x10c]
mov eax, dword [ebp - 0x38]
movaps xmm2, xmm5
push dword [ebp - 0x28]
movaps xmm1, xmm5
mulss xmm2, xmm3
push dword [eax + 4]
mulss xmm1, xmm6
push dword [ebp - 0x14]
mulss xmm5, xmm4
mulss xmm2, xmm0
mulss xmm1, xmm0
addss xmm2, dword [ebp - 0xa8]
mulss xmm5, xmm0
addss xmm1, dword [ebp - 0xa4]
addss xmm5, dword [ebp - 0xa0]
movss dword [ebp - 0x9c], xmm2
movss dword [ebp - 0x98], xmm1
movss dword [ebp - 0x94], xmm5
call fcn.10142f50
add esp, 0x10
test al, al
mov eax, dword [ebp - 0x24]
je 0x1014f7fa
inc eax
mov dword [ebp - 0x24], eax
test edi, edi
je 0x1014f811
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102ba668]
movss dword [edi], xmm0
movss xmm2, dword [ebp - 0x84]
add esi, 0xc
xorps xmm7, xmm7
cmp esi, 0x600
jl 0x1014f4a4
mov edi, dword [ebp - 0x14]
mov eax, dword [edi + 0x18]
movq xmm0, qword [edi + 0x10]
mov esi, dword [edi + 8]
mov dword [ebp - 0x78], eax
mov eax, dword [0x10370f48]
mov dword [ebp - 0x18], esi
movq qword [ebp - 0x70], xmm0
test al, 1
jne 0x1014f990
or eax, 1
mov dword [0x10370f48], eax
mov dword [ebp - 4], 9
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x38], eax
cmp eax, dword [0x1036cbb4]
je 0x1014f8ba
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1014f8ac
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014f883
xor edx, edx
test ecx, ecx
je 0x1014f8ac
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014f890
cmp esi, 0x1eee87cc
je 0x1014f8d8
mov eax, dword [ebp - 0x38]
add eax, 4
mov dword [ebp - 0x38], eax
cmp eax, dword [0x1036cbb4]
jne 0x1014f870
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x70]
mov esi, dword [ebp - 0x18]
mov dword [0x10370f8c], eax
jmp 0x1014f995
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x38], edi
cmp dword [eax + 4], edi
jle 0x1014f978
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x84], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014f928
cmp dword [ecx + 4], 0
jle 0x1014f928
push 0
mov edx, 0x559d81af
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014f925
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014f931
xor edx, edx
test ecx, ecx
je 0x1014f95c
nop
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014f940
cmp esi, 0x559d81af
je 0x1014f97f
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x1014f8f1
mov eax, edi
jmp 0x1014f8bc
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1014f8bc
mov eax, dword [0x10370f8c]
mov ecx, dword [ebp - 0x78]
movq qword [esi + eax], xmm0
mov dword [esi + eax + 8], ecx
lea ecx, [edi + 0x1c]
mov eax, dword [0x103bb7bc]
push ecx
mov ecx, esi
call eax
mov eax, dword [edi + 0x30]
movq xmm0, qword [edi + 0x28]
mov dword [ebp - 0x78], eax
mov eax, dword [0x1036f668]
movq qword [ebp - 0x70], xmm0
test al, 1
jne 0x1014fb10
or eax, 1
mov dword [0x1036f668], eax
mov dword [ebp - 4], 0xa
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x38], eax
cmp eax, dword [0x1036cbb4]
je 0x1014fa3a
nop word [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1014fa2c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014fa03
xor edx, edx
test ecx, ecx
je 0x1014fa2c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014fa10
cmp esi, 0x72e242a1
je 0x1014fa58
mov eax, dword [ebp - 0x38]
add eax, 4
mov dword [ebp - 0x38], eax
cmp eax, dword [0x1036cbb4]
jne 0x1014f9f0
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x70]
mov esi, dword [ebp - 0x18]
mov dword [0x1036f700], eax
jmp 0x1014fb15
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x38], edi
cmp dword [eax + 4], edi
jle 0x1014faf8
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x84], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014faa8
cmp dword [ecx + 4], 0
jle 0x1014faa8
push 0
mov edx, 0xf3c2c786
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014faa5
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014fab1
xor edx, edx
test ecx, ecx
je 0x1014fadc
nop
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014fac0
cmp esi, 0xf3c2c786
je 0x1014faff
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x1014fa71
mov eax, edi
jmp 0x1014fa3c
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1014fa3c
mov eax, dword [0x1036f700]
mov ecx, dword [ebp - 0x78]
movq qword [esi + eax], xmm0
mov dword [esi + eax + 8], ecx
mov eax, dword [edi + 0x48]
movq xmm0, qword [edi + 0x40]
mov dword [ebp - 0x78], eax
mov eax, dword [0x10370f14]
movq qword [ebp - 0x70], xmm0
test al, 1
jne 0x1014fc80
or eax, 1
mov dword [0x10370f14], eax
mov dword [ebp - 4], 0xb
mov eax, dword [0x1036cbb0]
mov ecx, dword [0x1036cbb4]
mov dword [ebp - 0x38], eax
cmp eax, ecx
je 0x1014fbac
nop
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1014fb9f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014fb73
xor edx, edx
test ecx, ecx
je 0x1014fb99
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014fb80
cmp esi, 0x1eee87cc
je 0x1014fbca
mov ecx, dword [0x1036cbb4]
mov eax, dword [ebp - 0x38]
add eax, 4
mov dword [ebp - 0x38], eax
cmp eax, ecx
jne 0x1014fb60
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x70]
mov esi, dword [ebp - 0x18]
mov dword [0x1036f6d8], eax
jmp 0x1014fc85
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x38], edi
cmp dword [eax + 4], edi
jle 0x1014fc68
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x84], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014fc1a
cmp dword [ecx + 4], 0
jle 0x1014fc1a
push 0
mov edx, 0x7d388d3e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014fc17
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014fc23
xor edx, edx
test ecx, ecx
je 0x1014fc4c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014fc30
cmp esi, 0x7d388d3e
je 0x1014fc6f
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x1014fbe3
mov eax, edi
jmp 0x1014fbae
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1014fbae
mov eax, dword [0x1036f6d8]
mov ecx, dword [ebp - 0x78]
movq qword [esi + eax], xmm0
mov dword [esi + eax + 8], ecx
mov eax, dword [edi + 0x3c]
movq xmm0, qword [edi + 0x34]
mov dword [ebp - 0x78], eax
mov eax, dword [0x1036f6a0]
movq qword [ebp - 0x70], xmm0
test al, 1
jne 0x1014fdf0
or eax, 1
mov dword [0x1036f6a0], eax
mov dword [ebp - 4], 0xc
mov eax, dword [0x1036cbb0]
mov ecx, dword [0x1036cbb4]
mov dword [ebp - 0x38], eax
cmp eax, ecx
je 0x1014fd1c
nop
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1014fd0f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014fce3
xor edx, edx
test ecx, ecx
je 0x1014fd09
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014fcf0
cmp esi, 0x1eee87cc
je 0x1014fd37
mov ecx, dword [0x1036cbb4]
mov eax, dword [ebp - 0x38]
add eax, 4
mov dword [ebp - 0x38], eax
cmp eax, ecx
jne 0x1014fcd0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x70]
mov esi, dword [ebp - 0x18]
mov dword [0x1036f6b8], eax
jmp 0x1014fdf5
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x38], edi
cmp dword [eax + 4], edi
jle 0x1014fdd8
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x84], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014fd87
cmp dword [ecx + 4], 0
jle 0x1014fd87
push 0
mov edx, 0xe57f80c
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014fd84
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014fd90
xor edx, edx
test ecx, ecx
je 0x1014fdbc
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014fda0
cmp esi, 0xe57f80c
je 0x1014fddf
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x1014fd50
mov eax, edi
jmp 0x1014fd1e
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1014fd1e
mov eax, dword [0x1036f6b8]
mov ecx, dword [ebp - 0x78]
movq qword [esi + eax], xmm0
mov dword [esi + eax + 8], ecx
mov ecx, dword [0x1036f6f4]
test cl, 1
jne 0x1014ff4e
or ecx, 1
mov dword [0x1036f6f4], ecx
mov dword [ebp - 4], 0xd
mov eax, dword [0x1036cbb0]
mov ecx, dword [0x1036cbb4]
mov dword [ebp - 0x38], eax
cmp eax, ecx
je 0x1014fe7e
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1014fe71
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014fe45
xor edx, edx
test ecx, ecx
je 0x1014fe6b
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014fe52
cmp esi, 0x54aff69
je 0x1014fe9e
mov ecx, dword [0x1036cbb4]
mov eax, dword [ebp - 0x38]
add eax, 4
mov dword [ebp - 0x38], eax
cmp eax, ecx
jne 0x1014fe32
xor edi, edi
lea edx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x1036f6f4]
mov esi, dword [ebp - 0x18]
mov dword [0x1036f66c], edx
jmp 0x1014ff54
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x38], edi
cmp dword [eax + 4], edi
jle 0x1014fe80
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x84], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014feea
cmp dword [ecx + 4], 0
jle 0x1014feea
push 0
mov edx, 0xddac019e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014fee7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014fef3
xor edx, edx
test ecx, ecx
je 0x1014ff1c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014ff00
cmp esi, 0xddac019e
je 0x1014ff3d
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jge 0x1014fe80
jmp 0x1014feb3
mov eax, dword [ebp - 0x84]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x1014fe80
mov edx, dword [0x1036f66c]
lea eax, [esi + edx]
test eax, eax
je 0x1014ff8a
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x103bb6dc]
test eax, eax
je 0x1014ff75
add eax, 0xa
mov eax, dword [eax]
mov eax, dword [eax]
dec eax
mov dword [esi + 0x2690], eax
mov dword [esi + 0x2924], 0xff7fffff
test cl, 1
jne 0x10150013
or ecx, 1
mov dword [0x1036f6f4], ecx
mov dword [ebp - 4], 0xe
mov eax, dword [0x1036cbb0]
mov ecx, dword [0x1036cbb4]
mov dword [ebp - 0x38], eax
cmp eax, ecx
je 0x10150005
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1014fff8
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014ffc8
xor edx, edx
test ecx, ecx
je 0x1014fff2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014ffd5
cmp esi, 0x54aff69
je 0x10150071
mov ecx, dword [0x1036cbb4]
mov eax, dword [ebp - 0x38]
add eax, 4
mov dword [ebp - 0x38], eax
cmp eax, ecx
jne 0x1014ffb5
xor edi, edi
mov esi, dword [ebp - 0x18]
lea edx, [edi + 0x1c]
mov dword [0x1036f66c], edx
add edx, esi
je 0x10150044
mov eax, dword [esi + 0x2920]
mov edi, dword [esi + 0x2914]
mov esi, dword [ebp - 0x3c]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x18]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 0x2920]
mov edi, dword [edx]
mov esi, dword [ebp - 0x3c]
lea ecx, [eax + eax*2]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
movd xmm0, dword [ebp - 0x24]
mov eax, dword [ebx + 0x18]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102ba668]
comiss xmm0, dword [eax]
setae al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x38], edi
cmp dword [eax + 4], edi
jle 0x10150007
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x84], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101500bd
cmp dword [ecx + 4], 0
jle 0x101500bd
push 0
mov edx, 0xddac019e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x101500ba
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x101500c6
xor edx, edx
test ecx, ecx
je 0x101500ef
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101500d3
cmp esi, 0xddac019e
je 0x10150110
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jge 0x10150007
jmp 0x10150086
mov eax, dword [ebp - 0x84]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x10150007