Function at 0x140166a30
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x198
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x110], 0xfffffffffffffffe
mov rsi, rcx
call fcn.1400abec0
mov eax, dword [0x1406f0a98]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406f0a9c], 0xa
setl al
or al, cl
cmp al, 1
jne 0x140166a92
movaps xmm0, xmmword [0x1402599c0]
movups xmmword [rsi + 0x10], xmm0
mov byte [rsi], 0
test al, al
jne 0x140166aa2
movaps xmm0, xmmword [0x1402599c0]
movups xmmword [rsi + 0x10], xmm0
mov byte [rsi], 0
jmp 0x140166a80
cmp dword [0x1406dfcdc], 0xa
jl 0x140166ac2
mov eax, dword [0x1406dfcd8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x140166ac2
nop dword [rax]
jmp 0x140166ac0
cmp dword [0x1406f1858], 0xa
jl 0x140166ae2
mov eax, dword [0x1406f185c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x140166ae2
nop dword [rax]
jmp 0x140166ae0
mov qword [rbp + 0xd8], rsi
mov rbx, qword [0x1406f0880]
test rbx, rbx
je 0x140166b07
cmp dword [0x1406f1860], 0xa
jge 0x140166ee4
jmp 0x140166f02
mov rax, qword gs:[0x60]
mov r8, qword [rax + 0x18]
mov eax, dword [0x1406f1430]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1434], 0xa
setl r9b
or r9b, al
mov edx, dword [0x1406f1438]
mov ebx, dword [0x1406f143c]
cmp r9b, 1
jne 0x140166b69
lea esi, [rdx - 1]
mov rdi, qword [r8 + 0x10]
imul esi, edx
test sil, 1
sete cl
cmp ebx, 0xa
setl al
or al, cl
nop
test al, al
je 0x140166b60
test r9b, r9b
jne 0x140166b86
cmp ebx, 0xa
setl cl
lea esi, [rdx - 1]
mov eax, esi
imul eax, edx
test al, 1
sete al
or al, cl
nop
test al, al
je 0x140166b80
jmp 0x140166b49
mov eax, dword [0x1406f1864]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1868], 0xa
mov r8, qword [rdi]
setl cl
or cl, al
mov eax, dword [0x1406f1768]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x1406f176c], 0xa
setl dl
or dl, al
mov byte [rbp + 0xe8], dl
mov eax, dword [0x1406f0b34]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x1406f0b30], 0xa
setl dl
or dl, al
mov byte [rbp + 0xf0], dl
mov eax, dword [0x1406f1440]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x1406f1444], 0xa
setl r9b
or r9b, al
mov r14d, 0xe3b9876a
mov r12, r8
xor r13d, r13d
mov qword [rbp + 0x100], r8
mov byte [rbp + 0x10f], r9b
nop dword [rax]
test cl, cl
je 0x140166c30
test r13d, r13d
je 0x140166d0e
cmp byte [rbp + 0xe8], 0
je 0x140166ed0
mov edi, dword [r12 + 0x58]
add edi, 0xfffffff8
mov eax, 0x811c9dc5
cmp di, 2
jb 0x140166d05
mov rbx, qword [r12 + 0x60]
and edi, 0xfffe
add rdi, 0xfffffffffffffffe
mov rdx, rdi
shr rdx, 1
add rdx, 1
mov esi, edx
and esi, 3
mov eax, 0x811c9dc5
cmp rdi, 6
jb 0x140166cd9
and rdx, 0xfffffffffffffffc
neg rdx
mov eax, 0x811c9dc5
nop word cs:[rax + rax]
movsx edi, byte [rbx]
xor edi, eax
imul eax, edi, 0x1000193
movsx edi, byte [rbx + 2]
xor edi, eax
imul eax, edi, 0x1000193
movsx edi, byte [rbx + 4]
xor edi, eax
imul eax, edi, 0x1000193
movsx edi, byte [rbx + 6]
xor edi, eax
imul eax, edi, 0x1000193
add rbx, 8
add rdx, 4
jne 0x140166ca0
test rsi, rsi
je 0x140166d05
add rsi, rsi
xor edx, edx
nop word cs:[rax + rax]
nop dword [rax]
movsx edi, byte [rbx + rdx]
xor edi, eax
imul eax, edi, 0x1000193
add rdx, 2
cmp rsi, rdx
jne 0x140166cf0
cmp eax, r13d
jne 0x140166dcb
cmp byte [rbp + 0xf0], 0
je 0x140166ec0
mov rbx, qword [r12 + 0x30]
movsxd rax, dword [rbx + 0x3c]
mov r15d, dword [rbx + rax + 0x88]
test r15, r15
je 0x140166dcb
mov eax, dword [rbx + rax + 0x8c]
mov qword [rbp + 0xf8], rax
mov rdx, r15
add rdx, rbx
mov eax, dword [rdx + 0x18]
lea rsi, [rbx + 1]
mov r8, rax
jmp 0x140166d6e
mov r10d, 0x811c9dc5
mov rax, r8
cmp r10d, r14d
je 0x140166dd9
sub r8, 1
jb 0x140166dbd
mov r11d, eax
add r11d, 0xffffffff
mov eax, dword [rdx + 0x20]
add rax, rbx
mov r9d, dword [rax + r11*4]
mov dil, byte [rbx + r9]
test dil, dil
je 0x140166d60
add r9, rsi
mov r10d, 0x811c9dc5
nop word [rax + rax]
movsx eax, dil
xor eax, r10d
imul r10d, eax, 0x1000193
movzx edi, byte [r9]
add r9, 1
test dil, dil
jne 0x140166da0
jmp 0x140166d66
mov r8, qword [rbp + 0x100]
mov r9b, byte [rbp + 0x10f]
test r9b, r9b
jne 0x140166e90
jmp 0x140166eac
mov eax, dword [rdx + 0x1c]
mov edi, dword [rdx + 0x24]
add rax, rbx
add rdi, rbx
movzx edi, word [rdi + r11*2]
mov eax, dword [rax + rdi*4]
add rbx, rax
cmp r15d, eax
jae 0x140166ed4
add rdx, qword [rbp + 0xf8]
cmp rdx, rbx
jbe 0x140166ed4
mov al, byte [rbx]
mov r14d, 0x811c9dc5
mov r13d, 0x811c9dc5
cmp al, 0x2e
jne 0x140166e2b
mov r8, qword [rbp + 0x100]
mov r9b, byte [rbp + 0x10f]
jmp 0x140166e59
mov r8, qword [rbp + 0x100]
mov r9b, byte [rbp + 0x10f]
nop dword [rax]
movsx eax, al
xor eax, r13d
imul r13d, eax, 0x1000193
movzx eax, byte [rbx + 1]
add rbx, 1
cmp al, 0x2e
jne 0x140166e40
mov al, byte [rbx + 1]
test al, al
je 0x140166e88
add rbx, 2
mov r14d, 0x811c9dc5
nop word [rax + rax]
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
movzx eax, byte [rbx]
add rbx, 1
test al, al
jne 0x140166e70
mov r12, qword [r8]
test r9b, r9b
je 0x140166eac
mov r12, qword [r12]
test r9b, r9b
je 0x140166eac
cmp r12, r8
je 0x140166ed2
cmp qword [r12 + 0x30], 0
jne 0x140166c30
jmp 0x140166ed2
mov r12, qword [r12]
jmp 0x140166e90
jmp 0x140166ec0
jmp 0x140166ed0
xor ebx, ebx
mov qword [0x1406f0880], rbx
cmp dword [0x1406f1860], 0xa
jl 0x140166f02
mov eax, dword [0x1406f186c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x140166f02
nop word cs:[rax + rax]
nop
jmp 0x140166f00
mov ecx, 0xfffffff6
call rbx
mov qword [rbp + 0xb8], rax
mov eax, dword [0x1406f1870]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1874], 0xa
setl r10b
or r10b, al
mov byte [rbp + 0xd4], r10b
je 0x140166f53
mov rsi, qword [0x1406f0888]
mov r11d, dword [0x1406f1878]
mov r14d, dword [0x1406f187c]
jmp 0x140167437
mov r11d, dword [0x1406f1878]
mov r14d, dword [0x1406f187c]
lea edi, [r11 - 1]
imul edi, r11d
and edi, 1
test edi, edi
je 0x140166f76
cmp r14d, 0xa
jge 0x140166fe0
mov rsi, qword [0x1406f0888]
test rsi, rsi
jne 0x140167437
mov rax, qword gs:[0x60]
mov r8, qword [rax + 0x18]
mov eax, dword [0x1406f1430]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1434], 0xa
setl cl
or cl, al
mov edx, dword [0x1406f1438]
mov edi, dword [0x1406f143c]
cmp cl, 1
mov qword [rbp + 0xc8], r11
mov dword [rbp + 0xe4], r14d
jne 0x1401673f2
lea esi, [rdx - 1]
jmp 0x140166fe2
jmp 0x140166fe0
mov r9, qword [r8 + 0x10]
imul esi, edx
test sil, 1
sete bl
cmp edi, 0xa
setl al
or al, bl
nop dword [rax + rax]
test al, al
je 0x140167000
test cl, cl
je 0x1401673f2
mov eax, dword [0x1406f1768]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f176c], 0xa
setl r8b
or r8b, al
mov eax, dword [0x1406f1880]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1884], 0xa
mov r10, qword [r9]
setl r9b
or r9b, al
mov eax, dword [0x1406f0b34]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f0b30], 0xa
setl r15b
or r15b, al
mov eax, dword [0x1406f1440]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1444], 0xa
setl r12b
or r12b, al
mov eax, r9d
or al, r15b
mov byte [rbp + 0xf0], al
mov r14d, 0xc09860af
mov rbx, r10
xor r13d, r13d
mov byte [rbp + 0xf8], r8b
mov qword [rbp + 0x100], r10
mov byte [rbp + 0x10f], r15b
jmp 0x1401670cb
cmp qword [rbx + 0x30], 0
je 0x140167419
test r13d, r13d
je 0x1401671a7
test r8b, r8b
je 0x1401673e0
mov edi, dword [rbx + 0x58]
add edi, 0xfffffff8
mov ecx, 0x811c9dc5
cmp di, 2
jb 0x140167195
mov rsi, qword [rbx + 0x60]
and edi, 0xfffe
add rdi, 0xfffffffffffffffe
mov rax, rdi
shr rax, 1
add rax, 1
mov edx, eax
and edx, 3
mov ecx, 0x811c9dc5
cmp rdi, 6
jb 0x140167169
and rax, 0xfffffffffffffffc
neg rax
mov ecx, 0x811c9dc5
nop word cs:[rax + rax]
movsx edi, byte [rsi]
xor edi, ecx
imul ecx, edi, 0x1000193
movsx edi, byte [rsi + 2]
xor edi, ecx
imul ecx, edi, 0x1000193
movsx edi, byte [rsi + 4]
xor edi, ecx
imul ecx, edi, 0x1000193
movsx edi, byte [rsi + 6]
xor edi, ecx
imul ecx, edi, 0x1000193
add rsi, 8
add rax, 4
jne 0x140167130
test rdx, rdx
je 0x140167195
add rdx, rdx
xor eax, eax
nop word cs:[rax + rax]
nop dword [rax]
movsx edi, byte [rsi + rax]
xor edi, ecx
imul ecx, edi, 0x1000193
add rax, 2
cmp rdx, rax
jne 0x140167180
test r9b, r9b
je 0x1401673f0
cmp ecx, r13d
jne 0x14016726f
cmp byte [rbp + 0xf0], 0
je 0x1401673b0
test r15b, r15b
je 0x1401673c0
test r9b, r9b
je 0x1401673d0
mov rsi, qword [rbx + 0x30]
movsxd rax, dword [rsi + 0x3c]
mov r11d, dword [rsi + rax + 0x88]
test r11, r11
je 0x14016726f
mov eax, dword [rsi + rax + 0x8c]
mov qword [rbp + 0xe8], rax
mov rdi, r11
add rdi, rsi
mov eax, dword [rdi + 0x18]
lea r10, [rsi + 1]
mov r15, rax
jmp 0x14016720e
mov r8d, 0x811c9dc5
mov rax, r15
cmp r8d, r14d
je 0x14016727d
sub r15, 1
jb 0x14016725a
mov ecx, eax
add ecx, 0xffffffff
mov eax, dword [rdi + 0x20]
add rax, rsi
mov edx, dword [rax + rcx*4]
mov al, byte [rsi + rdx]
test al, al
je 0x140167200
add rdx, r10
mov r8d, 0x811c9dc5
nop word cs:[rax + rax]
nop dword [rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
add rdx, 1
test al, al
jne 0x140167240
jmp 0x140167206
mov r8b, byte [rbp + 0xf8]
mov r10, qword [rbp + 0x100]
mov r15b, byte [rbp + 0x10f]
test r9b, r9b
jne 0x140167340
jmp 0x14016738c
mov eax, dword [rdi + 0x1c]
mov edx, dword [rdi + 0x24]
add rax, rsi
add rdx, rsi
movzx ecx, word [rdx + rcx*2]
mov eax, dword [rax + rcx*4]
add rsi, rax
cmp r11d, eax
jae 0x14016741b
add rdi, qword [rbp + 0xe8]
cmp rdi, rsi
jbe 0x14016741b
mov al, byte [rsi]
mov r14d, 0x811c9dc5
mov r13d, 0x811c9dc5
cmp al, 0x2e
jne 0x1401672d5
mov r8b, byte [rbp + 0xf8]
mov r10, qword [rbp + 0x100]
mov r15b, byte [rbp + 0x10f]
jmp 0x140167309
mov r8b, byte [rbp + 0xf8]
mov r10, qword [rbp + 0x100]
mov r15b, byte [rbp + 0x10f]
nop word [rax + rax]
movsx eax, al
xor eax, r13d
imul r13d, eax, 0x1000193
movzx eax, byte [rsi + 1]
add rsi, 1
cmp al, 0x2e
jne 0x1401672f0
mov al, byte [rsi + 1]
test al, al
je 0x140167338
add rsi, 2
mov r14d, 0x811c9dc5
nop word [rax + rax]
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
movzx eax, byte [rsi]
add rsi, 1
test al, al
jne 0x140167320
mov rbx, qword [r10]
test r9b, r9b
je 0x14016738c
test r12b, r12b
je 0x140167370
nop word cs:[rax + rax]
nop
mov rbx, qword [rbx]
test r12b, r12b
je 0x140167370
cmp rbx, r10
je 0x140167380
test r9b, r9b
jne 0x1401670c0
jmp 0x14016738c
mov rbx, qword [rbx]
jmp 0x140167350
mov rbx, r10
test r9b, r9b
jne 0x140167419
test r12b, r12b
je 0x1401673a8
nop word cs:[rax + rax]
nop dword [rax + rax]
mov rbx, qword [rbx]
test r12b, r12b
jne 0x140167340
mov rbx, qword [rbx]
jmp 0x1401673a0
jmp 0x1401673b0
jmp 0x1401673c0
jmp 0x1401673d0
jmp 0x1401673e0
jmp 0x1401673f0
cmp edi, 0xa
setl bl
lea esi, [rdx - 1]
mov eax, esi
imul eax, edx
test al, 1
sete al
or al, bl
nop word [rax + rax]
test al, al
je 0x140167410
jmp 0x140166fe2
xor esi, esi
mov qword [0x1406f0888], rsi
mov r10b, byte [rbp + 0xd4]
mov r11, qword [rbp + 0xc8]
mov r14d, dword [rbp + 0xe4]
lea edi, [r11 - 1]
imul edi, r11d
and edi, 1
cmp r14d, 0xa
jl 0x14016744c
test edi, edi
jne 0x1401674a0
test rsi, rsi
je 0x1401674a2
test r10b, r10b
je 0x140166f6c
lea rdx, [rbp + 0xc4]
mov rcx, qword [rbp + 0xb8]
call rsi
cmp dword [0x1406f1888], 0xa
jl 0x1401674ff
mov eax, dword [0x1406f188c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1401674ff
nop dword [rax + rax]
jmp 0x140167490
jmp 0x1401674a0
mov rax, qword gs:[0x60]
mov r8, qword [rax + 0x18]
mov eax, dword [0x1406f1430]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1434], 0xa
setl cl
or cl, al
mov edx, dword [0x1406f1438]
mov r15d, dword [0x1406f143c]
cmp cl, 1
mov qword [rbp + 0xc8], r11
mov dword [rbp + 0xe4], r14d
mov dword [rbp + 0xb4], edi
jne 0x1401679f2
lea esi, [rdx - 1]
jmp 0x1401675dd
mov rbx, qword [0x1406f0890]
test rbx, rbx
je 0x14016756e
mov edx, dword [rbp + 0xc4]
or edx, 4
mov rcx, qword [rbp + 0xb8]
call rbx
mov eax, dword [0x1406f1890]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1894], 0xa
setl cl
or cl, al
mov eax, dword [0x1406f1898]
mov edx, dword [0x1406f189c]
mov byte [rbp + 0x10f], cl
mov qword [rbp + 0xc8], rax
mov dword [rbp + 0xe4], edx
jne 0x140167d60
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jmp 0x140168126
cmp dword [0x1406f18a0], 0xa
jl 0x140167592
mov eax, dword [0x1406f18a4]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x140167592
nop dword [rax + rax]
jmp 0x140167590
mov rax, qword gs:[0x60]
mov r8, qword [rax + 0x18]
mov eax, dword [0x1406f1430]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1434], 0xa
setl r9b
or r9b, al
mov edx, dword [0x1406f1438]
mov ebx, dword [0x1406f143c]
cmp r9b, 1
jne 0x140167a79
lea edi, [rdx - 1]
jmp 0x140167a4b
mov r9, qword [r8 + 0x10]
imul esi, edx
test sil, 1
sete bl
cmp r15d, 0xa
setl al
or al, bl
nop word cs:[rax + rax]
nop
test al, al
je 0x140167600
test cl, cl
je 0x1401679f2
mov eax, dword [0x1406f1768]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f176c], 0xa
setl r8b
or r8b, al
mov eax, dword [0x1406f1880]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1884], 0xa
mov r11, qword [r9]
setl r15b
or r15b, al
mov eax, dword [0x1406f0b34]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f0b30], 0xa
setl r12b
or r12b, al
mov eax, dword [0x1406f1440]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1444], 0xa
setl r13b
or r13b, al
mov eax, r15d
or al, r12b
mov byte [rbp + 0xf0], al
mov r14d, 0xc09860af
mov rbx, r11
xor r10d, r10d
mov byte [rbp + 0xf8], r8b
mov qword [rbp + 0x100], r11
mov byte [rbp + 0x10f], r12b
jmp 0x1401676cb
cmp qword [rbx + 0x30], 0
je 0x140167a19
test r10d, r10d
je 0x1401677a7
test r8b, r8b
je 0x1401679e0
mov ecx, dword [rbx + 0x58]
add ecx, 0xfffffff8
mov edi, 0x811c9dc5
cmp cx, 2
jb 0x140167795
mov rsi, qword [rbx + 0x60]
and ecx, 0xfffe
add rcx, 0xfffffffffffffffe
mov rax, rcx
shr rax, 1
add rax, 1
mov edx, eax
and edx, 3
mov edi, 0x811c9dc5
cmp rcx, 6
jb 0x140167769
and rax, 0xfffffffffffffffc
neg rax
mov edi, 0x811c9dc5
nop word cs:[rax + rax]
movsx ecx, byte [rsi]
xor ecx, edi
imul ecx, ecx, 0x1000193
movsx edi, byte [rsi + 2]
xor edi, ecx
imul ecx, edi, 0x1000193
movsx edi, byte [rsi + 4]
xor edi, ecx
imul ecx, edi, 0x1000193
movsx edi, byte [rsi + 6]
xor edi, ecx
imul edi, edi, 0x1000193
add rsi, 8
add rax, 4
jne 0x140167730
test rdx, rdx
je 0x140167795
add rdx, rdx
xor eax, eax
nop word cs:[rax + rax]
nop dword [rax]
movsx ecx, byte [rsi + rax]
xor ecx, edi
imul edi, ecx, 0x1000193
add rax, 2
cmp rdx, rax
jne 0x140167780
test r15b, r15b
je 0x1401679f0
cmp edi, r10d
jne 0x14016786f
cmp byte [rbp + 0xf0], 0
je 0x1401679b0
test r12b, r12b
je 0x1401679c0
test r15b, r15b
je 0x1401679d0
mov rsi, qword [rbx + 0x30]
movsxd rax, dword [rsi + 0x3c]
mov r9d, dword [rsi + rax + 0x88]
test r9, r9
je 0x14016786f
mov eax, dword [rsi + rax + 0x8c]
mov qword [rbp + 0xe8], rax
mov rax, r9
add rax, rsi
mov ecx, dword [rax + 0x18]
lea r11, [rsi + 1]
mov r12, rcx
jmp 0x14016780e
mov r8d, 0x811c9dc5
mov rcx, r12
cmp r8d, r14d
je 0x14016787d
sub r12, 1
jb 0x14016785a
mov edi, ecx
add edi, 0xffffffff
mov ecx, dword [rax + 0x20]
add rcx, rsi
mov edx, dword [rcx + rdi*4]
mov cl, byte [rsi + rdx]
test cl, cl
je 0x140167800
add rdx, r11
mov r8d, 0x811c9dc5
nop word cs:[rax + rax]
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
add rdx, 1
test cl, cl
jne 0x140167840
jmp 0x140167806
mov r8b, byte [rbp + 0xf8]
mov r11, qword [rbp + 0x100]
mov r12b, byte [rbp + 0x10f]
test r15b, r15b
jne 0x140167940
jmp 0x14016798c
mov ecx, dword [rax + 0x1c]
mov edx, dword [rax + 0x24]
add rcx, rsi
add rdx, rsi
movzx edx, word [rdx + rdi*2]
mov ecx, dword [rcx + rdx*4]
add rsi, rcx
cmp r9d, ecx
jae 0x140167a1b
add rax, qword [rbp + 0xe8]
cmp rax, rsi
jbe 0x140167a1b
mov al, byte [rsi]
mov r14d, 0x811c9dc5
mov r10d, 0x811c9dc5
cmp al, 0x2e
jne 0x1401678d5
mov r8b, byte [rbp + 0xf8]
mov r11, qword [rbp + 0x100]
mov r12b, byte [rbp + 0x10f]
jmp 0x140167909
mov r8b, byte [rbp + 0xf8]
mov r11, qword [rbp + 0x100]
mov r12b, byte [rbp + 0x10f]
nop word [rax + rax]
movsx eax, al
xor eax, r10d
imul r10d, eax, 0x1000193
movzx eax, byte [rsi + 1]
add rsi, 1
cmp al, 0x2e
jne 0x1401678f0
mov al, byte [rsi + 1]
test al, al
je 0x140167938
add rsi, 2
mov r14d, 0x811c9dc5
nop word [rax + rax]
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
movzx eax, byte [rsi]
add rsi, 1
test al, al
jne 0x140167920
mov rbx, qword [r11]
test r15b, r15b
je 0x14016798c
test r13b, r13b
je 0x140167970
nop word cs:[rax + rax]
nop
mov rbx, qword [rbx]
test r13b, r13b
je 0x140167970
cmp rbx, r11
je 0x140167980
test r15b, r15b
jne 0x1401676c0
jmp 0x14016798c
mov rbx, qword [rbx]
jmp 0x140167950
mov rbx, r11
test r15b, r15b
jne 0x140167a19
test r13b, r13b
je 0x1401679a8
nop word cs:[rax + rax]
nop dword [rax + rax]
mov rbx, qword [rbx]
test r13b, r13b
jne 0x140167940
mov rbx, qword [rbx]
jmp 0x1401679a0
jmp 0x1401679b0
jmp 0x1401679c0
jmp 0x1401679d0
jmp 0x1401679e0
jmp 0x1401679f0
cmp r15d, 0xa
setl bl
lea esi, [rdx - 1]
mov eax, esi
imul eax, edx
test al, 1
sete al
or al, bl
nop dword [rax + rax]
test al, al
je 0x140167a10
jmp 0x1401675dd
xor esi, esi
mov qword [0x1406f0888], rsi
mov r10b, byte [rbp + 0xd4]
mov r11, qword [rbp + 0xc8]
mov r14d, dword [rbp + 0xe4]
mov edi, dword [rbp + 0xb4]
test r10b, r10b
je 0x140166f6c
jmp 0x14016745a
mov rsi, qword [r8 + 0x10]
imul edi, edx
test dil, 1
sete cl
cmp ebx, 0xa
setl al
or al, cl
nop word cs:[rax + rax]
nop dword [rax + rax]
test al, al
je 0x140167a70
test r9b, r9b
jne 0x140167a96
cmp ebx, 0xa
setl cl
lea edi, [rdx - 1]
mov eax, edi
imul eax, edx
test al, 1
sete al
or al, cl
nop
test al, al
je 0x140167a90
jmp 0x140167a4b
mov r8, qword [rsi]
mov eax, dword [0x1406f1768]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f176c], 0xa
setl cl
or cl, al
mov byte [rbp + 0xe8], cl
mov eax, dword [0x1406f0b34]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f0b30], 0xa
setl cl
or cl, al
mov byte [rbp + 0xf0], cl
mov eax, dword [0x1406f1440]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1444], 0xa
setl r14b
or r14b, al
mov edi, 0x3074a12b
mov r12, r8
xor r13d, r13d
mov qword [rbp + 0x100], r8
test r13d, r13d
je 0x140167bd6
cmp byte [rbp + 0xe8], 0
je 0x140167d50
mov esi, dword [r12 + 0x58]
add esi, 0xfffffff8
mov edx, 0x811c9dc5
cmp si, 2
jb 0x140167bcd
mov rbx, qword [r12 + 0x60]
and esi, 0xfffe
add rsi, 0xfffffffffffffffe
mov rax, rsi
shr rax, 1
add rax, 1
mov ecx, eax
and ecx, 3
mov edx, 0x811c9dc5
cmp rsi, 6
jb 0x140167bae
and rax, 0xfffffffffffffffc
neg rax
mov edx, 0x811c9dc5
movsx esi, byte [rbx]
xor esi, edx
imul edx, esi, 0x1000193
movsx esi, byte [rbx + 2]
xor esi, edx
imul edx, esi, 0x1000193
movsx esi, byte [rbx + 4]
xor esi, edx
imul edx, esi, 0x1000193
movsx esi, byte [rbx + 6]
xor esi, edx
imul edx, esi, 0x1000193
add rbx, 8
add rax, 4
jne 0x140167b75
test rcx, rcx
je 0x140167bcd
add rcx, rcx
xor eax, eax
movsx esi, byte [rbx + rax]
xor esi, edx
imul edx, esi, 0x1000193
add rax, 2
cmp rcx, rax
jne 0x140167bb8
cmp edx, r13d
jne 0x140167d12
cmp byte [rbp + 0xf0], 0
je 0x140167d40
mov rbx, qword [r12 + 0x30]
movsxd rax, dword [rbx + 0x3c]
mov r15d, dword [rbx + rax + 0x88]
test r15, r15
je 0x140167d12
mov eax, dword [rbx + rax + 0x8c]
mov qword [rbp + 0xf8], rax
mov rcx, r15
add rcx, rbx
mov esi, dword [rcx + 0x18]
lea rax, [rbx + 1]
mov r11, rsi
jmp 0x140167c2b
mov r9d, 0x811c9dc5
mov rsi, r11
cmp r9d, edi
je 0x140167c89
sub r11, 1
jb 0x140167c7d
mov edx, esi
add edx, 0xffffffff
mov esi, dword [rcx + 0x20]
add rsi, rbx
mov r8d, dword [rsi + rdx*4]
mov r10b, byte [rbx + r8]
test r10b, r10b
je 0x140167c1d
add r8, rax
mov r9d, 0x811c9dc5
nop word cs:[rax + rax]
nop dword [rax]
movsx esi, r10b
xor esi, r9d
imul r9d, esi, 0x1000193
movzx r10d, byte [r8]
add r8, 1
test r10b, r10b
jne 0x140167c60
jmp 0x140167c23
mov r8, qword [rbp + 0x100]
jmp 0x140167d12
mov eax, dword [rcx + 0x1c]
mov edi, dword [rcx + 0x24]
add rax, rbx
add rdi, rbx
movzx edx, word [rdi + rdx*2]
mov eax, dword [rax + rdx*4]
add rbx, rax
cmp r15d, eax
jae 0x140167d54
add rcx, qword [rbp + 0xf8]
cmp rcx, rbx
mov r8, qword [rbp + 0x100]
jbe 0x140167d54
mov al, byte [rbx]
mov edi, 0x811c9dc5
mov r13d, 0x811c9dc5
cmp al, 0x2e
je 0x140167ce9
movsx eax, al
xor eax, r13d
imul r13d, eax, 0x1000193
movzx eax, byte [rbx + 1]
add rbx, 1
cmp al, 0x2e
jne 0x140167cd0
mov al, byte [rbx + 1]
test al, al
je 0x140167d0f
add rbx, 2
mov edi, 0x811c9dc5
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
movzx eax, byte [rbx]
add rbx, 1
test al, al
jne 0x140167cf9
mov r12, qword [r8]
test r14b, r14b
je 0x140167d33
mov r12, qword [r12]
test r14b, r14b
je 0x140167d33
cmp r12, r8
je 0x140167d52
cmp qword [r12 + 0x30], 0
jne 0x140167b13
jmp 0x140167d52
mov r12, qword [r12]
jmp 0x140167d17
jmp 0x140167d40
jmp 0x140167d50
xor ebx, ebx
mov qword [0x1406f0890], rbx
jmp 0x14016750b
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp edx, 0xa
jl 0x140167d72
test ebx, ebx
jne 0x140167dd0
mov rdi, qword [0x1406f0898]
test rdi, rdi
jne 0x140168122
mov dword [rbp + 0xd4], ebx
mov rax, qword gs:[0x60]
mov r8, qword [rax + 0x18]
mov eax, dword [0x1406f1430]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1434], 0xa
setl cl
or cl, al
mov edx, dword [0x1406f1438]
mov edi, dword [0x1406f143c]
cmp cl, 1
jne 0x1401680e2
lea esi, [rdx - 1]
jmp 0x140167dd2
jmp 0x140167dd0
mov r9, qword [r8 + 0x10]
imul esi, edx
test sil, 1
sete bl
cmp edi, 0xa
setl al
or al, bl
test al, al
je 0x140167de8
test cl, cl
je 0x1401680e2
mov eax, dword [0x1406f1768]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f176c], 0xa
mov r10, qword [r9]
setl cl
or cl, al
mov byte [rbp + 0xe8], cl
mov eax, dword [0x1406f18a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f18ac], 0xa
setl r9b
or r9b, al
mov eax, dword [0x1406f0b34]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f0b30], 0xa
setl cl
or cl, al
mov byte [rbp + 0xf0], cl
mov eax, dword [0x1406f1440]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1444], 0xa
setl r13b
or r13b, al
mov esi, 0x91f23b71
mov r14, r10
xor r11d, r11d
mov qword [rbp + 0x100], r10
test r11d, r11d
je 0x140167f60
cmp byte [rbp + 0xe8], 0
je 0x1401680d0
mov eax, dword [r14 + 0x58]
add eax, 0xfffffff8
mov ebx, 0x811c9dc5
cmp ax, 2
jb 0x140167f48
mov rdi, qword [r14 + 0x60]
and eax, 0xfffe
add rax, 0xfffffffffffffffe
mov rdx, rax
shr rdx, 1
add rdx, 1
mov ecx, edx
and ecx, 3
mov ebx, 0x811c9dc5
cmp rax, 6
jb 0x140167f29
and rdx, 0xfffffffffffffffc
neg rdx
mov ebx, 0x811c9dc5
movsx eax, byte [rdi]
xor eax, ebx
imul eax, eax, 0x1000193
movsx ebx, byte [rdi + 2]
xor ebx, eax
imul eax, ebx, 0x1000193
movsx ebx, byte [rdi + 4]
xor ebx, eax
imul eax, ebx, 0x1000193
movsx ebx, byte [rdi + 6]
xor ebx, eax
imul ebx, ebx, 0x1000193
add rdi, 8
add rdx, 4
jne 0x140167ef0
test rcx, rcx
je 0x140167f48
add rcx, rcx
xor eax, eax
movsx edx, byte [rdi + rax]
xor edx, ebx
imul ebx, edx, 0x1000193
add rax, 2
cmp rcx, rax
jne 0x140167f33
test r9b, r9b
je 0x1401680e0
cmp ebx, r11d
jne 0x14016808f
nop word [rax + rax]
test r9b, r9b
je 0x140167f60
cmp byte [rbp + 0xf0], 0
je 0x1401680c0
mov rdi, qword [r14 + 0x30]
movsxd rax, dword [rdi + 0x3c]
mov r8d, dword [rdi + rax + 0x88]
test r8, r8
je 0x14016808f
mov eax, dword [rdi + rax + 0x8c]
mov qword [rbp + 0xf8], rax
mov rdx, r8
add rdx, rdi
mov eax, dword [rdx + 0x18]
lea r10, [rdi + 1]
mov r15, rax
jmp 0x140167fb9
mov r12d, 0x811c9dc5
mov rax, r15
cmp r12d, esi
je 0x140168006
sub r15, 1
jb 0x140167ffa
mov ebx, eax
add ebx, 0xffffffff
mov eax, dword [rdx + 0x20]
add rax, rdi
mov ecx, dword [rax + rbx*4]
mov al, byte [rdi + rcx]
test al, al
je 0x140167fab
add rcx, r10
mov r12d, 0x811c9dc5
nop dword [rax]
movsx eax, al
xor eax, r12d
imul r12d, eax, 0x1000193
movzx eax, byte [rcx]
add rcx, 1
test al, al
jne 0x140167fe0
jmp 0x140167fb1
mov r10, qword [rbp + 0x100]
jmp 0x14016808f
mov eax, dword [rdx + 0x1c]
mov ecx, dword [rdx + 0x24]
add rax, rdi
add rcx, rdi
movzx ecx, word [rcx + rbx*2]
mov eax, dword [rax + rcx*4]
add rdi, rax
cmp r8d, eax
jae 0x140168102
add rdx, qword [rbp + 0xf8]
cmp rdx, rdi
mov r10, qword [rbp + 0x100]
jbe 0x140168102
mov al, byte [rdi]
mov esi, 0x811c9dc5
mov r11d, 0x811c9dc5
cmp al, 0x2e
je 0x140168066
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
movzx eax, byte [rdi + 1]
add rdi, 1
cmp al, 0x2e
jne 0x14016804d
mov cl, byte [rdi + 1]
test cl, cl
je 0x14016808c
add rdi, 2
mov esi, 0x811c9dc5
movsx eax, cl
xor eax, esi
imul esi, eax, 0x1000193
movzx ecx, byte [rdi]
add rdi, 1
test cl, cl
jne 0x140168076
mov r14, qword [r10]
test r13b, r13b
je 0x1401680ae
mov r14, qword [r14]
test r13b, r13b
je 0x1401680ae
cmp r14, r10
je 0x140168100
cmp qword [r14 + 0x30], 0
jne 0x140167e91
jmp 0x140168100
mov r14, qword [r14]
jmp 0x140168094
jmp 0x1401680c0
jmp 0x1401680d0
jmp 0x1401680e0
cmp edi, 0xa
setl bl
lea esi, [rdx - 1]
mov eax, esi
imul eax, edx
test al, 1
sete al
or al, bl
test al, al
je 0x1401680f7
jmp 0x140167dd2
xor edi, edi
mov qword [0x1406f0898], rdi
mov cl, byte [rbp + 0x10f]
mov rax, qword [rbp + 0xc8]
mov edx, dword [rbp + 0xe4]
mov ebx, dword [rbp + 0xd4]
test cl, cl
jne 0x140168192
cmp edx, 0xa
jl 0x14016812f
test ebx, ebx
jne 0x140168190
cmp qword [0x1406f0898], 0
jne 0x140167d60
mov rax, qword gs:[0x60]
mov r8, qword [rax + 0x18]
mov eax, dword [0x1406f1430]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1434], 0xa
setl cl
or cl, al
mov edx, dword [0x1406f1438]
mov edi, dword [0x1406f143c]
cmp cl, 1
jne 0x140168612
lea esi, [rdx - 1]
jmp 0x140168308
jmp 0x140168190
mov qword [rsp + 0x20], 0
lea rdx, [rbp - 0x50]
lea r9, [rbp + 0xb0]
mov rcx, qword [rbp + 0xb8]
mov r8d, 0x100
call rdi
mov eax, dword [rbp + 0xb0]
add eax, 0xfffffffe
mov byte [rbp + rax - 0x50], 0
cmp dword [0x1406f1888], 0xa
jl 0x1401681df
mov eax, dword [0x1406f188c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1401681df
jmp 0x1401681dd
mov rbx, qword [0x1406f0890]
test rbx, rbx
je 0x14016822b
mov edx, dword [rbp + 0xc4]
mov rcx, qword [rbp + 0xb8]
call rbx
lea rcx, [rbp - 0x50]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rsi, rax
mov rax, qword [rbp + 0xd8]
mov rax, qword [rax + 0x18]
cmp rax, rsi
jae 0x14016824b
lea r9, [rbp - 0x50]
mov rcx, qword [rbp + 0xd8]
mov rdx, rsi
call fcn.1400ac710
jmp 0x1401682a2
cmp dword [0x1406f18a0], 0xa
jl 0x1401682bd
mov eax, dword [0x1406f18a4]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1401682bd
jmp 0x140168249
mov ecx, dword [0x1406f0ab0]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete dl
cmp dword [0x1406f0ab4], 0xa
setl cl
or cl, dl
test cl, cl
je 0x140168269
mov rdi, qword [rbp + 0xd8]
cmp rax, 0x10
jb 0x140168284
mov rax, qword [rbp + 0xd8]
mov rdi, qword [rax]
mov rax, qword [rbp + 0xd8]
mov qword [rax + 0x10], rsi
lea rdx, [rbp - 0x50]
mov rcx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rsi], 0
mov rax, qword [rbp + 0xd8]
add rsp, 0x198
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword gs:[0x60]
mov r8, qword [rax + 0x18]
mov eax, dword [0x1406f1430]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1434], 0xa
setl r9b
or r9b, al
mov edx, dword [0x1406f1438]
mov ebx, dword [0x1406f143c]
cmp r9b, 1
jne 0x140168670
lea edi, [rdx - 1]
jmp 0x140168651
mov r9, qword [r8 + 0x10]
imul esi, edx
test sil, 1
sete bl
cmp edi, 0xa
setl al
or al, bl
test al, al
je 0x14016831e
test cl, cl
je 0x140168612
mov eax, dword [0x1406f1768]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f176c], 0xa
mov r10, qword [r9]
setl cl
or cl, al
mov byte [rbp + 0xe8], cl
mov eax, dword [0x1406f18a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f18ac], 0xa
setl r9b
or r9b, al
mov eax, dword [0x1406f0b34]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f0b30], 0xa
setl cl
or cl, al
mov byte [rbp + 0xf0], cl
mov eax, dword [0x1406f1440]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1444], 0xa
setl r12b
or r12b, al
mov esi, 0x91f23b71
mov r11, r10
xor r13d, r13d
mov qword [rbp + 0x100], r10
test r13d, r13d
je 0x140168490
cmp byte [rbp + 0xe8], 0
je 0x140168600
mov eax, dword [r11 + 0x58]
add eax, 0xfffffff8
mov ebx, 0x811c9dc5
cmp ax, 2
jb 0x14016847e
mov rcx, qword [r11 + 0x60]
and eax, 0xfffe
add rax, 0xfffffffffffffffe
mov rdx, rax
shr rdx, 1
add rdx, 1
mov edi, edx
and edi, 3
mov ebx, 0x811c9dc5
cmp rax, 6
jb 0x14016845f
and rdx, 0xfffffffffffffffc
neg rdx
mov ebx, 0x811c9dc5
movsx eax, byte [rcx]
xor eax, ebx
imul eax, eax, 0x1000193
movsx ebx, byte [rcx + 2]
xor ebx, eax
imul eax, ebx, 0x1000193
movsx ebx, byte [rcx + 4]
xor ebx, eax
imul eax, ebx, 0x1000193
movsx ebx, byte [rcx + 6]
xor ebx, eax
imul ebx, ebx, 0x1000193
add rcx, 8
add rdx, 4
jne 0x140168426
test rdi, rdi
je 0x14016847e
add rdi, rdi
xor eax, eax
movsx edx, byte [rcx + rax]
xor edx, ebx
imul ebx, edx, 0x1000193
add rax, 2
cmp rdi, rax
jne 0x140168469
test r9b, r9b
je 0x140168610
cmp ebx, r13d
jne 0x1401685c0
test r9b, r9b
je 0x140168490
cmp byte [rbp + 0xf0], 0
je 0x1401685f0
mov rcx, qword [r11 + 0x30]
movsxd rax, dword [rcx + 0x3c]
mov r8d, dword [rcx + rax + 0x88]
test r8, r8
je 0x1401685c0
mov eax, dword [rcx + rax + 0x8c]
mov qword [rbp + 0xf8], rax
mov rdx, r8
add rdx, rcx
mov eax, dword [rdx + 0x18]
lea rdi, [rcx + 1]
mov r10, rax
jmp 0x1401684e9
mov r15d, 0x811c9dc5
mov rax, r10
cmp r15d, esi
je 0x140168537
sub r10, 1
jb 0x14016852b
mov ebx, eax
add ebx, 0xffffffff
mov eax, dword [rdx + 0x20]
add rax, rcx
mov r14d, dword [rax + rbx*4]
mov al, byte [rcx + r14]
test al, al
je 0x1401684db
add r14, rdi
mov r15d, 0x811c9dc5
nop
movsx eax, al
xor eax, r15d
imul r15d, eax, 0x1000193
movzx eax, byte [r14]
add r14, 1
test al, al
jne 0x140168510
jmp 0x1401684e1
mov r10, qword [rbp + 0x100]
jmp 0x1401685c0
mov eax, dword [rdx + 0x1c]
mov edi, dword [rdx + 0x24]
add rax, rcx
add rdi, rcx
movzx ebx, word [rdi + rbx*2]
mov eax, dword [rax + rbx*4]
add rcx, rax
cmp r8d, eax
jae 0x140168632
add rdx, qword [rbp + 0xf8]
cmp rdx, rcx
mov r10, qword [rbp + 0x100]
jbe 0x140168632
mov al, byte [rcx]
mov esi, 0x811c9dc5
mov r13d, 0x811c9dc5
cmp al, 0x2e
je 0x140168597
movsx eax, al
xor eax, r13d
imul r13d, eax, 0x1000193
movzx eax, byte [rcx + 1]
add rcx, 1
cmp al, 0x2e
jne 0x14016857e
mov dl, byte [rcx + 1]
test dl, dl
je 0x1401685bd
add rcx, 2
mov esi, 0x811c9dc5
movsx eax, dl
xor eax, esi
imul esi, eax, 0x1000193
movzx edx, byte [rcx]
add rcx, 1
test dl, dl
jne 0x1401685a7
mov r11, qword [r10]
test r12b, r12b
je 0x1401685df
mov r11, qword [r11]
test r12b, r12b
je 0x1401685df
cmp r11, r10
je 0x140168630
cmp qword [r11 + 0x30], 0
jne 0x1401683c7
jmp 0x140168630
mov r11, qword [r11]
jmp 0x1401685c5
jmp 0x1401685f0
jmp 0x140168600
jmp 0x140168610
cmp edi, 0xa
setl bl
lea esi, [rdx - 1]
mov eax, esi
imul eax, edx
test al, 1
sete al
or al, bl
test al, al
je 0x140168627
jmp 0x140168308
xor ecx, ecx
mov qword [0x1406f0898], rcx
mov cl, byte [rbp + 0x10f]
mov rax, qword [rbp + 0xc8]
mov edx, dword [rbp + 0xe4]
jmp 0x140167d60
mov rsi, qword [r8 + 0x10]
imul edi, edx
test dil, 1
sete cl
cmp ebx, 0xa
setl al
or al, cl
test al, al
je 0x140168667
test r9b, r9b
jne 0x14016868b
cmp ebx, 0xa
setl cl
lea edi, [rdx - 1]
mov eax, edi
imul eax, edx
test al, 1
sete al
or al, cl
test al, al
je 0x140168685
jmp 0x140168651
mov r12, qword [rsi]
mov eax, dword [0x1406f1768]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f176c], 0xa
setl cl
or cl, al
mov byte [rbp + 0xf8], cl
mov eax, dword [0x1406f0b34]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f0b30], 0xa
setl cl
or cl, al
mov byte [rbp + 0xe8], cl
mov eax, dword [0x1406f1440]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f1444], 0xa
setl r14b
or r14b, al
mov edi, 0x3074a12b
mov qword [rbp + 0xf0], r12
xor r13d, r13d
test r13d, r13d
je 0x1401687c8
cmp byte [rbp + 0xf8], 0
je 0x14016891b
mov esi, dword [r12 + 0x58]
add esi, 0xfffffff8
mov edx, 0x811c9dc5
cmp si, 2
jb 0x1401687bf
mov rbx, qword [r12 + 0x60]
and esi, 0xfffe
add rsi, 0xfffffffffffffffe
mov rax, rsi
shr rax, 1
add rax, 1
mov ecx, eax
and ecx, 3
mov edx, 0x811c9dc5
cmp rsi, 6
jb 0x1401687a0
and rax, 0xfffffffffffffffc
neg rax
mov edx, 0x811c9dc5
movsx esi, byte [rbx]
xor esi, edx
imul edx, esi, 0x1000193
movsx esi, byte [rbx + 2]
xor esi, edx
imul edx, esi, 0x1000193
movsx esi, byte [rbx + 4]
xor esi, edx
imul edx, esi, 0x1000193
movsx esi, byte [rbx + 6]
xor esi, edx
imul edx, esi, 0x1000193
add rbx, 8
add rax, 4
jne 0x140168767
test rcx, rcx
je 0x1401687bf
add rcx, rcx
xor eax, eax
movsx esi, byte [rbx + rax]
xor esi, edx
imul edx, esi, 0x1000193
add rax, 2
cmp rcx, rax
jne 0x1401687aa
cmp edx, r13d
jne 0x1401688ee
cmp byte [rbp + 0xe8], 0
je 0x140168919
mov rbx, qword [r12 + 0x30]
movsxd rax, dword [rbx + 0x3c]
mov r15d, dword [rbx + rax + 0x88]
test r15, r15
je 0x1401688ee
mov eax, dword [rbx + rax + 0x8c]
mov qword [rbp + 0x100], rax
mov rcx, r15
add rcx, rbx
mov esi, dword [rcx + 0x18]
lea rax, [rbx + 1]
mov r11, rsi
jmp 0x14016881d
mov r9d, 0x811c9dc5
mov rsi, r11
cmp r9d, edi
je 0x140168865
sub r11, 1
jb 0x1401688ee
mov edx, esi
add edx, 0xffffffff
mov esi, dword [rcx + 0x20]
add rsi, rbx
mov r8d, dword [rsi + rdx*4]
mov r10b, byte [rbx + r8]
test r10b, r10b
je 0x14016880f
add r8, rax
mov r9d, 0x811c9dc5
movsx esi, r10b
xor esi, r9d
imul r9d, esi, 0x1000193
movzx r10d, byte [r8]
add r8, 1
test r10b, r10b
jne 0x140168848
jmp 0x140168815
mov eax, dword [rcx + 0x1c]
mov edi, dword [rcx + 0x24]
add rax, rbx
add rdi, rbx
movzx edx, word [rdi + rdx*2]
mov eax, dword [rax + rdx*4]
add rbx, rax
cmp r15d, eax
jae 0x14016891f
add rcx, qword [rbp + 0x100]
cmp rcx, rbx
jbe 0x14016891f
mov al, byte [rbx]
mov edi, 0x811c9dc5
mov r13d, 0x811c9dc5
cmp al, 0x2e
je 0x1401688be
movsx eax, al
xor eax, r13d
imul r13d, eax, 0x1000193
movzx eax, byte [rbx + 1]
add rbx, 1
cmp al, 0x2e
jne 0x1401688a5
mov al, byte [rbx + 1]
test al, al
je 0x1401688e4
add rbx, 2
mov edi, 0x811c9dc5
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
movzx eax, byte [rbx]
add rbx, 1
test al, al
jne 0x1401688ce
mov rax, qword [rbp + 0xf0]
mov r12, qword [rax]
test r14b, r14b
je 0x140168913
mov r12, qword [r12]
test r14b, r14b
je 0x140168913
cmp r12, qword [rbp + 0xf0]
je 0x14016891d
cmp qword [r12 + 0x30], 0
jne 0x140168705
jmp 0x14016891d
mov r12, qword [r12]
jmp 0x1401688f3
jmp 0x140168919
jmp 0x14016891b
xor ebx, ebx
mov qword [0x1406f0890], rbx
jmp 0x1401681eb