Function at 0x10129970
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 0x101ca587
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x88
push esi
push edi
mov eax, dword [0x10203360]
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 [0x10aa9e28]
mov eax, dword [0x105cbfb0]
test cl, 1
jne 0x101299e7
or ecx, 1
mov dword [0x10aa9e28], ecx
lea ecx, [eax + 0x4fd8cdb0]
xor ecx, 0x91d5c6d7
mov edx, dword [ecx + 0x1bc]
mov dword [0x10aa9e20], edx
jmp 0x101299ed
mov edx, dword [0x10aa9e20]
test edx, edx
je 0x101299ff
mov ecx, dword [edx + 0x1c]
mov ecx, dword [ecx + 0x30]
xor ecx, edx
jne 0x10129aba
mov ecx, dword [0x105cbfd4]
add ecx, 0x56767485
xor ecx, 0xa3987d61
cmp byte [ecx + 0x1c], 0
jne 0x10129a2d
cmp byte [ecx + 0x1d], 0
je 0x10129a2d
cmp dword [ecx + 0x20], 0
jg 0x10129a2d
cmp dword [ecx + 0xc], 1
je 0x10129aba
mov edi, dword [0x1046e008]
lea esi, [eax + 0x4fd8cdb0]
xor esi, 0x91d5c6d7
mov dword [ebp - 0x38], 0x7b0
xor ecx, ecx
add edi, 0xc76c3b04
mov dword [ebp - 0x24], ecx
xor edi, 0x47dce98a
mov edx, 0x37d0
mov dword [ebp - 0x4c], edi
mov eax, dword [esi + 0x158]
movss xmm0, dword [esi + 0x44]
addss xmm0, dword [0x101f06c4]
mov ecx, dword [eax + 4]
mov eax, dword [ebx + 0x14]
cmp byte [eax + 0xc], 0
cmove edx, dword [ebp - 0x38]
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
imul eax, ecx, 0xc8
mov dword [ebp - 0x50], eax
comiss xmm0, dword [eax + edi + 0x23c]
jb 0x10129ad0
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 [0x1029e3c0]
mov esi, dword [edi + 8]
mov dword [ebp - 0x20], esi
test al, 1
jne 0x10129c1d
or eax, 1
mov dword [0x1029e3c0], eax
mov dword [ebp - 4], 0
mov eax, dword [0x1029b360]
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x1029b364]
je 0x10129b4f
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x10129b41
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10129b18
xor edx, edx
test ecx, ecx
je 0x10129b41
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10129b25
cmp esi, 0x1eee87cc
je 0x10129b68
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x1029b364]
jne 0x10129b05
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x20]
mov dword [0x1029e3f4], eax
jmp 0x10129c22
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x10129c08
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10129bb5
cmp dword [ecx + 4], 0
jle 0x10129bb5
push 0
mov edx, 0x559d81af
call fcn.101146e0
add esp, 4
test eax, eax
je 0x10129bb2
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
inc ecx
cmp byte [ecx + edi], 0
jne 0x10129bc0
xor edx, edx
test ecx, ecx
je 0x10129bec
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10129bd0
cmp esi, 0x559d81af
je 0x10129c0f
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 0x10129b81
mov eax, edi
jmp 0x10129b51
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x10129b51
mov eax, dword [0x1029e3f4]
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 [0x1029cb40]
test al, 1
jne 0x10129d9d
or eax, 1
mov dword [0x1029cb40], eax
mov dword [ebp - 4], 1
mov eax, dword [0x1029b360]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
je 0x10129cca
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10129cbc
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10129c90
xor edx, edx
test ecx, ecx
je 0x10129cbc
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10129ca0
cmp esi, 0x72e242a1
je 0x10129ce3
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
jne 0x10129c77
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x20]
mov dword [0x1029cb94], eax
jmp 0x10129da2
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x10129d88
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10129d34
cmp dword [ecx + 4], 0
jle 0x10129d34
push 0
mov edx, 0xf3c2c786
call fcn.101146e0
add esp, 4
test eax, eax
je 0x10129d31
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 0x10129d40
xor edx, edx
test ecx, ecx
je 0x10129d6c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10129d50
cmp esi, 0xf3c2c786
je 0x10129d8f
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 0x10129d00
mov eax, edi
jmp 0x10129ccc
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x10129ccc
mov eax, dword [0x1029cb94]
movq xmm0, qword [esi + eax]
movq qword [edi + 0x28], xmm0
mov eax, dword [esi + eax + 8]
mov dword [edi + 0x30], eax
mov eax, dword [0x1029e440]
test al, 1
jne 0x10129efd
or eax, 1
mov dword [0x1029e440], eax
mov dword [ebp - 4], 2
mov eax, dword [0x1029b360]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
je 0x10129e2a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10129e1c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10129df3
xor edx, edx
test ecx, ecx
je 0x10129e1c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10129e00
cmp esi, 0x1eee87cc
je 0x10129e43
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
jne 0x10129de0
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x20]
mov dword [0x1029fc64], eax
jmp 0x10129f02
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x10129ee8
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10129e94
cmp dword [ecx + 4], 0
jle 0x10129e94
push 0
mov edx, 0xe57f80c
call fcn.101146e0
add esp, 4
test eax, eax
je 0x10129e91
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 0x10129ea0
xor edx, edx
test ecx, ecx
je 0x10129ecc
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10129eb0
cmp esi, 0xe57f80c
je 0x10129eef
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 0x10129e60
mov eax, edi
jmp 0x10129e2c
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x10129e2c
mov eax, dword [0x1029fc64]
movq xmm0, qword [esi + eax]
movq qword [edi + 0x34], xmm0
mov eax, dword [esi + eax + 8]
mov dword [edi + 0x3c], eax
mov eax, dword [0x1029fc6c]
test al, 1
jne 0x1012a05d
or eax, 1
mov dword [0x1029fc6c], eax
mov dword [ebp - 4], 3
mov eax, dword [0x1029b360]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
je 0x10129f8a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10129f7c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10129f53
xor edx, edx
test ecx, ecx
je 0x10129f7c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10129f60
cmp esi, 0x1eee87cc
je 0x10129fa3
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
jne 0x10129f40
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x20]
mov dword [0x1029fc68], eax
jmp 0x1012a062
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1012a048
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10129ff4
cmp dword [ecx + 4], 0
jle 0x10129ff4
push 0
mov edx, 0x7d388d3e
call fcn.101146e0
add esp, 4
test eax, eax
je 0x10129ff1
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 0x1012a000
xor edx, edx
test ecx, ecx
je 0x1012a02c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012a010
cmp esi, 0x7d388d3e
je 0x1012a04f
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 0x10129fc0
mov eax, edi
jmp 0x10129f8c
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x10129f8c
mov eax, dword [0x1029fc68]
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 + 0x290c]
mov esi, dword [esi + 0x2900]
lea ecx, [eax + eax*2]
lea eax, [edi + 0x50]
shl ecx, 4
mov edi, eax
mov dword [ebp - 0x38], 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 [0x1046e02c]
add esi, 0x74feedfd
mov dword [ebp - 0x18], edi
lea ecx, [edi + 8]
xor esi, 0xd0609303
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x390
add eax, esi
je 0x1012a794
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 [0x1029e3c0]
movq qword [ebp - 0x68], xmm2
movups xmmword [ebp - 0x80], xmm2
test al, 1
jne 0x1012a24d
or eax, 1
mov dword [0x1029e3c0], eax
mov dword [ebp - 4], 4
mov eax, dword [0x1029b360]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
je 0x1012a17a
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1012a16c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1012a143
xor edx, edx
test ecx, ecx
je 0x1012a16c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012a150
cmp esi, 0x1eee87cc
je 0x1012a197
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
jne 0x1012a130
xor eax, eax
mov esi, dword [ebx + 0x14]
mov dword [ebp - 4], 0xffffffff
movups xmm2, xmmword [ebp - 0x80]
mov edi, dword [ebp - 0x18]
mov dword [0x1029e3f4], eax
jmp 0x1012a252
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1012a238
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 0x1012a1e4
cmp dword [ecx + 4], 0
jle 0x1012a1e4
push 0
mov edx, 0x559d81af
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1012a1e1
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 0x1012a1f0
xor edx, edx
test ecx, ecx
je 0x1012a21c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012a200
cmp esi, 0x559d81af
je 0x1012a23f
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 0x1012a1b0
mov eax, edi
jmp 0x1012a17c
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1012a17c
mov eax, dword [0x1029e3f4]
mov ecx, dword [ebp - 0x48]
movq qword [edi + eax], xmm2
mov dword [edi + eax + 8], ecx
lea ecx, [ebp - 0x68]
mov eax, dword [0x102b2f44]
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 [0x1029fc6c]
movq qword [ebp - 0x78], xmm0
test al, 1
jne 0x1012a3cd
or eax, 1
mov dword [0x1029fc6c], eax
mov dword [ebp - 4], 5
mov eax, dword [0x1029b360]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
je 0x1012a2fa
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1012a2ec
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012a2c3
xor edx, edx
test ecx, ecx
je 0x1012a2ec
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012a2d0
cmp esi, 0x1eee87cc
je 0x1012a318
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
jne 0x1012a2b0
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 [0x1029fc68], eax
jmp 0x1012a3d2
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1012a3b8
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 0x1012a365
cmp dword [ecx + 4], 0
jle 0x1012a365
push 0
mov edx, 0x7d388d3e
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1012a362
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 0x1012a370
xor edx, edx
test ecx, ecx
je 0x1012a39c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012a380
cmp esi, 0x7d388d3e
je 0x1012a3bf
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 0x1012a331
mov eax, edi
jmp 0x1012a2fc
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1012a2fc
mov eax, dword [0x1029fc68]
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 [0x1029e440]
movq qword [ebp - 0x78], xmm0
test al, 1
jne 0x1012a53d
or eax, 1
mov dword [0x1029e440], eax
mov dword [ebp - 4], 6
mov eax, dword [0x1029b360]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
je 0x1012a46a
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1012a45c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012a433
xor edx, edx
test ecx, ecx
je 0x1012a45c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012a440
cmp esi, 0x1eee87cc
je 0x1012a485
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
jne 0x1012a420
xor eax, eax
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x78]
mov edi, dword [ebp - 0x18]
mov dword [0x1029fc64], eax
jmp 0x1012a542
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1012a528
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 0x1012a4d4
cmp dword [ecx + 4], 0
jle 0x1012a4d4
push 0
mov edx, 0xe57f80c
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1012a4d1
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 0x1012a4e0
xor edx, edx
test ecx, ecx
je 0x1012a50c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012a4f0
cmp esi, 0xe57f80c
je 0x1012a52f
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 0x1012a4a0
mov eax, edi
jmp 0x1012a46c
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1012a46c
mov eax, dword [0x1029fc64]
mov ecx, dword [ebp - 0x40]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov ecx, dword [0x1029cb8c]
test cl, 1
jne 0x1012a69b
or ecx, 1
mov dword [0x1029cb8c], ecx
mov dword [ebp - 4], 7
mov eax, dword [0x1029b360]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
je 0x1012a5ca
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1012a5bc
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012a593
xor edx, edx
test ecx, ecx
je 0x1012a5bc
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012a5a0
cmp esi, 0x54aff69
je 0x1012a5ea
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
jne 0x1012a580
xor edi, edi
lea edx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x1029cb8c]
mov edi, dword [ebp - 0x18]
mov dword [0x1029cb44], edx
jmp 0x1012a6a1
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1012a5cc
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 0x1012a634
cmp dword [ecx + 4], 0
jle 0x1012a634
push 0
mov edx, 0xddac019e
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1012a631
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 0x1012a640
xor edx, edx
test ecx, ecx
je 0x1012a66c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012a650
cmp esi, 0xddac019e
je 0x1012a68d
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 0x1012a5cc
jmp 0x1012a600
mov eax, dword [ebp - 0x48]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x1012a5cc
mov edx, dword [0x1029cb44]
lea eax, [edi + edx]
test eax, eax
je 0x1012a6d7
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x102b2e6c]
test eax, eax
je 0x1012a6c2
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 0x1012a763
or ecx, 1
mov dword [0x1029cb8c], ecx
mov dword [ebp - 4], 8
mov eax, dword [0x1029b360]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
je 0x1012a74e
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1012a740
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012a713
xor edx, edx
test ecx, ecx
je 0x1012a740
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012a720
cmp esi, 0x54aff69
je 0x1012a86b
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
jne 0x1012a700
xor edi, edi
lea edx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x18]
mov dword [0x1029cb44], edx
add edx, edi
je 0x1012a794
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 - 0x98], xmm0
movss xmm0, dword [ebx + 0x10]
mov dword [ebp - 0x90], 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.1000cb10
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 [0x101f09cc]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [0x101f0b88]
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 0x1012a83e
addss xmm2, dword [0x101f0a6c]
mulss xmm2, dword [0x101f06f8]
movss xmm4, dword [0x101f07bc]
comiss xmm2, xmm6
movaps xmm0, xmm2
mulss xmm0, dword [0x101f0748]
jb 0x1012a91b
addss xmm0, xmm4
jmp 0x1012a91f
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1012a750
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 0x1012a8b8
cmp dword [ecx + 4], 0
jle 0x1012a8b8
push 0
mov edx, 0xddac019e
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1012a8b5
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 0x1012a8c1
xor edx, edx
test ecx, ecx
je 0x1012a8ec
nop
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012a8d0
cmp esi, 0xddac019e
je 0x1012a90d
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 0x1012a750
jmp 0x1012a884
mov eax, dword [ebp - 0x48]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x1012a750
subss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm7, dword [0x101f0b88]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101f08ec]
subss xmm2, xmm0
comiss xmm2, dword [0x101f0840]
jbe 0x1012a95d
movss xmm0, dword [0x101f08b8]
subss xmm0, xmm2
movss dword [ebp - 0x20], xmm7
movaps xmm2, xmm0
jmp 0x1012a98d
movss xmm0, dword [0x101f0b90]
comiss xmm0, xmm2
jbe 0x1012a980
movss xmm0, dword [0x101f0ba0]
subss xmm0, xmm2
movss dword [ebp - 0x20], xmm7
movaps xmm2, xmm0
jmp 0x1012a98d
movss xmm1, dword [0x101f0824]
movss dword [ebp - 0x20], xmm1
movss xmm5, dword [0x101f06a8]
movaps xmm1, xmm2
mulss xmm1, xmm2
xorps xmm3, xmmword [0x101f12d0]
comiss xmm3, xmm6
movaps xmm0, xmm1
mulss xmm0, dword [0x101f0698]
subss xmm5, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x101f06a0]
mulss xmm5, xmm1
subss xmm5, dword [0x101f06c0]
mulss xmm5, xmm1
addss xmm5, dword [0x101f06ec]
mulss xmm5, xmm1
subss xmm5, dword [0x101f0750]
mulss xmm5, xmm1
addss xmm5, dword [0x101f0824]
mulss xmm5, xmm2
movss xmm2, dword [0x101f06b4]
subss xmm2, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x101f0748]
movss dword [ebp - 0x70], xmm5
mulss xmm2, xmm1
subss xmm2, dword [0x101f06d0]
mulss xmm2, xmm1
addss xmm2, dword [0x101f0710]
mulss xmm2, xmm1
subss xmm2, xmm4
mulss xmm2, xmm1
movss xmm1, dword [0x101f0824]
addss xmm2, xmm1
mulss xmm2, dword [ebp - 0x20]
movss dword [ebp - 0x60], xmm2
jb 0x1012aa52
addss xmm0, xmm4
jmp 0x1012aa56
subss xmm0, xmm4
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101f08ec]
subss xmm3, xmm0
comiss xmm3, dword [0x101f0840]
jbe 0x1012aa87
movss xmm0, dword [0x101f08b8]
subss xmm0, xmm3
movaps xmm3, xmm0
jmp 0x1012aaa8
movss xmm0, dword [0x101f0b90]
comiss xmm0, xmm3
jbe 0x1012aaa5
movss xmm0, dword [0x101f0ba0]
subss xmm0, xmm3
movaps xmm3, xmm0
jmp 0x1012aaa8
movaps xmm7, xmm1
movss xmm6, dword [0x101f06a8]
movaps xmm1, xmm3
mulss xmm1, xmm3
xor esi, esi
mov edi, dword [ebx + 0x20]
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
movaps xmm0, xmm1
mov dword [ebp - 0x84], 0
mulss xmm0, dword [0x101f0698]
subss xmm6, xmm0
movaps xmm0, xmm6
movss dword [ebp - 0x20], xmm6
mulss xmm0, xmm1
movss xmm6, dword [0x101f06b4]
subss xmm0, dword [0x101f06c0]
mulss xmm0, xmm1
addss xmm0, dword [0x101f06ec]
mulss xmm0, xmm1
movss dword [ebp - 0x20], xmm0
subss xmm0, dword [0x101f0750]
mulss xmm0, xmm1
addss xmm0, dword [0x101f0824]
mulss xmm0, xmm3
movss dword [ebp - 0x1c], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x101f06a0]
subss xmm6, xmm0
mulss xmm6, xmm1
subss xmm6, dword [0x101f06d0]
mulss xmm6, xmm1
addss xmm6, dword [0x101f0710]
mulss xmm6, xmm1
subss xmm6, xmm4
mulss xmm6, xmm1
addss xmm6, dword [0x101f0824]
mulss xmm6, xmm7
movss xmm7, dword [0x101f0824]
movaps xmm0, xmm6
movss dword [ebp - 0x54], xmm6
mulss xmm0, xmm5
movaps xmm4, xmm6
mulss xmm4, xmm2
xorps xmm6, xmm6
movss dword [ebp - 0x48], xmm0
movss xmm0, dword [0x101f0750]
subss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x74], xmm4
mulss xmm0, xmm1
subss xmm0, xmm7
mulss xmm0, xmm3
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 0x1c]
movaps xmm1, xmm0
mulss xmm0, xmm5
mulss xmm1, xmm2
movss dword [ebp - 0x1c], xmm0
movss dword [ebp - 0x40], xmm1
nop word [eax + eax]
mov eax, dword [0x1029b36c]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
movss xmm0, dword [ebp - 0x40]
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, xmm3
mulss xmm5, xmm1
mulss xmm2, xmm1
movss xmm1, dword [ebp - 0x1c]
addss xmm5, xmm4
movss xmm4, dword [ebp - 0x48]
mulss xmm1, xmm3
subss xmm4, xmm2
movss xmm2, dword [ebp - 0x54]
addss xmm5, xmm0
mulss xmm2, xmm3
movss xmm3, dword [ebp - 0x58]
addss xmm4, xmm1
addss xmm3, xmm2
movaps xmm0, xmm5
mulss xmm0, xmm5
movaps xmm1, xmm4
mulss xmm1, xmm4
addss xmm0, xmm1
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm0, xmm1
call fcn.1000cb10
addss xmm0, dword [0x101f069c]
movaps xmm1, xmm7
divss xmm1, xmm0
mulss xmm4, xmm1
mulss xmm5, xmm1
ucomiss xmm4, xmm6
mulss xmm3, xmm1
lahf
test ah, 0x44
jp 0x1012acb4
ucomiss xmm5, xmm6
lahf
test ah, 0x44
jp 0x1012acb4
comiss xmm3, xmm6
xorps xmm2, xmm2
jbe 0x1012acaa
movss xmm7, dword [0x101f0aa4]
jmp 0x1012ad15
movss xmm7, dword [0x101f0a08]
jmp 0x1012ad15
movaps xmm1, xmm5
movaps xmm0, xmm4
call fcn.100b1270
movaps xmm2, xmm0
mulss xmm2, dword [0x101f09c8]
comiss xmm6, xmm2
jbe 0x1012acd7
addss xmm2, dword [0x101f0ab4]
mulss xmm4, xmm4
mulss xmm5, xmm5
addss xmm4, xmm5
movaps xmm0, xmm4
call fcn.1000cb10
xorps xmm3, xmmword [0x101f12d0]
movaps xmm1, xmm0
movaps xmm0, xmm3
call fcn.100b1270
movaps xmm7, xmm0
mulss xmm7, dword [0x101f09c8]
comiss xmm6, xmm7
jbe 0x1012ad15
addss xmm7, dword [0x101f0ab4]
mulss xmm2, dword [0x101f06f8]
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.1010f640
mulss xmm7, dword [0x101f06f8]
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x18]
movaps xmm2, xmm7
call fcn.1010f640
movss xmm3, dword [ebp - 0x2c]
movss xmm4, dword [ebp - 0x30]
movss xmm2, dword [ebp - 0x18]
xorps xmm2, xmmword [0x101f12d0]
mulss xmm4, xmm3
mulss xmm3, dword [ebp - 0x20]
movaps xmm1, xmm4
mulss xmm1, xmm4
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm0, xmm1
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm0, xmm1
call fcn.1000cb10
addss xmm0, dword [0x101f069c]
movss xmm1, dword [0x101f0824]
lea edx, [ebp - 0x8c]
mov eax, dword [0x105cbfb0]
lea ecx, [ebp - 0x98]
push dword [ebx + 0x14]
add eax, 0x4fd8cdb0
divss xmm1, xmm0
xor eax, 0x91d5c6d7
mov eax, dword [eax + 0x154]
movss xmm0, dword [eax + 0x104]
mov eax, dword [ebp - 0x34]
push dword [ebp - 0x28]
mulss xmm4, xmm1
push dword [eax + 4]
mulss xmm3, xmm1
push dword [ebp - 0x14]
mulss xmm2, xmm1
movss xmm1, dword [ebp - 0x94]
mulss xmm4, xmm0
mulss xmm3, xmm0
addss xmm4, dword [ebp - 0x98]
mulss xmm2, xmm0
movss xmm0, dword [ebp - 0x90]
addss xmm1, xmm3
addss xmm0, xmm2
movss dword [ebp - 0x8c], xmm4
movss dword [ebp - 0x88], xmm1
movss dword [ebp - 0x84], xmm0
call fcn.1011e490
add esp, 0x10
test al, al
mov eax, dword [ebp - 0x24]
je 0x1012ae4a
inc eax
mov dword [ebp - 0x24], eax
test edi, edi
je 0x1012ae61
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101f06e8]
movss dword [edi], xmm0
movss xmm2, dword [ebp - 0x60]
add esi, 0xc
movss xmm5, dword [ebp - 0x70]
xorps xmm6, xmm6
movss xmm7, dword [0x101f0824]
movss xmm4, dword [ebp - 0x74]
cmp esi, 0x600
jl 0x1012abe0
mov edi, dword [ebp - 0x14]
mov eax, dword [edi + 0x18]
movq xmm0, qword [edi + 0x10]
mov esi, dword [edi + 8]
mov dword [ebp - 0x70], eax
mov eax, dword [0x1029e3c0]
mov dword [ebp - 0x18], esi
movq qword [ebp - 0x68], xmm0
test al, 1
jne 0x1012afed
or eax, 1
mov dword [0x1029e3c0], eax
mov dword [ebp - 4], 9
mov eax, dword [0x1029b360]
mov dword [ebp - 0x34], eax
cmp eax, dword [0x1029b364]
je 0x1012af1a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1012af0c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012aee3
xor edx, edx
test ecx, ecx
je 0x1012af0c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012aef0
cmp esi, 0x1eee87cc
je 0x1012af38
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, dword [0x1029b364]
jne 0x1012aed0
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x68]
mov esi, dword [ebp - 0x18]
mov dword [0x1029e3f4], eax
jmp 0x1012aff2
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x1012afd8
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 0x1012af85
cmp dword [ecx + 4], 0
jle 0x1012af85
push 0
mov edx, 0x559d81af
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1012af82
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 0x1012af90
xor edx, edx
test ecx, ecx
je 0x1012afbc
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012afa0
cmp esi, 0x559d81af
je 0x1012afdf
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 0x1012af51
mov eax, edi
jmp 0x1012af1c
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1012af1c
mov eax, dword [0x1029e3f4]
mov ecx, dword [ebp - 0x70]
movq qword [esi + eax], xmm0
mov dword [esi + eax + 8], ecx
lea ecx, [edi + 0x1c]
mov eax, dword [0x102b2f44]
push ecx
mov ecx, esi
call eax
mov eax, dword [edi + 0x30]
movq xmm0, qword [edi + 0x28]
mov dword [ebp - 0x70], eax
mov eax, dword [0x1029cb40]
movq qword [ebp - 0x68], xmm0
test al, 1
jne 0x1012b16d
or eax, 1
mov dword [0x1029cb40], eax
mov dword [ebp - 4], 0xa
mov eax, dword [0x1029b360]
mov dword [ebp - 0x34], eax
cmp eax, dword [0x1029b364]
je 0x1012b09a
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1012b08c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012b060
xor edx, edx
test ecx, ecx
je 0x1012b08c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b070
cmp esi, 0x72e242a1
je 0x1012b0b8
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, dword [0x1029b364]
jne 0x1012b047
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x68]
mov esi, dword [ebp - 0x18]
mov dword [0x1029cb94], eax
jmp 0x1012b172
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x1012b158
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 0x1012b105
cmp dword [ecx + 4], 0
jle 0x1012b105
push 0
mov edx, 0xf3c2c786
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1012b102
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 0x1012b110
xor edx, edx
test ecx, ecx
je 0x1012b13c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b120
cmp esi, 0xf3c2c786
je 0x1012b15f
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 0x1012b0d1
mov eax, edi
jmp 0x1012b09c
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1012b09c
mov eax, dword [0x1029cb94]
mov ecx, dword [ebp - 0x70]
movq qword [esi + eax], xmm0
mov dword [esi + eax + 8], ecx
mov eax, dword [edi + 0x48]
movq xmm0, qword [edi + 0x40]
mov dword [ebp - 0x70], eax
mov eax, dword [0x1029fc6c]
movq qword [ebp - 0x68], xmm0
test al, 1
jne 0x1012b2dd
or eax, 1
mov dword [0x1029fc6c], eax
mov dword [ebp - 4], 0xb
mov eax, dword [0x1029b360]
mov ecx, dword [0x1029b364]
mov dword [ebp - 0x34], eax
cmp eax, ecx
je 0x1012b20c
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1012b1ff
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012b1d3
xor edx, edx
test ecx, ecx
je 0x1012b1f9
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b1e0
cmp esi, 0x1eee87cc
je 0x1012b22a
mov ecx, dword [0x1029b364]
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, ecx
jne 0x1012b1c0
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x68]
mov esi, dword [ebp - 0x18]
mov dword [0x1029fc68], eax
jmp 0x1012b2e2
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x1012b2c8
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 0x1012b277
cmp dword [ecx + 4], 0
jle 0x1012b277
push 0
mov edx, 0x7d388d3e
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1012b274
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 0x1012b280
xor edx, edx
test ecx, ecx
je 0x1012b2ac
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b290
cmp esi, 0x7d388d3e
je 0x1012b2cf
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 0x1012b243
mov eax, edi
jmp 0x1012b20e
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1012b20e
mov eax, dword [0x1029fc68]
mov ecx, dword [ebp - 0x70]
movq qword [esi + eax], xmm0
mov dword [esi + eax + 8], ecx
mov eax, dword [edi + 0x3c]
movq xmm0, qword [edi + 0x34]
mov dword [ebp - 0x70], eax
mov eax, dword [0x1029e440]
movq qword [ebp - 0x68], xmm0
test al, 1
jne 0x1012b44d
or eax, 1
mov dword [0x1029e440], eax
mov dword [ebp - 4], 0xc
mov eax, dword [0x1029b360]
mov ecx, dword [0x1029b364]
mov dword [ebp - 0x34], eax
cmp eax, ecx
je 0x1012b37c
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1012b36f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012b343
xor edx, edx
test ecx, ecx
je 0x1012b369
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b350
cmp esi, 0x1eee87cc
je 0x1012b397
mov ecx, dword [0x1029b364]
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, ecx
jne 0x1012b330
xor eax, eax
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [ebp - 0x68]
mov esi, dword [ebp - 0x18]
mov dword [0x1029fc64], eax
jmp 0x1012b452
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x1012b438
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 0x1012b3e4
cmp dword [ecx + 4], 0
jle 0x1012b3e4
push 0
mov edx, 0xe57f80c
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1012b3e1
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 0x1012b3f0
xor edx, edx
test ecx, ecx
je 0x1012b41c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b400
cmp esi, 0xe57f80c
je 0x1012b43f
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 0x1012b3b0
mov eax, edi
jmp 0x1012b37e
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1012b37e
mov eax, dword [0x1029fc64]
mov ecx, dword [ebp - 0x70]
movq qword [esi + eax], xmm0
mov dword [esi + eax + 8], ecx
mov ecx, dword [0x1029cb8c]
test cl, 1
jne 0x1012b5ab
or ecx, 1
mov dword [0x1029cb8c], ecx
mov dword [ebp - 4], 0xd
mov eax, dword [0x1029b360]
mov ecx, dword [0x1029b364]
mov dword [ebp - 0x34], eax
cmp eax, ecx
je 0x1012b4dc
nop
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1012b4cf
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012b4a3
xor edx, edx
test ecx, ecx
je 0x1012b4c9
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b4b0
cmp esi, 0x54aff69
je 0x1012b4fc
mov ecx, dword [0x1029b364]
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, ecx
jne 0x1012b490
xor edi, edi
lea edx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x1029cb8c]
mov esi, dword [ebp - 0x18]
mov dword [0x1029cb44], edx
jmp 0x1012b5b1
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x1012b4de
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 0x1012b545
cmp dword [ecx + 4], 0
jle 0x1012b545
push 0
mov edx, 0xddac019e
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1012b542
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 0x1012b550
xor edx, edx
test ecx, ecx
je 0x1012b57c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b560
cmp esi, 0xddac019e
je 0x1012b59d
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 0x1012b4de
jmp 0x1012b511
mov eax, dword [ebp - 0x74]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x1012b4de
mov edx, dword [0x1029cb44]
lea eax, [esi + edx]
test eax, eax
je 0x1012b5e7
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x102b2e6c]
test eax, eax
je 0x1012b5d2
add eax, 0xa
mov eax, dword [eax]
mov eax, dword [eax]
dec eax
mov dword [esi + 0x2680], eax
mov dword [esi + 0x2914], 0xff7fffff
test cl, 1
jne 0x1012b670
or ecx, 1
mov dword [0x1029cb8c], ecx
mov dword [ebp - 4], 0xe
mov eax, dword [0x1029b360]
mov ecx, dword [0x1029b364]
mov dword [ebp - 0x34], eax
cmp eax, ecx
je 0x1012b662
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1012b655
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1012b625
xor edx, edx
test ecx, ecx
je 0x1012b64f
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b632
cmp esi, 0x54aff69
je 0x1012b6ce
mov ecx, dword [0x1029b364]
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, ecx
jne 0x1012b612
xor edi, edi
mov esi, dword [ebp - 0x18]
lea edx, [edi + 0x1c]
mov dword [0x1029cb44], edx
add edx, esi
je 0x1012b6a1
mov eax, dword [esi + 0x290c]
mov edi, dword [esi + 0x2900]
mov esi, dword [ebp - 0x38]
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 - 0x38]
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 [0x101f06e8]
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 0x1012b664
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 0x1012b717
cmp dword [ecx + 4], 0
jle 0x1012b717
push 0
mov edx, 0xddac019e
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1012b714
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 0x1012b720
xor edx, edx
test ecx, ecx
je 0x1012b74c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1012b730
cmp esi, 0xddac019e
je 0x1012b76d
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 0x1012b664
jmp 0x1012b6e3
mov eax, dword [ebp - 0x74]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x1c]
jmp 0x1012b664