Function at 0x1012a610
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 0x101d99c7
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x98
push esi
push edi
mov eax, dword [0x1026b040]
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 [0x10b11d48]
mov eax, dword [0x10633ee0]
test cl, 1
jne 0x1012a687
or ecx, 1
lea edx, [eax - 0x5487bcd]
xor edx, 0xc85d879a
mov dword [0x10b11d48], ecx
mov edx, dword [edx + 0x1bc]
mov dword [0x10b11d44], edx
jmp 0x1012a68d
mov edx, dword [0x10b11d44]
test edx, edx
je 0x1012a69f
mov ecx, dword [edx + 0x1c]
mov ecx, dword [ecx + 0x30]
xor ecx, edx
jne 0x1012a75a
mov ecx, dword [0x10633f04]
add ecx, 0x897f2db3
xor ecx, 0xe815bd9e
cmp byte [ecx + 0x1c], 0
jne 0x1012a6cd
cmp byte [ecx + 0x1d], 0
je 0x1012a6cd
cmp dword [ecx + 0x20], 0
jg 0x1012a6cd
cmp dword [ecx + 0xc], 1
je 0x1012a75a
lea esi, [eax - 0x5487bcd]
mov edi, dword [0x104d5f48]
xor esi, 0xc85d879a
mov dword [ebp - 0x30], 0x7b0
xor ecx, ecx
add edi, 0x3479199f
mov dword [ebp - 0x24], ecx
xor edi, 0xd3f15a3a
mov dword [ebp - 0x4c], edi
mov eax, dword [esi + 0x158]
movss xmm0, dword [esi + 0x44]
addss xmm0, dword [0x10257efc]
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, 0x37d0
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 0x1012a770
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 [0x103064f0]
mov esi, dword [edi + 8]
mov dword [ebp - 0x20], esi
test al, 1
jne 0x1012a8cd
or eax, 1
mov dword [0x103064f0], eax
mov dword [ebp - 4], 0
mov eax, dword [0x103030f8]
mov ecx, dword [0x103030fc]
mov dword [ebp - 0x1c], eax
cmp eax, ecx
je 0x1012a7fc
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1012a7ef
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x1012a7c0
xor edx, edx
test ecx, ecx
je 0x1012a7e9
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012a7d0
cmp esi, 0x1eee87cc
je 0x1012a815
mov ecx, dword [0x103030fc]
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jne 0x1012a7a7
xor eax, eax
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
mov dword [0x10306524], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1012a8d2
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x1012a8b8
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 0x1012a864
cmp dword [ecx + 4], 0
jle 0x1012a864
push 0
mov edx, 0x559d81af
call fcn.10115470
add esp, 4
test eax, eax
je 0x1012a861
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 0x1012a870
xor edx, edx
test ecx, ecx
je 0x1012a89c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012a880
cmp esi, 0x559d81af
je 0x1012a8bf
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 0x1012a830
mov eax, edi
jmp 0x1012a7fe
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1012a7fe
mov eax, dword [0x10306524]
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 [0x10304c70]
test al, 1
jne 0x1012aa4d
or eax, 1
mov dword [0x10304c70], eax
mov dword [ebp - 4], 1
mov eax, dword [0x103030f8]
mov ecx, dword [0x103030fc]
mov dword [ebp - 0x30], eax
cmp eax, ecx
je 0x1012a97c
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1012a96f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1012a943
xor edx, edx
test ecx, ecx
je 0x1012a969
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012a950
cmp esi, 0x72e242a1
je 0x1012a995
mov ecx, dword [0x103030fc]
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, ecx
jne 0x1012a930
xor eax, eax
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
mov dword [0x10304cc4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1012aa52
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1012aa38
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 0x1012a9e4
cmp dword [ecx + 4], 0
jle 0x1012a9e4
push 0
mov edx, 0xf3c2c786
call fcn.10115470
add esp, 4
test eax, eax
je 0x1012a9e1
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 [edi + ecx], 0
jne 0x1012a9f0
xor edx, edx
test ecx, ecx
je 0x1012aa1c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012aa00
cmp esi, 0xf3c2c786
je 0x1012aa3f
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 0x1012a9b0
mov eax, edi
jmp 0x1012a97e
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x1012a97e
mov eax, dword [0x10304cc4]
movq xmm0, qword [esi + eax]
movq qword [edi + 0x28], xmm0
mov eax, dword [esi + eax + 8]
mov dword [edi + 0x30], eax
mov eax, dword [0x10306570]
test al, 1
jne 0x1012abad
or eax, 1
mov dword [0x10306570], eax
mov dword [ebp - 4], 2
mov eax, dword [0x103030f8]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
je 0x1012aada
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1012aacc
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012aaa3
xor edx, edx
test ecx, ecx
je 0x1012aacc
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012aab0
cmp esi, 0x1eee87cc
je 0x1012aaf3
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
jne 0x1012aa90
xor eax, eax
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
mov dword [0x10307d94], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1012abb2
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1012ab98
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 0x1012ab44
cmp dword [ecx + 4], 0
jle 0x1012ab44
push 0
mov edx, 0xe57f80c
call fcn.10115470
add esp, 4
test eax, eax
je 0x1012ab41
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 0x1012ab50
xor edx, edx
test ecx, ecx
je 0x1012ab7c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012ab60
cmp esi, 0xe57f80c
je 0x1012ab9f
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 0x1012ab10
mov eax, edi
jmp 0x1012aadc
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x1012aadc
mov eax, dword [0x10307d94]
movq xmm0, qword [esi + eax]
movq qword [edi + 0x34], xmm0
mov eax, dword [esi + eax + 8]
mov dword [edi + 0x3c], eax
mov eax, dword [0x10307d9c]
test al, 1
jne 0x1012ad0d
or eax, 1
mov dword [0x10307d9c], eax
mov dword [ebp - 4], 3
mov eax, dword [0x103030f8]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
je 0x1012ac3a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1012ac2c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012ac03
xor edx, edx
test ecx, ecx
je 0x1012ac2c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012ac10
cmp esi, 0x1eee87cc
je 0x1012ac53
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
jne 0x1012abf0
xor eax, eax
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
mov dword [0x10307d98], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1012ad12
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1012acf8
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 0x1012aca4
cmp dword [ecx + 4], 0
jle 0x1012aca4
push 0
mov edx, 0x7d388d3e
call fcn.10115470
add esp, 4
test eax, eax
je 0x1012aca1
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 0x1012acb0
xor edx, edx
test ecx, ecx
je 0x1012acdc
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012acc0
cmp esi, 0x7d388d3e
je 0x1012acff
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 0x1012ac70
mov eax, edi
jmp 0x1012ac3c
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x1012ac3c
mov eax, dword [0x10307d98]
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 + 0x290c]
mov esi, dword [esi + 0x2900]
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 [0x104d5f6c]
add esi, 0x1f6b1a94
mov dword [ebp - 0x18], edi
lea ecx, [edi + 8]
xor esi, 0x33ad0c7d
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x390
add eax, esi
je 0x1012b444
mov esi, dword [ebx + 0x14]
mov eax, 0x37b0
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 - 0x60], xmm0
mov eax, dword [ebp - 0x60]
unpcklps xmm2, xmm1
mov dword [ebp - 0x48], eax
mov eax, dword [0x103064f0]
movaps xmmword [ebp - 0xa0], xmm2
movq qword [ebp - 0x68], xmm2
test al, 1
jne 0x1012aefd
or eax, 1
mov dword [0x103064f0], eax
mov dword [ebp - 4], 4
mov eax, dword [0x103030f8]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
je 0x1012ae2a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1012ae1c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012adf3
xor edx, edx
test ecx, ecx
je 0x1012ae1c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012ae00
cmp esi, 0x1eee87cc
je 0x1012ae4a
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
jne 0x1012ade0
xor eax, eax
mov esi, dword [ebx + 0x14]
mov dword [ebp - 4], 0xffffffff
movaps xmm2, xmmword [ebp - 0xa0]
mov edi, dword [ebp - 0x18]
mov dword [0x10306524], eax
jmp 0x1012af02
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1012aee8
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 0x1012ae97
cmp dword [ecx + 4], 0
jle 0x1012ae97
push 0
mov edx, 0x559d81af
call fcn.10115470
add esp, 4
test eax, eax
je 0x1012ae94
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 0x1012aea0
xor edx, edx
test ecx, ecx
je 0x1012aecc
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012aeb0
cmp esi, 0x559d81af
je 0x1012aeef
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 0x1012ae63
mov eax, edi
jmp 0x1012ae2c
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1012ae2c
mov eax, dword [0x10306524]
mov ecx, dword [ebp - 0x48]
movq qword [edi + eax], xmm2
mov dword [edi + eax + 8], ecx
lea ecx, [ebp - 0x68]
mov eax, dword [0x1031afe0]
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 [0x10307d9c]
movq qword [ebp - 0x78], xmm0
test al, 1
jne 0x1012b07d
or eax, 1
mov dword [0x10307d9c], eax
mov dword [ebp - 4], 5
mov eax, dword [0x103030f8]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
je 0x1012afaa
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1012af9c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1012af73
xor edx, edx
test ecx, ecx
je 0x1012af9c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012af80
cmp esi, 0x1eee87cc
je 0x1012afc8
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
jne 0x1012af60
xor eax, eax
mov esi, dword [ebx + 0x14]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x78]
mov edi, dword [ebp - 0x18]
mov dword [0x10307d98], eax
jmp 0x1012b082
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1012b068
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 0x1012b015
cmp dword [ecx + 4], 0
jle 0x1012b015
push 0
mov edx, 0x7d388d3e
call fcn.10115470
add esp, 4
test eax, eax
je 0x1012b012
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 0x1012b020
xor edx, edx
test ecx, ecx
je 0x1012b04c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b030
cmp esi, 0x7d388d3e
je 0x1012b06f
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 0x1012afe1
mov eax, edi
jmp 0x1012afac
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1012afac
mov eax, dword [0x10307d98]
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 [0x10306570]
movq qword [ebp - 0x78], xmm0
test al, 1
jne 0x1012b1ed
or eax, 1
mov dword [0x10306570], eax
mov dword [ebp - 4], 6
mov eax, dword [0x103030f8]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
je 0x1012b11a
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1012b10c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1012b0e3
xor edx, edx
test ecx, ecx
je 0x1012b10c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b0f0
cmp esi, 0x1eee87cc
je 0x1012b135
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
jne 0x1012b0d0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x78]
mov edi, dword [ebp - 0x18]
mov dword [0x10307d94], eax
jmp 0x1012b1f2
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1012b1d8
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 0x1012b184
cmp dword [ecx + 4], 0
jle 0x1012b184
push 0
mov edx, 0xe57f80c
call fcn.10115470
add esp, 4
test eax, eax
je 0x1012b181
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 0x1012b190
xor edx, edx
test ecx, ecx
je 0x1012b1bc
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b1a0
cmp esi, 0xe57f80c
je 0x1012b1df
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 0x1012b150
mov eax, edi
jmp 0x1012b11c
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1012b11c
mov eax, dword [0x10307d94]
mov ecx, dword [ebp - 0x40]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov ecx, dword [0x10304cbc]
test cl, 1
jne 0x1012b34b
or ecx, 1
mov dword [0x10304cbc], ecx
mov dword [ebp - 4], 7
mov eax, dword [0x103030f8]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
je 0x1012b27a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1012b26c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1012b243
xor edx, edx
test ecx, ecx
je 0x1012b26c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b250
cmp esi, 0x54aff69
je 0x1012b29a
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
jne 0x1012b230
xor edi, edi
lea edx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x10304cbc]
mov edi, dword [ebp - 0x18]
mov dword [0x10304c74], edx
jmp 0x1012b351
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1012b27c
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 0x1012b2e4
cmp dword [ecx + 4], 0
jle 0x1012b2e4
push 0
mov edx, 0xddac019e
call fcn.10115470
add esp, 4
test eax, eax
je 0x1012b2e1
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 0x1012b2f0
xor edx, edx
test ecx, ecx
je 0x1012b31c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b300
cmp esi, 0xddac019e
je 0x1012b33d
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 0x1012b27c
jmp 0x1012b2b0
mov eax, dword [ebp - 0x48]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x1012b27c
mov edx, dword [0x10304c74]
lea eax, [edi + edx]
test eax, eax
je 0x1012b387
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x1031af08]
test eax, eax
je 0x1012b372
add eax, 0xa
mov eax, dword [eax]
mov eax, dword [eax]
dec eax
mov dword [edi + 0x2680], eax
mov dword [edi + 0x2914], 0xff7fffff
test cl, 1
jne 0x1012b413
or ecx, 1
mov dword [0x10304cbc], ecx
mov dword [ebp - 4], 8
mov eax, dword [0x103030f8]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
je 0x1012b3fe
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1012b3f0
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012b3c3
xor edx, edx
test ecx, ecx
je 0x1012b3f0
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b3d0
cmp esi, 0x54aff69
je 0x1012b520
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
jne 0x1012b3b0
xor edi, edi
lea edx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x18]
mov dword [0x10304c74], edx
add edx, edi
je 0x1012b444
mov eax, dword [edi + 0x290c]
mov edi, dword [edi + 0x2900]
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 + 0x290c]
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 - 0x90], xmm0
movss xmm0, dword [ebx + 0x10]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x34]
subss xmm0, dword [eax + 0x20]
subss xmm3, dword [eax + 0x18]
subss xmm2, dword [eax + 0x1c]
movss dword [ebp - 0x40], xmm0
movaps xmm1, xmm3
movss dword [ebp - 0x2c], xmm3
movaps xmm0, xmm2
mulss xmm1, xmm3
mulss xmm0, xmm2
addss xmm0, xmm1
call fcn.1000c7e0
divss xmm2, xmm3
movss dword [ebp - 0x48], xmm0
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
mulss xmm0, dword [0x10258204]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [0x102583a8]
movss dword [ebp - 0x1c], xmm0
divss xmm0, dword [ebp - 0x48]
mulss xmm0, dword [ebp - 0x40]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
movss xmm1, dword [ebp - 0x2c]
xorps xmm6, xmm6
comiss xmm1, xmm6
movss xmm2, dword [ebp - 0x30]
movaps xmm3, xmm0
jb 0x1012b4f3
addss xmm2, dword [0x10258298]
mulss xmm2, dword [0x10257f30]
movss xmm7, dword [0x10257ff4]
comiss xmm2, xmm6
movaps xmm0, xmm2
mulss xmm0, dword [0x10257f80]
jb 0x1012b5db
addss xmm0, xmm7
jmp 0x1012b5df
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1012b400
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x48], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1012b574
cmp dword [ecx + 4], 0
jle 0x1012b574
push 0
mov edx, 0xddac019e
call fcn.10115470
add esp, 4
test eax, eax
je 0x1012b571
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 0x1012b580
xor edx, edx
test ecx, ecx
je 0x1012b5ac
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b590
cmp esi, 0xddac019e
je 0x1012b5cd
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 0x1012b400
jmp 0x1012b540
mov eax, dword [ebp - 0x48]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x1012b400
subss xmm0, xmm7
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10258124]
subss xmm2, xmm0
comiss xmm2, dword [0x10258078]
jbe 0x1012b609
movss xmm0, dword [0x102580f0]
jmp 0x1012b61e
movss xmm0, dword [0x102583b0]
comiss xmm0, xmm2
jbe 0x1012b634
movss xmm0, dword [0x102583c0]
subss xmm0, xmm2
movaps xmm2, xmm0
movss xmm0, dword [0x102583a8]
movss dword [ebp - 0x20], xmm0
jmp 0x1012b641
movss xmm1, dword [0x1025805c]
movss dword [ebp - 0x20], xmm1
movss xmm5, dword [0x10257ee0]
movaps xmm1, xmm2
movss xmm4, dword [0x10257eec]
mulss xmm1, xmm2
xorps xmm3, xmmword [0x10258b00]
comiss xmm3, xmm6
movaps xmm0, xmm1
mulss xmm0, dword [0x10257ed0]
subss xmm5, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x10257ed8]
subss xmm4, xmm0
mulss xmm5, xmm1
movaps xmm0, xmm3
mulss xmm0, dword [0x10257f80]
subss xmm5, dword [0x10257ef8]
mulss xmm4, xmm1
subss xmm4, dword [0x10257f08]
mulss xmm5, xmm1
addss xmm5, dword [0x10257f24]
mulss xmm4, xmm1
addss xmm4, dword [0x10257f48]
mulss xmm5, xmm1
subss xmm5, dword [0x10257f88]
mulss xmm4, xmm1
subss xmm4, xmm7
mulss xmm5, xmm1
addss xmm5, dword [0x1025805c]
mulss xmm4, xmm1
movss xmm1, dword [0x1025805c]
addss xmm4, xmm1
mulss xmm5, xmm2
movss dword [ebp - 0x70], xmm5
mulss xmm4, dword [ebp - 0x20]
movss dword [ebp - 0x60], xmm4
jb 0x1012b706
addss xmm0, xmm7
jmp 0x1012b70a
subss xmm0, xmm7
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10258124]
subss xmm3, xmm0
comiss xmm3, dword [0x10258078]
jbe 0x1012b73b
movss xmm0, dword [0x102580f0]
subss xmm0, xmm3
movaps xmm3, xmm0
jmp 0x1012b76b
movss xmm0, dword [0x102583b0]
comiss xmm0, xmm3
jbe 0x1012b766
movss xmm0, dword [0x102583c0]
subss xmm0, xmm3
movaps xmm3, xmm0
movss xmm0, dword [0x102583a8]
movss dword [ebp - 0x1c], xmm0
jmp 0x1012b76b
movss dword [ebp - 0x1c], xmm1
movss xmm1, dword [0x10257ee0]
movaps xmm2, xmm3
movss xmm6, dword [0x10257eec]
xor esi, esi
mulss xmm2, xmm3
mov edi, dword [ebx + 0x20]
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
movaps xmm0, xmm2
mov dword [ebp - 0x7c], 0
mulss xmm0, dword [0x10257ed0]
subss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [0x10257ed8]
subss xmm6, xmm0
mulss xmm1, xmm2
subss xmm1, dword [0x10257ef8]
movaps xmm0, xmm6
movss dword [ebp - 0x20], xmm6
mulss xmm0, xmm2
mulss xmm1, xmm2
subss xmm0, dword [0x10257f08]
addss xmm1, dword [0x10257f24]
mulss xmm0, xmm2
mulss xmm1, xmm2
addss xmm0, dword [0x10257f48]
movss dword [ebp - 0x48], xmm1
subss xmm1, dword [0x10257f88]
mulss xmm0, xmm2
mulss xmm1, xmm2
subss xmm0, xmm7
movss xmm7, dword [0x1025805c]
addss xmm1, dword [0x1025805c]
mulss xmm0, xmm2
mulss xmm1, xmm3
addss xmm0, xmm7
mulss xmm0, dword [ebp - 0x1c]
movaps xmm6, xmm0
movss dword [ebp - 0x20], xmm0
mulss xmm0, xmm5
mulss xmm6, xmm4
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [0x10257f88]
subss xmm0, dword [ebp - 0x48]
movss dword [ebp - 0x40], xmm6
xorps xmm6, xmm6
mulss xmm0, xmm2
movaps xmm2, xmm4
mulss xmm2, xmm1
subss xmm0, xmm7
movss dword [ebp - 0x74], xmm2
mulss xmm0, xmm3
movss dword [ebp - 0x58], xmm0
movaps xmm0, xmm5
mulss xmm0, xmm1
movss dword [ebp - 0x48], xmm0
nop word [eax + eax]
mov eax, dword [0x10303104]
movaps xmm0, xmm4
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
movss xmm4, dword [ebp - 0x54]
movss xmm3, dword [esi + eax + 8]
mulss xmm3, dword [edx + ecx + 0x23c]
movaps xmm1, xmm3
mulss xmm3, dword [esi + eax + 4]
mulss xmm1, dword [esi + eax]
mulss xmm0, xmm1
mulss xmm5, xmm1
movss xmm1, dword [ebp - 0x48]
subss xmm4, xmm0
mulss xmm1, xmm3
movaps xmm0, xmm2
addss xmm5, dword [ebp - 0x40]
movss xmm2, dword [ebp - 0x20]
mulss xmm0, xmm3
addss xmm4, xmm1
mulss xmm2, xmm3
movss xmm3, dword [ebp - 0x58]
addss xmm5, xmm0
movaps xmm1, xmm4
mulss xmm1, xmm4
addss xmm3, xmm2
movaps xmm0, xmm5
mulss xmm0, xmm5
addss xmm0, xmm1
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm0, xmm1
call fcn.1000c7e0
addss xmm0, dword [0x10257ed4]
movaps xmm1, xmm7
divss xmm1, xmm0
mulss xmm4, xmm1
mulss xmm5, xmm1
ucomiss xmm4, xmm6
mulss xmm3, xmm1
lahf
test ah, 0x44
jp 0x1012b966
ucomiss xmm5, xmm6
lahf
test ah, 0x44
jp 0x1012b966
comiss xmm3, xmm6
xorps xmm2, xmm2
jbe 0x1012b95c
movss xmm7, dword [0x102582d0]
jmp 0x1012b9c7
movss xmm7, dword [0x10258240]
jmp 0x1012b9c7
movaps xmm1, xmm5
movaps xmm0, xmm4
call fcn.100b2b30
movaps xmm2, xmm0
mulss xmm2, dword [0x10258200]
comiss xmm6, xmm2
jbe 0x1012b989
addss xmm2, dword [0x102582e0]
mulss xmm4, xmm4
mulss xmm5, xmm5
addss xmm4, xmm5
movaps xmm0, xmm4
call fcn.1000c7e0
xorps xmm3, xmmword [0x10258b00]
movaps xmm1, xmm0
movaps xmm0, xmm3
call fcn.100b2b30
movaps xmm7, xmm0
mulss xmm7, dword [0x10258200]
comiss xmm6, xmm7
jbe 0x1012b9c7
addss xmm7, dword [0x102582e0]
mulss xmm2, dword [0x10257f30]
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
call fcn.10110600
mulss xmm7, dword [0x10257f30]
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x18]
movaps xmm2, xmm7
call fcn.10110600
movss xmm5, dword [ebp - 0x2c]
movss xmm4, dword [ebp - 0x30]
movss xmm3, dword [ebp - 0x18]
xorps xmm3, xmmword [0x10258b00]
mulss xmm4, xmm5
mulss xmm5, dword [ebp - 0x1c]
movaps xmm1, xmm4
mulss xmm1, xmm4
movaps xmm0, xmm5
mulss xmm0, xmm5
addss xmm0, xmm1
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm0, xmm1
call fcn.1000c7e0
addss xmm0, dword [0x10257ed4]
movss xmm1, dword [0x1025805c]
lea edx, [ebp - 0x84]
mov eax, dword [0x10633ee0]
lea ecx, [ebp - 0x90]
push dword [ebx + 0x14]
movss xmm2, dword [ebp - 0x90]
add eax, 0xfab78433
divss xmm1, xmm0
xor eax, 0xc85d879a
mov eax, dword [eax + 0x154]
movss xmm0, dword [eax + 0x104]
push dword [ebp - 0x28]
mulss xmm3, xmm1
mulss xmm4, xmm1
mulss xmm5, xmm1
movss xmm1, dword [ebp - 0x8c]
mulss xmm3, xmm0
mulss xmm4, xmm0
mulss xmm5, xmm0
movss xmm0, dword [ebp - 0x88]
addss xmm2, xmm4
addss xmm0, xmm3
addss xmm1, xmm5
movss dword [ebp - 0x94], xmm0
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x34]
unpcklps xmm2, xmm1
movq qword [ebp - 0x84], xmm2
push dword [eax + 4]
push dword [ebp - 0x14]
call fcn.1011f170
add esp, 0x10
test al, al
mov eax, dword [ebp - 0x24]
je 0x1012bb04
inc eax
mov dword [ebp - 0x24], eax
test edi, edi
je 0x1012bb1b
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10257f20]
movss dword [edi], xmm0
movss xmm4, dword [ebp - 0x60]
add esi, 0xc
movss xmm5, dword [ebp - 0x70]
xorps xmm6, xmm6
movss xmm7, dword [0x1025805c]
movss xmm2, dword [ebp - 0x74]
cmp esi, 0x600
jl 0x1012b890
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 0x18]
movq xmm0, qword [esi + 0x10]
mov edi, dword [esi + 8]
mov dword [ebp - 0x70], eax
mov eax, dword [0x103064f0]
mov dword [ebp - 0x18], edi
movq qword [ebp - 0x68], xmm0
test al, 1
jne 0x1012bcad
or eax, 1
mov dword [0x103064f0], eax
mov dword [ebp - 4], 9
mov eax, dword [0x103030f8]
mov dword [ebp - 0x34], eax
cmp eax, dword [0x103030fc]
je 0x1012bbda
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1012bbcc
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1012bba3
xor edx, edx
test ecx, ecx
je 0x1012bbcc
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012bbb0
cmp esi, 0x1eee87cc
je 0x1012bbf8
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, dword [0x103030fc]
jne 0x1012bb90
xor eax, eax
mov esi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x68]
mov edi, dword [ebp - 0x18]
mov dword [0x10306524], eax
jmp 0x1012bcb2
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x1012bc98
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x74], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1012bc45
cmp dword [ecx + 4], 0
jle 0x1012bc45
push 0
mov edx, 0x559d81af
call fcn.10115470
add esp, 4
test eax, eax
je 0x1012bc42
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 0x1012bc50
xor edx, edx
test ecx, ecx
je 0x1012bc7c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012bc60
cmp esi, 0x559d81af
je 0x1012bc9f
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 0x1012bc11
mov eax, edi
jmp 0x1012bbdc
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1012bbdc
mov eax, dword [0x10306524]
mov ecx, dword [ebp - 0x70]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
lea eax, [esi + 0x1c]
mov edx, dword [0x1031afe0]
mov ecx, edi
push eax
call edx
mov eax, dword [esi + 0x30]
movq xmm0, qword [esi + 0x28]
mov dword [ebp - 0x70], eax
mov eax, dword [0x10304c70]
movq qword [ebp - 0x68], xmm0
test al, 1
jne 0x1012be2d
or eax, 1
mov dword [0x10304c70], eax
mov dword [ebp - 4], 0xa
mov eax, dword [0x103030f8]
mov ecx, dword [0x103030fc]
mov dword [ebp - 0x34], eax
cmp eax, ecx
je 0x1012bd5c
nop word [eax + eax]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1012bd4f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1012bd23
xor edx, edx
test ecx, ecx
je 0x1012bd49
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012bd30
cmp esi, 0x72e242a1
je 0x1012bd7a
mov ecx, dword [0x103030fc]
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, ecx
jne 0x1012bd10
xor eax, eax
mov esi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x68]
mov edi, dword [ebp - 0x18]
mov dword [0x10304cc4], eax
jmp 0x1012be32
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x1012be18
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x74], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1012bdc7
cmp dword [ecx + 4], 0
jle 0x1012bdc7
push 0
mov edx, 0xf3c2c786
call fcn.10115470
add esp, 4
test eax, eax
je 0x1012bdc4
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 0x1012bdd0
xor edx, edx
test ecx, ecx
je 0x1012bdfc
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012bde0
cmp esi, 0xf3c2c786
je 0x1012be1f
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 0x1012bd93
mov eax, edi
jmp 0x1012bd5e
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1012bd5e
mov eax, dword [0x10304cc4]
mov ecx, dword [ebp - 0x70]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov eax, dword [esi + 0x48]
movq xmm0, qword [esi + 0x40]
mov dword [ebp - 0x70], eax
mov eax, dword [0x10307d9c]
movq qword [ebp - 0x68], xmm0
test al, 1
jne 0x1012bf9d
or eax, 1
mov dword [0x10307d9c], eax
mov dword [ebp - 4], 0xb
mov eax, dword [0x103030f8]
mov ecx, dword [0x103030fc]
mov dword [ebp - 0x34], eax
cmp eax, ecx
je 0x1012becc
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1012bebf
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012be93
xor edx, edx
test ecx, ecx
je 0x1012beb9
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012bea0
cmp esi, 0x1eee87cc
je 0x1012beea
mov ecx, dword [0x103030fc]
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, ecx
jne 0x1012be80
xor eax, eax
mov esi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x68]
mov edi, dword [ebp - 0x18]
mov dword [0x10307d98], eax
jmp 0x1012bfa2
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x1012bf88
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x74], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1012bf37
cmp dword [ecx + 4], 0
jle 0x1012bf37
push 0
mov edx, 0x7d388d3e
call fcn.10115470
add esp, 4
test eax, eax
je 0x1012bf34
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 0x1012bf40
xor edx, edx
test ecx, ecx
je 0x1012bf6c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012bf50
cmp esi, 0x7d388d3e
je 0x1012bf8f
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 0x1012bf03
mov eax, edi
jmp 0x1012bece
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1012bece
mov eax, dword [0x10307d98]
mov ecx, dword [ebp - 0x70]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov eax, dword [esi + 0x3c]
movq xmm0, qword [esi + 0x34]
mov dword [ebp - 0x70], eax
mov eax, dword [0x10306570]
movq qword [ebp - 0x68], xmm0
test al, 1
jne 0x1012c10d
or eax, 1
mov dword [0x10306570], eax
mov dword [ebp - 4], 0xc
mov eax, dword [0x103030f8]
mov ecx, dword [0x103030fc]
mov dword [ebp - 0x34], eax
cmp eax, ecx
je 0x1012c03c
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1012c02f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012c003
xor edx, edx
test ecx, ecx
je 0x1012c029
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012c010
cmp esi, 0x1eee87cc
je 0x1012c057
mov ecx, dword [0x103030fc]
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, ecx
jne 0x1012bff0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x68]
mov edi, dword [ebp - 0x18]
mov dword [0x10307d94], eax
jmp 0x1012c112
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x1012c0f8
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x74], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1012c0a4
cmp dword [ecx + 4], 0
jle 0x1012c0a4
push 0
mov edx, 0xe57f80c
call fcn.10115470
add esp, 4
test eax, eax
je 0x1012c0a1
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 0x1012c0b0
xor edx, edx
test ecx, ecx
je 0x1012c0dc
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012c0c0
cmp esi, 0xe57f80c
je 0x1012c0ff
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 0x1012c070
mov eax, edi
jmp 0x1012c03e
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1012c03e
mov eax, dword [0x10307d94]
mov ecx, dword [ebp - 0x70]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov ecx, dword [0x10304cbc]
test cl, 1
jne 0x1012c26b
or ecx, 1
mov dword [0x10304cbc], ecx
mov dword [ebp - 4], 0xd
mov eax, dword [0x103030f8]
mov ecx, dword [0x103030fc]
mov dword [ebp - 0x34], eax
cmp eax, ecx
je 0x1012c19c
nop
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1012c18f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1012c163
xor edx, edx
test ecx, ecx
je 0x1012c189
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012c170
cmp esi, 0x54aff69
je 0x1012c1bc
mov ecx, dword [0x103030fc]
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, ecx
jne 0x1012c150
xor edi, edi
lea edx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x10304cbc]
mov edi, dword [ebp - 0x18]
mov dword [0x10304c74], edx
jmp 0x1012c271
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x1012c19e
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x74], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1012c205
cmp dword [ecx + 4], 0
jle 0x1012c205
push 0
mov edx, 0xddac019e
call fcn.10115470
add esp, 4
test eax, eax
je 0x1012c202
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 0x1012c210
xor edx, edx
test ecx, ecx
je 0x1012c23c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012c220
cmp esi, 0xddac019e
je 0x1012c25d
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 0x1012c19e
jmp 0x1012c1d1
mov eax, dword [ebp - 0x74]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x1012c19e
mov edx, dword [0x10304c74]
lea eax, [edi + edx]
test eax, eax
je 0x1012c2a7
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x1031af08]
test eax, eax
je 0x1012c292
add eax, 0xa
mov eax, dword [eax]
mov eax, dword [eax]
dec eax
mov dword [edi + 0x2680], eax
mov dword [edi + 0x2914], 0xff7fffff
mov esi, dword [ebp - 0x14]
add esi, 0x50
mov dword [ebp - 0x2c], esi
test cl, 1
jne 0x1012c341
or ecx, 1
mov dword [0x10304cbc], ecx
mov dword [ebp - 4], 0xe
mov eax, dword [0x103030f8]
mov ecx, dword [0x103030fc]
mov dword [ebp - 0x34], eax
cmp eax, ecx
je 0x1012c330
nop dword [eax + eax]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1012c323
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1012c2f3
xor edx, edx
test ecx, ecx
je 0x1012c31d
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012c300
cmp esi, 0x54aff69
je 0x1012c39c
mov ecx, dword [0x103030fc]
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, ecx
jne 0x1012c2e0
xor edi, edi
mov esi, dword [ebp - 0x2c]
lea edx, [edi + 0x1c]
mov edi, dword [ebp - 0x18]
mov dword [0x10304c74], edx
add edx, edi
je 0x1012c36f
mov eax, dword [edi + 0x290c]
mov edi, dword [edi + 0x2900]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x18]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 0x290c]
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 [0x10257f20]
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 0x1012c332
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x74], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1012c3e5
cmp dword [ecx + 4], 0
jle 0x1012c3e5
push 0
mov edx, 0xddac019e
call fcn.10115470
add esp, 4
test eax, eax
je 0x1012c3e2
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 0x1012c3f0
xor edx, edx
test ecx, ecx
je 0x1012c41c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012c400
cmp esi, 0xddac019e
je 0x1012c43d
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 0x1012c332
jmp 0x1012c3b1
mov eax, dword [ebp - 0x74]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x1012c332