Function at 0x1400aa1c0
Capabilities:
Access peb ldr_data
Hash data using fnv
Parse pe header
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, 0x1f8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x170], 0xfffffffffffffffe
test rdx, rdx
je 0x1400aaa40
mov r15, r8
mov r14, rdx
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rbp + 0xe0], xmm0
movaps xmmword [rbp + 0xd0], xmm0
movaps xmmword [rbp + 0xc0], xmm0
movaps xmmword [rbp + 0xb0], xmm0
lea rcx, [rbp - 0x58]
mov r8d, 0x108
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea rdx, [rbp + 0xb0]
mov r9d, 0x40
mov rcx, rsi
mov r8, r14
call fcn.1400a9480
cmp dword [0x1406ce3bc], 0xa
jl 0x1400aa2b2
mov ecx, dword [0x1406ce3b8]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1400aa2b2
lea rdi, [rbp + 0xb0]
nop word cs:[rax + rax]
nop dword [rax + rax]
mov r9d, 0x40
mov rcx, rsi
mov rdx, rdi
mov r8, r14
call fcn.1400a9480
mov r9d, 0x40
mov rcx, rsi
mov rdx, rdi
mov r8, r14
call fcn.1400a9480
cmp dword [0x1406ce3bc], 0xa
jl 0x1400aa2b2
mov ecx, dword [0x1406ce3b8]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1400aa270
test al, al
je 0x1400aaa40
movzx eax, word [rbp + 0xb0]
cmp eax, 0x5a4d
jne 0x1400aaa40
movsxd rdi, dword [rbp + 0xec]
add rdi, r14
lea rdx, [rbp - 0x58]
mov r9d, 0x108
mov rcx, rsi
mov r8, rdi
call fcn.1400a9480
cmp dword [0x1406ce3bc], 0xa
jl 0x1400aa352
mov ecx, dword [0x1406ce3b8]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1400aa352
lea rbx, [rbp - 0x58]
nop dword [rax]
mov r9d, 0x108
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
call fcn.1400a9480
mov r9d, 0x108
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
call fcn.1400a9480
cmp dword [0x1406ce3bc], 0xa
jl 0x1400aa352
mov ecx, dword [0x1406ce3b8]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1400aa310
test al, al
je 0x1400aaa40
cmp dword [rbp - 0x58], 0x4550
jne 0x1400aaa40
mov ebx, dword [rbp + 0x30]
xor edi, edi
test rbx, rbx
je 0x1400aaa42
mov eax, dword [rbp + 0x34]
test eax, eax
je 0x1400aaa42
mov edx, dword [0x1406cfba8]
mov ecx, dword [0x1406cfbac]
lea r13d, [rdx - 1]
imul r13d, edx
and r13d, 1
cmp ecx, 0xa
jl 0x1400aa3b2
test r13d, r13d
je 0x1400aa3b2
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x1400aa3b0
mov rdx, qword gs:[0x60]
mov rdx, qword [rdx + 0x18]
mov r8, qword [rdx + 0x10]
cmp dword [0x1406ce2d4], 0xa
jl 0x1400aa3e2
mov edx, dword [0x1406ce2d0]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
je 0x1400aa3e2
nop dword [rax]
jmp 0x1400aa3e0
mov qword [rbp + 0x118], r8
mov qword [rbp + 0x150], rbx
mov qword [rbp + 0x160], rax
test r13d, r13d
sete r9b
cmp ecx, 0xa
setl al
setge dl
mov ecx, dword [0x1406ce2e0]
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
sete r8b
cmp dword [0x1406ce2e4], 0xa
setl byte [rbp + 0x158]
mov ecx, dword [0x1406ce2ec]
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
sete r10b
cmp dword [0x1406ce2e8], 0xa
setl byte [rbp + 0x110]
mov ecx, dword [0x1406ce2f0]
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
sete r11b
cmp dword [0x1406ce2f4], 0xa
setl bl
cmp dword [0x1406ce6e4], 0xa
jl 0x1400aa492
mov edi, dword [0x1406ce6e0]
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
je 0x1400aa492
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x1400aa490
mov ecx, edx
xor cl, r9b
xor cl, 1
or byte [rbp + 0x158], r8b
and r13b, dl
or byte [rbp + 0x110], r10b
and al, r9b
or al, cl
mov byte [rbp + 0x128], al
mov r9d, ebx
or r9b, r11b
mov r8, qword [rbp + 0x118]
mov rdi, qword [r8 + 0x30]
mov rax, r8
mov r12, qword [rbp + 0x160]
mov byte [rbp + 0x16f], r9b
movsxd rcx, dword [rdi + 0x3c]
mov ebx, dword [rcx + rdi + 0x88]
test rbx, rbx
je 0x1400aa719
mov qword [rbp + 0x130], rax
mov ecx, dword [rdi + rbx + 0x18]
lea rax, [rdi + 1]
mov qword [rbp + 0x120], rax
mov r8, rcx
mov qword [rbp + 0x138], rdi
mov qword [rbp + 0x140], rbx
sub r8, 1
jb 0x1400aa6f0
cmp byte [rbp + 0x158], 0
je 0x1400aa740
mov eax, 0xffffffff
add rcx, rax
mov edx, dword [rdi + rbx + 0x20]
add rdx, rdi
mov eax, ecx
mov qword [rbp + 0x148], rax
mov r10d, dword [rdx + rax*4]
mov cl, byte [rdi + r10]
test cl, cl
je 0x1400aa6c1
add r10, qword [rbp + 0x120]
mov r11d, 0x811c9dc5
jmp 0x1400aa62c
mov edx, r9d
or edx, 0x1c6c88fb
mov ecx, r9d
not ecx
or ecx, 0xe3937704
mov eax, edx
and eax, 0x4a121404
mov edi, r9d
and edi, 0x48801a
mov ebx, ecx
and ebx, 0x1c121044
add edi, ebx
add edi, 0x80006801
mov ebx, r9d
and ebx, 0x2408a1
mov r12d, r9d
and r12d, 0xa1816300
or r12d, eax
xor r12d, ebx
xor r12d, edi
mov eax, r9d
and eax, 0x2103304
and edx, 0xe9c7cc99
or edx, eax
mov eax, r9d
and eax, 0x14280062
and ecx, 0xe9c7cc99
add eax, ecx
add eax, 0x2103304
xor eax, edx
xor r9d, 0x1c6c88fb
or r9d, eax
mov eax, r12d
xor eax, 0x887ef0be
xor r12d, r9d
xor r12d, 0x887ef0be
or eax, r9d
not eax
or eax, r12d
xor r11d, eax
xor r11d, 0xe3937704
imul r11d, r11d, 0x1000193
movzx ecx, byte [r10]
add r10, 1
test cl, cl
je 0x1400aa6c7
movsx r9d, cl
lea ecx, [r9 - 0x41]
cmp cl, 0x19
ja 0x1400aa570
mov ecx, r9d
not ecx
mov edx, r9d
and edx, 0x89c1ac7c
mov eax, r9d
or eax, 0x89c1ac7c
mov edi, r9d
xor edi, 0x1008070
and edi, edx
not edx
mov ebx, eax
and ebx, 0x253ac2f1
and ecx, 0x52041102
or ecx, ebx
xor eax, edx
and edx, 0x253ac2f1
or edi, edx
xor edi, ecx
mov ecx, r9d
xor ecx, 0x89c1ac7c
or ecx, eax
mov eax, ecx
xor eax, edi
not eax
not ecx
and ecx, edi
or ecx, eax
and r9d, 0x20
mov eax, ecx
not eax
and eax, r9d
mov edx, ecx
and edx, 0x2e4f563d
xor edx, r9d
and ecx, 0xd1b0a9c2
or ecx, edx
xor ecx, eax
xor ecx, 0x763e53a3
mov r9d, ecx
jmp 0x1400aa570
mov r11d, 0x811c9dc5
test r13b, r13b
jne 0x1400aa750
mov rcx, r8
cmp r11d, 0x700da41
mov rdi, qword [rbp + 0x138]
mov rbx, qword [rbp + 0x140]
jne 0x1400aa513
jmp 0x1400aa762
cmp byte [rbp + 0x128], 0
mov r12, qword [rbp + 0x160]
mov r8, qword [rbp + 0x118]
mov r9b, byte [rbp + 0x16f]
mov rax, qword [rbp + 0x130]
je 0x1400aa7e0
test r9b, r9b
je 0x1400aa760
mov rax, qword [rax]
cmp rax, r8
je 0x1400aa733
mov rdi, qword [rax + 0x30]
test rdi, rdi
jne 0x1400aa4d8
xor ebx, ebx
jmp 0x1400aa79a
jmp 0x1400aa740
jmp 0x1400aa750
jmp 0x1400aa760
cmp byte [rbp + 0x110], 0
je 0x1400aa7d0
cmp byte [rbp + 0x128], 0
mov r12, qword [rbp + 0x160]
je 0x1400aa7e0
mov eax, dword [rdi + rbx + 0x1c]
mov ecx, dword [rdi + rbx + 0x24]
add rax, rdi
add rcx, rdi
mov rbx, qword [rbp + 0x148]
movzx ecx, word [rcx + rbx*2]
mov ebx, dword [rax + rcx*4]
add rbx, rdi
cmp dword [0x1406cdb3c], 0xa
jl 0x1400aa7e2
mov eax, dword [0x1406cdb38]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400aa7e2
nop word cs:[rax + rax]
nop
jmp 0x1400aa7c0
jmp 0x1400aa7d0
jmp 0x1400aa7e0
xor ecx, ecx
mov rdx, r12
mov r8d, 0x3000
mov r9d, 4
call rbx
mov rdi, rax
mov rax, qword [rbp + 0x150]
lea r13, [rax + r14]
mov rcx, rsi
mov rdx, rdi
mov r8, r13
mov r9, r12
call fcn.1400a9480
cmp dword [0x1406ce3bc], 0xa
jl 0x1400aa871
mov ecx, dword [0x1406ce3b8]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1400aa871
mov rbx, qword [rbp + 0x160]
mov rcx, rsi
mov rdx, rdi
mov r8, r13
mov r9, rbx
call fcn.1400a9480
mov rcx, rsi
mov rdx, rdi
mov r8, r13
mov r9, rbx
call fcn.1400a9480
cmp dword [0x1406ce3bc], 0xa
jl 0x1400aa871
mov ecx, dword [0x1406ce3b8]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1400aa835
test al, al
mov qword [rbp + 0x110], rdi
je 0x1400aa9b8
cmp dword [rdi + 0x18], 0
je 0x1400aa95a
mov r12, rdi
sub r12, qword [rbp + 0x150]
mov eax, dword [rdi + 0x1c]
mov ecx, dword [rdi + 0x20]
add rcx, r12
mov qword [rbp + 0x158], rcx
mov ecx, dword [rdi + 0x24]
add rcx, r12
mov qword [rbp + 0x140], rcx
add rax, r12
mov qword [rbp + 0x138], rax
add qword [rbp + 0x160], r13
xor ebx, ebx
lea rsi, [rbp + 0xf0]
mov rax, qword [rbp + 0x158]
mov edx, dword [rax + rbx*4]
add rdx, r12
mov rcx, rsi
call fcn.14009e520
mov eax, dword [0x1406ce0e8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406ce0ec], 0xa
setl dl
mov eax, edx
xor al, cl
and dl, cl
xor dl, 1
mov ecx, eax
xor cl, dl
xor al, 1
or al, dl
and al, cl
test al, al
jne 0x1400aa90f
cmp qword [r15 + 0x18], 0x10
mov rdx, r15
jb 0x1400aa920
mov rdx, qword [r15]
cmp qword [rbp + 0x108], 0x10
mov rcx, rsi
jb 0x1400aa934
mov rcx, qword [rbp + 0xf0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
je 0x1400aaa16
mov rcx, rsi
call fcn.14009eab0
add rbx, 1
mov eax, dword [rdi + 0x18]
cmp rbx, rax
jb 0x1400aa8cb
mov eax, dword [0x1406cddb8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cddbc], 0xa
setl cl
or cl, al
mov byte [rbp + 0x16e], cl
mov eax, dword [0x1406d00e0]
mov qword [rbp + 0x130], rax
mov eax, dword [0x1406d00e4]
mov dword [rbp + 0x148], eax
jne 0x1400ac0eb
mov rax, qword [rbp + 0x130]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov dword [rbp + 0x120], ecx
jmp 0x1400ac4ac
mov eax, dword [0x1406cddb8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cddbc], 0xa
setl cl
or cl, al
mov byte [rbp + 0x16f], cl
mov eax, dword [0x1406d00e0]
mov qword [rbp + 0x118], rax
mov eax, dword [0x1406d00e4]
mov dword [rbp + 0x148], eax
jne 0x1400aab04
mov rax, qword [rbp + 0x118]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov dword [rbp + 0x120], ecx
jmp 0x1400aaeb8
mov rax, qword [rbp + 0x140]
movzx eax, word [rax + rbx*2]
mov rcx, qword [rbp + 0x138]
mov edi, dword [rcx + rax*4]
cmp rdi, 0x1000
ja 0x1400aaa59
lea rcx, [rbp + 0xf0]
call fcn.14009eab0
xor edi, edi
mov rax, rdi
add rsp, 0x1f8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
add rdi, r14
mov eax, dword [0x1406cddb8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cddbc], 0xa
setl cl
or cl, al
mov byte [rbp + 0x118], cl
mov eax, dword [0x1406d00e0]
mov qword [rbp + 0x120], rax
mov eax, dword [0x1406d00e4]
mov dword [rbp + 0x140], eax
cmp rdi, r13
jb 0x1400aaacf
cmp rdi, qword [rbp + 0x160]
ja 0x1400aaacf
cmp byte [rbp + 0x118], 0
jne 0x1400ab21c
mov rax, qword [rbp + 0x120]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov dword [rbp + 0x160], ecx
jmp 0x1400ab5f3
cmp byte [rbp + 0x118], 0
jne 0x1400ab97a
mov rax, qword [rbp + 0x120]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov dword [rbp + 0x160], ecx
jmp 0x1400abd47
cmp byte [rbp + 0x160], 0
jne 0x1400ab1f8
mov rax, qword [rbp + 0x118]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp dword [rbp + 0x148], 0xa
jl 0x1400aab25
test ebx, ebx
jne 0x1400aae68
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x160], rax
cmp dword [0x1406ce2d4], 0xa
jl 0x1400aab5b
mov eax, dword [0x1406ce2d0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400aae6a
mov eax, dword [0x1406ce2e0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete r8b
cmp dword [0x1406ce2e4], 0xa
setl byte [rbp + 0x158]
mov ecx, dword [0x1406ce2ec]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete r9b
cmp dword [0x1406ce2e8], 0xa
setl al
mov dword [rbp + 0x120], ebx
test ebx, ebx
setne r10b
cmp dword [rbp + 0x148], 0xa
setge dl
mov ecx, dword [0x1406ce2f0]
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
sete cl
cmp dword [0x1406ce2f4], 0xa
setl bl
cmp dword [0x1406ce6e4], 0xa
jl 0x1400aabea
mov edi, dword [0x1406ce6e0]
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
jne 0x1400aae6c
or byte [rbp + 0x158], r8b
or al, r9b
mov byte [rbp + 0x16e], al
and dl, r10b
mov byte [rbp + 0x130], dl
or bl, cl
mov byte [rbp + 0x150], bl
mov rax, qword [rbp + 0x160]
mov rsi, qword [rax + 0x30]
movsxd rcx, dword [rsi + 0x3c]
mov ecx, dword [rcx + rsi + 0x88]
test rcx, rcx
je 0x1400aae1f
mov qword [rbp + 0x128], rax
mov ebx, dword [rsi + rcx + 0x18]
lea rax, [rsi + 1]
mov qword [rbp + 0x140], rax
mov r8, rbx
jmp 0x1400aac5e
mov r10d, 0x811c9dc5
mov rbx, r8
cmp r10d, 0x6bcbc4b2
mov rcx, r9
je 0x1400aae70
sub r8, 1
jb 0x1400aae09
cmp byte [rbp + 0x158], 0
je 0x1400aae64
mov eax, 0xffffffff
add rbx, rax
mov r9, rcx
mov edx, dword [rsi + rcx + 0x20]
add rdx, rsi
mov eax, ebx
mov qword [rbp + 0x138], rax
mov r11d, dword [rdx + rax*4]
mov bl, byte [rsi + r11]
test bl, bl
je 0x1400aac45
add r11, qword [rbp + 0x140]
mov r10d, 0x811c9dc5
jmp 0x1400aad74
mov r15d, r13d
or r15d, 0x1c6c88fb
mov r14d, r13d
not r14d
or r14d, 0xe3937704
mov eax, r15d
and eax, 0x4a121404
mov ecx, r13d
and ecx, 0x48801a
mov edx, r14d
and edx, 0x1c121044
add ecx, edx
add ecx, 0x80006801
mov edx, r13d
and edx, 0x2408a1
mov r12d, r13d
and r12d, 0xa1816300
or r12d, eax
xor r12d, edx
xor r12d, ecx
mov eax, r13d
and eax, 0x2103304
and r15d, 0xe9c7cc99
or r15d, eax
mov eax, r13d
and eax, 0x14280062
and r14d, 0xe9c7cc99
add eax, r14d
add eax, 0x2103304
xor eax, r15d
xor r13d, 0x1c6c88fb
or r13d, eax
mov eax, r12d
xor eax, 0x887ef0be
xor r12d, r13d
xor r12d, 0x887ef0be
or eax, r13d
not eax
or eax, r12d
xor r10d, eax
xor r10d, 0xe3937704
imul r10d, r10d, 0x1000193
movzx ebx, byte [r11]
add r11, 1
test bl, bl
je 0x1400aac4b
movsx r13d, bl
lea edx, [r13 - 0x41]
cmp dl, 0x19
ja 0x1400aacae
mov edx, r13d
not edx
mov ebx, r13d
and ebx, 0x89c1ac7c
mov ecx, r13d
or ecx, 0x89c1ac7c
mov eax, r13d
xor eax, 0x1008070
and eax, ebx
not ebx
mov edi, ecx
and edi, 0x253ac2f1
and edx, 0x52041102
or edx, edi
xor ecx, ebx
and ebx, 0x253ac2f1
or eax, ebx
xor eax, edx
mov edx, r13d
xor edx, 0x89c1ac7c
or edx, ecx
mov ecx, edx
xor ecx, eax
not ecx
not edx
and edx, eax
or edx, ecx
and r13d, 0x20
mov eax, edx
not eax
and eax, r13d
mov ecx, edx
and ecx, 0x2e4f563d
xor ecx, r13d
and edx, 0xd1b0a9c2
or edx, ecx
xor edx, eax
xor edx, 0x763e53a3
mov r13d, edx
jmp 0x1400aacae
cmp byte [rbp + 0x130], 0
jne 0x1400aae6e
mov rax, qword [rbp + 0x128]
jne 0x1400ab1fa
cmp byte [rbp + 0x150], 0
je 0x1400aae66
mov rax, qword [rax]
cmp rax, qword [rbp + 0x160]
je 0x1400aae41
mov rsi, qword [rax + 0x30]
test rsi, rsi
jne 0x1400aac16
cmp dword [rbp + 0x148], 0xa
setl dl
setge al
cmp dword [rbp + 0x120], 0
sete cl
xor ebx, ebx
test cl, dl
jne 0x1400aaeab
xor al, cl
je 0x1400aaeab
jmp 0x1400aae62
jmp 0x1400aae64
jmp 0x1400aae66
jmp 0x1400aae68
jmp 0x1400aae6a
jmp 0x1400aae6c
jmp 0x1400aae6e
cmp byte [rbp + 0x16e], 0
je 0x1400ab1fe
cmp byte [rbp + 0x130], 0
jne 0x1400ab1fa
mov eax, dword [rsi + r9 + 0x1c]
mov ecx, dword [rsi + r9 + 0x24]
add rax, rsi
add rcx, rsi
mov rdx, qword [rbp + 0x138]
movzx ecx, word [rcx + rdx*2]
mov ebx, dword [rax + rcx*4]
add rbx, rsi
cmp byte [rbp + 0x16f], 0
jne 0x1400ac801
cmp dword [rbp + 0x148], 0xa
jl 0x1400aaece
cmp dword [rbp + 0x120], 0
jne 0x1400ab1f2
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x138], rax
cmp dword [0x1406ce2d4], 0xa
jl 0x1400aaf04
mov eax, dword [0x1406ce2d0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400ab1f4
mov eax, dword [0x1406ce2e0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete r8b
cmp dword [0x1406ce2e4], 0xa
setl r13b
mov eax, dword [0x1406ce2ec]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete r9b
cmp dword [0x1406ce2e8], 0xa
setl cl
cmp dword [rbp + 0x120], 0
setne r10b
cmp dword [rbp + 0x148], 0xa
setge al
mov ebx, dword [0x1406ce2f0]
lea edi, [rbx - 1]
imul edi, ebx
test dil, 1
sete bl
cmp dword [0x1406ce2f4], 0xa
setl dl
cmp dword [0x1406ce6e4], 0xa
jl 0x1400aaf8f
mov edi, dword [0x1406ce6e0]
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
jne 0x1400ab1f6
or r13b, r8b
or cl, r9b
mov byte [rbp + 0x130], cl
and al, r10b
mov byte [rbp + 0x160], al
or dl, bl
mov byte [rbp + 0x140], dl
mov rax, qword [rbp + 0x138]
mov r8, qword [rax + 0x30]
mov rcx, rax
movsxd rax, dword [r8 + 0x3c]
mov r12d, dword [rax + r8 + 0x88]
test r12, r12
je 0x1400ab1a3
mov qword [rbp + 0x150], rcx
mov eax, dword [r8 + r12 + 0x18]
lea rcx, [r8 + 1]
mov qword [rbp + 0x158], rcx
mov r9, rax
jmp 0x1400aafff
mov edi, 0x811c9dc5
mov rax, r9
cmp edi, 0x6bcbc4b2
je 0x1400ab200
sub r9, 1
jb 0x1400ab191
test r13b, r13b
je 0x1400ab1ee
mov ecx, 0xffffffff
add rax, rcx
mov ebx, dword [r8 + r12 + 0x20]
add rbx, r8
mov eax, eax
mov r11d, dword [rbx + rax*4]
mov al, byte [r8 + r11]
test al, al
je 0x1400aafeb
add r11, qword [rbp + 0x158]
mov edi, 0x811c9dc5
jmp 0x1400ab100
mov r14d, r10d
or r14d, 0x1c6c88fb
mov eax, r10d
not eax
or eax, 0xe3937704
mov ecx, r14d
and ecx, 0x4a121404
mov edx, r10d
and edx, 0x48801a
mov esi, eax
and esi, 0x1c121044
add edx, esi
add edx, 0x80006801
mov esi, r10d
and esi, 0x2408a1
mov r15d, r10d
and r15d, 0xa1816300
or r15d, ecx
xor r15d, esi
xor r15d, edx
mov ecx, r10d
and ecx, 0x2103304
and r14d, 0xe9c7cc99
or r14d, ecx
mov ecx, r10d
and ecx, 0x14280062
and eax, 0xe9c7cc99
add eax, ecx
add eax, 0x2103304
xor eax, r14d
xor r10d, 0x1c6c88fb
or r10d, eax
mov eax, r15d
xor eax, 0x887ef0be
xor r15d, r10d
xor r15d, 0x887ef0be
or eax, r10d
not eax
or eax, r15d
xor edi, eax
xor edi, 0xe3937704
imul edi, edi, 0x1000193
movzx eax, byte [r11]
add r11, 1
test al, al
je 0x1400aaff0
movsx r10d, al
lea eax, [r10 - 0x41]
cmp al, 0x19
ja 0x1400ab041
mov eax, r10d
not eax
mov ecx, r10d
and ecx, 0x89c1ac7c
mov ebx, r10d
or ebx, 0x89c1ac7c
mov esi, r10d
xor esi, 0x1008070
and esi, ecx
not ecx
mov edx, ebx
and edx, 0x253ac2f1
and eax, 0x52041102
or eax, edx
xor ebx, ecx
and ecx, 0x253ac2f1
or esi, ecx
xor esi, eax
mov eax, r10d
xor eax, 0x89c1ac7c
or eax, ebx
mov ecx, eax
xor ecx, esi
not ecx
not eax
and eax, esi
or eax, ecx
and r10d, 0x20
mov ecx, eax
not ecx
and ecx, r10d
mov edx, eax
and edx, 0x2e4f563d
xor edx, r10d
and eax, 0xd1b0a9c2
or eax, edx
xor eax, ecx
xor eax, 0x763e53a3
mov r10d, eax
jmp 0x1400ab041
cmp byte [rbp + 0x160], 0
jne 0x1400ab1fc
mov rcx, qword [rbp + 0x150]
jne 0x1400ab1f8
cmp byte [rbp + 0x140], 0
je 0x1400ab1f0
mov rcx, qword [rcx]
cmp rcx, qword [rbp + 0x138]
je 0x1400ab1c5
mov r8, qword [rcx + 0x30]
test r8, r8
jne 0x1400aafba
cmp dword [rbp + 0x148], 0xa
setl dl
setge al
cmp dword [rbp + 0x120], 0
sete cl
test cl, dl
jne 0x1400aab04
xor al, cl
je 0x1400aab04
jmp 0x1400ab1ec
jmp 0x1400ab1ee
jmp 0x1400ab1f0
jmp 0x1400ab1f2
jmp 0x1400ab1f4
jmp 0x1400ab1f6
jmp 0x1400ab1f8
jmp 0x1400ab1fa
jmp 0x1400ab1fc
jmp 0x1400ab1fe
cmp byte [rbp + 0x130], 0
jne 0x1400aaaf7
jmp 0x1400ab20d
cmp byte [rbp + 0x130], 0
jne 0x1400ab93e
mov rax, qword [rbp + 0x120]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov dword [rbp + 0x160], ecx
cmp dword [rbp + 0x140], 0xa
jl 0x1400ab248
cmp dword [rbp + 0x160], 0
jne 0x1400ab5a2
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x128], rax
cmp dword [0x1406ce2d4], 0xa
jl 0x1400ab27e
mov eax, dword [0x1406ce2d0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400ab5a4
mov eax, dword [0x1406ce2e0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406ce2e4], 0xa
setl byte [rbp + 0x138]
mov ecx, dword [0x1406ce2ec]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete dl
cmp dword [0x1406ce2e8], 0xa
setl byte [rbp + 0x16e]
cmp dword [rbp + 0x160], 0
setne bl
cmp dword [rbp + 0x140], 0xa
setge byte [rbp + 0x16f]
mov ecx, dword [0x1406ce2f0]
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
sete cl
cmp dword [0x1406ce2f4], 0xa
setl byte [rbp + 0x130]
cmp dword [0x1406ce6e4], 0xa
jl 0x1400ab315
mov edi, dword [0x1406ce6e0]
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
jne 0x1400ab5a6
or byte [rbp + 0x138], al
or byte [rbp + 0x16e], dl
and byte [rbp + 0x16f], bl
or byte [rbp + 0x130], cl
mov rax, qword [rbp + 0x128]
mov r8, qword [rax + 0x30]
mov qword [rbp + 0x150], rax
movsxd rax, dword [r8 + 0x3c]
mov ecx, dword [rax + r8 + 0x88]
mov rax, rcx
mov qword [rbp + 0x158], rcx
test rcx, rcx
je 0x1400ab544
mov rax, qword [rbp + 0x158]
mov edi, dword [r8 + rax + 0x18]
lea rax, [r8 + 1]
mov qword [rbp + 0x148], rax
mov r9, rdi
jmp 0x1400ab390
mov r11d, 0x811c9dc5
mov rdi, r9
cmp r11d, 0x6bcbc4b2
je 0x1400ab5aa
sub r9, 1
jb 0x1400ab535
cmp byte [rbp + 0x138], 0
je 0x1400ab59e
mov eax, 0xffffffff
add rdi, rax
mov rax, qword [rbp + 0x158]
mov ecx, dword [r8 + rax + 0x20]
add rcx, r8
mov r10d, edi
mov edi, dword [rcx + r10*4]
mov cl, byte [r8 + rdi]
test cl, cl
je 0x1400ab37a
add rdi, qword [rbp + 0x148]
mov r11d, 0x811c9dc5
jmp 0x1400ab4a4
mov r15d, r13d
or r15d, 0x1c6c88fb
mov r14d, r13d
not r14d
or r14d, 0xe3937704
mov eax, r15d
and eax, 0x4a121404
mov ecx, r13d
and ecx, 0x48801a
mov edx, r14d
and edx, 0x1c121044
add ecx, edx
add ecx, 0x80006801
mov edx, r13d
and edx, 0x2408a1
mov r12d, r13d
and r12d, 0xa1816300
or r12d, eax
xor r12d, edx
xor r12d, ecx
mov eax, r13d
and eax, 0x2103304
and r15d, 0xe9c7cc99
or r15d, eax
mov eax, r13d
and eax, 0x14280062
and r14d, 0xe9c7cc99
add eax, r14d
add eax, 0x2103304
xor eax, r15d
xor r13d, 0x1c6c88fb
or r13d, eax
mov eax, r12d
xor eax, 0x887ef0be
xor r12d, r13d
xor r12d, 0x887ef0be
or eax, r13d
not eax
or eax, r12d
xor r11d, eax
xor r11d, 0xe3937704
imul r11d, r11d, 0x1000193
movzx ecx, byte [rdi]
add rdi, 1
test cl, cl
je 0x1400ab380
movsx r13d, cl
lea ecx, [r13 - 0x41]
cmp cl, 0x19
ja 0x1400ab3df
mov ecx, r13d
not ecx
mov eax, r13d
and eax, 0x89c1ac7c
mov ebx, r13d
or ebx, 0x89c1ac7c
mov esi, r13d
xor esi, 0x1008070
and esi, eax
not eax
mov edx, ebx
and edx, 0x253ac2f1
and ecx, 0x52041102
or ecx, edx
xor ebx, eax
and eax, 0x253ac2f1
or esi, eax
xor esi, ecx
mov eax, r13d
xor eax, 0x89c1ac7c
or eax, ebx
mov ecx, eax
xor ecx, esi
not ecx
not eax
and eax, esi
or eax, ecx
and r13d, 0x20
mov ecx, eax
not ecx
and ecx, r13d
mov edx, eax
and edx, 0x2e4f563d
xor edx, r13d
and eax, 0xd1b0a9c2
or eax, edx
xor eax, ecx
xor eax, 0x763e53a3
mov r13d, eax
jmp 0x1400ab3df
cmp byte [rbp + 0x16f], 0
jne 0x1400ab5a8
jne 0x1400ab940
cmp byte [rbp + 0x130], 0
je 0x1400ab5a0
mov rax, qword [rbp + 0x150]
mov rax, qword [rax]
mov qword [rbp + 0x150], rax
cmp rax, qword [rbp + 0x128]
je 0x1400ab57b
mov rax, qword [rbp + 0x150]
mov r8, qword [rax + 0x30]
test r8, r8
jne 0x1400ab33f
cmp dword [rbp + 0x140], 0xa
setl dl
setge al
cmp dword [rbp + 0x160], 0
sete cl
xor ebx, ebx
test cl, dl
jne 0x1400ab5e6
xor al, cl
je 0x1400ab5e6
jmp 0x1400ab59c
jmp 0x1400ab59e
jmp 0x1400ab5a0
jmp 0x1400ab5a2
jmp 0x1400ab5a4
jmp 0x1400ab5a6
jmp 0x1400ab5a8
cmp byte [rbp + 0x16e], 0
je 0x1400ab944
cmp byte [rbp + 0x16f], 0
jne 0x1400ab940
mov rcx, qword [rbp + 0x158]
mov eax, dword [r8 + rcx + 0x1c]
mov ecx, dword [r8 + rcx + 0x24]
add rax, r8
add rcx, r8
movzx ecx, word [rcx + r10*2]
mov ebx, dword [rax + rcx*4]
add rbx, r8
cmp byte [rbp + 0x118], 0
jne 0x1400ab955
cmp dword [rbp + 0x140], 0xa
jl 0x1400ab609
cmp dword [rbp + 0x160], 0
jne 0x1400ab938
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x150], rax
cmp dword [0x1406ce2d4], 0xa
jl 0x1400ab63f
mov eax, dword [0x1406ce2d0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400ab93a
mov eax, dword [0x1406ce2e0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406ce2e4], 0xa
setl r13b
mov ecx, dword [0x1406ce2ec]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x1406ce2e8], 0xa
setl byte [rbp + 0x128]
cmp dword [rbp + 0x160], 0
setne dl
cmp dword [rbp + 0x140], 0xa
setge byte [rbp + 0x130]
mov ebx, dword [0x1406ce2f0]
lea edi, [rbx - 1]
imul edi, ebx
test dil, 1
sete bl
cmp dword [0x1406ce2f4], 0xa
setl byte [rbp + 0x148]
cmp dword [0x1406ce6e4], 0xa
jl 0x1400ab6d3
mov edi, dword [0x1406ce6e0]
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
jne 0x1400ab93c
or r13b, al
or byte [rbp + 0x128], cl
and byte [rbp + 0x130], dl
or byte [rbp + 0x148], bl
mov rax, qword [rbp + 0x150]
mov r8, qword [rax + 0x30]
mov qword [rbp + 0x138], rax
movsxd rax, dword [r8 + 0x3c]
mov r12d, dword [rax + r8 + 0x88]
test r12, r12
je 0x1400ab8d4
mov ecx, dword [r8 + r12 + 0x18]
lea rax, [r8 + 1]
mov qword [rbp + 0x158], rax
mov r9, rcx
jmp 0x1400ab738
mov edi, 0x811c9dc5
mov rcx, r9
cmp edi, 0x6bcbc4b2
je 0x1400ab946
sub r9, 1
jb 0x1400ab8c9
test r13b, r13b
je 0x1400ab934
mov eax, 0xffffffff
add rcx, rax
mov ebx, dword [r8 + r12 + 0x20]
add rbx, r8
mov ecx, ecx
mov r10d, dword [rbx + rcx*4]
mov cl, byte [r8 + r10]
test cl, cl
je 0x1400ab724
add r10, qword [rbp + 0x158]
mov edi, 0x811c9dc5
jmp 0x1400ab838
mov r14d, r11d
or r14d, 0x1c6c88fb
mov ecx, r11d
not ecx
or ecx, 0xe3937704
mov eax, r14d
and eax, 0x4a121404
mov edx, r11d
and edx, 0x48801a
mov esi, ecx
and esi, 0x1c121044
add edx, esi
add edx, 0x80006801
mov esi, r11d
and esi, 0x2408a1
mov r15d, r11d
and r15d, 0xa1816300
or r15d, eax
xor r15d, esi
xor r15d, edx
mov eax, r11d
and eax, 0x2103304
and r14d, 0xe9c7cc99
or r14d, eax
mov eax, r11d
and eax, 0x14280062
and ecx, 0xe9c7cc99
add eax, ecx
add eax, 0x2103304
xor eax, r14d
xor r11d, 0x1c6c88fb
or r11d, eax
mov eax, r15d
xor eax, 0x887ef0be
xor r15d, r11d
xor r15d, 0x887ef0be
or eax, r11d
not eax
or eax, r15d
xor edi, eax
xor edi, 0xe3937704
imul edi, edi, 0x1000193
movzx ecx, byte [r10]
add r10, 1
test cl, cl
je 0x1400ab729
movsx r11d, cl
lea ecx, [r11 - 0x41]
cmp cl, 0x19
ja 0x1400ab77a
mov ecx, r11d
not ecx
mov eax, r11d
and eax, 0x89c1ac7c
mov ebx, r11d
or ebx, 0x89c1ac7c
mov esi, r11d
xor esi, 0x1008070
and esi, eax
not eax
mov edx, ebx
and edx, 0x253ac2f1
and ecx, 0x52041102
or ecx, edx
xor ebx, eax
and eax, 0x253ac2f1
or esi, eax
xor esi, ecx
mov eax, r11d
xor eax, 0x89c1ac7c
or eax, ebx
mov ecx, eax
xor ecx, esi
not ecx
not eax
and eax, esi
or eax, ecx
and r11d, 0x20
mov ecx, eax
not ecx
and ecx, r11d
mov edx, eax
and edx, 0x2e4f563d
xor edx, r11d
and eax, 0xd1b0a9c2
or eax, edx
xor eax, ecx
xor eax, 0x763e53a3
mov r11d, eax
jmp 0x1400ab77a
cmp byte [rbp + 0x130], 0
jne 0x1400ab942
jne 0x1400ab93e
cmp byte [rbp + 0x148], 0
je 0x1400ab936
mov rax, qword [rbp + 0x138]
mov rax, qword [rax]
mov qword [rbp + 0x138], rax
cmp rax, qword [rbp + 0x150]
je 0x1400ab90b
mov rax, qword [rbp + 0x138]
mov r8, qword [rax + 0x30]
test r8, r8
jne 0x1400ab6fa
cmp dword [rbp + 0x140], 0xa
setl dl
setge al
cmp dword [rbp + 0x160], 0
sete cl
test cl, dl
jne 0x1400ab21c
xor al, cl
je 0x1400ab21c
jmp 0x1400ab932
jmp 0x1400ab934
jmp 0x1400ab936
jmp 0x1400ab938
jmp 0x1400ab93a
jmp 0x1400ab93c
jmp 0x1400ab93e
jmp 0x1400ab940
jmp 0x1400ab942
jmp 0x1400ab944
cmp byte [rbp + 0x128], 0
jne 0x1400ab20f
jmp 0x1400ab953
xor edi, edi
mov rcx, qword [rbp + 0x110]
xor edx, edx
mov r8d, 0x8000
call rbx
jmp 0x1400ac0cd
cmp byte [rbp + 0x128], 0
jne 0x1400ac0a5
mov rax, qword [rbp + 0x120]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov dword [rbp + 0x160], ecx
cmp dword [rbp + 0x140], 0xa
jl 0x1400ab9a6
cmp dword [rbp + 0x160], 0
jne 0x1400abcf6
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x128], rax
cmp dword [0x1406ce2d4], 0xa
jl 0x1400ab9dc
mov eax, dword [0x1406ce2d0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400abcf8
mov eax, dword [0x1406ce2e0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406ce2e4], 0xa
setl byte [rbp + 0x138]
mov eax, dword [0x1406ce2ec]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete r9b
cmp dword [0x1406ce2e8], 0xa
setl byte [rbp + 0x16e]
cmp dword [rbp + 0x160], 0
setne bl
cmp dword [rbp + 0x140], 0xa
setge byte [rbp + 0x16f]
mov eax, dword [0x1406ce2f0]
lea esi, [rax - 1]
imul esi, eax
test sil, 1
sete al
cmp dword [0x1406ce2f4], 0xa
setl byte [rbp + 0x130]
cmp dword [0x1406ce6e4], 0xa
jl 0x1400aba74
mov esi, dword [0x1406ce6e0]
lea edx, [rsi - 1]
imul edx, esi
and edx, 1
jne 0x1400abcfa
or byte [rbp + 0x138], cl
or byte [rbp + 0x16e], r9b
and byte [rbp + 0x16f], bl
or byte [rbp + 0x130], al
mov rax, qword [rbp + 0x128]
mov r8, qword [rax + 0x30]
mov qword [rbp + 0x150], rax
movsxd rdx, dword [r8 + 0x3c]
mov ecx, dword [rdx + r8 + 0x88]
mov rax, rcx
mov qword [rbp + 0x158], rcx
test rcx, rcx
je 0x1400abc98
mov rax, qword [rbp + 0x158]
mov edx, dword [r8 + rax + 0x18]
lea rax, [r8 + 1]
mov qword [rbp + 0x148], rax
mov r9, rdx
jmp 0x1400abaf0
mov r14d, 0x811c9dc5
mov rdx, r9
cmp r14d, 0x6bcbc4b2
je 0x1400abcfe
sub r9, 1
jb 0x1400abc89
cmp byte [rbp + 0x138], 0
je 0x1400abcf2
mov eax, 0xffffffff
add rdx, rax
mov rax, qword [rbp + 0x158]
mov eax, dword [r8 + rax + 0x20]
add rax, r8
mov r10d, edx
mov r11d, dword [rax + r10*4]
mov dl, byte [r8 + r11]
test dl, dl
je 0x1400abada
add r11, qword [rbp + 0x148]
mov r14d, 0x811c9dc5
jmp 0x1400abbfe
mov r12d, edx
or r12d, 0x1c6c88fb
mov r15d, edx
not r15d
or r15d, 0xe3937704
mov eax, r12d
and eax, 0x4a121404
mov ecx, edx
and ecx, 0x48801a
mov esi, r15d
and esi, 0x1c121044
add ecx, esi
add ecx, 0x80006801
mov esi, edx
and esi, 0x2408a1
mov r13d, edx
and r13d, 0xa1816300
or r13d, eax
xor r13d, esi
xor r13d, ecx
mov eax, edx
and eax, 0x2103304
and r12d, 0xe9c7cc99
or r12d, eax
mov eax, edx
and eax, 0x14280062
and r15d, 0xe9c7cc99
add eax, r15d
add eax, 0x2103304
xor eax, r12d
xor edx, 0x1c6c88fb
or edx, eax
mov eax, r13d
xor eax, 0x887ef0be
xor r13d, edx
xor r13d, 0x887ef0be
or eax, edx
not eax
or eax, r13d
xor r14d, eax
xor r14d, 0xe3937704
imul r14d, r14d, 0x1000193
movzx edx, byte [r11]
add r11, 1
test dl, dl
je 0x1400abae0
movsx edx, dl
lea eax, [rdx - 0x41]
cmp al, 0x19
ja 0x1400abb3f
mov eax, edx
not eax
mov ecx, edx
and ecx, 0x89c1ac7c
mov r15d, edx
or r15d, 0x89c1ac7c
mov ebx, edx
xor ebx, 0x1008070
and ebx, ecx
not ecx
mov esi, r15d
and esi, 0x253ac2f1
and eax, 0x52041102
or eax, esi
xor r15d, ecx
and ecx, 0x253ac2f1
or ebx, ecx
xor ebx, eax
mov eax, edx
xor eax, 0x89c1ac7c
or eax, r15d
mov ecx, eax
xor ecx, ebx
not ecx
not eax
and eax, ebx
or eax, ecx
and edx, 0x20
mov ecx, eax
not ecx
and ecx, edx
mov esi, eax
and esi, 0x2e4f563d
xor esi, edx
and eax, 0xd1b0a9c2
or eax, esi
xor eax, ecx
xor eax, 0x763e53a3
mov edx, eax
jmp 0x1400abb3f
cmp byte [rbp + 0x16f], 0
jne 0x1400abcfc
jne 0x1400ac0a7
cmp byte [rbp + 0x130], 0
je 0x1400abcf4
mov rax, qword [rbp + 0x150]
mov rax, qword [rax]
mov qword [rbp + 0x150], rax
cmp rax, qword [rbp + 0x128]
je 0x1400abccf
mov rax, qword [rbp + 0x150]
mov r8, qword [rax + 0x30]
test r8, r8
jne 0x1400aba9f
cmp dword [rbp + 0x140], 0xa
setl dl
setge al
cmp dword [rbp + 0x160], 0
sete cl
xor esi, esi
test cl, dl
jne 0x1400abd3a
xor al, cl
je 0x1400abd3a
jmp 0x1400abcf0
jmp 0x1400abcf2
jmp 0x1400abcf4
jmp 0x1400abcf6
jmp 0x1400abcf8
jmp 0x1400abcfa
jmp 0x1400abcfc
cmp byte [rbp + 0x16e], 0
je 0x1400ac0ab
cmp byte [rbp + 0x16f], 0
jne 0x1400ac0a7
mov rcx, qword [rbp + 0x158]
mov eax, dword [r8 + rcx + 0x1c]
mov ecx, dword [r8 + rcx + 0x24]
add rax, r8
add rcx, r8
movzx ecx, word [rcx + r10*2]
mov esi, dword [rax + rcx*4]
add rsi, r8
cmp byte [rbp + 0x118], 0
jne 0x1400ac0bc
cmp dword [rbp + 0x140], 0xa
jl 0x1400abd5d
cmp dword [rbp + 0x160], 0
jne 0x1400ac09f
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x130], rax
cmp dword [0x1406ce2d4], 0xa
jl 0x1400abd93
mov eax, dword [0x1406ce2d0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400ac0a1
mov eax, dword [0x1406ce2e0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete r8b
cmp dword [0x1406ce2e4], 0xa
setl byte [rbp + 0x158]
mov ecx, dword [0x1406ce2ec]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x1406ce2e8], 0xa
setl byte [rbp + 0x16f]
cmp dword [rbp + 0x160], 0
setne dl
cmp dword [rbp + 0x140], 0xa
setge byte [rbp + 0x128]
mov ebx, dword [0x1406ce2f0]
lea esi, [rbx - 1]
imul esi, ebx
test sil, 1
sete bl
cmp dword [0x1406ce2f4], 0xa
setl byte [rbp + 0x150]
cmp dword [0x1406ce6e4], 0xa
jl 0x1400abe2b
mov esi, dword [0x1406ce6e0]
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x1400ac0a3
or byte [rbp + 0x158], r8b
or byte [rbp + 0x16f], cl
and byte [rbp + 0x128], dl
or byte [rbp + 0x150], bl
mov rax, qword [rbp + 0x130]
mov r9, qword [rax + 0x30]
mov qword [rbp + 0x148], rax
movsxd rcx, dword [r9 + 0x3c]
mov r8d, dword [rcx + r9 + 0x88]
test r8, r8
je 0x1400ac03b
mov ecx, dword [r9 + r8 + 0x18]
lea rax, [r9 + 1]
mov qword [rbp + 0x138], rax
mov r10, rcx
jmp 0x1400abe96
mov r11d, 0x811c9dc5
mov rcx, r10
cmp r11d, 0x6bcbc4b2
je 0x1400ac0ad
sub r10, 1
jb 0x1400ac030
cmp byte [rbp + 0x158], 0
je 0x1400ac09b
mov eax, 0xffffffff
add rcx, rax
mov ebx, dword [r9 + r8 + 0x20]
add rbx, r9
mov ecx, ecx
mov r13d, dword [rbx + rcx*4]
mov cl, byte [r9 + r13]
test cl, cl
je 0x1400abe80
add r13, qword [rbp + 0x138]
mov r11d, 0x811c9dc5
jmp 0x1400abf9d
mov r15d, r12d
or r15d, 0x1c6c88fb
mov r14d, r12d
not r14d
or r14d, 0xe3937704
mov eax, r15d
and eax, 0x4a121404
mov ecx, r12d
and ecx, 0x48801a
mov edx, r14d
and edx, 0x1c121044
add edx, ecx
add edx, 0x80006801
mov esi, r12d
and esi, 0x2408a1
mov ecx, r12d
and ecx, 0xa1816300
or ecx, eax
xor ecx, esi
xor ecx, edx
mov eax, r12d
and eax, 0x2103304
and r15d, 0xe9c7cc99
or r15d, eax
mov eax, r12d
and eax, 0x14280062
and r14d, 0xe9c7cc99
add eax, r14d
add eax, 0x2103304
xor eax, r15d
xor r12d, 0x1c6c88fb
or r12d, eax
mov eax, ecx
xor eax, 0x887ef0be
xor ecx, r12d
xor ecx, 0x887ef0be
or eax, r12d
not eax
or eax, ecx
xor r11d, eax
xor r11d, 0xe3937704
imul r11d, r11d, 0x1000193
movzx ecx, byte [r13]
add r13, 1
test cl, cl
je 0x1400abe86
movsx r12d, cl
lea ecx, [r12 - 0x41]
cmp cl, 0x19
ja 0x1400abedd
mov ecx, r12d
not ecx
mov esi, r12d
and esi, 0x89c1ac7c
mov ebx, r12d
or ebx, 0x89c1ac7c
mov edx, r12d
xor edx, 0x1008070
and edx, esi
not esi
mov eax, ebx
and eax, 0x253ac2f1
and ecx, 0x52041102
or ecx, eax
xor ebx, esi
and esi, 0x253ac2f1
or edx, esi
xor edx, ecx
mov eax, r12d
xor eax, 0x89c1ac7c
or eax, ebx
mov ecx, eax
xor ecx, edx
not ecx
not eax
and eax, edx
or eax, ecx
and r12d, 0x20
mov ecx, eax
not ecx
and ecx, r12d
mov edx, eax
and edx, 0x2e4f563d
xor edx, r12d
and eax, 0xd1b0a9c2
or eax, edx
xor eax, ecx
xor eax, 0x763e53a3
mov r12d, eax
jmp 0x1400abedd
cmp byte [rbp + 0x128], 0
jne 0x1400ac0a9
jne 0x1400ac0a5
cmp byte [rbp + 0x150], 0
je 0x1400ac09d
mov rax, qword [rbp + 0x148]
mov rax, qword [rax]
mov qword [rbp + 0x148], rax
cmp rax, qword [rbp + 0x130]
je 0x1400ac072
mov rax, qword [rbp + 0x148]
mov r9, qword [rax + 0x30]
test r9, r9
jne 0x1400abe56
cmp dword [rbp + 0x140], 0xa
setl dl
setge al
cmp dword [rbp + 0x160], 0
sete cl
test cl, dl
jne 0x1400ab97a
xor al, cl
je 0x1400ab97a
jmp 0x1400ac099
jmp 0x1400ac09b
jmp 0x1400ac09d
jmp 0x1400ac09f
jmp 0x1400ac0a1
jmp 0x1400ac0a3
jmp 0x1400ac0a5
jmp 0x1400ac0a7
jmp 0x1400ac0a9
jmp 0x1400ac0ab
cmp byte [rbp + 0x16f], 0
jne 0x1400ab96d
jmp 0x1400ac0ba
mov rcx, qword [rbp + 0x110]
xor edx, edx
mov r8d, 0x8000
call rsi
lea rcx, [rbp + 0xf0]
call fcn.14009eab0
jmp 0x1400aaa42
cmp byte [rbp + 0x118], 0
jne 0x1400ac7ea
mov rax, qword [rbp + 0x130]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov dword [rbp + 0x120], ecx
cmp dword [rbp + 0x148], 0xa
jl 0x1400ac117
cmp dword [rbp + 0x120], 0
jne 0x1400ac45d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x150], rax
cmp dword [0x1406ce2d4], 0xa
jl 0x1400ac14d
mov eax, dword [0x1406ce2d0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400ac45f
mov eax, dword [0x1406ce2e0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete r8b
cmp dword [0x1406ce2e4], 0xa
setl byte [rbp + 0x158]
mov ecx, dword [0x1406ce2ec]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete dl
cmp dword [0x1406ce2e8], 0xa
setl byte [rbp + 0x16f]
cmp dword [rbp + 0x120], 0
setne bl
cmp dword [rbp + 0x148], 0xa
setge byte [rbp + 0x128]
mov ecx, dword [0x1406ce2f0]
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
sete cl
cmp dword [0x1406ce2f4], 0xa
setl byte [rbp + 0x118]
cmp dword [0x1406ce6e4], 0xa
jl 0x1400ac1e5
mov edi, dword [0x1406ce6e0]
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
jne 0x1400ac461
or byte [rbp + 0x158], r8b
or byte [rbp + 0x16f], dl
and byte [rbp + 0x128], bl
or byte [rbp + 0x118], cl
mov rax, qword [rbp + 0x150]
mov rsi, qword [rax + 0x30]
mov qword [rbp + 0x160], rax
movsxd rcx, dword [rsi + 0x3c]
mov eax, dword [rcx + rsi + 0x88]
test rax, rax
je 0x1400ac40d
mov qword [rbp + 0x138], rax
mov ebx, dword [rsi + rax + 0x18]
lea rax, [rsi + 1]
mov qword [rbp + 0x140], rax
mov r8, rbx
jmp 0x1400ac255
mov r10d, 0x811c9dc5
mov rbx, r8
cmp r10d, 0x6bcbc4b2
je 0x1400ac465
sub r8, 1
jb 0x1400ac3fe
cmp byte [rbp + 0x158], 0
je 0x1400ac459
mov eax, 0xffffffff
add rbx, rax
mov rax, qword [rbp + 0x138]
mov edx, dword [rsi + rax + 0x20]
add rdx, rsi
mov r9d, ebx
mov r11d, dword [rdx + r9*4]
mov bl, byte [rsi + r11]
test bl, bl
je 0x1400ac23f
add r11, qword [rbp + 0x140]
mov r10d, 0x811c9dc5
jmp 0x1400ac369
mov r15d, r13d
or r15d, 0x1c6c88fb
mov r14d, r13d
not r14d
or r14d, 0xe3937704
mov eax, r15d
and eax, 0x4a121404
mov ecx, r13d
and ecx, 0x48801a
mov edx, r14d
and edx, 0x1c121044
add ecx, edx
add ecx, 0x80006801
mov edx, r13d
and edx, 0x2408a1
mov r12d, r13d
and r12d, 0xa1816300
or r12d, eax
xor r12d, edx
xor r12d, ecx
mov eax, r13d
and eax, 0x2103304
and r15d, 0xe9c7cc99
or r15d, eax
mov eax, r13d
and eax, 0x14280062
and r14d, 0xe9c7cc99
add eax, r14d
add eax, 0x2103304
xor eax, r15d
xor r13d, 0x1c6c88fb
or r13d, eax
mov eax, r12d
xor eax, 0x887ef0be
xor r12d, r13d
xor r12d, 0x887ef0be
or eax, r13d
not eax
or eax, r12d
xor r10d, eax
xor r10d, 0xe3937704
imul r10d, r10d, 0x1000193
movzx ebx, byte [r11]
add r11, 1
test bl, bl
je 0x1400ac245
movsx r13d, bl
lea edx, [r13 - 0x41]
cmp dl, 0x19
ja 0x1400ac2a3
mov edx, r13d
not edx
mov ebx, r13d
and ebx, 0x89c1ac7c
mov ecx, r13d
or ecx, 0x89c1ac7c
mov eax, r13d
xor eax, 0x1008070
and eax, ebx
not ebx
mov edi, ecx
and edi, 0x253ac2f1
and edx, 0x52041102
or edx, edi
xor ecx, ebx
and ebx, 0x253ac2f1
or eax, ebx
xor eax, edx
mov edx, r13d
xor edx, 0x89c1ac7c
or edx, ecx
mov ecx, edx
xor ecx, eax
not ecx
not edx
and edx, eax
or edx, ecx
and r13d, 0x20
mov eax, edx
not eax
and eax, r13d
mov ecx, edx
and ecx, 0x2e4f563d
xor ecx, r13d
and edx, 0xd1b0a9c2
or edx, ecx
xor edx, eax
xor edx, 0x763e53a3
mov r13d, edx
jmp 0x1400ac2a3
cmp byte [rbp + 0x128], 0
jne 0x1400ac463
jne 0x1400ac7ec
cmp byte [rbp + 0x118], 0
je 0x1400ac45b
mov rax, qword [rbp + 0x160]
mov rax, qword [rax]
cmp rax, qword [rbp + 0x150]
je 0x1400ac436
mov rsi, qword [rax + 0x30]
test rsi, rsi
jne 0x1400ac209
cmp dword [rbp + 0x148], 0xa
setl dl
setge al
cmp dword [rbp + 0x120], 0
sete cl
xor ebx, ebx
test cl, dl
jne 0x1400ac49f
xor al, cl
je 0x1400ac49f
jmp 0x1400ac457
jmp 0x1400ac459
jmp 0x1400ac45b
jmp 0x1400ac45d
jmp 0x1400ac45f
jmp 0x1400ac461
jmp 0x1400ac463
cmp byte [rbp + 0x16f], 0
je 0x1400ac7f0
cmp byte [rbp + 0x128], 0
mov rcx, qword [rbp + 0x138]
jne 0x1400ac7ec
mov eax, dword [rsi + rcx + 0x1c]
mov ecx, dword [rsi + rcx + 0x24]
add rax, rsi
add rcx, rsi
movzx ecx, word [rcx + r9*2]
mov ebx, dword [rax + rcx*4]
add rbx, rsi
cmp byte [rbp + 0x16e], 0
jne 0x1400ac801
cmp dword [rbp + 0x148], 0xa
jl 0x1400ac4c2
cmp dword [rbp + 0x120], 0
jne 0x1400ac7e4
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x160], rax
cmp dword [0x1406ce2d4], 0xa
jl 0x1400ac4f8
mov eax, dword [0x1406ce2d0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400ac7e6
mov eax, dword [0x1406ce2e0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406ce2e4], 0xa
setl r13b
mov eax, dword [0x1406ce2ec]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x1406ce2e8], 0xa
setl byte [rbp + 0x150]
cmp dword [rbp + 0x120], 0
setne dl
cmp dword [rbp + 0x148], 0xa
setge byte [rbp + 0x118]
mov ebx, dword [0x1406ce2f0]
lea edi, [rbx - 1]
imul edi, ebx
test dil, 1
sete bl
cmp dword [0x1406ce2f4], 0xa
setl byte [rbp + 0x140]
cmp dword [0x1406ce6e4], 0xa
jl 0x1400ac58c
mov edi, dword [0x1406ce6e0]
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
jne 0x1400ac7e8
or r13b, cl
or byte [rbp + 0x150], al
and byte [rbp + 0x118], dl
or byte [rbp + 0x140], bl
mov rax, qword [rbp + 0x160]
mov r8, qword [rax + 0x30]
mov qword [rbp + 0x138], rax
movsxd rax, dword [r8 + 0x3c]
mov r12d, dword [rax + r8 + 0x88]
test r12, r12
je 0x1400ac78e
mov eax, dword [r8 + r12 + 0x18]
lea rcx, [r8 + 1]
mov qword [rbp + 0x158], rcx
mov r9, rax
jmp 0x1400ac5f1
mov edi, 0x811c9dc5
mov rax, r9
cmp edi, 0x6bcbc4b2
je 0x1400ac7f2
sub r9, 1
jb 0x1400ac783
test r13b, r13b
je 0x1400ac7e0
mov ecx, 0xffffffff
add rax, rcx
mov ebx, dword [r8 + r12 + 0x20]
add rbx, r8
mov eax, eax
mov r11d, dword [rbx + rax*4]
mov al, byte [r8 + r11]
test al, al
je 0x1400ac5dd
add r11, qword [rbp + 0x158]
mov edi, 0x811c9dc5
jmp 0x1400ac6f2
mov r14d, r10d
or r14d, 0x1c6c88fb
mov eax, r10d
not eax
or eax, 0xe3937704
mov ecx, r14d
and ecx, 0x4a121404
mov edx, r10d
and edx, 0x48801a
mov esi, eax
and esi, 0x1c121044
add edx, esi
add edx, 0x80006801
mov esi, r10d
and esi, 0x2408a1
mov r15d, r10d
and r15d, 0xa1816300
or r15d, ecx
xor r15d, esi
xor r15d, edx
mov ecx, r10d
and ecx, 0x2103304
and r14d, 0xe9c7cc99
or r14d, ecx
mov ecx, r10d
and ecx, 0x14280062
and eax, 0xe9c7cc99
add eax, ecx
add eax, 0x2103304
xor eax, r14d
xor r10d, 0x1c6c88fb
or r10d, eax
mov eax, r15d
xor eax, 0x887ef0be
xor r15d, r10d
xor r15d, 0x887ef0be
or eax, r10d
not eax
or eax, r15d
xor edi, eax
xor edi, 0xe3937704
imul edi, edi, 0x1000193
movzx eax, byte [r11]
add r11, 1
test al, al
je 0x1400ac5e2
movsx r10d, al
lea eax, [r10 - 0x41]
cmp al, 0x19
ja 0x1400ac633
mov eax, r10d
not eax
mov ecx, r10d
and ecx, 0x89c1ac7c
mov ebx, r10d
or ebx, 0x89c1ac7c
mov esi, r10d
xor esi, 0x1008070
and esi, ecx
not ecx
mov edx, ebx
and edx, 0x253ac2f1
and eax, 0x52041102
or eax, edx
xor ebx, ecx
and ecx, 0x253ac2f1
or esi, ecx
xor esi, eax
mov eax, r10d
xor eax, 0x89c1ac7c
or eax, ebx
mov ecx, eax
xor ecx, esi
not ecx
not eax
and eax, esi
or eax, ecx
and r10d, 0x20
mov ecx, eax
not ecx
and ecx, r10d
mov edx, eax
and edx, 0x2e4f563d
xor edx, r10d
and eax, 0xd1b0a9c2
or eax, edx
xor eax, ecx
xor eax, 0x763e53a3
mov r10d, eax
jmp 0x1400ac633
cmp byte [rbp + 0x118], 0
jne 0x1400ac7ee
jne 0x1400ac7ea
cmp byte [rbp + 0x140], 0
je 0x1400ac7e2
mov rax, qword [rbp + 0x138]
mov rax, qword [rax]
cmp rax, qword [rbp + 0x160]
je 0x1400ac7b7
mov r8, qword [rax + 0x30]
test r8, r8
jne 0x1400ac5ac
cmp dword [rbp + 0x148], 0xa
setl dl
setge al
cmp dword [rbp + 0x120], 0
sete cl
test cl, dl
jne 0x1400ac0eb
xor al, cl
je 0x1400ac0eb
jmp 0x1400ac7de
jmp 0x1400ac7e0
jmp 0x1400ac7e2
jmp 0x1400ac7e4
jmp 0x1400ac7e6
jmp 0x1400ac7e8
jmp 0x1400ac7ea
jmp 0x1400ac7ec
jmp 0x1400ac7ee
jmp 0x1400ac7f0
cmp byte [rbp + 0x150], 0
jne 0x1400ac0de
jmp 0x1400ac7ff
xor edi, edi
mov rcx, qword [rbp + 0x110]
xor edx, edx
mov r8d, 0x8000
call rbx
jmp 0x1400aaa42