Function at 0x101404c0
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 0x101e17c7
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa8
push esi
push edi
mov eax, dword [0x1021b380]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [0x10bddfc0]
mov eax, dword [0x107001f0]
test cl, 1
jne 0x10140537
or ecx, 1
lea edx, [eax - 0x2a42fc37]
xor edx, 0xde9a561b
mov dword [0x10bddfc0], ecx
mov edx, dword [edx + 0x1bc]
mov dword [0x10bddfb8], edx
jmp 0x1014053d
mov edx, dword [0x10bddfb8]
test edx, edx
je 0x1014054f
mov ecx, dword [edx + 0x1c]
mov ecx, dword [ecx + 0x30]
xor ecx, edx
jne 0x101405dc
lea esi, [eax - 0x2a42fc37]
mov edi, dword [0x1070006c]
xor esi, 0xde9a561b
mov dword [ebp - 0x30], 0xa380
xor ecx, ecx
add edi, 0x38a0adc4
mov dword [ebp - 0x24], ecx
xor edi, 0x32e2e51c
mov dword [ebp - 0x4c], edi
mov eax, dword [esi + 0x158]
movss xmm0, dword [esi + 0x44]
addss xmm0, dword [0x102076f4]
mov ecx, dword [eax + 4]
mov eax, 0x1b4e81b5
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x96
sub ecx, eax
mov eax, dword [ebx + 0x14]
imul edx, ecx, 0xc8
mov ecx, 0xd3a0
cmp byte [eax + 0xc], 0
cmove ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x28], ecx
comiss xmm0, dword [edx + edi + 0x23c]
jb 0x101405f2
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 edi, dword [ebp - 0x14]
mov eax, dword [0x102b7018]
mov esi, dword [edi + 8]
mov dword [ebp - 0x20], esi
test al, 1
jne 0x1014074d
or eax, 1
mov dword [0x102b7018], eax
mov dword [ebp - 4], 0
mov eax, dword [0x102b3e88]
mov ecx, dword [0x102b3e8c]
mov dword [ebp - 0x1c], eax
cmp eax, ecx
je 0x1014067c
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1014066f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10140643
xor edx, edx
test ecx, ecx
je 0x10140669
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10140650
cmp esi, 0x1eee87cc
je 0x10140695
mov ecx, dword [0x102b3e8c]
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jne 0x10140630
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x20]
mov dword [0x102b705c], eax
jmp 0x10140752
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x10140738
xor ecx, ecx
mov dword [ebp - 0x30], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x40], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101406e4
cmp dword [ecx + 4], 0
jle 0x101406e4
push 0
mov edx, 0x559d81af
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x101406e1
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 [edi + ecx], 0
jne 0x101406f0
xor edx, edx
test ecx, ecx
je 0x1014071c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10140700
cmp esi, 0x559d81af
je 0x1014073f
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 0x101406b0
mov eax, edi
jmp 0x1014067e
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1014067e
mov eax, dword [0x102b705c]
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 [0x102b5740]
test al, 1
jne 0x101408cd
or eax, 1
mov dword [0x102b5740], eax
mov dword [ebp - 4], 1
mov eax, dword [0x102b3e88]
mov ecx, dword [0x102b3e8c]
mov dword [ebp - 0x30], eax
cmp eax, ecx
je 0x101407fc
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x101407ef
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x101407c3
xor edx, edx
test ecx, ecx
je 0x101407e9
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101407d0
cmp esi, 0x72e242a1
je 0x10140815
mov ecx, dword [0x102b3e8c]
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, ecx
jne 0x101407b0
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x20]
mov dword [0x102b57d8], eax
jmp 0x101408d2
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x101408b8
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x40], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10140864
cmp dword [ecx + 4], 0
jle 0x10140864
push 0
mov edx, 0xf3c2c786
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10140861
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 0x10140870
xor edx, edx
test ecx, ecx
je 0x1014089c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10140880
cmp esi, 0xf3c2c786
je 0x101408bf
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 0x10140830
mov eax, edi
jmp 0x101407fe
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x101407fe
mov eax, dword [0x102b57d8]
movq xmm0, qword [esi + eax]
movq qword [edi + 0x28], xmm0
mov eax, dword [esi + eax + 8]
mov dword [edi + 0x30], eax
mov eax, dword [0x102b5778]
test al, 1
jne 0x10140a2d
or eax, 1
mov dword [0x102b5778], eax
mov dword [ebp - 4], 2
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
je 0x1014095a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1014094c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10140923
xor edx, edx
test ecx, ecx
je 0x1014094c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10140930
cmp esi, 0x1eee87cc
je 0x10140973
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
jne 0x10140910
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x20]
mov dword [0x102b5790], eax
jmp 0x10140a32
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x10140a18
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x40], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101409c4
cmp dword [ecx + 4], 0
jle 0x101409c4
push 0
mov edx, 0xe57f80c
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x101409c1
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 0x101409d0
xor edx, edx
test ecx, ecx
je 0x101409fc
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101409e0
cmp esi, 0xe57f80c
je 0x10140a1f
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 0x10140990
mov eax, edi
jmp 0x1014095c
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x1014095c
mov eax, dword [0x102b5790]
movq xmm0, qword [esi + eax]
movq qword [edi + 0x34], xmm0
mov eax, dword [esi + eax + 8]
mov dword [edi + 0x3c], eax
mov eax, dword [0x102b6fe4]
test al, 1
jne 0x10140b8d
or eax, 1
mov dword [0x102b6fe4], eax
mov dword [ebp - 4], 3
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
je 0x10140aba
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10140aac
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10140a83
xor edx, edx
test ecx, ecx
je 0x10140aac
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10140a90
cmp esi, 0x1eee87cc
je 0x10140ad3
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
jne 0x10140a70
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x20]
mov dword [0x102b57b0], eax
jmp 0x10140b92
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x10140b78
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x40], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10140b24
cmp dword [ecx + 4], 0
jle 0x10140b24
push 0
mov edx, 0x7d388d3e
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10140b21
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 0x10140b30
xor edx, edx
test ecx, ecx
je 0x10140b5c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10140b40
cmp esi, 0x7d388d3e
je 0x10140b7f
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 0x10140af0
mov eax, edi
jmp 0x10140abc
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x10140abc
mov eax, dword [0x102b57b0]
movq xmm0, qword [esi + eax]
movq qword [edi + 0x40], xmm0
mov eax, dword [esi + eax + 8]
mov dword [edi + 0x48], eax
add edi, 0x50
mov eax, dword [esi + 0x2920]
mov esi, dword [esi + 0x2914]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x14]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov edi, dword [eax + 8]
mov eax, dword [edi + 8]
mov esi, dword [0x10700094]
add esi, 0xc37ae81e
mov dword [ebp - 0x18], edi
lea ecx, [edi + 8]
xor esi, 0xd6ff0c58
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x394
add eax, esi
je 0x101412c4
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 - 0x48], eax
mov eax, dword [0x102b7018]
movaps xmmword [ebp - 0xb0], xmm2
movq qword [ebp - 0x70], xmm2
test al, 1
jne 0x10140d7d
or eax, 1
mov dword [0x102b7018], eax
mov dword [ebp - 4], 4
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
je 0x10140caa
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10140c9c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10140c73
xor edx, edx
test ecx, ecx
je 0x10140c9c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10140c80
cmp esi, 0x1eee87cc
je 0x10140cca
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
jne 0x10140c60
xor eax, eax
mov esi, dword [ebx + 0x14]
mov dword [ebp - 4], 0xffffffff
movaps xmm2, xmmword [ebp - 0xb0]
mov edi, dword [ebp - 0x18]
mov dword [0x102b705c], eax
jmp 0x10140d82
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x10140d68
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x40], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10140d17
cmp dword [ecx + 4], 0
jle 0x10140d17
push 0
mov edx, 0x559d81af
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10140d14
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 0x10140d20
xor edx, edx
test ecx, ecx
je 0x10140d4c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10140d30
cmp esi, 0x559d81af
je 0x10140d6f
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 0x10140ce3
mov eax, edi
jmp 0x10140cac
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x10140cac
mov eax, dword [0x102b705c]
mov ecx, dword [ebp - 0x48]
movq qword [edi + eax], xmm2
mov dword [edi + eax + 8], ecx
lea ecx, [ebp - 0x70]
mov eax, dword [0x102cc008]
push ecx
mov ecx, edi
call eax
mov eax, dword [esi + 0xbc]
movq xmm0, qword [esi + 0xb4]
mov dword [ebp - 0x40], eax
mov eax, dword [0x102b6fe4]
movq qword [ebp - 0x80], xmm0
test al, 1
jne 0x10140efd
or eax, 1
mov dword [0x102b6fe4], eax
mov dword [ebp - 4], 5
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
je 0x10140e2a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10140e1c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10140df3
xor edx, edx
test ecx, ecx
je 0x10140e1c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10140e00
cmp esi, 0x1eee87cc
je 0x10140e48
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
jne 0x10140de0
xor eax, eax
mov esi, dword [ebx + 0x14]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x80]
mov edi, dword [ebp - 0x18]
mov dword [0x102b57b0], eax
jmp 0x10140f02
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x10140ee8
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 0x10140e95
cmp dword [ecx + 4], 0
jle 0x10140e95
push 0
mov edx, 0x7d388d3e
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10140e92
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 [edi + ecx], 0
jne 0x10140ea0
xor edx, edx
test ecx, ecx
je 0x10140ecc
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10140eb0
cmp esi, 0x7d388d3e
je 0x10140eef
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 0x10140e61
mov eax, edi
jmp 0x10140e2c
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x10140e2c
mov eax, dword [0x102b57b0]
mov ecx, dword [ebp - 0x40]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov eax, dword [esi + 0xb0]
movq xmm0, qword [esi + 0xa8]
mov dword [ebp - 0x40], eax
mov eax, dword [0x102b5778]
movq qword [ebp - 0x80], xmm0
test al, 1
jne 0x1014106d
or eax, 1
mov dword [0x102b5778], eax
mov dword [ebp - 4], 6
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
je 0x10140f9a
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10140f8c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10140f63
xor edx, edx
test ecx, ecx
je 0x10140f8c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10140f70
cmp esi, 0x1eee87cc
je 0x10140fb5
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
jne 0x10140f50
xor eax, eax
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x80]
mov edi, dword [ebp - 0x18]
mov dword [0x102b5790], eax
jmp 0x10141072
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x10141058
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x48], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10141004
cmp dword [ecx + 4], 0
jle 0x10141004
push 0
mov edx, 0xe57f80c
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10141001
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 [edi + ecx], 0
jne 0x10141010
xor edx, edx
test ecx, ecx
je 0x1014103c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10141020
cmp esi, 0xe57f80c
je 0x1014105f
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 0x10140fd0
mov eax, edi
jmp 0x10140f9c
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x10140f9c
mov eax, dword [0x102b5790]
mov ecx, dword [ebp - 0x40]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov ecx, dword [0x102b57cc]
test cl, 1
jne 0x101411cb
or ecx, 1
mov dword [0x102b57cc], ecx
mov dword [ebp - 4], 7
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
je 0x101410fa
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x101410ec
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x101410c3
xor edx, edx
test ecx, ecx
je 0x101410ec
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101410d0
cmp esi, 0x54aff69
je 0x1014111a
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
jne 0x101410b0
xor edi, edi
lea edx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x102b57cc]
mov edi, dword [ebp - 0x18]
mov dword [0x102b5744], edx
jmp 0x101411d1
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x101410fc
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x48], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10141164
cmp dword [ecx + 4], 0
jle 0x10141164
push 0
mov edx, 0xddac019e
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10141161
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 [edi + ecx], 0
jne 0x10141170
xor edx, edx
test ecx, ecx
je 0x1014119c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10141180
cmp esi, 0xddac019e
je 0x101411bd
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 0x101410fc
jmp 0x10141130
mov eax, dword [ebp - 0x48]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x101410fc
mov edx, dword [0x102b5744]
lea eax, [edi + edx]
test eax, eax
je 0x10141207
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x102cbf28]
test eax, eax
je 0x101411f2
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 0x10141293
or ecx, 1
mov dword [0x102b57cc], ecx
mov dword [ebp - 4], 8
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
je 0x1014127e
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10141270
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10141243
xor edx, edx
test ecx, ecx
je 0x10141270
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10141250
cmp esi, 0x54aff69
je 0x101415aa
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
jne 0x10141230
xor edi, edi
lea edx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x18]
mov dword [0x102b5744], edx
add edx, edi
je 0x101412c4
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]
movss xmm1, dword [ebx + 0x10]
movq xmm0, qword [ebx + 8]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x34]
movq qword [ebp - 0x98], xmm0
movss xmm0, dword [ebx + 0xc]
subss xmm1, dword [eax + 0x20]
subss xmm0, dword [eax + 0x1c]
movss dword [ebp - 0x40], xmm1
movss xmm1, dword [ebx + 8]
subss xmm1, dword [eax + 0x18]
movss dword [ebp - 0x48], xmm0
divss xmm0, xmm1
movss dword [ebp - 0x30], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
mulss xmm0, dword [0x10207a0c]
movss xmm1, dword [ebp - 0x48]
mulss xmm1, xmm1
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x30]
mulss xmm0, xmm0
addss xmm0, xmm1
call fcn.1000d600
movss xmm1, dword [0x10207bc8]
divss xmm1, xmm0
mulss xmm1, dword [ebp - 0x40]
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
movss dword [ebp - 0x48], xmm0
xorps xmm7, xmm7
movss xmm0, dword [ebp - 0x30]
comiss xmm0, xmm7
movss xmm0, dword [ebp - 0x2c]
jb 0x10141373
addss xmm0, dword [0x10207ab0]
mulss xmm0, dword [0x1020772c]
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x20]
movaps xmm2, xmm0
call fcn.10126010
movss xmm2, dword [ebp - 0x48]
lea edx, [ebp - 0x48]
xorps xmm2, xmmword [0x10208310]
lea ecx, [ebp - 0x2c]
call fcn.10126010
xorps xmm2, xmm2
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x1c]
call fcn.10126010
movss xmm5, dword [ebp - 0x48]
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 - 0x40]
movss xmm3, dword [ebp - 0x1c]
movss xmm7, dword [ebp - 0x30]
mulss xmm7, dword [ebp - 0x20]
mov dword [ebp - 0x8c], 0
mulss xmm0, xmm4
mov dword [ebp - 0x88], 0
movss dword [ebp - 0x58], xmm1
movaps xmm1, xmm2
xorps xmm1, xmmword [0x10208310]
movss dword [ebp - 0x54], xmm0
movaps xmm0, xmm4
movss dword [ebp - 0x5c], xmm1
movaps xmm1, xmm3
mulss xmm1, xmm2
mov dword [ebp - 0x84], 0
movss xmm6, dword [ebp - 0x30]
mulss xmm0, xmm1
subss xmm7, xmm0
movss xmm0, dword [ebp - 0x30]
mulss xmm0, dword [0x10207bc8]
mulss xmm0, xmm4
movss dword [ebp - 0x48], 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 [0x10207bc8]
mulss xmm0, xmm5
movss dword [ebp - 0x1c], xmm1
movaps xmm1, xmm6
mulss xmm1, xmm2
movss xmm2, dword [ebp - 0x20]
movss dword [ebp - 0x40], 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 - 0x7c], xmm2
mov eax, dword [0x102b3e94]
movaps xmm1, xmm2
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
movss xmm5, dword [ebp - 0x48]
movss xmm3, dword [esi + eax + 8]
movss xmm4, dword [ebp - 0x1c]
mulss xmm3, dword [edx + ecx + 0x23c]
movss xmm6, dword [ebp - 0x40]
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 - 0x58]
mulss xmm6, xmm0
movss xmm0, dword [ebp - 0x68]
addss xmm5, dword [ebp - 0x54]
addss xmm6, dword [ebp - 0x5c]
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.1000d600
addss xmm0, dword [0x102076cc]
movss xmm1, dword [0x1020785c]
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 0x10141665
ucomiss xmm5, xmm7
lahf
test ah, 0x44
jp 0x10141665
comiss xmm6, xmm7
xorps xmm2, xmm2
jbe 0x1014165b
movss xmm7, dword [0x10207aec]
jmp 0x101416d7
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x10141280
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 0x101415f7
cmp dword [ecx + 4], 0
jle 0x101415f7
push 0
mov edx, 0xddac019e
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x101415f4
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 0x10141600
xor edx, edx
test ecx, ecx
je 0x1014162c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10141610
cmp esi, 0xddac019e
je 0x1014164d
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 0x10141280
jmp 0x101415c3
mov eax, dword [ebp - 0x48]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x10141280
movss xmm7, dword [0x10207a4c]
jmp 0x101416d7
fld dword [ebp - 0x30]
fld dword [ebp - 0x2c]
fpatan
movss xmm3, dword [0x10207a08]
movss xmm1, dword [0x10207afc]
fstp dword [ebp - 0x30]
movss xmm2, dword [ebp - 0x30]
mulss xmm2, xmm3
comiss xmm7, xmm2
jbe 0x10141692
addss xmm2, xmm1
mulss xmm4, xmm4
mulss xmm5, xmm5
addss xmm4, xmm5
movaps xmm0, xmm4
call fcn.1000d600
xorps xmm6, xmmword [0x10208310]
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 0x101416d7
addss xmm7, xmm1
mulss xmm2, dword [0x1020772c]
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.10126010
mulss xmm7, dword [0x1020772c]
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x18]
movaps xmm2, xmm7
call fcn.10126010
movss xmm6, dword [ebp - 0x2c]
movss xmm3, dword [ebp - 0x30]
movss xmm4, dword [ebp - 0x18]
xorps xmm4, xmmword [0x10208310]
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.1000d600
addss xmm0, dword [0x102076cc]
movss xmm5, dword [0x1020785c]
lea edx, [ebp - 0x8c]
mov eax, dword [0x107001f0]
lea ecx, [ebp - 0x98]
push dword [ebx + 0x14]
add eax, 0xd5bd03c9
divss xmm5, xmm0
xor eax, 0xde9a561b
mov eax, dword [eax + 0x154]
movss xmm0, dword [eax + 0x10c]
push dword [ebp - 0x28]
movaps xmm2, xmm5
movaps xmm1, xmm5
mulss xmm5, xmm4
mulss xmm2, xmm3
mulss xmm5, xmm0
mulss xmm1, xmm6
addss xmm5, dword [ebp - 0x90]
mulss xmm2, xmm0
mulss xmm1, xmm0
addss xmm2, dword [ebp - 0x98]
movss dword [ebp - 0xa4], xmm5
mov eax, dword [ebp - 0xa4]
addss xmm1, dword [ebp - 0x94]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x34]
unpcklps xmm2, xmm1
push dword [eax + 4]
movq qword [ebp - 0x8c], xmm2
push dword [ebp - 0x14]
call fcn.10134fa0
add esp, 0x10
test al, al
mov eax, dword [ebp - 0x24]
je 0x10141811
inc eax
mov dword [ebp - 0x24], eax
test edi, edi
je 0x10141828
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1020771c]
movss dword [edi], xmm0
movss xmm2, dword [ebp - 0x7c]
add esi, 0xc
xorps xmm7, xmm7
cmp esi, 0x600
jl 0x101414b4
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 0x18]
movq xmm0, qword [esi + 0x10]
mov edi, dword [esi + 8]
mov dword [ebp - 0x78], eax
mov eax, dword [0x102b7018]
mov dword [ebp - 0x18], edi
movq qword [ebp - 0x70], xmm0
test al, 1
jne 0x1014199d
or eax, 1
mov dword [0x102b7018], eax
mov dword [ebp - 4], 9
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x34], eax
cmp eax, dword [0x102b3e8c]
je 0x101418ce
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x101418c0
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10141897
xor edx, edx
test ecx, ecx
je 0x101418c0
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101418a4
cmp esi, 0x1eee87cc
je 0x101418ec
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, dword [0x102b3e8c]
jne 0x10141884
xor eax, eax
mov esi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x70]
mov edi, dword [ebp - 0x18]
mov dword [0x102b705c], eax
jmp 0x101419a2
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x10141988
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x7c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10141939
cmp dword [ecx + 4], 0
jle 0x10141939
push 0
mov edx, 0x559d81af
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10141936
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 0x10141942
xor edx, edx
test ecx, ecx
je 0x1014196c
nop
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10141950
cmp esi, 0x559d81af
je 0x1014198f
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x10141905
mov eax, edi
jmp 0x101418d0
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x101418d0
mov eax, dword [0x102b705c]
mov ecx, dword [ebp - 0x78]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
lea eax, [esi + 0x1c]
mov edx, dword [0x102cc008]
mov ecx, edi
push eax
call edx
mov eax, dword [esi + 0x30]
movq xmm0, qword [esi + 0x28]
mov dword [ebp - 0x78], eax
mov eax, dword [0x102b5740]
movq qword [ebp - 0x70], xmm0
test al, 1
jne 0x10141b1d
or eax, 1
mov dword [0x102b5740], eax
mov dword [ebp - 4], 0xa
mov eax, dword [0x102b3e88]
mov ecx, dword [0x102b3e8c]
mov dword [ebp - 0x34], eax
cmp eax, ecx
je 0x10141a4c
nop word [eax + eax]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10141a3f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10141a13
xor edx, edx
test ecx, ecx
je 0x10141a39
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10141a20
cmp esi, 0x72e242a1
je 0x10141a6a
mov ecx, dword [0x102b3e8c]
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, ecx
jne 0x10141a00
xor eax, eax
mov esi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x70]
mov edi, dword [ebp - 0x18]
mov dword [0x102b57d8], eax
jmp 0x10141b22
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x10141b08
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x7c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10141ab7
cmp dword [ecx + 4], 0
jle 0x10141ab7
push 0
mov edx, 0xf3c2c786
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10141ab4
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 0x10141ac0
xor edx, edx
test ecx, ecx
je 0x10141aec
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10141ad0
cmp esi, 0xf3c2c786
je 0x10141b0f
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x10141a83
mov eax, edi
jmp 0x10141a4e
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x10141a4e
mov eax, dword [0x102b57d8]
mov ecx, dword [ebp - 0x78]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov eax, dword [esi + 0x48]
movq xmm0, qword [esi + 0x40]
mov dword [ebp - 0x78], eax
mov eax, dword [0x102b6fe4]
movq qword [ebp - 0x70], xmm0
test al, 1
jne 0x10141c8d
or eax, 1
mov dword [0x102b6fe4], eax
mov dword [ebp - 4], 0xb
mov eax, dword [0x102b3e88]
mov ecx, dword [0x102b3e8c]
mov dword [ebp - 0x34], eax
cmp eax, ecx
je 0x10141bbc
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10141baf
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10141b83
xor edx, edx
test ecx, ecx
je 0x10141ba9
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10141b90
cmp esi, 0x1eee87cc
je 0x10141bda
mov ecx, dword [0x102b3e8c]
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, ecx
jne 0x10141b70
xor eax, eax
mov esi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x70]
mov edi, dword [ebp - 0x18]
mov dword [0x102b57b0], eax
jmp 0x10141c92
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x10141c78
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x7c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10141c27
cmp dword [ecx + 4], 0
jle 0x10141c27
push 0
mov edx, 0x7d388d3e
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10141c24
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 0x10141c30
xor edx, edx
test ecx, ecx
je 0x10141c5c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10141c40
cmp esi, 0x7d388d3e
je 0x10141c7f
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x10141bf3
mov eax, edi
jmp 0x10141bbe
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x10141bbe
mov eax, dword [0x102b57b0]
mov ecx, dword [ebp - 0x78]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov eax, dword [esi + 0x3c]
movq xmm0, qword [esi + 0x34]
mov dword [ebp - 0x78], eax
mov eax, dword [0x102b5778]
movq qword [ebp - 0x70], xmm0
test al, 1
jne 0x10141dfd
or eax, 1
mov dword [0x102b5778], eax
mov dword [ebp - 4], 0xc
mov eax, dword [0x102b3e88]
mov ecx, dword [0x102b3e8c]
mov dword [ebp - 0x34], eax
cmp eax, ecx
je 0x10141d2c
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10141d1f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10141cf3
xor edx, edx
test ecx, ecx
je 0x10141d19
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10141d00
cmp esi, 0x1eee87cc
je 0x10141d47
mov ecx, dword [0x102b3e8c]
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, ecx
jne 0x10141ce0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x70]
mov edi, dword [ebp - 0x18]
mov dword [0x102b5790], eax
jmp 0x10141e02
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x10141de8
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x7c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10141d94
cmp dword [ecx + 4], 0
jle 0x10141d94
push 0
mov edx, 0xe57f80c
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10141d91
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 [edi + ecx], 0
jne 0x10141da0
xor edx, edx
test ecx, ecx
je 0x10141dcc
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10141db0
cmp esi, 0xe57f80c
je 0x10141def
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x10141d60
mov eax, edi
jmp 0x10141d2e
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x10141d2e
mov eax, dword [0x102b5790]
mov ecx, dword [ebp - 0x78]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov ecx, dword [0x102b57cc]
test cl, 1
jne 0x10141f5b
or ecx, 1
mov dword [0x102b57cc], ecx
mov dword [ebp - 4], 0xd
mov eax, dword [0x102b3e88]
mov ecx, dword [0x102b3e8c]
mov dword [ebp - 0x34], eax
cmp eax, ecx
je 0x10141e8c
nop
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10141e7f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10141e53
xor edx, edx
test ecx, ecx
je 0x10141e79
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10141e60
cmp esi, 0x54aff69
je 0x10141eac
mov ecx, dword [0x102b3e8c]
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, ecx
jne 0x10141e40
xor edi, edi
lea edx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x102b57cc]
mov edi, dword [ebp - 0x18]
mov dword [0x102b5744], edx
jmp 0x10141f61
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x10141e8e
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x7c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10141ef5
cmp dword [ecx + 4], 0
jle 0x10141ef5
push 0
mov edx, 0xddac019e
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10141ef2
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 [edi + ecx], 0
jne 0x10141f00
xor edx, edx
test ecx, ecx
je 0x10141f2c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10141f10
cmp esi, 0xddac019e
je 0x10141f4d
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jge 0x10141e8e
jmp 0x10141ec1
mov eax, dword [ebp - 0x7c]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x10141e8e
mov edx, dword [0x102b5744]
lea eax, [edi + edx]
test eax, eax
je 0x10141f97
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x102cbf28]
test eax, eax
je 0x10141f82
add eax, 0xa
mov eax, dword [eax]
mov eax, dword [eax]
dec eax
mov dword [edi + 0x2690], eax
mov dword [edi + 0x2924], 0xff7fffff
mov esi, dword [ebp - 0x14]
add esi, 0x50
mov dword [ebp - 0x2c], esi
test cl, 1
jne 0x10142031
or ecx, 1
mov dword [0x102b57cc], ecx
mov dword [ebp - 4], 0xe
mov eax, dword [0x102b3e88]
mov ecx, dword [0x102b3e8c]
mov dword [ebp - 0x34], eax
cmp eax, ecx
je 0x10142020
nop dword [eax + eax]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10142013
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10141fe3
xor edx, edx
test ecx, ecx
je 0x1014200d
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10141ff0
cmp esi, 0x54aff69
je 0x1014208c
mov ecx, dword [0x102b3e8c]
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, ecx
jne 0x10141fd0
xor edi, edi
mov esi, dword [ebp - 0x2c]
lea edx, [edi + 0x1c]
mov edi, dword [ebp - 0x18]
mov dword [0x102b5744], edx
add edx, edi
je 0x1014205f
mov eax, dword [edi + 0x2920]
mov edi, dword [edi + 0x2914]
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 - 0x2c]
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 [0x1020771c]
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 - 0x34], edi
cmp dword [eax + 4], edi
jle 0x10142022
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x7c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101420d5
cmp dword [ecx + 4], 0
jle 0x101420d5
push 0
mov edx, 0xddac019e
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x101420d2
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 [edi + ecx], 0
jne 0x101420e0
xor edx, edx
test ecx, ecx
je 0x1014210c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101420f0
cmp esi, 0xddac019e
je 0x1014212d
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jge 0x10142022
jmp 0x101420a1
mov eax, dword [ebp - 0x7c]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x10142022