Function at 0x1800aaf00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1f8
mov r10, r8
mov r11d, dword [rsp + 0x270]
mov ebx, dword [rsp + 0x268]
mov edi, dword [rsp + 0x260]
mov rax, qword [0x1800cb028]
xor rax, rsp
mov qword [rsp + 0x1f0], rax
mov rax, qword [rcx + 0x40000]
mov rsi, rax
sub rsi, qword [rcx + 0x40008]
mov r8d, dword [rcx + 0x40018]
mov qword [rsp + 0x98], rcx
sub r8d, dword [rcx + 0x4001c]
add r8, rsi
cmp r8, 0x10000
jb 0x1800aafc1
mov rcx, qword [rsp + 0x98]
mov qword [rcx + 0x40028], 0
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], edi
mov r8, r10
call fcn.180054780
mov esi, eax
mov rcx, qword [rsp + 0x1f0]
xor rcx, rsp
call fcn.180062020
mov eax, esi
add rsp, 0x1f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0xd4], r11d
mov qword [rsp + 0x1b0], rdx
mov qword [rsp + 0x1c0], r9
mov ecx, dword [r9]
test r8, r8
jne 0x1800aafed
cmp ecx, 0x1001
jge 0x1800b13d0
xor ebp, ebp
cmp ecx, 0x7e000000
jbe 0x1800ab00b
mov rcx, qword [rsp + 0x1f0]
xor rcx, rsp
call fcn.180062020
mov eax, ebp
jmp 0x1800aafad
add rax, rcx
mov rcx, qword [rsp + 0x98]
mov qword [rcx + 0x40000], rax
cmp ebx, 0xc
mov eax, 0xc
cmovl eax, ebx
test ebx, ebx
mov ecx, 9
cmovg ecx, eax
mov dword [rsp + 0x1a8], ecx
movsxd rax, ecx
lea rax, [rax + rax*2]
lea rcx, [0x1800b9270]
mov r11d, dword [rcx + rax*4 + 4]
cmp dword [rcx + rax*4], 0
mov rdx, r10
mov qword [rsp + 0x1d8], r10
mov dword [rsp + 0x3c], r11d
je 0x1800ab1e2
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x98]
mov cl, byte [rcx + 0x40026]
xor r12d, r12d
mov byte [rsp + 0xb8], cl
neg cl
mov ecx, 0
sbb ecx, ecx
mov dword [rsp + 0x148], ecx
mov ebx, dword [rax + 8]
mov ecx, 0x10030
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
mov qword [rsp + 0x158], rax
je 0x1800b14ba
mov rdx, qword [rsp + 0x1c0]
movsxd r9, dword [rdx]
mov r8, qword [rsp + 0x1b0]
lea rcx, [r8 + r9]
mov qword [rsp + 0x100], rcx
lea rbp, [r8 + r9]
add rbp, 0xfffffffffffffff4
movsxd r10, edi
mov rcx, qword [rsp + 0x1d8]
add r10, rcx
mov qword [rsp + 0x150], r10
mov dword [rdx], 0
mov edx, 0xfff
cmp ebx, edx
cmovb edx, ebx
mov qword [rsp + 0xf0], rdx
mov r11, r8
mov r10, rcx
cmp rbp, r8
jae 0x1800ae143
mov rax, qword [rsp + 0x100]
sub rax, r11
mov r14, rax
add rax, 0xf0
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0xd4], 0
je 0x1800ab162
shr rdx, 7
add rdx, r14
lea rax, [r10 + rdx]
inc rax
mov r12d, 0
cmp rax, qword [rsp + 0x150]
ja 0x1800b14ba
mov rdi, r14
lea rbx, [r11 + r14]
cmp r14, 0xf
jb 0x1800b147f
lea rax, [rdi - 0xf]
mov byte [r10], 0xf0
lea rcx, [r10 + 1]
cmp rax, 0xff
jb 0x1800ab1d5
mov r15, rdi
lea rax, [rdi - 0x10e]
movabs rdx, 0x8080808080808081
mul rdx
mov rdi, rdx
shr rdi, 7
lea r8, [rdi + 1]
mov dl, 0xff
mov r12, r10
mov r13, r11
call sub.VCRUNTIME140.dll_memset
mov r11, r13
mov rax, rdi
shl rax, 8
lea rcx, [rdi + r12]
add rcx, 2
sub rdi, rax
lea rax, [r15 + rdi]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
mov r10, rcx
mov rdi, r14
jmp 0x1800b1487
mov rcx, qword [rsp + 0x1c0]
movsxd rax, dword [rcx]
mov r15, qword [rsp + 0x1b0]
lea r8, [r15 + rax]
movsxd r9, edi
add r9, r10
mov qword [rsp + 0x140], r9
mov dword [rcx], 0
mov r13, r10
cmp rax, 0xd
jl 0x1800b132c
mov rcx, qword [rsp + 0x1b0]
lea rdx, [rcx + rax]
add rdx, 0xfffffffffffffff4
mov r15, rcx
mov r13, r10
mov qword [rsp + 0x80], rdx
cmp rdx, rcx
jb 0x1800b132c
mov rcx, qword [rsp + 0x1b0]
add rax, rcx
add rax, 0xfffffffffffffffb
mov qword [rsp + 0x50], rax
lea rax, [r8 - 8]
mov qword [rsp + 0x198], rax
lea rax, [r8 - 6]
mov qword [rsp + 0x100], rax
xor eax, eax
mov qword [rsp + 0x148], rax
xor eax, eax
mov qword [rsp + 0x120], rax
xor eax, eax
mov qword [rsp + 0xe0], rax
xor eax, eax
mov qword [rsp + 0x90], rax
xor edx, edx
mov qword [rsp + 0x150], r8
mov qword [rsp + 0xf0], r10
mov rsi, qword [rsp + 0x98]
mov rax, qword [rsi + 0x40028]
mov qword [rsp + 0x130], rax
mov r8, qword [rsi + 0x40008]
mov rbp, qword [rsi + 0x40010]
mov ebx, dword [rsi + 0x40018]
mov eax, dword [rsi + 0x4001c]
lea r9d, [rax + 0x10000]
mov dword [rsp + 0xc8], r9d
mov r9, rbx
sub r9, rax
mov qword [rsp + 0xe8], r9
add r9, rbp
mov qword [rsp + 0xd8], r9
mov r9, r8
sub r9, rbx
lea r10d, [rbx - 4]
mov dword [rsp + 0xb0], r10d
mov r10, rbp
mov qword [rsp + 0x88], rax
sub r10, rax
mov qword [rsp + 0xc0], r10
mov eax, dword [rsi + 0x40020]
lea r10d, [rcx + rbx]
sub r10d, r8d
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x138], rcx
mov rdi, rcx
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xa0], r9
mov r13, rdi
sub r13, r8
lea r15d, [rbx + r13]
cmp dword [rsp + 0xc8], r15d
lea r14d, [rbx + r13 - 0xffff]
cmova r14d, dword [rsp + 0x88]
mov r10d, r10d
mov r12d, dword [rdi]
cmp eax, r15d
jae 0x1800ab3d8
mov eax, eax
imul ecx, dword [r9 + rax], 0x9e3779b1
shr ecx, 0x11
mov edx, eax
mov r8, qword [rsp + 0x98]
sub edx, dword [r8 + rcx*4]
mov r8d, 0xffff
cmp edx, r8d
jb 0x1800ab3b8
mov edx, 0xffff
movzx r8d, ax
mov rsi, qword [rsp + 0x98]
mov word [rsi + r8*2 + 0x20000], dx
mov dword [rsi + rcx*4], eax
inc rax
cmp r10, rax
jne 0x1800ab38f
mov dword [rsp + 0xa8], r15d
mov rcx, qword [rsp + 0x98]
mov dword [rcx + 0x40020], r15d
imul eax, dword [rdi], 0x9e3779b1
shr eax, 0x11
mov ecx, dword [rcx + rax*4]
mov r15d, 3
cmp ecx, r14d
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x188], r10
jb 0x1800abb6b
test r11d, r11d
jle 0x1800abb6b
add r13, rbx
mov qword [rsp + 0x168], r13
lea rax, [rdi + 4]
mov qword [rsp + 0x48], rax
movzx eax, r12w
mov edx, r12d
shr edx, 0x10
xor edx, eax
movzx eax, r12b
mov r8d, r12d
shr r8d, 0x18
xor r8d, eax
or r8d, edx
sete byte [rsp + 0x128]
mov eax, r11d
mov r8, r12
movabs rdx, 0x100000001
imul r8, rdx
mov qword [rsp + 0x40], r8
xor edx, edx
mov qword [rsp + 0x60], rdx
mov r10d, r11d
xor eax, eax
mov r9d, ebx
sub r9d, ecx
jbe 0x1800ab588
cmp ecx, dword [rsp + 0xb0]
ja 0x1800ab601
mov ebx, ecx
sub ebx, dword [rsp + 0x88]
add rbx, rbp
cmp dword [rbx], r12d
jne 0x1800ab601
mov esi, r15d
lea r13, [rdi + r9]
mov rdx, qword [rsp + 0x50]
cmp r13, rdx
mov rbp, r13
cmova rbp, rdx
add rbx, 4
lea r15, [rbp - 7]
mov rdx, qword [rsp + 0x48]
cmp r15, rdx
jbe 0x1800ab7e4
mov rdx, qword [rdx]
xor rdx, qword [rbx]
je 0x1800ab7ca
tzcnt rdi, rdx
xor r8d, r8d
test rdx, rdx
sete dl
je 0x1800ab7d4
shr edi, 3
mov r15d, esi
lea ebx, [rdi + 4]
cmp r13, qword [rsp + 0x50]
jae 0x1800ab813
movsxd rdx, edi
mov rdi, qword [rsp + 0x68]
add rdx, rdi
add rdx, 4
cmp rdx, rbp
jne 0x1800ab56b
mov r15, rbp
mov rdx, qword [rsp + 0x78]
mov r13, rdx
cmp qword [rsp + 0x80], rbp
jbe 0x1800aba29
mov rdi, qword [rbp]
xor rdi, qword [rdx]
mov r13, rdx
je 0x1800aba07
tzcnt rdx, rdi
mov r15d, esi
xor r8d, r8d
test rdi, rdi
sete dil
je 0x1800aba11
shr edx, 3
mov rdi, qword [rsp + 0x68]
add ebx, edx
cmp ebx, r15d
jle 0x1800ab601
mov edx, ecx
add rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x70], rdx
mov r15d, ebx
jmp 0x1800ab601
mov ebx, ecx
add rbx, qword [rsp + 0xa0]
movsxd rdx, r15d
movzx r8d, word [rdi + rdx - 1]
cmp r8w, word [rdx + rbx - 1]
jne 0x1800ab601
cmp dword [rbx], r12d
jne 0x1800ab601
lea r13, [rbx + 4]
mov rdx, qword [rsp + 0x48]
cmp qword [rsp + 0x80], rdx
jbe 0x1800b2444
mov rdi, qword [rdx]
xor rdi, qword [r13]
je 0x1800ab9af
tzcnt rdx, rdi
xor r8d, r8d
test rdi, rdi
sete dil
je 0x1800ab9b9
shr edx, 3
mov rdi, qword [rsp + 0x68]
add edx, 4
cmp edx, r15d
mov r8, qword [rsp + 0x70]
cmovg r8, rbx
mov qword [rsp + 0x70], r8
cmovg r15d, edx
lea r13d, [r10 - 1]
movzx edx, cx
mov r8, qword [rsp + 0x98]
movzx ebp, word [r8 + rdx*2 + 0x20000]
cmp dword [rsp + 0x3c], 0x81
jl 0x1800ab72c
cmp bp, 1
mov rbx, qword [rsp + 0xb8]
jne 0x1800ab734
cmp dword [rsp + 0x60], 0
je 0x1800ab759
cmp r9d, 3
jb 0x1800ab734
cmp dword [rsp + 0x60], 2
jne 0x1800ab734
lea esi, [rcx - 1]
cmp esi, r14d
jb 0x1800ab734
mov r11d, r13d
mov r9, r10
mov r13d, r14d
mov r14d, r15d
cmp esi, ebx
mov r8, rbx
mov rbx, qword [rsp + 0xc0]
cmovae rbx, qword [rsp + 0xa0]
mov edx, esi
mov r15d, 2
mov qword [rsp + 0x60], r15
mov r10, r12
cmp dword [rbx + rdx], r12d
jne 0x1800ab7b3
mov dword [rsp + 0x110], r14d
add rbx, rdx
mov dword [rsp + 0x60], esi
cmp esi, r8d
mov rdi, qword [rsp + 0xd8]
cmovae rdi, qword [rsp + 0x50]
lea rcx, [rbx + 4]
lea r15, [rdi - 7]
mov r8, rcx
mov r14, qword [rsp + 0x40]
mov rdx, r8
cmp r8, r15
jae 0x1800abd5f
lea r8, [rdx + 8]
mov rbp, qword [rdx]
xor rbp, r14
je 0x1800ab6d1
tzcnt r8, rbp
shr r8d, 3
add rdx, r8
mov rbp, qword [rsp + 0x58]
mov r14d, r13d
mov r12, r10
mov r10, r9
mov r13d, r11d
mov r9d, dword [rsp + 0x60]
sub rdx, rcx
mov edi, edx
add rdi, 4
cmp r9d, dword [rsp + 0xb8]
jb 0x1800ab81d
mov rcx, qword [rsp + 0x78]
jmp 0x1800ab832
mov rbx, qword [rsp + 0xb8]
movzx edx, bp
sub ecx, edx
mov rbp, qword [rsp + 0x58]
cmp ecx, r14d
jb 0x1800abb6e
cmp r10d, 1
mov r10d, r13d
jg 0x1800ab47e
jmp 0x1800abb6e
mov edx, 1
mov qword [rsp + 0x60], rdx
cmp byte [rsp + 0x128], 0
je 0x1800ab734
mov rdx, qword [rsp + 0x48]
mov rax, rdx
cmp rdx, qword [rsp + 0x80]
jae 0x1800abdad
lea rdx, [rax + 8]
mov r8, qword [rax]
xor r8, qword [rsp + 0x40]
je 0x1800ab772
tzcnt rdx, r8
shr edx, 3
add rax, rdx
sub eax, dword [rsp + 0x48]
add rax, 4
mov edx, 2
mov qword [rsp + 0x60], rdx
jmp 0x1800ab644
mov rbx, r8
mov r15d, r14d
mov r14d, r13d
mov r12, r10
mov r10, r9
mov r13d, r11d
jmp 0x1800ab734
mov edi, 0x40
jmp 0x1800ab4e9
mov r8b, dl
mov rdx, qword [rsp + 0x48]
lea rdx, [rdx + r8*8]
lea rbx, [rbx + r8*8]
mov rdi, rdx
cmp rdx, r15
jae 0x1800abd8e
mov r8, qword [rdi]
lea rdx, [rdi + 8]
xor r8, qword [rbx]
lea rbx, [rbx + 8]
je 0x1800ab7e4
tzcnt rdx, r8
shr edx, 3
add edi, edx
sub edi, dword [rsp + 0x48]
jmp 0x1800ab4fb
mov rdi, qword [rsp + 0x68]
jmp 0x1800ab56b
lea rcx, [rbx + rdi]
cmp rcx, qword [rsp + 0xd8]
je 0x1800abacd
mov rcx, rbp
mov dword [rsp + 0x1ec], r12d
lea rdx, [rcx + 4]
mov r8, rbx
mov r15, r8
cmp r8, rdx
jb 0x1800ab853
lea r8, [r15 - 4]
cmp dword [r15 - 4], r12d
je 0x1800ab841
cmp r15, rcx
jbe 0x1800ab880
xor edx, edx
mov r8b, byte [r15 + rdx - 1]
cmp r8b, byte [rsp + rdx + 0x1ef]
jne 0x1800ab87d
lea r8, [r15 + rdx]
dec r8
dec rdx
cmp r8, rcx
ja 0x1800ab85a
jmp 0x1800abd86
add r15, rdx
mov rdx, rbx
sub rdx, r15
cmp r9d, dword [rsp + 0xb8]
jb 0x1800abb42
mov ecx, edx
sub rbx, rcx
cmp rbx, qword [rsp + 0x78]
mov r15d, dword [rsp + 0x110]
jne 0x1800ab93c
mov rbx, qword [rsp + 0xb8]
cmp dword [rsp + 0x88], ebx
jae 0x1800ab944
mov r8d, edx
neg r8d
mov ecx, r8d
shl ecx, 3
mov ebx, r12d
rol ebx, cl
test r8b, 3
cmove ebx, r12d
mov dword [rsp + 0x1ec], ebx
mov rcx, qword [rsp + 0xe8]
mov r15, rcx
cmp rcx, 4
jl 0x1800abdb7
lea rcx, [r15 - 4]
cmp dword [rbp + r15 - 4], ebx
je 0x1800ab8e9
add r15, rbp
mov rcx, r15
mov r15d, dword [rsp + 0x110]
lea rbx, [rsp + 0x1ef]
mov r8b, byte [rcx - 1]
cmp r8b, byte [rbx]
jne 0x1800ab92b
dec rcx
dec rbx
cmp rcx, rbp
ja 0x1800ab917
mov r8, qword [rsp + 0xd8]
sub r8d, ecx
add r8d, edx
mov edx, r8d
mov rbx, qword [rsp + 0xb8]
mov ecx, r9d
sub ecx, edx
cmp ecx, r14d
cmovbe ecx, r14d
mov edx, r9d
sub edx, ecx
add rdx, rdi
cmp rdi, rax
ja 0x1800ab98d
cmp rdx, rax
jb 0x1800ab98d
sub r9d, eax
add r9d, edi
mov ecx, r9d
not ecx
add ecx, ebx
cmp ecx, 3
cmovb r9d, ebx
mov ecx, 2
mov qword [rsp + 0x60], rcx
mov ecx, r9d
mov rdi, qword [rsp + 0x68]
jmp 0x1800ab73e
mov r8d, ecx
not r8d
add r8d, ebx
mov r9d, 2
mov qword [rsp + 0x60], r9
cmp r8d, 3
jae 0x1800aba61
mov ecx, ebx
jmp 0x1800ab983
mov edx, 0x40
jmp 0x1800ab5d1
mov esi, r15d
mov r8b, dil
mov rdx, qword [rsp + 0x48]
lea r15, [rdx + r8*8]
lea r13, [r13 + r8*8]
mov rdx, r15
cmp r15, qword [rsp + 0x80]
jae 0x1800abe2d
mov rdi, qword [rdx]
lea r15, [rdx + 8]
xor rdi, qword [r13]
lea r13, [r13 + 8]
je 0x1800ab9cd
tzcnt r8, rdi
shr r8d, 3
add edx, r8d
sub edx, dword [rsp + 0x48]
mov r15d, esi
jmp 0x1800ab5e4
mov edx, 0x40
jmp 0x1800ab54e
mov r8b, dil
lea r15, [r8*8]
add r15, rbp
lea r13, [r13 + r8*8]
mov rdi, qword [rsp + 0x68]
mov rdx, r15
cmp r15, qword [rsp + 0x80]
jae 0x1800abe60
mov r8, qword [rdx]
lea r15, [rdx + 8]
xor r8, qword [r13]
lea r13, [r13 + 8]
je 0x1800aba29
tzcnt r8, r8
shr r8d, 3
add edx, r8d
sub edx, ebp
mov r15d, esi
jmp 0x1800ab569
cmp rdx, rax
cmovae rdx, rax
movsxd r8, r15d
cmp rdx, r8
mov rdi, qword [rsp + 0x68]
jbe 0x1800abaa0
mov r8d, ecx
mov r9, qword [rsp + 0x168]
sub r9, r8
cmp r9, 0xffff
ja 0x1800abb6e
add r8, qword [rsp + 0xa0]
mov qword [rsp + 0x70], r8
mov r15d, edx
movzx edx, cx
mov r8, qword [rsp + 0x98]
movzx edx, word [r8 + rdx*2 + 0x20000]
cmp ecx, edx
mov r8d, 0
cmovb edx, r8d
jb 0x1800abb6e
sub ecx, edx
jmp 0x1800ab73e
lea ecx, [rdx*8]
mov r15d, r12d
rol r15d, cl
test dl, 3
cmove r15d, r12d
movabs rcx, 0x100000001
imul r15, rcx
mov rdx, qword [rsp + 0x78]
mov rcx, rdx
cmp rdx, qword [rsp + 0x80]
jae 0x1800abd4a
lea rdx, [rcx + 8]
mov r8, qword [rcx]
xor r8, r15
je 0x1800abaf4
tzcnt rdx, r8
shr edx, 3
add rcx, rdx
sub ecx, dword [rsp + 0x78]
add rdi, rcx
jmp 0x1800ab82f
cmp byte [rdx], r15b
jne 0x1800ab70b
inc rdx
shr r15, 8
cmp rdx, rdi
jb 0x1800abb28
jmp 0x1800ae03d
mov r15d, dword [rsp + 0x110]
jmp 0x1800ab93c
cmp rax, qword [rsp + 0x50]
jae 0x1800ab79c
cmp byte [rax], dl
jne 0x1800ab79c
inc rax
shr rdx, 8
jmp 0x1800abb4f
mov r13d, r11d
test r13d, r13d
jle 0x1800abcff
mov r10d, dword [rsp + 0xa8]
mov eax, r10d
sub eax, r14d
cmp eax, 0xfffe
mov r11d, dword [rsp + 0x3c]
ja 0x1800abd04
mov r9, qword [rsp + 0x130]
mov rax, qword [r9 + 0x40000]
mov rcx, qword [r9 + 0x40008]
sub rax, rcx
mov edx, dword [r9 + 0x40018]
imul r8d, dword [rdi], 0x9e3779b1
add rax, rdx
shr r8d, 0x11
mov r9d, dword [r9 + r8*4]
add r14d, r9d
sub r14d, eax
mov r8d, r10d
sub r8d, r14d
cmp r8d, 0xffff
ja 0x1800abd04
sub rcx, rdx
lea r10, [rdi + 4]
sub r13d, 1
jb 0x1800abd04
mov r11d, r9d
cmp dword [rcx + r11], r12d
jne 0x1800abc75
mov esi, r15d
mov rdx, rax
sub rdx, r11
add rdx, rdi
mov r8, qword [rsp + 0x50]
cmp rdx, r8
cmova rdx, r8
lea rdi, [rcx + r11]
add rdi, 4
lea rbx, [rdx - 7]
cmp rbx, r10
jbe 0x1800b243c
mov r15, qword [r10]
xor r15, qword [rdi]
je 0x1800abcad
tzcnt r11, r15
xor r8d, r8d
test r15, r15
sete bpl
je 0x1800abcb8
shr r11d, 3
mov r15d, esi
mov rdi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0xb8]
add r11d, 4
cmp r11d, r15d
jle 0x1800abc75
mov edx, r14d
add rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x70], rdx
mov r15d, r11d
movzx edx, r9w
mov r8, qword [rsp + 0x130]
movzx edx, word [r8 + rdx*2 + 0x20000]
sub r9d, edx
sub r14d, edx
mov edx, dword [rsp + 0xa8]
sub edx, r14d
cmp edx, 0x10000
mov r11d, dword [rsp + 0x3c]
jb 0x1800abbe7
jmp 0x1800abd04
mov r11d, 0x40
jmp 0x1800abc34
mov r8b, bpl
lea r15, [r10 + r8*8]
lea rdi, [rdi + r8*8]
mov rbp, qword [rsp + 0x58]
mov r11, r15
cmp r15, rbx
jae 0x1800abdf4
mov r8, qword [r11]
lea r15, [r11 + 8]
xor r8, qword [rdi]
lea rdi, [rdi + 8]
je 0x1800abcc8
tzcnt rdx, r8
shr edx, 3
add r11d, edx
sub r11d, r10d
mov r15d, esi
mov rdi, qword [rsp + 0x68]
jmp 0x1800abc51
mov r11d, dword [rsp + 0x3c]
cmp r15d, 4
jge 0x1800abea7
inc rdi
mov r10, qword [rsp + 0x188]
inc r10d
mov eax, dword [rsp + 0xa8]
cmp rdi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov r9, qword [rsp + 0xa0]
jbe 0x1800ab35f
jmp 0x1800b1314
inc rcx
shr r15, 8
cmp rcx, qword [rsp + 0x50]
jae 0x1800abb1c
cmp byte [rcx], r15b
je 0x1800abd43
jmp 0x1800abb1c
cmp rdx, rdi
jae 0x1800ab6f5
mov r15, r14
mov rbp, qword [rsp + 0x58]
mov r14d, r13d
mov r12, r10
mov r10, r9
mov r13d, r11d
mov r9d, dword [rsp + 0x60]
jmp 0x1800abb28
mov r15, rcx
jmp 0x1800ab880
lea rdx, [rbp - 3]
cmp rdi, rdx
jae 0x1800abe73
mov edx, dword [rbx]
cmp edx, dword [rdi]
mov r15d, esi
jne 0x1800abe76
jmp 0x1800ae0de
mov rdx, qword [rsp + 0x40]
jmp 0x1800abb4f
lea rcx, [r15 + rbp]
test r15, r15
mov r15d, dword [rsp + 0x110]
jg 0x1800ab90f
jmp 0x1800ab92b
lea r8, [rdx - 1]
cmp r11, r8
jb 0x1800ae045
cmp r11, rdx
jb 0x1800ae058
mov rdi, qword [rsp + 0x68]
sub r11d, r10d
jmp 0x1800abc59
lea r8, [rdx - 3]
cmp r11, r8
jb 0x1800ae06c
jmp 0x1800ae088
cmp rdx, qword [rsp + 0x100]
jb 0x1800ae098
cmp rdx, qword [rsp + 0x50]
jb 0x1800ae0ac
mov rdi, qword [rsp + 0x68]
sub edx, dword [rsp + 0x48]
jmp 0x1800ab5e9
cmp rdx, qword [rsp + 0x198]
jb 0x1800ae0c1
jmp 0x1800ae0d6
cmp rdx, qword [rsp + 0x100]
jb 0x1800ae0eb
cmp rdx, qword [rsp + 0x50]
jb 0x1800ae0ff
sub edx, ebp
jmp 0x1800ab569
cmp rdx, qword [rsp + 0x198]
jb 0x1800ae119
jmp 0x1800ae12e
mov r15d, esi
lea rdx, [rbp - 1]
cmp rdi, rdx
jae 0x1800abe8b
movzx edx, word [rbx]
cmp dx, word [rdi]
je 0x1800ae136
cmp rdi, rbp
jae 0x1800abe9e
mov dl, byte [rbx]
xor r8d, r8d
cmp dl, byte [rdi]
sete r8b
add rdi, r8
sub edi, dword [rsp + 0x48]
jmp 0x1800ab4fe
mov r14, qword [rsp + 0x70]
mov qword [rsp + 0x1a0], r14
mov qword [rsp + 0x108], rdi
mov eax, r15d
mov rcx, rdi
mov rdi, qword [rsp + 0x90]
mov qword [rsp + 0x118], rax
cdqe
mov qword [rsp + 0x190], rax
mov r10, rcx
mov ecx, r15d
mov rax, r14
movsxd r9, r15d
lea r15, [r10 + r9]
cmp r15, qword [rsp + 0x80]
mov qword [rsp + 0x170], r14
ja 0x1800add17
mov qword [rsp + 0xf8], r9
mov qword [rsp + 0xb0], r10
mov dword [rsp + 0x168], ecx
lea rcx, [r15 - 2]
mov r8, qword [rsp + 0x98]
mov rdx, qword [r8 + 0x40008]
mov r14d, dword [r8 + 0x40018]
mov rax, rcx
mov qword [rsp + 0xa0], rcx
mov rax, rdx
mov qword [rsp + 0xa8], rdx
sub rcx, rdx
lea ebx, [r14 + rcx]
mov edx, dword [r8 + 0x4001c]
lea eax, [rdx + 0x10000]
cmp eax, ebx
mov qword [rsp + 0x1a8], rcx
lea eax, [r14 + rcx - 0xffff]
mov qword [rsp + 0x70], rdx
cmova eax, edx
mov dword [rsp + 0x58], eax
mov r13d, dword [r15 - 2]
mov eax, dword [r8 + 0x40020]
cmp eax, ebx
jae 0x1800abfe4
mov rcx, qword [rsp + 0xa8]
sub rcx, r14
mov edx, ebx
imul r8d, dword [rcx + rax], 0x9e3779b1
shr r8d, 0x11
mov r9d, eax
mov r10, qword [rsp + 0x98]
sub r9d, dword [r10 + r8*4]
mov r10d, 0xffff
cmp r9d, r10d
jb 0x1800abfc3
mov r9d, 0xffff
movzx r10d, ax
mov rsi, qword [rsp + 0x98]
mov word [rsi + r10*2 + 0x20000], r9w
mov dword [rsi + r8*4], eax
inc rax
cmp rdx, rax
jne 0x1800abf97
mov r8, qword [rsp + 0x98]
mov rax, qword [r8 + 0x40028]
mov qword [rsp + 0x188], rax
mov r12, qword [r8 + 0x40010]
mov rdx, qword [rsp + 0xa0]
mov rcx, rdx
mov dword [rsp + 0xd8], ebx
mov dword [r8 + 0x40020], ebx
imul eax, dword [rdx], 0x9e3779b1
mov r9, qword [rsp + 0xb0]
sub rcx, r9
mov qword [rsp + 0x78], rcx
shr eax, 0x11
mov ecx, dword [r8 + rax*4]
mov ebx, dword [rsp + 0x58]
cmp ecx, ebx
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0x180], r15
jb 0x1800ac937
test r11d, r11d
jle 0x1800ac937
mov r8, r14
mov rax, qword [rsp + 0x70]
sub r8, rax
mov r10, rax
neg r10
mov qword [rsp + 0x158], r8
lea rax, [r12 + r8]
mov qword [rsp + 0xe8], rax
add qword [rsp + 0x1a8], r14
mov rbp, qword [rsp + 0xa8]
sub rbp, r14
movsxd rax, dword [rsp + 0x78]
neg rax
mov qword [rsp + 0x130], rax
mov rax, r9
sub rax, rdx
mov qword [rsp + 0x90], rax
lea rax, [r15 + 2]
mov qword [rsp + 0x88], rax
lea eax, [r14 - 4]
mov dword [rsp + 0xc0], eax
movzx eax, r13w
mov edx, r13d
shr edx, 0x10
xor edx, eax
movzx eax, r13b
mov r8d, r13d
shr r8d, 0x18
xor r8d, eax
or r8d, edx
sete byte [rsp + 0x1b8]
mov rax, r13
movabs rdx, 0x100000001
imul rax, rdx
add r10, r12
mov qword [rsp + 0xc8], r10
mov qword [rsp + 0x48], rbp
lea rdx, [rbp - 1]
mov qword [rsp + 0x178], rdx
mov rdx, qword [rsp + 0xf8]
lea rdx, [r9 + rdx - 3]
mov qword [rsp + 0x128], rdx
lea rdx, [r12 - 1]
mov qword [rsp + 0x160], rdx
xor edx, edx
mov qword [rsp + 0x60], rdx
mov r15d, dword [rsp + 0x168]
mov r8d, r11d
xor r9d, r9d
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x68], rdi
sub r14d, ecx
jbe 0x1800ac2ae
cmp ecx, dword [rsp + 0xc0]
ja 0x1800ac3cd
mov r10d, ecx
sub r10d, dword [rsp + 0x70]
lea rdx, [r12 + r10]
cmp dword [rdx], r13d
jne 0x1800ac3cd
mov dword [rsp + 0x110], r15d
mov r11, qword [rsp + 0xa0]
lea rdi, [r11 + r14]
mov r11, qword [rsp + 0x50]
cmp rdi, r11
mov r13, rdi
cmova r13, r11
add rdx, 4
lea r15, [r13 - 7]
mov rbx, qword [rsp + 0x88]
cmp r15, rbx
jbe 0x1800ac5d1
mov rbx, qword [rbx]
xor rbx, qword [rdx]
je 0x1800ac5b3
tzcnt r11, rbx
xor ebp, ebp
test rbx, rbx
sete bl
je 0x1800ac5be
shr r11d, 3
lea edx, [r11 + 4]
cmp rdi, qword [rsp + 0x50]
jae 0x1800ac24b
movsxd r11, r11d
mov rdi, qword [rsp + 0xa0]
add r11, rdi
add r11, 4
cmp r11, r13
jne 0x1800ac24b
mov r15, r13
mov rdi, qword [rsp + 0xa8]
mov rbx, rdi
cmp qword [rsp + 0x80], r13
jbe 0x1800ac807
mov r11, qword [r13]
xor r11, qword [rdi]
je 0x1800ac7e3
tzcnt rdi, r11
xor ebx, ebx
test r11, r11
sete r11b
je 0x1800ac7ed
shr edi, 3
add edx, edi
mov r13, qword [rsp + 0x128]
cmp dword [rsp + 0x78], 0
je 0x1800ac569
mov r11, qword [rsp + 0x160]
lea rdi, [r11 + r10]
neg r10
mov r11, qword [rsp + 0x90]
cmp r11, r10
cmovg r10, r11
movsxd r11, r10d
mov r10d, r11d
sar r10d, 0x1f
and r10d, r11d
xor r15d, r15d
cmp r15, r11
jle 0x1800ac56c
mov rbx, r15
dec r15
mov bpl, byte [r13 + rbx]
cmp bpl, byte [rdi + rbx]
je 0x1800ac28c
mov r10d, ebx
jmp 0x1800ac56c
mov edi, ecx
mov rdx, qword [rsp + 0x48]
add rdx, rdi
movsxd r10, r15d
mov r11, qword [rsp + 0xb0]
movzx r11d, word [r11 + r10 - 1]
mov rbx, qword [rsp + 0x130]
add rbx, rdx
cmp r11w, word [r10 + rbx - 1]
jne 0x1800ac3c4
cmp dword [rdx], r13d
mov r11d, dword [rsp + 0x3c]
jne 0x1800ac3c9
cmp dword [rsp + 0x78], 0
je 0x1800ac77a
mov esi, r15d
mov r10, qword [rsp + 0xa8]
sub r10, rdx
mov r11, qword [rsp + 0x90]
cmp r11, r10
cmovg r10, r11
movsxd rbx, r10d
mov r10d, ebx
sar r10d, 0x1f
and r10d, ebx
add rdi, qword [rsp + 0x178]
xor r15d, r15d
mov r13, qword [rsp + 0x128]
cmp r15, rbx
jle 0x1800ac34f
mov r11, r15
dec r15
mov bpl, byte [r13 + r11]
cmp bpl, byte [rdi + r11]
je 0x1800ac336
mov r10d, r11d
mov r15d, esi
lea rbx, [rdx + 4]
mov r11, qword [rsp + 0x88]
cmp qword [rsp + 0x80], r11
jbe 0x1800b267e
mov r11, qword [r11]
xor r11, qword [rbx]
je 0x1800ac782
tzcnt rdi, r11
xor r13d, r13d
test r11, r11
sete r11b
je 0x1800ac78c
shr edi, 3
mov r11d, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x58]
sub edi, r10d
add edi, 4
cmp edi, r15d
jle 0x1800ac3cd
movsxd r10, r10d
add rdx, r10
add r10, qword [rsp + 0xa0]
mov qword [rsp + 0x68], r10
mov qword [rsp + 0xe0], rdx
mov r15d, edi
jmp 0x1800ac3cd
mov r11d, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x58]
lea r10d, [r8 - 1]
movzx edx, cx
mov rsi, qword [rsp + 0x98]
movzx r13d, word [rsi + rdx*2 + 0x20000]
cmp r11d, 0x81
jl 0x1800ac537
cmp r13w, 1
jne 0x1800ac537
cmp dword [rsp + 0x60], 0
je 0x1800ac4cb
cmp r14d, 3
jb 0x1800ac537
cmp dword [rsp + 0x60], 2
jne 0x1800ac537
lea edi, [rcx - 1]
cmp edi, ebx
jb 0x1800ac537
mov rbp, qword [rsp + 0x40]
cmp edi, ebp
mov rdx, qword [rsp + 0xc8]
cmovae rdx, qword [rsp + 0x48]
mov r11d, edi
mov r14d, 2
mov qword [rsp + 0x60], r14
mov r14, qword [rsp + 0xb8]
cmp dword [rdx + r11], r14d
jne 0x1800ac532
mov esi, r15d
add rdx, r11
cmp edi, ebp
mov r14, qword [rsp + 0xe8]
cmovae r14, qword [rsp + 0x50]
lea rcx, [rdx + 4]
lea r11, [r14 - 7]
mov r15, rcx
mov rbx, r15
cmp r15, r11
jae 0x1800acc76
lea r15, [rbx + 8]
mov r13, qword [rbx]
xor r13, rax
je 0x1800ac47e
tzcnt r11, r13
shr r11d, 3
add rbx, r11
mov r13, qword [rsp + 0xb8]
sub rbx, rcx
mov r14d, ebx
add r14, 4
cmp edi, dword [rsp + 0x40]
jb 0x1800ac605
mov rcx, qword [rsp + 0xa8]
jmp 0x1800ac61a
mov edx, 1
mov qword [rsp + 0x60], rdx
cmp byte [rsp + 0x1b8], 0
je 0x1800ac537
mov rdx, qword [rsp + 0x88]
mov r9, rdx
cmp rdx, qword [rsp + 0x80]
jae 0x1800accb4
lea rdx, [r9 + 8]
mov r11, qword [r9]
xor r11, rax
je 0x1800ac4e7
tzcnt rdx, r11
shr edx, 3
add r9, rdx
mov r11, qword [rsp + 0x88]
sub r9d, r11d
add r9, 4
mov edx, 2
mov qword [rsp + 0x60], rdx
mov r11d, dword [rsp + 0x3c]
jmp 0x1800ac408
mov r11d, dword [rsp + 0x3c]
movzx edx, r13w
sub ecx, edx
mov r13, qword [rsp + 0xb8]
mov r14, qword [rsp + 0x40]
cmp ecx, ebx
jb 0x1800acc0e
cmp r8d, 1
mov r8d, r10d
mov rdi, qword [rsp + 0x68]
jg 0x1800ac158
jmp 0x1800ac942
xor r10d, r10d
sub edx, r10d
mov r15d, dword [rsp + 0x110]
cmp edx, r15d
mov r11d, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x58]
jle 0x1800ac3cd
mov edi, ecx
add rdi, qword [rsp + 0x48]
movsxd r10, r10d
add rdi, r10
mov qword [rsp + 0xe0], rdi
add r10, qword [rsp + 0xa0]
mov qword [rsp + 0x68], r10
mov r15d, edx
jmp 0x1800ac3cd
mov r11d, 0x40
jmp 0x1800ac1d5
mov bpl, bl
mov r11, qword [rsp + 0x88]
lea rbx, [r11 + rbp*8]
lea rdx, [rdx + rbp*8]
mov r11, rbx
cmp rbx, r15
jae 0x1800acc8c
mov rbp, qword [r11]
lea rbx, [r11 + 8]
xor rbp, qword [rdx]
lea rdx, [rdx + 8]
je 0x1800ac5d1
tzcnt rdx, rbp
shr edx, 3
add r11d, edx
sub r11d, dword [rsp + 0x88]
jmp 0x1800ac1e7
lea rcx, [rdx + r14]
cmp rcx, qword [rsp + 0xe8]
je 0x1800ac864
mov rcx, r12
mov dword [rsp + 0x1ec], r13d
lea r11, [rcx + 4]
mov rbx, rdx
mov r15, rbx
cmp rbx, r11
jb 0x1800ac63b
lea rbx, [r15 - 4]
cmp dword [r15 - 4], r13d
je 0x1800ac629
cmp r15, rcx
jbe 0x1800ac669
xor r11d, r11d
mov bl, byte [r15 + r11 - 1]
cmp bl, byte [rsp + r11 + 0x1ef]
jne 0x1800ac666
lea rbx, [r15 + r11]
dec rbx
dec r11
cmp rbx, rcx
ja 0x1800ac643
jmp 0x1800acc84
add r15, r11
mov rbx, rdx
sub rbx, r15
cmp edi, dword [rsp + 0x40]
jb 0x1800ac8e0
mov ecx, ebx
sub rdx, rcx
cmp rdx, qword [rsp + 0xa8]
mov r15d, esi
jne 0x1800ac706
mov rcx, qword [rsp + 0x70]
cmp ecx, dword [rsp + 0x40]
jae 0x1800ac706
mov r11d, ebx
neg r11d
mov ecx, r11d
shl ecx, 3
mov edx, r13d
rol edx, cl
test r11b, 3
cmove edx, r13d
mov dword [rsp + 0x1ec], edx
mov rcx, qword [rsp + 0x158]
mov r11, rcx
cmp rcx, 4
jl 0x1800b161c
lea rcx, [r11 - 4]
cmp dword [r12 + r11 - 4], edx
je 0x1800ac6be
add r11, r12
mov rcx, r11
lea rdx, [rsp + 0x1ef]
mov r11b, byte [rcx - 1]
cmp r11b, byte [rdx]
jne 0x1800ac6f8
dec rcx
dec rdx
cmp rcx, r12
ja 0x1800ac6e4
mov rdx, qword [rsp + 0xe8]
sub edx, ecx
add edx, ebx
mov ebx, edx
mov ecx, edi
sub ecx, ebx
mov ebx, dword [rsp + 0x58]
cmp ecx, ebx
cmovbe ecx, ebx
mov edx, edi
sub edx, ecx
add rdx, r14
cmp r14, r9
ja 0x1800ac753
cmp rdx, r9
jb 0x1800ac753
sub edi, r9d
add edi, r14d
mov ecx, edi
not ecx
mov r14, qword [rsp + 0x40]
add ecx, r14d
cmp ecx, 3
cmovb edi, r14d
mov ecx, 2
mov qword [rsp + 0x60], rcx
mov ecx, edi
mov r11d, dword [rsp + 0x3c]
jmp 0x1800ac54a
mov r11d, ecx
not r11d
mov r14, qword [rsp + 0x40]
add r11d, r14d
mov edi, 2
mov qword [rsp + 0x60], rdi
cmp r11d, 3
jae 0x1800ac83c
mov ecx, r14d
jmp 0x1800ac749
xor r10d, r10d
jmp 0x1800ac352
mov edi, 0x40
jmp 0x1800ac37d
mov esi, r15d
mov r13b, r11b
mov r11, qword [rsp + 0x88]
lea r15, [r11 + r13*8]
lea rbx, [rbx + r13*8]
mov rdi, r15
cmp r15, qword [rsp + 0x80]
jae 0x1800b1775
mov r11, qword [rdi]
lea r15, [rdi + 8]
xor r11, qword [rbx]
lea rbx, [rbx + 8]
je 0x1800ac7a2
tzcnt r11, r11
shr r11d, 3
add edi, r11d
sub edi, dword [rsp + 0x88]
mov r11d, dword [rsp + 0x3c]
mov r15d, esi
jmp 0x1800ac395
mov edi, 0x40
jmp 0x1800ac237
mov bl, r11b
lea r15, [rbx*8]
add r15, r13
mov r11, qword [rsp + 0xa8]
lea rbx, [r11 + rbx*8]
mov rdi, r15
cmp r15, qword [rsp + 0x80]
jae 0x1800b179f
mov r11, qword [rdi]
lea r15, [rdi + 8]
xor r11, qword [rbx]
lea rbx, [rbx + 8]
je 0x1800ac807
tzcnt r11, r11
shr r11d, 3
add edi, r11d
sub edi, r13d
jmp 0x1800ac249
cmp dword [rsp + 0x78], 0
mov r11d, dword [rsp + 0x3c]
jne 0x1800ac54a
cmp rdx, r9
cmovae rdx, r9
movsxd r11, r15d
cmp rdx, r11
jbe 0x1800acc50
jmp 0x1800acc18
lea ecx, [rbx*8]
mov r15d, r13d
rol r15d, cl
test bl, 3
cmove r15d, r13d
movabs rcx, 0x100000001
imul r15, rcx
mov r11, qword [rsp + 0xa8]
mov rcx, r11
cmp r11, qword [rsp + 0x80]
jae 0x1800acc61
lea r11, [rcx + 8]
mov rbx, qword [rcx]
xor rbx, r15
je 0x1800ac88e
tzcnt r11, rbx
shr r11d, 3
add rcx, r11
sub ecx, dword [rsp + 0xa8]
add r14, rcx
jmp 0x1800ac617
cmp byte [rbx], r11b
jne 0x1800ac4aa
inc rbx
shr r11, 8
cmp rbx, r14
jb 0x1800ac8c6
jmp 0x1800b201a
mov r15d, esi
jmp 0x1800ac706
cmp byte [r9], dl
jne 0x1800ac517
inc r9
shr rdx, 8
cmp r9, qword [rsp + 0x50]
jb 0x1800ac8e8
jmp 0x1800ac517
movzx edx, cx
mov r11, qword [rsp + 0x98]
movzx edx, word [r11 + rdx*2 + 0x20000]
cmp ecx, edx
mov r11d, 0
cmovb edx, r11d
mov r11d, dword [rsp + 0x3c]
jb 0x1800ac942
mov qword [rsp + 0x68], rdi
sub ecx, edx
jmp 0x1800ac54a
mov r10d, r11d
mov r15d, dword [rsp + 0x168]
mov qword [rsp + 0x68], rdi
test r10d, r10d
jle 0x1800acb99
mov r9d, dword [rsp + 0xd8]
mov eax, r9d
sub eax, ebx
cmp eax, 0xfffe
ja 0x1800acb99
mov rax, qword [rsp + 0x188]
mov rsi, qword [rax + 0x40000]
mov r12, qword [rax + 0x40008]
sub rsi, r12
mov ecx, dword [rax + 0x40018]
mov edi, ebx
mov rbx, qword [rsp + 0xa0]
imul edx, dword [rbx], 0x9e3779b1
add rsi, rcx
shr edx, 0x11
mov r8d, dword [rax + rdx*4]
add edi, r8d
mov qword [rsp + 0x60], rsi
sub edi, esi
mov edx, r9d
sub edx, edi
cmp edx, 0xffff
ja 0x1800acb99
mov eax, edi
mov qword [rsp + 0x58], r12
mov r9, r12
sub r9, rcx
mov rcx, qword [rsp + 0x180]
lea rdi, [rcx + 2]
mov rcx, qword [rsp + 0xb0]
mov rdx, rcx
sub rdx, rbx
mov qword [rsp + 0x48], rdx
sub qword [rsp + 0xa8], r14
lea rdx, [r9 - 1]
mov qword [rsp + 0x40], rdx
mov rdx, qword [rsp + 0xf8]
lea r12, [rcx + rdx]
add r12, 0xfffffffffffffffd
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x70], rcx
mov ebx, eax
sub r10d, 1
jb 0x1800acba6
mov rax, r13
mov r13d, r8d
cmp dword [r9 + r13], eax
jne 0x1800acb1a
mov eax, ebx
mov esi, r15d
mov rbx, qword [rsp + 0x60]
sub rbx, r13
add rbx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x50]
cmp rbx, rcx
cmova rbx, rcx
lea rdx, [r9 + r13]
lea rcx, [rdx + 4]
lea r15, [rbx - 7]
cmp r15, rdi
jbe 0x1800b2689
mov r11, qword [rdi]
xor r11, qword [rcx]
je 0x1800acb56
tzcnt rbp, r11
xor r14d, r14d
test r11, r11
sete r11b
je 0x1800acb60
shr ebp, 3
mov r15d, esi
mov ebx, eax
cmp dword [rsp + 0x78], 0
je 0x1800acb52
mov rcx, qword [rsp + 0x58]
sub rcx, rdx
mov rdx, qword [rsp + 0x48]
cmp rdx, rcx
cmovg rcx, rdx
movsxd rdx, ecx
mov ecx, edx
sar ecx, 0x1f
and ecx, edx
add r13, qword [rsp + 0x40]
xor ebx, ebx
cmp rbx, rdx
jle 0x1800acada
mov r11, rbx
dec rbx
mov r14b, byte [r12 + r11]
cmp r14b, byte [r13 + r11]
je 0x1800acac1
mov ecx, r11d
mov ebx, eax
add ebp, 4
sub ebp, ecx
cmp ebp, r15d
mov r11d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0xb8]
jle 0x1800acb22
mov edx, ebx
add rdx, qword [rsp + 0xa8]
movsxd rcx, ecx
add rdx, rcx
mov qword [rsp + 0x70], rdx
add rcx, qword [rsp + 0xa0]
mov qword [rsp + 0x68], rcx
mov r15d, ebp
jmp 0x1800acb22
mov r13, qword [rsp + 0xb8]
movzx ecx, r8w
mov rax, qword [rsp + 0x188]
movzx ecx, word [rax + rcx*2 + 0x20000]
sub r8d, ecx
sub ebx, ecx
mov ecx, dword [rsp + 0xd8]
sub ecx, ebx
cmp ecx, 0x10000
jb 0x1800aca18
jmp 0x1800acba6
xor ecx, ecx
jmp 0x1800acadc
mov ebp, 0x40
jmp 0x1800aca79
mov r14b, r11b
lea r11, [rdi + r14*8]
lea rcx, [rcx + r14*8]
mov rbp, r11
cmp r11, r15
jae 0x1800b1837
mov r14, qword [rbp]
lea r11, [rbp + 8]
xor r14, qword [rcx]
lea rcx, [rcx + 8]
je 0x1800acb6b
tzcnt rcx, r14
shr ecx, 3
add ebp, ecx
sub ebp, edi
jmp 0x1800aca8c
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x70], rax
mov r8d, dword [rsp + 0x168]
cmp r15d, r8d
je 0x1800add21
mov r9, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x108]
cmp rdx, r9
setb cl
mov rax, qword [rsp + 0x190]
add rax, r9
mov rdi, qword [rsp + 0x68]
cmp rdi, rax
setb al
and al, cl
cmovne r9, rdx
mov rcx, rdi
sub rcx, r9
mov r10, rdi
mov r14, qword [rsp + 0x70]
mov qword [rsp + 0xe0], r14
cmp rcx, 3
jl 0x1800abedf
jmp 0x1800acce7
mov rdi, qword [rsp + 0x68]
jmp 0x1800ac942
mov r11d, ecx
mov rdi, qword [rsp + 0x1a8]
sub rdi, r11
cmp rdi, 0xffff
ja 0x1800b244f
add r11, qword [rsp + 0x48]
mov rdi, qword [rsp + 0xa0]
mov qword [rsp + 0xe0], r11
mov r15d, edx
jmp 0x1800ac904
mov rdi, qword [rsp + 0x68]
jmp 0x1800ac904
inc rcx
shr r15, 8
cmp rcx, qword [rsp + 0x50]
jae 0x1800ac8b7
cmp byte [rcx], r15b
je 0x1800acc5a
jmp 0x1800ac8b7
cmp rbx, r14
jae 0x1800ac4a2
jmp 0x1800b162e
mov r15, rcx
jmp 0x1800ac669
lea rbx, [r13 - 3]
cmp r11, rbx
jb 0x1800b17f3
lea rbx, [r13 - 1]
cmp r11, rbx
jb 0x1800b180b
cmp r11, r13
jae 0x1800ac5f8
jmp 0x1800b1825
mov rdx, rax
cmp r9, qword [rsp + 0x50]
mov r11, qword [rsp + 0x88]
jae 0x1800ac517
jmp 0x1800ac8e8
mov rdx, qword [rax]
mov qword [rcx], rdx
add rcx, 8
add rax, 8
cmp rcx, rbx
jb 0x1800acccf
jmp 0x1800b1bf1
test al, al
mov rax, qword [rsp + 0x170]
cmovne rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x170], rax
cmovne r8d, dword [rsp + 0x118]
mov rdx, qword [rsp + 0x138]
cmp r8d, 0x12
mov eax, 0x12
cmovl eax, r8d
mov dword [rsp + 0x1a0], eax
cdqe
add rax, r9
mov qword [rsp + 0x1c8], rax
movsxd rcx, r8d
lea rax, [r9 + rcx]
mov qword [rsp + 0x1d0], rcx
lea rcx, [r9 + rcx + 3]
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0x108], r9
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x138], rax
mov dword [rsp + 0x168], r8d
mov rax, rdi
sub rax, r9
cmp rax, 0x11
jg 0x1800acdce
movsxd rcx, r15d
lea rdx, [rdi + rcx]
add rdx, 0xfffffffffffffffc
cmp qword [rsp + 0x1c8], rdx
lea ecx, [rax + rcx - 4]
cmovbe ecx, dword [rsp + 0x1a0]
mov eax, r9d
sub eax, edi
add eax, ecx
test eax, eax
jle 0x1800acdb1
mov ecx, eax
add rdi, rcx
add r14, rcx
sub r15d, eax
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0xe0], r14
mov eax, r15d
mov rdx, qword [rsp + 0xf8]
jmp 0x1800acde1
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0xe0], r14
mov eax, r15d
mov qword [rsp + 0x118], rax
movsxd r12, eax
mov rax, qword [rsp + 0x90]
lea r15, [rax + r12]
cmp r15, qword [rsp + 0x80]
mov qword [rsp + 0x1a8], r12
ja 0x1800b1895
lea rcx, [r15 - 3]
mov r9, qword [rsp + 0x98]
mov rdx, qword [r9 + 0x40008]
mov r8d, dword [r9 + 0x40018]
mov rax, rcx
mov qword [rsp + 0x58], rcx
mov rbx, rcx
mov rax, rdx
mov qword [rsp + 0xb0], rdx
sub rbx, rdx
lea edi, [r8 + rbx]
mov ecx, dword [r9 + 0x4001c]
lea eax, [rcx + 0x10000]
cmp eax, edi
mov qword [rsp + 0x60], r8
lea eax, [r8 + rbx - 0xffff]
mov qword [rsp + 0x70], rcx
cmova eax, ecx
mov dword [rsp + 0x68], eax
mov r14d, dword [r15 - 3]
mov eax, dword [r9 + 0x40020]
cmp eax, edi
jae 0x1800aced8
mov rcx, qword [rsp + 0xb0]
sub rcx, qword [rsp + 0x60]
mov edx, edi
imul r8d, dword [rcx + rax], 0x9e3779b1
shr r8d, 0x11
mov r9d, eax
mov r10, qword [rsp + 0x98]
sub r9d, dword [r10 + r8*4]
mov r10d, 0xffff
cmp r9d, r10d
jb 0x1800aceb7
mov r9d, 0xffff
movzx r10d, ax
mov rsi, qword [rsp + 0x98]
mov word [rsi + r10*2 + 0x20000], r9w
mov dword [rsi + r8*4], eax
inc rax
cmp rdx, rax
jne 0x1800ace8b
mov r8, qword [rsp + 0x98]
mov rax, qword [r8 + 0x40028]
mov qword [rsp + 0x128], rax
mov rax, qword [r8 + 0x40010]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x58]
mov rdx, rax
mov dword [r8 + 0x40020], edi
imul ecx, dword [rax], 0x9e3779b1
sub rdx, qword [rsp + 0x90]
mov qword [rsp + 0xa8], rdx
shr ecx, 0x11
mov ecx, dword [r8 + rcx*4]
cmp ecx, dword [rsp + 0x68]
mov dword [rsp + 0xd8], edi
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x180], r15
jb 0x1800ad862
test r11d, r11d
mov r10, qword [rsp + 0x60]
jle 0x1800ad862
mov r8, r10
mov r13, qword [rsp + 0x70]
sub r8, r13
neg r13
mov rdi, qword [rsp + 0x88]
mov qword [rsp + 0x158], r8
lea rdx, [rdi + r8]
mov qword [rsp + 0xe8], rdx
add rbx, r10
mov qword [rsp + 0x1e0], rbx
mov rsi, r12
mov r12, qword [rsp + 0xb0]
sub r12, r10
movsxd rdx, dword [rsp + 0xa8]
neg rdx
mov qword [rsp + 0x78], rdx
mov rbx, qword [rsp + 0x90]
mov rdx, rbx
sub rdx, rax
mov qword [rsp + 0x188], rdx
lea rax, [r15 + 1]
mov qword [rsp + 0x48], rax
lea eax, [r10 - 4]
mov dword [rsp + 0x130], eax
movzx edx, r14w
mov r8d, r14d
shr r8d, 0x10
xor r8d, edx
movzx edx, r14b
mov r9d, r14d
shr r9d, 0x18
xor r9d, edx
or r9d, r8d
sete byte [rsp + 0x1b8]
mov rbp, r14
movabs rdx, 0x100000001
imul rbp, rdx
add r13, rdi
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0xa0], r12
lea rax, [r12 - 1]
mov qword [rsp + 0x178], rax
lea r13, [rbx + rsi]
add r13, 0xfffffffffffffffc
lea rax, [rdi - 1]
mov qword [rsp + 0x160], rax
xor eax, eax
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x118]
mov r15d, eax
mov r12d, r11d
xor r8d, r8d
mov qword [rsp + 0xc0], r13
mov edi, r10d
sub edi, ecx
jbe 0x1800ad200
cmp ecx, dword [rsp + 0x130]
ja 0x1800ad321
mov r9d, ecx
sub r9d, dword [rsp + 0x70]
mov rax, qword [rsp + 0x88]
lea rbx, [rax + r9]
cmp dword [rbx], r14d
jne 0x1800ad321
mov eax, r15d
mov rdx, qword [rsp + 0x58]
add rdx, rdi
mov r10, qword [rsp + 0x50]
cmp rdx, r10
mov r13, rdx
cmova r13, r10
add rbx, 4
lea r15, [r13 - 7]
mov r11, qword [rsp + 0x48]
cmp r15, r11
jbe 0x1800ad4eb
mov r11, qword [r11]
xor r11, qword [rbx]
je 0x1800ad4d0
tzcnt r10, r11
xor r14d, r14d
test r11, r11
sete r11b
je 0x1800ad4db
shr r10d, 3
mov r15d, eax
mov r14, qword [rsp + 0x40]
lea ebx, [r10 + 4]
cmp rdx, qword [rsp + 0x50]
jae 0x1800ad159
movsxd rdx, r10d
mov r10, qword [rsp + 0x58]
add rdx, r10
add rdx, 4
cmp rdx, r13
jne 0x1800ad159
mov r15, r13
mov rdx, qword [rsp + 0xb0]
mov r11, rdx
cmp qword [rsp + 0x80], r13
jbe 0x1800ad72c
mov r10, qword [r13]
xor r10, qword [rdx]
je 0x1800ad708
tzcnt rdx, r10
mov r15d, eax
xor r11d, r11d
test r10, r10
sete r10b
je 0x1800ad712
shr edx, 3
add ebx, edx
mov r13, qword [rsp + 0xc0]
cmp dword [rsp + 0xa8], 0
je 0x1800ad4c9
mov rdx, qword [rsp + 0x160]
lea r11, [rdx + r9]
neg r9
mov rdx, qword [rsp + 0x188]
cmp rdx, r9
cmovg r9, rdx
movsxd r9, r9d
mov edx, r9d
sar edx, 0x1f
and edx, r9d
xor r14d, r14d
cmp r14, r9
jle 0x1800ad1b8
mov r10, r14
dec r14
mov r15b, byte [r13 + r10]
cmp r15b, byte [r11 + r10]
mov r15d, eax
je 0x1800ad19c
mov edx, r10d
mov r14, qword [rsp + 0x40]
sub ebx, edx
cmp ebx, r15d
mov r11d, dword [rsp + 0x3c]
mov r10, qword [rsp + 0x60]
jle 0x1800ad321
mov r9d, ecx
add r9, qword [rsp + 0xa0]
movsxd rdx, edx
add r9, rdx
mov qword [rsp + 0x148], r9
add rdx, qword [rsp + 0x58]
mov qword [rsp + 0x120], rdx
mov r15d, ebx
jmp 0x1800ad321
mov r11d, ecx
mov rax, qword [rsp + 0xa0]
lea rdx, [rax + r11]
movsxd r9, r15d
mov rax, qword [rsp + 0x90]
movzx r10d, word [rax + r9 - 1]
mov rax, qword [rsp + 0x78]
lea rbx, [rdx + rax]
cmp r10w, word [r9 + rbx - 1]
jne 0x1800ad317
cmp dword [rdx], r14d
jne 0x1800ad317
cmp dword [rsp + 0xa8], 0
je 0x1800ad6a0
mov eax, r15d
mov r9, qword [rsp + 0xb0]
sub r9, rdx
mov r10, qword [rsp + 0x188]
cmp r10, r9
cmovg r9, r10
movsxd rbx, r9d
mov r9d, ebx
sar r9d, 0x1f
and r9d, ebx
add r11, qword [rsp + 0x178]
xor r14d, r14d
cmp r14, rbx
jle 0x1800ad29a
mov r10, r14
dec r14
mov r15b, byte [r13 + r10]
cmp r15b, byte [r11 + r10]
je 0x1800ad281
mov r9d, r10d
mov r15d, eax
mov r14, qword [rsp + 0x40]
lea r11, [rdx + 4]
mov r10, qword [rsp + 0x48]
cmp qword [rsp + 0x80], r10
jbe 0x1800b26b4
mov r10, qword [r10]
xor r10, qword [r11]
je 0x1800ad6a8
tzcnt rbx, r10
xor r14d, r14d
test r10, r10
sete r10b
je 0x1800ad6b2
shr ebx, 3
mov r11d, dword [rsp + 0x3c]
mov r14, qword [rsp + 0x40]
mov r10, qword [rsp + 0x60]
sub ebx, r9d
add ebx, 4
cmp ebx, r15d
jle 0x1800ad321
movsxd r9, r9d
add rdx, r9
add r9, qword [rsp + 0x58]
mov qword [rsp + 0x120], r9
mov qword [rsp + 0x148], rdx
mov r15d, ebx
jmp 0x1800ad321
mov r11d, dword [rsp + 0x3c]
mov r10, qword [rsp + 0x60]
lea r9d, [r12 - 1]
movzx edx, cx
mov rax, qword [rsp + 0x98]
movzx edx, word [rax + rdx*2 + 0x20000]
cmp r11d, 0x81
jl 0x1800ad4a8
cmp dx, 1
jne 0x1800ad4a8
cmp dword [rsp + 0xb8], 0
je 0x1800ad433
cmp edi, 3
jb 0x1800ad4a8
cmp dword [rsp + 0xb8], 2
jne 0x1800ad4a8
lea edi, [rcx - 1]
cmp edi, dword [rsp + 0x68]
jb 0x1800ad4a8
cmp edi, r10d
mov rbx, qword [rsp + 0xc8]
cmovae rbx, qword [rsp + 0xa0]
mov r13, r10
mov r10d, edi
mov eax, 2
mov qword [rsp + 0xb8], rax
cmp dword [rbx + r10], r14d
jne 0x1800ad49d
mov dword [rsp + 0x110], r15d
add rbx, r10
cmp edi, r13d
mov rdx, qword [rsp + 0xe8]
cmovae rdx, qword [rsp + 0x50]
lea rcx, [rbx + 4]
lea r10, [rdx - 7]
mov r14, rcx
mov r13, qword [rsp + 0xc0]
mov r11, r14
cmp r14, r10
jae 0x1800adba6
lea r14, [r11 + 8]
mov r15, qword [r11]
xor r15, rbp
je 0x1800ad3e2
tzcnt rdx, r15
shr edx, 3
add r11, rdx
mov r14, qword [rsp + 0x40]
mov rax, qword [rsp + 0x88]
sub r11, rcx
mov edx, r11d
add rdx, 4
cmp edi, dword [rsp + 0x60]
jb 0x1800ad51d
mov rcx, qword [rsp + 0xb0]
jmp 0x1800ad532
mov eax, 1
mov qword [rsp + 0xb8], rax
cmp byte [rsp + 0x1b8], 0
je 0x1800ad4a8
mov r10, qword [rsp + 0x48]
mov r8, r10
cmp r10, qword [rsp + 0x80]
jae 0x1800adbee
lea r10, [r8 + 8]
mov r11, qword [r8]
xor r11, rbp
je 0x1800ad44f
tzcnt r10, r11
shr r10d, 3
add r8, r10
mov r10, qword [rsp + 0x60]
sub r8d, dword [rsp + 0x48]
add r8, 4
mov eax, 2
mov qword [rsp + 0xb8], rax
mov r11d, dword [rsp + 0x3c]
jmp 0x1800ad35e
mov r10, r13
mov r13, qword [rsp + 0xc0]
movzx edx, dx
sub ecx, edx
cmp ecx, dword [rsp + 0x68]
jb 0x1800ad870
cmp r12d, 1
mov r12d, r9d
jg 0x1800ad062
jmp 0x1800ad870
xor edx, edx
jmp 0x1800ad1bd
mov r10d, 0x40
jmp 0x1800ad0d8
mov r14b, r11b
mov r10, qword [rsp + 0x48]
lea r11, [r10 + r14*8]
lea rbx, [rbx + r14*8]
mov r10, r11
cmp r11, r15
jae 0x1800adbdc
mov r14, qword [r10]
lea r11, [r10 + 8]
xor r14, qword [rbx]
lea rbx, [rbx + 8]
je 0x1800ad4eb
tzcnt r11, r14
shr r11d, 3
add r10d, r11d
sub r10d, dword [rsp + 0x48]
jmp 0x1800ad0ec
lea rcx, [rbx + rdx]
cmp rcx, qword [rsp + 0xe8]
je 0x1800ad7bb
mov rcx, rax
mov dword [rsp + 0x1ec], r14d
lea r10, [rcx + 4]
mov r11, rbx
mov r15, r11
cmp r11, r10
jb 0x1800ad553
lea r11, [r15 - 4]
cmp dword [r15 - 4], r14d
je 0x1800ad541
cmp r15, rcx
jbe 0x1800ad581
xor r10d, r10d
mov r11b, byte [r15 + r10 - 1]
cmp r11b, byte [rsp + r10 + 0x1ef]
jne 0x1800ad57e
lea r11, [r15 + r10]
dec r11
dec r10
cmp r11, rcx
ja 0x1800ad55b
jmp 0x1800adbb4
add r15, r10
mov r11, rbx
sub r11, r15
mov r10, qword [rsp + 0x60]
cmp edi, r10d
jb 0x1800ad839
mov ecx, r11d
sub rbx, rcx
cmp rbx, qword [rsp + 0xb0]
mov r15d, dword [rsp + 0x110]
jne 0x1800ad631
cmp dword [rsp + 0x70], r10d
jae 0x1800ad631
mov ebx, r11d
neg ebx
mov ecx, ebx
shl ecx, 3
mov r10d, r14d
rol r10d, cl
test bl, 3
cmove r10d, r14d
mov dword [rsp + 0x1ec], r10d
mov rcx, qword [rsp + 0x158]
mov rbx, rcx
cmp rcx, 4
jl 0x1800b233b
lea rcx, [rbx - 4]
cmp dword [rax + rbx - 4], r10d
je 0x1800ad5df
add rbx, rax
mov rcx, rbx
lea r10, [rsp + 0x1ef]
mov bl, byte [rcx - 1]
cmp bl, byte [r10]
jne 0x1800ad618
dec rcx
dec r10
cmp rcx, rax
ja 0x1800ad605
mov rax, qword [rsp + 0xe8]
mov r10d, eax
sub r10d, ecx
add r10d, r11d
mov r11d, r10d
mov r10, qword [rsp + 0x60]
mov ecx, edi
sub ecx, r11d
mov eax, dword [rsp + 0x68]
cmp ecx, eax
cmovbe ecx, eax
mov r11d, edi
sub r11d, ecx
add r11, rdx
cmp rdx, r8
ja 0x1800ad67e
cmp r11, r8
jb 0x1800ad67e
sub edi, r8d
add edi, edx
mov ecx, edi
not ecx
add ecx, r10d
cmp ecx, 3
cmovb edi, r10d
mov eax, 2
mov qword [rsp + 0xb8], rax
mov ecx, edi
mov r11d, dword [rsp + 0x3c]
jmp 0x1800ad4ad
mov edx, ecx
not edx
add edx, r10d
mov eax, 2
mov qword [rsp + 0xb8], rax
cmp edx, 3
jae 0x1800ad764
mov ecx, r10d
jmp 0x1800ad674
xor r9d, r9d
jmp 0x1800ad2a2
mov ebx, 0x40
jmp 0x1800ad2ca
mov eax, r15d
mov r14b, r10b
mov r10, qword [rsp + 0x48]
lea r15, [r10 + r14*8]
lea r11, [r11 + r14*8]
mov r14, qword [rsp + 0x40]
mov rbx, r15
cmp r15, qword [rsp + 0x80]
jae 0x1800b2362
mov r10, qword [rbx]
lea r15, [rbx + 8]
xor r10, qword [r11]
lea r11, [r11 + 8]
je 0x1800ad6ca
tzcnt r10, r10
shr r10d, 3
add ebx, r10d
sub ebx, dword [rsp + 0x48]
mov r11d, dword [rsp + 0x3c]
mov r15d, eax
jmp 0x1800ad2e7
mov edx, 0x40
jmp 0x1800ad141
mov r11b, r10b
lea r15, [r11*8]
add r15, r13
mov rdx, qword [rsp + 0xb0]
lea r11, [rdx + r11*8]
mov rdx, r15
cmp r15, qword [rsp + 0x80]
jae 0x1800b238c
mov r10, qword [rdx]
lea r15, [rdx + 8]
xor r10, qword [r11]
lea r11, [r11 + 8]
je 0x1800ad72c
tzcnt r10, r10
shr r10d, 3
add edx, r10d
sub edx, r13d
mov r15d, eax
jmp 0x1800ad157
cmp dword [rsp + 0xa8], 0
jne 0x1800ad674
cmp r11, r8
cmovae r11, r8
movsxd rdx, r15d
cmp r11, rdx
ja 0x1800adb4b
movzx edx, cx
mov rax, qword [rsp + 0x98]
movzx edx, word [rax + rdx*2 + 0x20000]
cmp ecx, edx
mov r10d, 0
cmovb edx, r10d
mov r11d, dword [rsp + 0x3c]
jb 0x1800ad870
sub ecx, edx
mov r10, qword [rsp + 0x60]
jmp 0x1800ad4ad
lea ecx, [r11*8]
mov r15d, r14d
rol r15d, cl
test r11b, 3
cmove r15d, r14d
movabs rcx, 0x100000001
imul r15, rcx
mov r10, qword [rsp + 0xb0]
mov rcx, r10
cmp r10, qword [rsp + 0x80]
jae 0x1800adb91
lea r10, [rcx + 8]
mov r11, qword [rcx]
xor r11, r15
je 0x1800ad7e7
tzcnt r10, r11
shr r10d, 3
add rcx, r10
sub ecx, dword [rsp + 0xb0]
add rdx, rcx
jmp 0x1800ad52f
cmp byte [r11], r10b
jne 0x1800ad412
inc r11
shr r10, 8
cmp r11, rdx
jb 0x1800ad81f
jmp 0x1800b257b
mov r15d, dword [rsp + 0x110]
jmp 0x1800ad631
cmp byte [r8], r11b
jne 0x1800ad47d
inc r8
shr r11, 8
cmp r8, qword [rsp + 0x50]
jb 0x1800ad846
jmp 0x1800ad47d
mov r9d, r11d
mov rax, qword [rsp + 0x118]
mov r15d, eax
test r9d, r9d
jle 0x1800adacd
mov r8d, dword [rsp + 0xd8]
mov edi, dword [rsp + 0x68]
mov eax, r8d
sub eax, edi
cmp eax, 0xfffe
ja 0x1800adacd
mov rax, qword [rsp + 0x128]
mov rsi, qword [rax + 0x40000]
mov rbx, qword [rax + 0x40008]
sub rsi, rbx
mov ecx, dword [rax + 0x40018]
mov r10, qword [rsp + 0x58]
imul edx, dword [r10], 0x9e3779b1
add rsi, rcx
shr edx, 0x11
mov edx, dword [rax + rdx*4]
add edi, edx
mov qword [rsp + 0xb8], rsi
sub edi, esi
sub r8d, edi
cmp r8d, 0xffff
ja 0x1800adacd
mov eax, edi
mov qword [rsp + 0xa0], rbx
mov r8, rbx
sub r8, rcx
mov rcx, qword [rsp + 0x180]
lea rdi, [rcx + 1]
mov rbx, qword [rsp + 0x90]
mov rcx, rbx
sub rcx, r10
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0x60]
sub qword [rsp + 0xb0], rcx
lea rcx, [r8 - 1]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0x1a8]
lea r12, [rbx + rcx]
add r12, 0xfffffffffffffffc
mov rcx, qword [rsp + 0x148]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x68], rcx
sub r9d, 1
jb 0x1800adae7
mov r13d, edx
cmp dword [r8 + r13], r14d
jne 0x1800ada53
mov esi, r15d
mov r11, qword [rsp + 0xb8]
sub r11, r13
add r11, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
cmp r11, rcx
cmova r11, rcx
lea rbx, [r8 + r13]
lea rcx, [rbx + 4]
lea r15, [r11 - 7]
cmp r15, rdi
jbe 0x1800b26bf
mov r10, qword [rdi]
xor r10, qword [rcx]
je 0x1800ada8a
tzcnt rbp, r10
xor r14d, r14d
test r10, r10
sete r10b
je 0x1800ada94
shr ebp, 3
mov r15d, esi
mov r14, qword [rsp + 0x40]
cmp dword [rsp + 0xa8], 0
je 0x1800ada1f
mov rcx, qword [rsp + 0xa0]
sub rcx, rbx
mov r10, qword [rsp + 0x48]
cmp r10, rcx
cmovg rcx, r10
movsxd r11, ecx
mov ecx, r11d
sar ecx, 0x1f
and ecx, r11d
add r13, qword [rsp + 0x60]
xor ebx, ebx
cmp rbx, r11
jle 0x1800ada21
mov r10, rbx
dec rbx
mov r14b, byte [r12 + r10]
cmp r14b, byte [r13 + r10]
mov r14, qword [rsp + 0x40]
je 0x1800ad9ff
mov ecx, r10d
jmp 0x1800ada21
xor ecx, ecx
add ebp, 4
sub ebp, ecx
cmp ebp, r15d
mov r11d, dword [rsp + 0x3c]
jle 0x1800ada53
mov r10d, eax
add r10, qword [rsp + 0xb0]
movsxd rcx, ecx
add r10, rcx
mov qword [rsp + 0x70], r10
add rcx, qword [rsp + 0x58]
mov qword [rsp + 0x68], rcx
mov r15d, ebp
movzx ecx, dx
mov r10, qword [rsp + 0x128]
movzx ecx, word [r10 + rcx*2 + 0x20000]
sub edx, ecx
mov r10d, eax
sub r10d, ecx
mov ecx, dword [rsp + 0xd8]
mov eax, r10d
sub ecx, r10d
cmp ecx, 0x10000
jb 0x1800ad954
jmp 0x1800adae7
mov ebp, 0x40
jmp 0x1800ad9b0
mov r14b, r10b
lea r10, [rdi + r14*8]
lea rcx, [rcx + r14*8]
mov rbp, r10
cmp r10, r15
jae 0x1800b23b6
mov r14, qword [rbp]
lea r10, [rbp + 8]
xor r14, qword [rcx]
lea rcx, [rcx + 8]
je 0x1800ada9f
tzcnt rcx, r14
shr ecx, 3
add ebp, ecx
sub ebp, edi
jmp 0x1800ad9c3
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x70], rax
cmp r15d, dword [rsp + 0x118]
je 0x1800b191f
mov rdi, qword [rsp + 0x68]
cmp rdi, qword [rsp + 0x190]
mov r8d, dword [rsp + 0x168]
mov r14, qword [rsp + 0x70]
mov r9, qword [rsp + 0x108]
mov rdx, qword [rsp + 0xf8]
jae 0x1800adc45
mov qword [rsp + 0x120], rdi
mov qword [rsp + 0x148], r14
mov rax, qword [rsp + 0x138]
cmp rdi, rax
jb 0x1800acd70
jmp 0x1800b1adc
mov edx, ecx
mov r10, qword [rsp + 0x1e0]
sub r10, rdx
cmp r10, 0xffff
ja 0x1800b26a2
add rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x148], rdx
mov r15d, r11d
jmp 0x1800ad785
inc rcx
shr r15, 8
cmp rcx, qword [rsp + 0x50]
jae 0x1800ad810
cmp byte [rcx], r15b
je 0x1800adb8a
jmp 0x1800ad810
cmp r11, rdx
jae 0x1800ad405
jmp 0x1800b234d
mov r15, rcx
jmp 0x1800ad581
lea r11, [r13 - 1]
cmp r10, r11
jb 0x1800b23e0
cmp r10, r13
jb 0x1800b23fb
sub r10d, dword [rsp + 0x48]
jmp 0x1800ad0f4
lea r11, [r13 - 3]
cmp r10, r11
jb 0x1800b240e
jmp 0x1800b242f
mov r11, rbp
cmp r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x60]
jae 0x1800ad47d
jmp 0x1800ad846
mov r12, r9
sub r12, rdx
mov rax, r12
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0xd4], 0
jne 0x1800b20a7
mov rdi, qword [rsp + 0xf0]
lea rsi, [rdi + 1]
cmp r12, 0xf
jb 0x1800b21df
jmp 0x1800b2174
mov rax, qword [rsp + 0x90]
cmp rax, qword [rsp + 0x138]
jb 0x1800b20d3
jmp 0x1800b214d
mov r13, qword [rsp + 0x90]
add r12, rsi
mov rax, rcx
mov rcx, rsi
mov rdx, qword [rax]
mov qword [rcx], rdx
add rcx, 8
add rax, 8
cmp rcx, r12
jb 0x1800adc71
mov r8d, r9d
movsxd rdi, ebx
lea rcx, [rdi - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub r8d, dword [rsp + 0x170]
mov word [r12], r8w
cmp dword [rsp + 0xd4], 0
mov ebp, 0
jne 0x1800b2155
add r12, 2
cmp rcx, 0xf
jb 0x1800b228e
jmp 0x1800b21f4
mov rdx, r9
add rdx, rdi
mov r9, rbx
mov qword [rsp + 0xf0], r12
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x170], rax
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x120], rdi
mov qword [rsp + 0x148], r14
mov rax, qword [rsp + 0x118]
mov r8d, eax
jmp 0x1800acd13
mov qword [rsp + 0x90], rdi
jmp 0x1800add53
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x90], rax
mov r15, qword [rsp + 0x180]
mov r10, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xf8]
mov r13, r10
sub r13, qword [rsp + 0x138]
mov rax, r13
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0xd4], 0
je 0x1800add9f
shr rdx, 7
mov rax, qword [rsp + 0xf0]
add rax, rdx
inc rax
add rax, r13
add rax, 8
cmp rax, qword [rsp + 0x140]
ja 0x1800b1a08
mov rdi, qword [rsp + 0xf0]
lea r12, [rdi + 1]
cmp r13, 0xf
jb 0x1800addcd
lea rax, [r13 - 0xf]
mov byte [rdi], 0xf0
cmp rax, 0xff
jae 0x1800b1513
mov byte [r12], al
inc r12
jmp 0x1800addd5
mov eax, r13d
shl al, 4
mov byte [rdi], al
add r13, r12
mov rax, qword [rsp + 0x138]
mov rcx, r12
mov rdx, qword [rax]
mov qword [rcx], rdx
add rcx, 8
add rax, 8
cmp rcx, r13
jb 0x1800adde3
mov r8d, r10d
lea rcx, [r9 - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub r8d, dword [rsp + 0x170]
mov word [r13], r8w
cmp dword [rsp + 0xd4], 0
mov ebp, 0
je 0x1800ade43
shr rdx, 7
lea rax, [rdx + r13]
add rax, 8
cmp rax, qword [rsp + 0x140]
ja 0x1800b14d4
add r13, 2
cmp rcx, 0xf
jb 0x1800ade6d
mov rax, qword [rsp + 0xf0]
add byte [rax], 0xf
lea rax, [r9 - 0x13]
cmp rax, 0x1fe
jb 0x1800adf49
jmp 0x1800b1564
mov rax, qword [rsp + 0xf0]
add byte [rax], cl
mov r8, qword [rsp + 0x150]
jmp 0x1800adf6e
mov rcx, qword [rsp + 0x90]
mov eax, ecx
sub eax, ebx
cmp rcx, qword [rsp + 0x138]
cmovb r8d, eax
mov r13, rbx
sub r13, rdx
mov rax, r13
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0xd4], 0
jne 0x1800b1869
mov r14, qword [rsp + 0xf0]
lea rdi, [r14 + 1]
cmp r13, 0xf
jb 0x1800b19d2
jmp 0x1800b1961
lea r12, [rdi + r13]
mov rax, rdi
mov rcx, qword [rdx]
mov qword [rax], rcx
add rax, 8
add rdx, 8
cmp rax, r12
jb 0x1800adee2
movsxd r14, r8d
lea rcx, [r14 - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub ebx, dword [rsp + 0x170]
mov word [r12], bx
cmp dword [rsp + 0xd4], 0
jne 0x1800b189d
add r12, 2
cmp rcx, 0xf
jb 0x1800b1aa6
jmp 0x1800b1a0f
imul rax, rdi, 0xfffffffffffffe02
add rax, r14
add rax, 0xfffffffffffffdef
mov r8, qword [rsp + 0x150]
cmp rax, 0xff
jb 0x1800adf67
add rax, 0xffffffffffffff01
mov byte [r13], 0xff
inc r13
mov byte [r13], al
inc r13
mov r10, r13
mov rcx, r15
cmp r15, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x170]
jbe 0x1800ab29f
jmp 0x1800b132c
add r9, r14
sub r13, r9
mov rax, r13
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0xd4], 0
jne 0x1800b19e8
lea rsi, [r12 + 1]
cmp r13, 0xf
jb 0x1800b1b8e
jmp 0x1800b1b2d
add r13, rsi
mov rax, r9
mov rcx, rsi
mov rdx, qword [rax]
mov qword [rcx], rdx
add rcx, 8
add rax, 8
cmp rcx, r13
jb 0x1800adfd0
mov rax, qword [rsp + 0x90]
mov r8d, eax
mov rax, qword [rsp + 0x1a8]
lea rcx, [rax - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub r8d, dword [rsp + 0xe0]
mov word [r13], r8w
cmp dword [rsp + 0xd4], 0
mov ebp, 0
jne 0x1800b1abd
add r13, 2
cmp rcx, 0xf
jb 0x1800b1d82
jmp 0x1800b1d14
mov rdx, rdi
jmp 0x1800ab70b
movzx r8d, word [rdi]
cmp r8w, word [r11]
jne 0x1800abdde
jmp 0x1800b1fac
mov dl, byte [rdi]
xor r8d, r8d
cmp dl, byte [r11]
sete r8b
add r11, r8
jmp 0x1800abde7
mov r8d, dword [rdi]
cmp r8d, dword [r11]
mov r15d, esi
mov rbx, qword [rsp + 0xb8]
je 0x1800b1fb9
jmp 0x1800abdd1
mov r15d, esi
mov rbx, qword [rsp + 0xb8]
jmp 0x1800abdd1
movzx r8d, word [r13]
cmp r8w, word [rdx]
jne 0x1800abe14
jmp 0x1800b1fc6
mov r8b, byte [r13]
xor edi, edi
cmp r8b, byte [rdx]
sete dil
add rdx, rdi
jmp 0x1800abe1f
mov r8d, dword [r13]
cmp r8d, dword [rdx]
mov r15d, esi
je 0x1800b1fd3
jmp 0x1800abe06
mov r15d, esi
jmp 0x1800abe06
add rdi, 4
add rbx, 4
jmp 0x1800abe76
movzx r8d, word [r13]
cmp r8w, word [rdx]
jne 0x1800abe4e
jmp 0x1800b1fe0
mov r8b, byte [r13]
xor edi, edi
cmp r8b, byte [rdx]
sete dil
add rdx, rdi
mov rdi, qword [rsp + 0x68]
jmp 0x1800abe59
mov r8d, dword [r13]
cmp r8d, dword [rdx]
mov r15d, esi
je 0x1800b1fed
jmp 0x1800abe40
mov r15d, esi
jmp 0x1800abe40
add rdi, 2
add rbx, 2
jmp 0x1800abe8b
lea rdx, [r8 + r9]
add rdx, 0xfffffffffffffffb
mov qword [rsp + 0x70], rdx
lea rdx, [rax + 0x4c]
mov qword [rsp + 0x1c8], rdx
lea rdx, [rax + 0x50]
mov qword [rsp + 0x198], rdx
add rax, 8
mov qword [rsp + 0x1a0], rax
mov r10, rcx
mov r11, r8
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x108], r11
mov qword [rsp + 0x138], r10
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rdx + 0x40008]
mov r9d, dword [rdx + 0x40018]
mov rbx, r8
mov rax, rcx
mov qword [rsp + 0xc0], rcx
sub rbx, rcx
lea r12d, [r9 + rbx]
mov eax, dword [rdx + 0x4001c]
lea ecx, [rax + 0x10000]
mov dword [rsp + 0x170], ecx
cmp ecx, r12d
lea ecx, [r9 + rbx - 0xffff]
mov qword [rsp + 0x110], rax
cmova ecx, eax
mov dword [rsp + 0x50], ecx
mov eax, dword [r8]
mov qword [rsp + 0x80], rax
mov eax, dword [rdx + 0x40020]
mov rcx, r9
neg rcx
mov qword [rsp + 0xa0], rcx
cmp eax, r12d
jae 0x1800ae26c
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xa0]
add rcx, rdx
mov edx, r12d
imul r10d, dword [rcx + rax], 0x9e3779b1
shr r10d, 0x11
mov r11d, eax
mov rsi, qword [rsp + 0x98]
sub r11d, dword [rsi + r10*4]
mov edi, 0xffff
cmp r11d, edi
jb 0x1800ae24c
mov r11d, 0xffff
movzx edi, ax
mov rsi, qword [rsp + 0x98]
mov word [rsi + rdi*2 + 0x20000], r11w
mov dword [rsi + r10*4], eax
inc rax
cmp rdx, rax
jne 0x1800ae221
mov rdx, qword [rsp + 0x98]
mov rax, qword [rdx + 0x40028]
mov qword [rsp + 0x128], rax
mov r10, qword [rdx + 0x40010]
mov rcx, r9
mov rax, qword [rsp + 0x110]
sub rcx, rax
mov rdi, rax
neg rdi
mov qword [rsp + 0x118], rcx
lea rax, [r10 + rcx]
mov qword [rsp + 0x160], rax
mov dword [rdx + 0x40020], r12d
imul eax, dword [r8], 0x9e3779b1
shr eax, 0x11
mov r11d, dword [rdx + rax*4]
mov rax, qword [rsp + 0xa0]
add rax, qword [rsp + 0xc0]
mov qword [rsp + 0xa0], rax
mov rdx, qword [rsp + 0x80]
movzx eax, dx
mov ecx, edx
shr ecx, 0x10
xor ecx, eax
movzx eax, dl
shr edx, 0x18
xor edx, eax
lea rax, [r8 + 4]
mov qword [rsp + 0xb0], rax
or edx, ecx
lea eax, [r9 - 4]
mov dword [rsp + 0x168], eax
sete byte [rsp + 0x78]
mov qword [rsp + 0x68], r10
add rdi, r10
mov qword [rsp + 0x1b8], rdi
mov eax, 3
mov qword [rsp + 0x40], rax
mov r10d, dword [rsp + 0x50]
cmp r11d, r10d
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0x48], r9
mov dword [rsp + 0x88], r12d
jb 0x1800aebf0
mov qword [rsp + 0x130], rbx
mov eax, 0
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x3c]
mov edx, eax
test eax, eax
jle 0x1800aebfe
add qword [rsp + 0x130], r9
mov r13, qword [rsp + 0x80]
movabs rax, 0x100000001
imul r13, rax
xor ecx, ecx
mov eax, 3
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x3c]
mov r15d, eax
mov dword [rsp + 0x60], 0
xor r14d, r14d
xor eax, eax
mov qword [rsp + 0xa8], rax
cmp byte [rsp + 0xb8], 0
je 0x1800ae594
mov eax, r12d
sub eax, r11d
cmp eax, 8
jae 0x1800ae594
xor ebx, ebx
mov rax, qword [rsp + 0x40]
lea edx, [r15 - 1]
cmp ebx, eax
mov qword [rsp + 0x40], rax
jne 0x1800ae4a8
add eax, r11d
cmp eax, r12d
ja 0x1800ae4a8
cmp ebx, 4
jl 0x1800ae4a8
lea edi, [rbx - 3]
xor r12d, r12d
mov eax, 0x10
mov r10d, 1
mov r9d, 0x10
mov ebp, r10d
lea r10d, [r12 + r11]
movzx r10d, r10w
mov r8, qword [rsp + 0x98]
movzx r10d, word [r8 + r10*2 + 0x20000]
lea r8d, [rax + 1]
sar eax, 4
cmp ebp, r10d
cmovb r8d, r9d
cmova r10d, ebp
cmovb ecx, r12d
mov ebp, eax
add ebp, r12d
mov r12d, ebp
mov eax, r8d
cmp ebp, edi
jl 0x1800ae41e
cmp r10d, r11d
mov eax, r10d
mov r8d, 0
cmova eax, r8d
cmp r10d, 2
cmovb eax, r8d
mov edi, r11d
sub edi, eax
cmp r10d, 1
ja 0x1800ae794
mov r11d, edi
mov rbp, qword [rsp + 0x58]
mov r8, qword [rsp + 0xc8]
mov r9, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x88]
mov r10d, dword [rsp + 0x50]
movzx eax, r11w
mov rsi, qword [rsp + 0x98]
cmp word [rsi + rax*2 + 0x20000], 1
jne 0x1800ae7cc
test ecx, ecx
jne 0x1800ae7cc
cmp dword [rsp + 0x60], 0
je 0x1800ae738
mov eax, r9d
sub eax, r11d
cmp eax, 3
jb 0x1800ae7cc
cmp dword [rsp + 0x60], 2
jne 0x1800ae7cc
lea edi, [r11 - 1]
cmp edi, r10d
jb 0x1800ae7cc
cmp edi, r9d
mov rbx, qword [rsp + 0x1b8]
cmovae rbx, qword [rsp + 0xa0]
mov eax, edi
mov dword [rsp + 0x60], 2
mov r8, qword [rsp + 0x80]
cmp dword [rbx + rax], r8d
jne 0x1800ae7c4
add rbx, rax
cmp edi, r9d
mov r10, qword [rsp + 0x160]
cmovae r10, qword [rsp + 0x70]
lea rcx, [rbx + 4]
lea rax, [r10 - 7]
mov r12, rcx
mov r11, r12
cmp r12, rax
jae 0x1800b113c
lea r12, [r11 + 8]
mov rbp, qword [r11]
xor rbp, r13
je 0x1800ae54c
tzcnt rax, rbp
shr eax, 3
add r11, rax
mov rbp, qword [rsp + 0x58]
sub r11, rcx
mov r10d, r11d
add r10, 4
cmp edi, r9d
jb 0x1800ae885
mov rcx, qword [rsp + 0xc0]
jmp 0x1800ae89c
mov edi, r9d
sub edi, r11d
jbe 0x1800ae69b
cmp r11d, dword [rsp + 0x168]
ja 0x1800ae3da
mov ebx, r11d
sub ebx, dword [rsp + 0x110]
add rbx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x80]
cmp dword [rbx], eax
jne 0x1800ae3da
add rdi, r8
mov rax, qword [rsp + 0x70]
cmp rdi, rax
mov rdx, rdi
cmova rdx, rax
add rbx, 4
lea r12, [rdx - 7]
mov rax, qword [rsp + 0xb0]
cmp r12, rax
jbe 0x1800ae851
mov rax, qword [rax]
xor rax, qword [rbx]
je 0x1800ae833
tzcnt r10, rax
xor ebp, ebp
test rax, rax
sete al
je 0x1800ae83e
shr r10d, 3
mov rbp, qword [rsp + 0x58]
mov r12d, dword [rsp + 0x88]
lea ebx, [r10 + 4]
cmp rdi, qword [rsp + 0x70]
jae 0x1800ae807
movsxd rax, r10d
add rax, r8
add rax, 4
cmp rax, rdx
jne 0x1800ae807
mov rax, rdx
mov r9, qword [rsp + 0xc0]
mov rdi, r9
cmp rbp, rdx
jbe 0x1800aea9a
mov rax, qword [rdx]
xor rax, qword [r9]
je 0x1800aea7c
tzcnt r10, rax
mov r9, qword [rsp + 0x48]
xor edi, edi
test rax, rax
sete al
je 0x1800aea87
shr r10d, 3
mov rax, qword [rsp + 0x40]
add ebx, r10d
mov r10d, dword [rsp + 0x50]
jmp 0x1800ae811
mov edx, r11d
add rdx, qword [rsp + 0xa0]
movsxd rax, dword [rsp + 0x40]
movzx r10d, word [r8 + rax - 1]
cmp r10w, word [rax + rdx - 1]
jne 0x1800ae72c
mov rax, qword [rsp + 0x80]
cmp dword [rdx], eax
jne 0x1800ae72c
lea r10, [rdx + 4]
mov rax, qword [rsp + 0xb0]
cmp rbp, rax
jbe 0x1800aea4a
mov rax, qword [rax]
xor rax, qword [r10]
je 0x1800aea2d
tzcnt rbx, rax
xor edi, edi
test rax, rax
sete al
je 0x1800aea37
shr ebx, 3
mov r10d, dword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
add ebx, 4
cmp ebx, eax
mov rax, qword [rsp + 0xa8]
cmovg rax, rdx
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x40]
cmovg eax, ebx
jmp 0x1800ae3e1
xor ebx, ebx
mov r10d, dword [rsp + 0x50]
jmp 0x1800ae3dc
mov dword [rsp + 0x60], 1
cmp byte [rsp + 0x78], 0
je 0x1800ae7cc
mov rax, qword [rsp + 0xb0]
mov r14, rax
cmp rax, rbp
jae 0x1800b1170
lea rax, [r14 + 8]
mov r10, qword [r14]
xor r10, r13
je 0x1800ae753
tzcnt rax, r10
shr eax, 3
add r14, rax
mov r10d, dword [rsp + 0x50]
sub r14d, dword [rsp + 0xb0]
add r14, 4
mov dword [rsp + 0x60], 2
jmp 0x1800ae4d6
mov eax, ebx
mov qword [rsp + 0x40], rax
cmp r10d, r11d
mov rbp, qword [rsp + 0x58]
mov r8, qword [rsp + 0xc8]
mov r9, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x88]
mov r10d, dword [rsp + 0x50]
jbe 0x1800ae7e9
jmp 0x1800b10c7
mov r8, qword [rsp + 0xc8]
lea eax, [rcx + r11]
movzx eax, ax
mov rsi, qword [rsp + 0x98]
movzx eax, word [rsi + rax*2 + 0x20000]
sub r11d, eax
mov edi, r11d
cmp edi, r10d
jb 0x1800aebfe
mov r11d, edi
cmp r15d, 1
mov r15d, edx
jg 0x1800ae3bd
jmp 0x1800aebfe
mov r10d, dword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
cmp ebx, eax
jle 0x1800ae3e1
mov eax, r11d
add rax, qword [rsp + 0xa0]
mov qword [rsp + 0xa8], rax
mov eax, ebx
jmp 0x1800ae3e1
mov r10d, 0x40
jmp 0x1800ae609
mov bpl, al
mov rax, qword [rsp + 0xb0]
lea rax, [rax + rbp*8]
lea rbx, [rbx + rbp*8]
mov r10, rax
cmp rax, r12
jae 0x1800b12a8
mov rbp, qword [r10]
lea rax, [r10 + 8]
xor rbp, qword [rbx]
lea rbx, [rbx + 8]
je 0x1800ae851
tzcnt rax, rbp
shr eax, 3
add r10d, eax
sub r10d, dword [rsp + 0xb0]
jmp 0x1800ae61b
lea rax, [rbx + r10]
cmp rax, qword [rsp + 0x160]
je 0x1800aeb44
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x80]
mov dword [rsp + 0x1ec], eax
lea rax, [rcx + 4]
mov r11, rbx
mov r12, r11
cmp r11, rax
jb 0x1800ae8ce
lea r11, [r12 - 4]
mov r8, qword [rsp + 0x80]
cmp dword [r12 - 4], r8d
je 0x1800ae8b2
cmp r12, rcx
jbe 0x1800ae8fb
xor eax, eax
mov r8b, byte [r12 + rax - 1]
cmp r8b, byte [rsp + rax + 0x1ef]
jne 0x1800ae8f8
lea r8, [r12 + rax]
dec r8
dec rax
cmp r8, rcx
ja 0x1800ae8d5
jmp 0x1800b1152
add r12, rax
mov r8, qword [rsp + 0xc8]
mov r11, rbx
sub r11, r12
cmp edi, r9d
jb 0x1800aebc7
mov eax, r11d
sub rbx, rax
cmp rbx, qword [rsp + 0xc0]
mov r12d, dword [rsp + 0x88]
jne 0x1800ae9c5
cmp dword [rsp + 0x110], r9d
jae 0x1800ae9c5
mov r8d, r11d
neg r8d
mov ecx, r8d
shl ecx, 3
mov rbx, qword [rsp + 0x80]
mov eax, ebx
rol eax, cl
test r8b, 3
cmove eax, ebx
mov dword [rsp + 0x1ec], eax
mov rcx, qword [rsp + 0x118]
mov rbx, rcx
cmp rcx, 4
jl 0x1800b12ba
lea rcx, [rbx - 4]
mov r8, qword [rsp + 0x68]
cmp dword [r8 + rbx - 4], eax
je 0x1800ae96a
add rbx, qword [rsp + 0x68]
mov rcx, rbx
lea rax, [rsp + 0x1ef]
mov r8b, byte [rcx - 1]
cmp r8b, byte [rax]
jne 0x1800ae9ad
dec rcx
dec rax
cmp rcx, qword [rsp + 0x68]
ja 0x1800ae997
mov rax, qword [rsp + 0x160]
sub eax, ecx
add eax, r11d
mov r11d, eax
mov r8, qword [rsp + 0xc8]
mov ebx, edi
sub ebx, r11d
mov eax, dword [rsp + 0x50]
cmp ebx, eax
cmovbe ebx, eax
mov r11d, edi
sub r11d, ebx
add r11, r10
cmp r10, r14
ja 0x1800aea0e
cmp r11, r14
jb 0x1800aea0e
sub edi, r14d
add edi, r10d
mov eax, edi
not eax
add eax, r9d
cmp eax, 3
cmovb edi, r9d
xor ecx, ecx
mov dword [rsp + 0x60], 2
mov r10d, dword [rsp + 0x50]
jmp 0x1800ae7e9
mov eax, ebx
not eax
add eax, r9d
xor ecx, ecx
mov dword [rsp + 0x60], 2
cmp eax, 3
jae 0x1800aead6
mov edi, r9d
jmp 0x1800aea04
mov ebx, 0x40
jmp 0x1800ae6eb
mov dil, al
mov rax, qword [rsp + 0xb0]
lea rax, [rax + rdi*8]
lea r10, [r10 + rdi*8]
mov rbx, rax
cmp rax, rbp
jae 0x1800b1d8b
mov rdi, qword [rbx]
lea rax, [rbx + 8]
xor rdi, qword [r10]
lea r10, [r10 + 8]
je 0x1800aea4a
tzcnt rax, rdi
shr eax, 3
add ebx, eax
sub ebx, dword [rsp + 0xb0]
jmp 0x1800ae6fc
mov r10d, 0x40
jmp 0x1800ae672
mov dil, al
lea rax, [rdx + rdi*8]
mov r9, qword [rsp + 0xc0]
lea rdi, [r9 + rdi*8]
mov r9, qword [rsp + 0x48]
mov r10, rax
cmp rax, rbp
jae 0x1800b1df9
mov r12, qword [r10]
lea rax, [r10 + 8]
xor r12, qword [rdi]
lea rdi, [rdi + 8]
je 0x1800aea9f
tzcnt rax, r12
shr eax, 3
add r10d, eax
sub r10d, edx
mov r12d, dword [rsp + 0x88]
jmp 0x1800ae689
cmp r11, r14
cmovae r11, r14
movsxd rax, dword [rsp + 0x40]
cmp r11, rax
mov r10d, dword [rsp + 0x50]
jbe 0x1800aeb1b
mov eax, ebx
mov rcx, qword [rsp + 0x130]
sub rcx, rax
cmp rcx, 0xffff
ja 0x1800aebfe
add rax, qword [rsp + 0xa0]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x40], r11
movzx eax, bx
mov rcx, qword [rsp + 0x98]
movzx eax, word [rcx + rax*2 + 0x20000]
xor ecx, ecx
cmp ebx, eax
cmovb eax, ecx
jb 0x1800aebfe
sub ebx, eax
mov edi, ebx
jmp 0x1800ae7e9
lea ecx, [r11*8]
mov rax, qword [rsp + 0x80]
mov r12d, eax
rol r12d, cl
test r11b, 3
cmove r12d, eax
movabs rax, 0x100000001
imul r12, rax
mov rax, qword [rsp + 0xc0]
mov rcx, rax
cmp rax, rbp
jae 0x1800b2002
lea rax, [rcx + 8]
mov r11, qword [rcx]
xor r11, r12
je 0x1800aeb78
tzcnt rax, r11
shr eax, 3
add rcx, rax
mov rax, qword [rsp + 0xc0]
sub ecx, eax
add r10, rcx
jmp 0x1800ae897
cmp byte [r11], al
jne 0x1800ae574
inc r11
shr rax, 8
cmp r11, r10
jb 0x1800aebad
jmp 0x1800b1e91
mov r12d, dword [rsp + 0x88]
jmp 0x1800ae9c5
cmp byte [r14], al
jne 0x1800ae77b
inc r14
shr rax, 8
cmp r14, qword [rsp + 0x70]
jb 0x1800aebd4
jmp 0x1800ae77b
xor eax, eax
mov qword [rsp + 0xa8], rax
mov edx, dword [rsp + 0x3c]
test edx, edx
jle 0x1800aed89
mov eax, r12d
sub eax, r10d
cmp eax, 0xfffe
ja 0x1800aed89
mov r9, qword [rsp + 0x128]
mov rsi, qword [r9 + 0x40000]
mov edi, r10d
mov r10, qword [r9 + 0x40008]
sub rsi, r10
mov eax, dword [r9 + 0x40018]
imul r8d, dword [r8], 0x9e3779b1
add rsi, rax
shr r8d, 0x11
mov r11d, dword [r9 + r8*4]
add edi, r11d
sub edi, esi
mov r8d, r12d
sub r8d, edi
cmp r8d, 0xffff
ja 0x1800aed81
mov r13d, edi
sub r10, rax
mov r8, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x40]
sub edx, 1
jb 0x1800aed8e
mov eax, r11d
mov r9, qword [rsp + 0x80]
cmp dword [r10 + rax], r9d
jne 0x1800aed0d
mov rbx, rsi
sub rbx, rax
add rbx, r8
mov r8, qword [rsp + 0x70]
cmp rbx, r8
cmova rbx, r8
lea r14, [r10 + rax]
add r14, 4
lea r15, [rbx - 7]
mov r9, qword [rsp + 0xb0]
cmp r15, r9
jbe 0x1800b2649
mov rax, qword [r9]
xor rax, qword [r14]
je 0x1800aed41
tzcnt rdi, rax
mov r8, qword [rsp + 0xc8]
xor r12d, r12d
test rax, rax
sete al
je 0x1800aed48
shr edi, 3
mov r12d, dword [rsp + 0x88]
mov rax, rcx
add edi, 4
cmp edi, eax
jle 0x1800aed0d
mov eax, r13d
add rax, qword [rsp + 0xa0]
mov qword [rsp + 0xa8], rax
mov ecx, edi
movzx eax, r11w
mov r9, qword [rsp + 0x128]
movzx eax, word [r9 + rax*2 + 0x20000]
sub r11d, eax
mov r9d, r13d
sub r9d, eax
mov eax, r12d
mov r13d, r9d
sub eax, r9d
cmp eax, 0x10000
jb 0x1800aec77
jmp 0x1800aed8e
mov edi, 0x40
jmp 0x1800aecd0
mov r12b, al
lea rax, [r9 + r12*8]
lea r14, [r14 + r12*8]
mov rdi, rax
cmp rax, r15
jae 0x1800b1233
mov r12, qword [rdi]
lea rax, [rdi + 8]
xor r12, qword [r14]
lea r14, [r14 + 8]
je 0x1800aed53
tzcnt rax, r12
shr eax, 3
add edi, eax
sub edi, r9d
jmp 0x1800aece6
mov r8, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x40]
cmp ecx, 4
jl 0x1800aeeae
mov r13, r8
sub r13, qword [rsp + 0x108]
lea eax, [rcx - 0x13]
mov rbx, r8
sub rbx, qword [rsp + 0xa8]
cmp eax, 0x12
mov eax, ecx
mov rdx, rax
mov ecx, 0x12
cmovb rdx, rcx
cmp byte [rsp + 0xb8], 0
cmove rdx, rax
mov rax, rdx
mov qword [rsp + 0x50], rdx
cmp rdx, qword [rsp + 0xf0]
mov r11d, 0
jbe 0x1800aeecf
mov rax, r13
movabs rcx, 0x8080808080808081
mul rcx
xor r12d, r12d
cmp dword [rsp + 0xd4], 0
mov r9, qword [rsp + 0x138]
je 0x1800aee2e
shr rdx, 7
lea rax, [r9 + rdx]
inc rax
add rax, r13
add rax, 8
cmp rax, qword [rsp + 0x150]
ja 0x1800b14ba
lea rdi, [r9 + 1]
cmp r13, 0xf
jb 0x1800b0ca5
lea rax, [r13 - 0xf]
mov byte [r9], 0xf0
cmp rax, 0xff
jb 0x1800aee97
lea rax, [r13 - 0x10e]
mul rcx
mov r14, rdx
shr r14, 7
lea r8, [r14 + 1]
mov rcx, rdi
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x138]
mov r8, qword [rsp + 0xc8]
mov rax, r14
shl rax, 8
lea rdi, [r9 + r14]
add rdi, 2
sub r14, rax
lea rax, [r14 + r13]
add rax, 0xfffffffffffffef2
mov r10, qword [rsp + 0x108]
mov r11, qword [rsp + 0x50]
mov byte [rdi], al
inc rdi
jmp 0x1800b0cbb
inc r8
mov r10, qword [rsp + 0x138]
mov r11, qword [rsp + 0x108]
cmp r8, rbp
jbe 0x1800ae17f
jmp 0x1800ab115
cmp r13d, 0xe
jle 0x1800aeef1
lea ecx, [r13 - 0xf]
mov eax, 0x80808081
imul rcx, rax
shr rcx, 0x27
lea eax, [r13 + 1]
add ecx, r13d
inc ecx
jmp 0x1800aeef8
lea eax, [r13 + 1]
mov ecx, r13d
mov rdx, qword [rsp + 0x158]
movabs r8, 0x100000000
mov qword [rdx + 4], r8
mov dword [rdx + 0xc], r13d
mov dword [rdx], ecx
mov ecx, eax
cmp eax, 0xf
jl 0x1800aef2f
lea ecx, [rax - 0xf]
mov edx, 0x80808081
imul rcx, rdx
shr rcx, 0x27
add ecx, eax
inc ecx
mov r9, qword [rsp + 0x158]
movabs r10, 0x100000000
mov qword [r9 + 0x14], r10
mov dword [r9 + 0x1c], eax
mov dword [r9 + 0x10], ecx
lea edx, [r13 + 2]
cmp r13d, 0xd
jl 0x1800b0c79
lea r8d, [r13 - 0xd]
mov ecx, 0x80808081
imul r8, rcx
shr r8, 0x27
lea ecx, [r13 + 3]
add r8d, r13d
add r8d, 3
mov qword [r9 + 0x24], r10
mov dword [r9 + 0x2c], edx
mov dword [r9 + 0x20], r8d
lea edx, [r13 - 0xc]
mov r9d, 0x80808081
imul rdx, r9
shr rdx, 0x27
add edx, r13d
add edx, 4
lea r8d, [r13 - 0xf]
imul r8, r9
shr r8, 0x27
add eax, r8d
cmp r13d, 0xf
mov r8, qword [rsp + 0x158]
movabs r9, 0x100000000
mov qword [r8 + 0x34], r9
mov dword [r8 + 0x3c], ecx
mov dword [r8 + 0x30], edx
cmovl eax, r13d
add eax, 3
mov ecx, 3
sub rcx, qword [rsp + 0x50]
mov edx, 4
mov r8d, 0xfffffff1
mov r9, qword [rsp + 0x1c8]
mov r10d, eax
cmp rdx, 0x13
jb 0x1800af00f
mov r10d, r8d
mov edi, 0x80808081
imul r10, rdi
shr r10, 0x27
add r10d, eax
inc r10d
mov dword [r9 - 4], edx
mov dword [r9 - 8], ebx
mov dword [r9], r13d
mov dword [r9 - 0xc], r10d
inc r8d
lea r10, [rcx + rdx]
inc r10
inc rdx
add r9, 0x10
cmp r10, 4
jne 0x1800aeff0
mov rax, qword [rsp + 0x50]
shl rax, 4
mov r13, qword [rsp + 0x158]
movabs r8, 0x100000000
mov qword [r13 + rax + 0x14], r8
mov dword [r13 + rax + 0x1c], 1
mov ecx, dword [r13 + rax]
lea edx, [rcx + 1]
mov dword [r13 + rax + 0x10], edx
mov qword [r13 + rax + 0x24], r8
mov dword [r13 + rax + 0x2c], 2
lea edx, [rcx + 2]
mov dword [r13 + rax + 0x20], edx
mov qword [r13 + rax + 0x34], r8
mov dword [r13 + rax + 0x3c], 3
add ecx, 3
mov dword [r13 + rax + 0x30], ecx
mov rdx, qword [rsp + 0xc8]
mov r9, qword [rsp + 0x48]
lea eax, [r9 + rdx]
sub eax, dword [rsp + 0xc0]
inc eax
mov qword [rsp + 0x130], rax
mov ecx, 1
mov eax, 5
mov qword [rsp + 0x188], rax
mov r8, qword [rsp + 0x198]
lea rbx, [rdx + rcx]
cmp rbx, rbp
ja 0x1800b0dbe
mov r15, rcx
mov rax, qword [rsp + 0x130]
mov eax, eax
mov qword [rsp + 0x130], rax
lea rax, [rcx + 1]
mov qword [rsp + 0xf8], rax
mov rcx, rax
shl rcx, 4
mov qword [rsp + 0xe0], rcx
mov rax, r15
shl rax, 4
mov ecx, dword [r13 + rcx]
mov qword [rsp + 0x120], rax
mov eax, dword [r13 + rax]
cmp dword [rsp + 0x1a8], 0xc
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], r15
jne 0x1800afb0e
cmp ecx, eax
jg 0x1800af161
add eax, 3
mov rcx, qword [rsp + 0x120]
cmp dword [rcx + r13 + 0x40], eax
jl 0x1800b0c15
mov qword [rsp + 0x178], r8
mov r14, rbx
sub r14, qword [rsp + 0xc0]
lea ecx, [r9 + r14]
cmp dword [rsp + 0x170], ecx
lea edi, [r9 + r14 - 0xffff]
cmova edi, dword [rsp + 0x110]
mov eax, dword [rbx]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x40020]
mov dword [rsp + 0x60], ecx
cmp eax, ecx
mov r10, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x130]
jae 0x1800af208
imul ecx, dword [r10 + rax], 0x9e3779b1
shr ecx, 0x11
mov edx, eax
mov r8, qword [rsp + 0x98]
sub edx, dword [r8 + rcx*4]
mov r8d, 0xffff
cmp edx, r8d
jb 0x1800af1e8
mov edx, 0xffff
movzx r8d, ax
mov rsi, qword [rsp + 0x98]
mov word [rsi + r8*2 + 0x20000], dx
mov dword [rsi + rcx*4], eax
inc rax
cmp r11, rax
jne 0x1800af1bf
mov eax, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x98]
mov dword [rcx + 0x40020], eax
imul eax, dword [rbx], 0x9e3779b1
shr eax, 0x11
mov r11d, dword [rcx + rax*4]
lea r10, [rbx + 4]
mov rdx, qword [rsp + 0x80]
movzx eax, dx
mov ecx, edx
shr ecx, 0x10
xor ecx, eax
movzx eax, dl
shr edx, 0x18
xor edx, eax
or edx, ecx
sete byte [rsp + 0x180]
mov r12d, 3
cmp r11d, edi
mov qword [rsp + 0x90], r10
jb 0x1800b04e6
mov qword [rsp + 0x190], r14
mov eax, 0
mov qword [rsp + 0xe8], rax
mov eax, dword [rsp + 0x3c]
mov r13d, eax
test eax, eax
jle 0x1800b04f5
add qword [rsp + 0x190], r9
mov r15, qword [rsp + 0x80]
movabs rax, 0x100000001
imul r15, rax
xor ecx, ecx
mov r12d, 3
mov eax, dword [rsp + 0x3c]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x88], 0
xor edx, edx
xor eax, eax
mov qword [rsp + 0xe8], rax
mov dword [rsp + 0x78], edi
cmp byte [rsp + 0xb8], 0
je 0x1800af4ce
mov eax, dword [rsp + 0x60]
sub eax, r11d
cmp eax, 8
jae 0x1800af4ce
xor r14d, r14d
mov rax, qword [rsp + 0x40]
lea r13d, [rax - 1]
cmp r14d, r12d
jne 0x1800af3bf
lea eax, [r12 + r11]
cmp eax, dword [rsp + 0x60]
ja 0x1800af3bf
cmp r14d, 4
jl 0x1800af3bf
mov rsi, qword [rsp + 0x98]
mov r10, r12
lea r8d, [r14 - 3]
xor r12d, r12d
mov ebp, 0x10
mov eax, 1
mov ebx, 0x10
mov edi, eax
lea eax, [r12 + r11]
movzx eax, ax
movzx eax, word [rsi + rax*2 + 0x20000]
lea r9d, [rbp + 1]
sar ebp, 4
cmp edi, eax
cmovb r9d, ebx
cmova eax, edi
cmovb ecx, r12d
mov edi, ebp
add edi, r12d
mov r12d, edi
mov ebp, r9d
cmp edi, r8d
jl 0x1800af340
cmp eax, r11d
mov r9d, eax
mov r8d, 0
cmova r9d, r8d
cmp eax, 2
cmovb r9d, r8d
mov r8d, r11d
sub r8d, r9d
cmp eax, 1
ja 0x1800af6e1
mov r11d, r8d
mov rbp, qword [rsp + 0x58]
mov r9, qword [rsp + 0x48]
mov rbx, qword [rsp + 0xa8]
mov r12, r10
mov edi, dword [rsp + 0x78]
mov r10, qword [rsp + 0x90]
movzx eax, r11w
mov r8, qword [rsp + 0x98]
cmp word [r8 + rax*2 + 0x20000], 1
jne 0x1800af717
test ecx, ecx
jne 0x1800af717
cmp dword [rsp + 0x88], 0
je 0x1800af68f
mov eax, r9d
sub eax, r11d
cmp eax, 3
jb 0x1800af717
cmp dword [rsp + 0x88], 2
jne 0x1800af717
lea r8d, [r11 - 1]
cmp r8d, edi
jb 0x1800af717
cmp r8d, r9d
mov r14, qword [rsp + 0x1b8]
cmovae r14, qword [rsp + 0xa0]
mov eax, r8d
mov dword [rsp + 0x88], 2
mov r10, r9
mov r9, qword [rsp + 0x80]
cmp dword [r14 + rax], r9d
jne 0x1800af70c
mov qword [rsp + 0xd8], r12
add r14, rax
cmp r8d, r10d
mov rax, qword [rsp + 0x160]
cmovae rax, qword [rsp + 0x70]
lea rcx, [r14 + 4]
lea r11, [rax - 7]
mov rdi, rcx
mov r9, r10
mov r10, qword [rsp + 0x90]
mov r12, rdi
cmp rdi, r11
jae 0x1800b10ed
lea rdi, [r12 + 8]
mov rbp, qword [r12]
xor rbp, r15
je 0x1800af484
tzcnt rax, rbp
shr eax, 3
add r12, rax
mov rbp, qword [rsp + 0x58]
sub r12, rcx
mov r11d, r12d
add r11, 4
cmp r8d, r9d
jb 0x1800af7a0
mov rax, qword [rsp + 0xc0]
jmp 0x1800af7b7
mov r13d, r9d
sub r13d, r11d
jbe 0x1800af5ee
cmp r11d, dword [rsp + 0x168]
ja 0x1800af2f2
mov r14d, r11d
sub r14d, dword [rsp + 0x110]
add r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x80]
cmp dword [r14], eax
jne 0x1800af2f2
add r13, rbx
mov rax, qword [rsp + 0x70]
cmp r13, rax
mov r8, r13
cmova r8, rax
add r14, 4
lea rax, [r8 - 7]
cmp rax, r10
mov qword [rsp + 0xd8], r12
jbe 0x1800b2573
mov rbp, qword [r10]
xor rbp, qword [r14]
je 0x1800af759
tzcnt r12, rbp
xor edi, edi
test rbp, rbp
sete bpl
je 0x1800af764
shr r12d, 3
mov rbp, qword [rsp + 0x58]
mov edi, dword [rsp + 0x78]
lea r14d, [r12 + 4]
cmp r13, qword [rsp + 0x70]
jae 0x1800af5c2
movsxd rax, r12d
add rax, rbx
add rax, 4
cmp rax, r8
jne 0x1800af5c2
mov rax, r8
mov r9, qword [rsp + 0xc0]
mov r13, r9
cmp rbp, r8
jbe 0x1800af9d0
mov rax, qword [r8]
xor rax, qword [r9]
je 0x1800af9b2
tzcnt r12, rax
mov r9, qword [rsp + 0x48]
xor edi, edi
test rax, rax
sete al
je 0x1800af9bd
shr r12d, 3
mov edi, dword [rsp + 0x78]
add r14d, r12d
mov r12, qword [rsp + 0xd8]
cmp r14d, r12d
jle 0x1800af2f5
mov eax, r11d
add rax, qword [rsp + 0xa0]
mov qword [rsp + 0xe8], rax
mov r12d, r14d
jmp 0x1800af2f5
mov r8d, r11d
add r8, qword [rsp + 0xa0]
movsxd rax, r12d
movzx edi, word [rbx + rax - 1]
cmp di, word [rax + r8 - 1]
jne 0x1800af683
mov rax, qword [rsp + 0x80]
cmp dword [r8], eax
jne 0x1800af683
mov qword [rsp + 0xd8], r12
lea r12, [r8 + 4]
cmp rbp, r10
mov edi, dword [rsp + 0x78]
jbe 0x1800b2676
mov rax, qword [r10]
xor rax, qword [r12]
je 0x1800af95f
tzcnt r14, rax
xor edi, edi
test rax, rax
sete al
je 0x1800af96a
shr r14d, 3
mov r12, qword [rsp + 0xd8]
mov edi, dword [rsp + 0x78]
add r14d, 4
cmp r14d, r12d
mov rax, qword [rsp + 0xe8]
cmovg rax, r8
mov qword [rsp + 0xe8], rax
cmovg r12d, r14d
jmp 0x1800af2f5
xor r14d, r14d
mov edi, dword [rsp + 0x78]
jmp 0x1800af2f5
mov dword [rsp + 0x88], 1
cmp byte [rsp + 0x180], 0
je 0x1800af717
mov rax, r10
mov rdx, rax
cmp rax, rbp
jae 0x1800b1134
lea rax, [rdx + 8]
mov r8, qword [rdx]
xor r8, r15
je 0x1800af6a7
tzcnt rax, r8
shr eax, 3
add rdx, rax
sub edx, r10d
add rdx, 4
mov dword [rsp + 0x88], 2
jmp 0x1800af3f1
mov r12d, r14d
cmp eax, r11d
mov rbp, qword [rsp + 0x58]
mov r9, qword [rsp + 0x48]
mov rbx, qword [rsp + 0xa8]
mov edi, dword [rsp + 0x78]
mov r10, qword [rsp + 0x90]
jbe 0x1800af735
jmp 0x1800b0c4e
mov r9, r10
mov r10, qword [rsp + 0x90]
lea eax, [rcx + r11]
movzx eax, ax
mov r8, qword [rsp + 0x98]
movzx eax, word [r8 + rax*2 + 0x20000]
sub r11d, eax
mov r8d, r11d
cmp r8d, edi
jb 0x1800b04f5
mov r11d, r8d
cmp dword [rsp + 0x40], 1
mov eax, r13d
mov qword [rsp + 0x40], rax
jg 0x1800af2d4
jmp 0x1800b04f5
mov r12d, 0x40
jmp 0x1800af545
mov dil, bpl
lea rbp, [r10 + rdi*8]
lea r14, [r14 + rdi*8]
mov r12, rbp
cmp rbp, rax
jae 0x1800b11ea
mov rdi, qword [r12]
lea rbp, [r12 + 8]
xor rdi, qword [r14]
lea r14, [r14 + 8]
je 0x1800af76f
tzcnt rax, rdi
shr eax, 3
add r12d, eax
sub r12d, r10d
jmp 0x1800af558
lea rax, [r14 + r11]
cmp rax, qword [rsp + 0x160]
je 0x1800afa74
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
mov dword [rsp + 0x1ec], ecx
lea r12, [rax + 4]
mov rdi, r14
mov rcx, rdi
cmp rdi, r12
jb 0x1800af7e7
lea rdi, [rcx - 4]
mov r9, qword [rsp + 0x80]
cmp dword [rcx - 4], r9d
je 0x1800af7cd
cmp rcx, rax
jbe 0x1800b2665
xor r12d, r12d
mov edi, dword [rsp + 0x78]
mov r9b, byte [rcx + r12 - 1]
cmp r9b, byte [rsp + r12 + 0x1ef]
jne 0x1800af81a
lea r9, [rcx + r12]
dec r9
dec r12
cmp r9, rax
ja 0x1800af7f7
jmp 0x1800b111e
add rcx, r12
mov r9, qword [rsp + 0x48]
mov r12, r14
sub r12, rcx
cmp r8d, r9d
jb 0x1800af8e0
mov eax, r12d
sub r14, rax
cmp r14, qword [rsp + 0xc0]
jne 0x1800af8e0
cmp dword [rsp + 0x110], r9d
jae 0x1800af8e0
mov r9d, r12d
neg r9d
mov ecx, r9d
shl ecx, 3
mov rdi, qword [rsp + 0x80]
mov eax, edi
rol eax, cl
test r9b, 3
cmove eax, edi
mov dword [rsp + 0x1ec], eax
mov rdi, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x68]
mov rcx, rdi
cmp rdi, 4
jl 0x1800b11fc
lea rdi, [rcx - 4]
cmp dword [rbx + rcx - 4], eax
je 0x1800af886
add rcx, rbx
mov rax, rcx
mov edi, dword [rsp + 0x78]
lea rcx, [rsp + 0x1ef]
mov r9b, byte [rax - 1]
cmp r9b, byte [rcx]
jne 0x1800af8c3
dec rax
dec rcx
cmp rax, rbx
ja 0x1800af8af
mov rcx, qword [rsp + 0x160]
sub ecx, eax
add ecx, r12d
mov r12d, ecx
mov r9, qword [rsp + 0x48]
mov rbx, qword [rsp + 0xa8]
mov r14d, r8d
sub r14d, r12d
cmp r14d, edi
cmovbe r14d, edi
mov eax, r8d
sub eax, r14d
add rax, r11
cmp r11, rdx
ja 0x1800af92f
cmp rax, rdx
jb 0x1800af92f
sub r8d, edx
add r8d, r11d
mov eax, r8d
not eax
add eax, r9d
cmp eax, 3
cmovb r8d, r9d
xor ecx, ecx
mov dword [rsp + 0x88], 2
mov r12, qword [rsp + 0xd8]
jmp 0x1800af735
mov r8d, r14d
not r8d
add r8d, r9d
xor ecx, ecx
mov dword [rsp + 0x88], 2
cmp r8d, 3
mov r12, qword [rsp + 0xd8]
jae 0x1800afa07
mov r8d, r9d
jmp 0x1800af735
mov r14d, 0x40
jmp 0x1800af641
mov dil, al
lea rax, [r10 + rdi*8]
lea r12, [r12 + rdi*8]
mov edi, dword [rsp + 0x78]
mov r14, rax
cmp rax, rbp
jae 0x1800b163e
mov r13, qword [r14]
lea rax, [r14 + 8]
xor r13, qword [r12]
lea r12, [r12 + 8]
je 0x1800af979
tzcnt rax, r13
shr eax, 3
add r14d, eax
sub r14d, r10d
mov r12, qword [rsp + 0xd8]
jmp 0x1800af65f
mov r12d, 0x40
jmp 0x1800af5a4
mov dil, al
lea rax, [r8 + rdi*8]
mov r9, qword [rsp + 0xc0]
lea r13, [r9 + rdi*8]
mov r9, qword [rsp + 0x48]
mov r12, rax
cmp rax, rbp
jae 0x1800b16af
mov rdi, qword [r12]
lea rax, [r12 + 8]
xor rdi, qword [r13]
lea r13, [r13 + 8]
je 0x1800af9d5
tzcnt rax, rdi
shr eax, 3
add r12d, eax
sub r12d, r8d
jmp 0x1800af5bb
cmp rax, rdx
cmovae rax, rdx
movsxd rcx, r12d
cmp rax, rcx
mov r11, qword [rsp + 0xa0]
jbe 0x1800afa47
mov ecx, r14d
mov r8, qword [rsp + 0x190]
sub r8, rcx
cmp r8, 0xffff
ja 0x1800b04f5
add rcx, r11
mov qword [rsp + 0xe8], rcx
mov r12d, eax
movzx eax, r14w
mov rcx, qword [rsp + 0x98]
movzx eax, word [rcx + rax*2 + 0x20000]
xor ecx, ecx
cmp r14d, eax
cmovb eax, ecx
jb 0x1800b04f5
sub r14d, eax
mov r8d, r14d
jmp 0x1800af735
lea ecx, [r12*8]
mov rdi, qword [rsp + 0x80]
mov eax, edi
rol eax, cl
test r12b, 3
cmove eax, edi
movabs rcx, 0x100000001
imul rax, rcx
mov rdi, qword [rsp + 0xc0]
mov rcx, rdi
cmp rdi, rbp
jae 0x1800b0c65
lea rdi, [rcx + 8]
mov r12, qword [rcx]
xor r12, rax
je 0x1800afaa5
tzcnt rax, r12
shr eax, 3
add rcx, rax
sub ecx, dword [rsp + 0xc0]
add r11, rcx
jmp 0x1800af7b2
cmp byte [r12], r11b
jne 0x1800af4ae
inc r12
shr r11, 8
cmp r12, rax
jb 0x1800afad7
jmp 0x1800b1861
cmp rdx, qword [rsp + 0x70]
jae 0x1800af6ca
cmp byte [rdx], al
jne 0x1800af6ca
inc rdx
shr rax, 8
jmp 0x1800afaf2
cmp ecx, eax
jle 0x1800b0c15
mov qword [rsp + 0x178], r8
mov r14, rbx
sub r14, qword [rsp + 0xc0]
lea ecx, [r9 + r14]
cmp dword [rsp + 0x170], ecx
lea eax, [r9 + r14 - 0xffff]
cmova eax, dword [rsp + 0x110]
mov dword [rsp + 0x78], eax
mov eax, dword [rbx]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x40020]
mov dword [rsp + 0x60], ecx
cmp eax, ecx
mov r10, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x130]
jae 0x1800afbc6
imul ecx, dword [r10 + rax], 0x9e3779b1
shr ecx, 0x11
mov edx, eax
mov r8, qword [rsp + 0x98]
sub edx, dword [r8 + rcx*4]
mov r8d, 0xffff
cmp edx, r8d
jb 0x1800afba6
mov edx, 0xffff
movzx r8d, ax
mov rsi, qword [rsp + 0x98]
mov word [rsi + r8*2 + 0x20000], dx
mov dword [rsi + rcx*4], eax
inc rax
cmp rdi, rax
jne 0x1800afb7d
mov r8d, r11d
sub r8d, r15d
mov eax, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x98]
mov dword [rcx + 0x40020], eax
imul eax, dword [rbx], 0x9e3779b1
shr eax, 0x11
mov r11d, dword [rcx + rax*4]
lea r10, [rbx + 4]
mov rdx, qword [rsp + 0x80]
movzx eax, dx
mov ecx, edx
shr ecx, 0x10
xor ecx, eax
movzx eax, dl
shr edx, 0x18
xor edx, eax
or edx, ecx
sete byte [rsp + 0x180]
mov edi, dword [rsp + 0x78]
cmp r11d, edi
mov qword [rsp + 0x90], r10
mov dword [rsp + 0x190], r8d
jb 0x1800b0a04
mov qword [rsp + 0x140], r14
mov eax, 0
mov qword [rsp + 0xe8], rax
mov eax, dword [rsp + 0x3c]
mov r13d, eax
mov r12d, r8d
test eax, eax
jle 0x1800b0a16
add qword [rsp + 0x140], r9
mov rbx, qword [rsp + 0x80]
movabs rax, 0x100000001
imul rbx, rax
xor ecx, ecx
mov eax, dword [rsp + 0x190]
mov r12d, eax
mov eax, dword [rsp + 0x3c]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x88], 0
xor edx, edx
xor eax, eax
mov qword [rsp + 0xe8], rax
cmp byte [rsp + 0xb8], 0
je 0x1800afe8e
mov eax, dword [rsp + 0x60]
sub eax, r11d
cmp eax, 8
jae 0x1800afe8e
xor r14d, r14d
mov rax, qword [rsp + 0x40]
lea r13d, [rax - 1]
cmp r14d, r12d
jne 0x1800afd8d
lea eax, [r12 + r11]
cmp eax, dword [rsp + 0x60]
ja 0x1800afd8d
cmp r14d, 4
jl 0x1800afd8d
mov rsi, qword [rsp + 0x98]
mov r10, r12
lea r8d, [r14 - 3]
xor r12d, r12d
mov ebp, 0x10
mov eax, 1
mov r15d, 0x10
mov edi, eax
lea eax, [r12 + r11]
movzx eax, ax
movzx eax, word [rsi + rax*2 + 0x20000]
lea r9d, [rbp + 1]
sar ebp, 4
cmp edi, eax
cmovb r9d, r15d
cmova eax, edi
cmovb ecx, r12d
mov edi, ebp
add edi, r12d
mov r12d, edi
mov ebp, r9d
cmp edi, r8d
jl 0x1800afd0e
cmp eax, r11d
mov r9d, eax
mov r8d, 0
cmova r9d, r8d
cmp eax, 2
cmovb r9d, r8d
mov r8d, r11d
sub r8d, r9d
cmp eax, 1
ja 0x1800b008d
mov r11d, r8d
mov rbp, qword [rsp + 0x58]
mov r9, qword [rsp + 0x48]
mov r15, qword [rsp + 0xb0]
mov r12, r10
mov edi, dword [rsp + 0x78]
mov r10, qword [rsp + 0x90]
movzx eax, r11w
mov r8, qword [rsp + 0x98]
cmp word [r8 + rax*2 + 0x20000], 1
jne 0x1800b00c0
test ecx, ecx
jne 0x1800b00c0
cmp dword [rsp + 0x88], 0
je 0x1800b003b
mov eax, r9d
sub eax, r11d
cmp eax, 3
jb 0x1800b00c0
cmp dword [rsp + 0x88], 2
jne 0x1800b00c0
lea r8d, [r11 - 1]
cmp r8d, edi
jb 0x1800b00c0
cmp r8d, r9d
mov r14, qword [rsp + 0x1b8]
cmovae r14, qword [rsp + 0xa0]
mov eax, r8d
mov dword [rsp + 0x88], 2
mov r10, qword [rsp + 0x80]
cmp dword [r14 + rax], r10d
jne 0x1800b00b8
mov qword [rsp + 0xd8], r12
add r14, rax
cmp r8d, r9d
mov rax, qword [rsp + 0x160]
cmovae rax, qword [rsp + 0x70]
lea rcx, [r14 + 4]
lea r11, [rax - 7]
mov rdi, rcx
mov r12, rdi
cmp rdi, r11
jae 0x1800b115a
lea rdi, [r12 + 8]
mov rbp, qword [r12]
xor rbp, rbx
je 0x1800afe44
tzcnt rax, rbp
shr eax, 3
add r12, rax
mov rbp, qword [rsp + 0x58]
sub r12, rcx
mov r11d, r12d
add r11, 4
cmp r8d, r9d
jb 0x1800b0179
mov rax, qword [rsp + 0xc0]
jmp 0x1800b0190
mov r13d, r9d
sub r13d, r11d
jbe 0x1800affa0
cmp r11d, dword [rsp + 0x168]
ja 0x1800afcbf
mov r14d, r11d
sub r14d, dword [rsp + 0x110]
add r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x80]
cmp dword [r14], eax
jne 0x1800afcbf
add r13, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x70]
cmp r13, rax
mov r8, r13
cmova r8, rax
add r14, 4
lea rax, [r8 - 7]
cmp rax, r10
mov qword [rsp + 0xd8], r12
jbe 0x1800b266e
mov rbp, qword [r10]
xor rbp, qword [r14]
je 0x1800b0132
tzcnt r12, rbp
xor edi, edi
test rbp, rbp
sete bpl
je 0x1800b013d
shr r12d, 3
mov rbp, qword [rsp + 0x58]
lea r14d, [r12 + 4]
cmp r13, qword [rsp + 0x70]
jae 0x1800b0102
movsxd rax, r12d
mov rdi, qword [rsp + 0xa8]
add rax, rdi
add rax, 4
cmp rax, r8
jne 0x1800b0102
mov rax, r8
mov r9, qword [rsp + 0xc0]
mov r13, r9
cmp rbp, r8
jbe 0x1800b03a8
mov rax, qword [r8]
xor rax, qword [r9]
je 0x1800b038a
tzcnt r12, rax
mov r9, qword [rsp + 0x48]
xor edi, edi
test rax, rax
sete al
je 0x1800b0395
shr r12d, 3
mov edi, dword [rsp + 0x78]
add r14d, r12d
mov r12, qword [rsp + 0xd8]
jmp 0x1800b010e
mov r8d, r11d
add r8, qword [rsp + 0xa0]
movsxd rax, r12d
mov rdi, qword [rsp + 0xa8]
movzx edi, word [rdi + rax - 1]
cmp di, word [rax + r8 - 1]
jne 0x1800b002f
mov rax, qword [rsp + 0x80]
cmp dword [r8], eax
jne 0x1800b002f
mov r13, r12
lea r12, [r8 + 4]
cmp rbp, r10
jbe 0x1800b26ac
mov rax, qword [r10]
xor rax, qword [r12]
je 0x1800b0343
tzcnt r14, rax
xor edi, edi
test rax, rax
sete al
je 0x1800b034e
shr r14d, 3
mov r12, r13
mov edi, dword [rsp + 0x78]
add r14d, 4
cmp r14d, r12d
mov rax, qword [rsp + 0xe8]
cmovg rax, r8
mov qword [rsp + 0xe8], rax
cmovg r12d, r14d
jmp 0x1800afcc2
xor r14d, r14d
mov edi, dword [rsp + 0x78]
jmp 0x1800afcc2
mov dword [rsp + 0x88], 1
cmp byte [rsp + 0x180], 0
je 0x1800b00c0
mov rax, r10
mov rdx, rax
cmp rax, rbp
jae 0x1800b11c0
lea rax, [rdx + 8]
mov r8, qword [rdx]
xor r8, rbx
je 0x1800b0053
tzcnt rax, r8
shr eax, 3
add rdx, rax
sub edx, r10d
add rdx, 4
mov dword [rsp + 0x88], 2
jmp 0x1800afdbf
mov r12d, r14d
cmp eax, r11d
mov rbp, qword [rsp + 0x58]
mov r9, qword [rsp + 0x48]
mov r15, qword [rsp + 0xb0]
mov edi, dword [rsp + 0x78]
mov r10, qword [rsp + 0x90]
jbe 0x1800b00de
jmp 0x1800b0c56
mov r10, qword [rsp + 0x90]
lea eax, [rcx + r11]
movzx eax, ax
mov r8, qword [rsp + 0x98]
movzx eax, word [r8 + rax*2 + 0x20000]
sub r11d, eax
mov r8d, r11d
cmp r8d, edi
jb 0x1800b0a16
mov r11d, r8d
cmp dword [rsp + 0x40], 1
mov eax, r13d
mov qword [rsp + 0x40], rax
jg 0x1800afca1
jmp 0x1800b0a16
mov r12, qword [rsp + 0xd8]
mov edi, dword [rsp + 0x78]
cmp r14d, r12d
jle 0x1800afcc2
mov eax, r11d
add rax, qword [rsp + 0xa0]
mov qword [rsp + 0xe8], rax
mov r12d, r14d
jmp 0x1800afcc2
mov r12d, 0x40
jmp 0x1800aff0a
mov dil, bpl
lea rbp, [r10 + rdi*8]
lea r14, [r14 + rdi*8]
mov r12, rbp
cmp rbp, rax
jae 0x1800b12ef
mov rdi, qword [r12]
lea rbp, [r12 + 8]
xor rdi, qword [r14]
lea r14, [r14 + 8]
je 0x1800b0148
tzcnt rax, rdi
shr eax, 3
add r12d, eax
sub r12d, r10d
jmp 0x1800aff1d
lea rax, [r14 + r11]
cmp rax, qword [rsp + 0x160]
je 0x1800b044c
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
mov dword [rsp + 0x1ec], ecx
lea r12, [rax + 4]
mov rdi, r14
mov rcx, rdi
cmp rdi, r12
jb 0x1800b01c0
lea rdi, [rcx - 4]
mov r10, qword [rsp + 0x80]
cmp dword [rcx - 4], r10d
je 0x1800b01a6
cmp rcx, rax
jbe 0x1800b2691
xor r12d, r12d
mov edi, dword [rsp + 0x78]
mov r10, qword [rsp + 0x90]
mov r9b, byte [rcx + r12 - 1]
cmp r9b, byte [rsp + r12 + 0x1ef]
jne 0x1800b01fb
lea r9, [rcx + r12]
dec r9
dec r12
cmp r9, rax
ja 0x1800b01d8
jmp 0x1800b1168
add rcx, r12
mov r9, qword [rsp + 0x48]
mov r12, r14
sub r12, rcx
cmp r8d, r9d
jb 0x1800b02c4
mov eax, r12d
sub r14, rax
cmp r14, qword [rsp + 0xc0]
jne 0x1800b02c4
cmp dword [rsp + 0x110], r9d
jae 0x1800b02c4
mov r9d, r12d
neg r9d
mov ecx, r9d
shl ecx, 3
mov r10, qword [rsp + 0x80]
mov eax, r10d
rol eax, cl
test r9b, 3
cmove eax, r10d
mov dword [rsp + 0x1ec], eax
mov rdi, qword [rsp + 0x118]
mov r14, qword [rsp + 0x68]
mov rcx, rdi
cmp rdi, 4
jl 0x1800b14e8
lea rdi, [rcx - 4]
cmp dword [r14 + rcx - 4], eax
je 0x1800b0269
add rcx, r14
mov rax, rcx
mov edi, dword [rsp + 0x78]
mov r10, qword [rsp + 0x90]
lea rcx, [rsp + 0x1ef]
mov r9b, byte [rax - 1]
cmp r9b, byte [rcx]
jne 0x1800b02af
dec rax
dec rcx
cmp rax, r14
ja 0x1800b029b
mov rcx, qword [rsp + 0x160]
sub ecx, eax
add ecx, r12d
mov r12d, ecx
mov r9, qword [rsp + 0x48]
mov r14d, r8d
sub r14d, r12d
cmp r14d, edi
cmovbe r14d, edi
mov eax, r8d
sub eax, r14d
add rax, r11
cmp r11, rdx
ja 0x1800b0313
cmp rax, rdx
jb 0x1800b0313
sub r8d, edx
add r8d, r11d
mov eax, r8d
not eax
add eax, r9d
cmp eax, 3
cmovb r8d, r9d
xor ecx, ecx
mov dword [rsp + 0x88], 2
mov r12, qword [rsp + 0xd8]
jmp 0x1800b00de
mov r8d, r14d
not r8d
add r8d, r9d
xor ecx, ecx
mov dword [rsp + 0x88], 2
cmp r8d, 3
mov r12, qword [rsp + 0xd8]
jae 0x1800b03df
mov r8d, r9d
jmp 0x1800b00de
mov r14d, 0x40
jmp 0x1800afff2
mov dil, al
lea rax, [r10 + rdi*8]
lea r12, [r12 + rdi*8]
mov r14, rax
cmp rax, rbp
jae 0x1800b1e99
mov rdi, qword [r14]
lea rax, [r14 + 8]
xor rdi, qword [r12]
lea r12, [r12 + 8]
je 0x1800b0359
tzcnt rax, rdi
shr eax, 3
add r14d, eax
sub r14d, r10d
jmp 0x1800b0004
mov r12d, 0x40
jmp 0x1800aff75
mov dil, al
lea rax, [r8 + rdi*8]
mov r9, qword [rsp + 0xc0]
lea r13, [r9 + rdi*8]
mov r9, qword [rsp + 0x48]
mov r12, rax
cmp rax, rbp
jae 0x1800b1f05
mov rdi, qword [r12]
lea rax, [r12 + 8]
xor rdi, qword [r13]
lea r13, [r13 + 8]
je 0x1800b03ad
tzcnt rax, rdi
shr eax, 3
add r12d, eax
sub r12d, r8d
jmp 0x1800aff8c
cmp rax, rdx
cmovae rax, rdx
movsxd rcx, r12d
cmp rax, rcx
mov r11, qword [rsp + 0xa0]
jbe 0x1800b041f
mov ecx, r14d
mov r8, qword [rsp + 0x140]
sub r8, rcx
cmp r8, 0xffff
ja 0x1800b0a16
add rcx, r11
mov qword [rsp + 0xe8], rcx
mov r12d, eax
movzx eax, r14w
mov rcx, qword [rsp + 0x98]
movzx eax, word [rcx + rax*2 + 0x20000]
xor ecx, ecx
cmp r14d, eax
cmovb eax, ecx
jb 0x1800b0a16
sub r14d, eax
mov r8d, r14d
jmp 0x1800b00de
lea ecx, [r12*8]
mov rdi, qword [rsp + 0x80]
mov eax, edi
rol eax, cl
test r12b, 3
cmove eax, edi
movabs rcx, 0x100000001
imul rax, rcx
mov rdi, qword [rsp + 0xc0]
mov rcx, rdi
cmp rdi, rbp
jae 0x1800b110a
lea rdi, [rcx + 8]
mov r12, qword [rcx]
xor r12, rax
je 0x1800b047d
tzcnt rax, r12
shr eax, 3
add rcx, rax
sub ecx, dword [rsp + 0xc0]
add r11, rcx
jmp 0x1800b018b
cmp byte [r12], r11b
jne 0x1800afe6e
inc r12
shr r11, 8
cmp r12, rax
jb 0x1800b04af
jmp 0x1800b1ffa
cmp rdx, qword [rsp + 0x70]
jae 0x1800b0076
cmp byte [rdx], al
jne 0x1800b0076
inc rdx
shr rax, 8
jmp 0x1800b04ca
xor eax, eax
mov qword [rsp + 0xe8], rax
mov r13d, dword [rsp + 0x3c]
test r13d, r13d
jle 0x1800b06b4
mov edx, dword [rsp + 0x60]
mov eax, edx
sub eax, edi
cmp eax, 0xfffe
mov r11d, 0
mov r15, qword [rsp + 0xb0]
mov r10, qword [rsp + 0xe0]
ja 0x1800b06ce
mov ecx, edi
mov edi, edx
mov r9, qword [rsp + 0x128]
mov rsi, qword [r9 + 0x40000]
mov rdx, qword [r9 + 0x40008]
sub rsi, rdx
mov eax, dword [r9 + 0x40018]
imul r8d, dword [rbx], 0x9e3779b1
add rsi, rax
shr r8d, 0x11
mov r8d, dword [r9 + r8*4]
add ecx, r8d
sub ecx, esi
mov r9d, edi
sub r9d, ecx
cmp r9d, 0xffff
ja 0x1800b06c9
mov edi, ecx
sub rdx, rax
mov r9, qword [rsp + 0x48]
sub r13d, 1
jb 0x1800b06ce
mov eax, r8d
mov rcx, qword [rsp + 0x80]
cmp dword [rdx + rax], ecx
jne 0x1800b0626
mov r11, rsi
sub r11, rax
add r11, rbx
mov r9, qword [rsp + 0x70]
cmp r11, r9
cmova r11, r9
lea r14, [rdx + rax]
add r14, 4
lea rax, [r11 - 7]
mov r15, qword [rsp + 0x90]
cmp rax, r15
jbe 0x1800b2460
mov r15, qword [r15]
xor r15, qword [r14]
je 0x1800b065b
mov ecx, edi
tzcnt r10, r15
mov r9, qword [rsp + 0x48]
xor edi, edi
test r15, r15
sete bpl
je 0x1800b0668
shr r10d, 3
mov rbp, qword [rsp + 0x58]
xor r11d, r11d
mov r15, qword [rsp + 0xb0]
mov edi, ecx
add r10d, 4
cmp r10d, r12d
jle 0x1800b0626
mov eax, edi
add rax, qword [rsp + 0xa0]
mov qword [rsp + 0xe8], rax
mov r12d, r10d
movzx eax, r8w
mov r10, qword [rsp + 0x128]
movzx eax, word [r10 + rax*2 + 0x20000]
sub r8d, eax
sub edi, eax
mov eax, dword [rsp + 0x60]
sub eax, edi
cmp eax, 0x10000
mov r10, qword [rsp + 0xe0]
jb 0x1800b057f
jmp 0x1800b06ce
mov ecx, edi
mov r10d, 0x40
jmp 0x1800b05e2
mov dil, bpl
mov r10, qword [rsp + 0x90]
lea r15, [r10 + rdi*8]
lea r14, [r14 + rdi*8]
mov rbp, qword [rsp + 0x58]
mov r10, r15
cmp r15, rax
jae 0x1800b11ae
mov rdi, qword [r10]
lea r15, [r10 + 8]
xor rdi, qword [r14]
lea r14, [r14 + 8]
je 0x1800b0680
tzcnt rax, rdi
shr eax, 3
add r10d, eax
sub r10d, dword [rsp + 0x90]
jmp 0x1800b05fb
xor r11d, r11d
mov r15, qword [rsp + 0xb0]
mov r10, qword [rsp + 0xe0]
jmp 0x1800b06ce
mov r9, qword [rsp + 0x48]
cmp r12d, 3
jle 0x1800b0bfd
mov eax, r12d
add eax, 0xffffffed
shl r12, 0x20
cmp eax, 0x12
mov rax, r12
movabs rcx, 0x1200000000
cmovb rax, rcx
cmp byte [rsp + 0xb8], 0
cmove rax, r12
mov rcx, rax
shr rcx, 0x20
mov r13, qword [rsp + 0x158]
mov rdx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0x178]
je 0x1800b0c15
sub ebx, dword [rsp + 0xe8]
sar rax, 0x20
cmp rax, qword [rsp + 0xf0]
ja 0x1800b1126
lea eax, [r15 + rcx]
cmp eax, 0xfff
jg 0x1800b1126
mov qword [rsp + 0x178], r8
mov rax, qword [rsp + 0x120]
movsxd rdx, dword [r13 + rax + 0xc]
lea r8d, [rdx - 0xf]
mov eax, 0x80808081
imul r8, rax
shr r8, 0x27
lea eax, [rdx + 1]
cmp rdx, 0xf
lea r8d, [rdx + r8 + 1]
cmovl r8d, edx
mov r11d, eax
cmp rdx, 0xd
jle 0x1800b07b0
lea r9d, [rdx - 0xe]
mov r10d, 0x80808081
imul r9, r10
mov r10, qword [rsp + 0xe0]
shr r9, 0x27
lea r11d, [rdx + r9]
add r11d, 2
lea rdi, [r10 + r13]
mov r9, qword [rsp + 0x120]
add r9, r13
mov esi, dword [r9]
mov r14, r10
mov r10d, esi
sub r10d, r8d
add r11d, r10d
cmp r11d, dword [rdi]
mov r9, rbx
jge 0x1800b07ed
movabs rbx, 0x100000000
mov qword [r13 + r14 + 4], rbx
mov dword [r13 + r14 + 0xc], eax
mov dword [rdi], r11d
lea eax, [rdx + 2]
mov r11d, eax
cmp edx, 0xd
jl 0x1800b0810
lea r11d, [rdx - 0xd]
mov edi, 0x80808081
imul r11, rdi
shr r11, 0x27
add r11d, edx
add r11d, 3
add r11d, r10d
lea rdi, [r15 + 2]
shl rdi, 4
cmp r11d, dword [r13 + rdi]
jge 0x1800b083d
lea rbx, [rdi + r13]
movabs r14, 0x100000000
mov qword [r13 + rdi + 4], r14
mov dword [r13 + rdi + 0xc], eax
mov dword [rbx], r11d
lea eax, [rdx + 3]
mov r11d, eax
cmp edx, 0xc
jl 0x1800b0860
lea r11d, [rdx - 0xc]
mov edi, 0x80808081
imul r11, rdi
shr r11, 0x27
add r11d, edx
add r11d, 4
add r11d, r10d
lea r10, [r15 + 3]
shl r10, 4
cmp r11d, dword [r13 + r10]
jge 0x1800b088d
lea rdi, [r10 + r13]
movabs rbx, 0x100000000
mov qword [r13 + r10 + 4], rbx
mov dword [r13 + r10 + 0xc], eax
mov dword [rdi], r11d
cmp ecx, 3
jle 0x1800b0995
lea r10d, [rcx + 1]
mov rax, qword [rsp + 0x120]
mov r11d, dword [r13 + rax + 8]
mov eax, r15d
sub eax, edx
movsxd rdi, eax
shl rdi, 4
add rdi, r13
add r8d, 3
mov ebx, 4
mov r14, qword [rsp + 0x178]
cmp r11d, 1
jne 0x1800b08fe
xor eax, eax
cmp r15, rdx
jle 0x1800b08d6
mov eax, dword [rdi]
mov r15d, r8d
cmp rbx, 0x13
jb 0x1800b08f7
lea r15d, [rbx - 0x13]
mov r12d, 0x80808081
imul r15, r12
shr r15, 0x27
add r15d, r8d
inc r15d
add r15d, eax
mov eax, edx
jmp 0x1800b0924
mov r15d, 3
cmp rbx, 0x13
jb 0x1800b091f
lea r15d, [rbx - 0x13]
mov eax, 0x80808081
imul r15, rax
shr r15, 0x27
add r15d, 4
add r15d, esi
xor eax, eax
mov r12, qword [rsp + 0x50]
lea ebp, [r12 + 3]
mov r12, qword [rsp + 0x188]
add r12, rbx
add r12, 0xfffffffffffffffc
cmp ebp, r12d
jl 0x1800b0951
mov ebp, dword [r14]
add ebp, dword [rsp + 0x148]
cmp r15d, ebp
jg 0x1800b0978
mov rbp, qword [rsp + 0x50]
cmp ebp, r12d
cmovge r12d, ebp
cmp rcx, rbx
cmovne r12d, ebp
mov dword [r14 + 8], ebx
mov dword [r14 + 4], r9d
mov dword [r14 + 0xc], eax
mov dword [r14], r15d
mov qword [rsp + 0x50], r12
mov r15, qword [rsp + 0xb0]
inc rbx
add r14, 0x10
cmp r10, rbx
mov rbp, qword [rsp + 0x58]
jne 0x1800b08c7
movsxd rax, dword [rsp + 0x50]
shl rax, 4
movabs r8, 0x100000000
mov qword [r13 + rax + 0x14], r8
mov dword [r13 + rax + 0x1c], 1
mov ecx, dword [r13 + rax]
lea edx, [rcx + 1]
mov dword [r13 + rax + 0x10], edx
mov qword [r13 + rax + 0x24], r8
mov dword [r13 + rax + 0x2c], 2
lea edx, [rcx + 2]
mov dword [r13 + rax + 0x20], edx
mov qword [r13 + rax + 0x34], r8
mov dword [r13 + rax + 0x3c], 3
add ecx, 3
mov dword [r13 + rax + 0x30], ecx
xor r11d, r11d
mov rdx, qword [rsp + 0xc8]
mov r9, qword [rsp + 0x48]
jmp 0x1800b0c0d
xor eax, eax
mov qword [rsp + 0xe8], rax
mov r13d, dword [rsp + 0x3c]
mov r12d, r8d
test r13d, r13d
jle 0x1800b0bd5
mov edx, dword [rsp + 0x60]
mov eax, edx
sub eax, edi
cmp eax, 0xfffe
mov r11d, 0
mov rbx, qword [rsp + 0xa8]
mov r10, qword [rsp + 0xe0]
ja 0x1800b0bef
mov ecx, edi
mov edi, edx
mov r9, qword [rsp + 0x128]
mov rsi, qword [r9 + 0x40000]
mov rdx, qword [r9 + 0x40008]
sub rsi, rdx
mov eax, dword [r9 + 0x40018]
imul r8d, dword [rbx], 0x9e3779b1
add rsi, rax
shr r8d, 0x11
mov r8d, dword [r9 + r8*4]
add ecx, r8d
sub ecx, esi
mov r9d, edi
sub r9d, ecx
cmp r9d, 0xffff
ja 0x1800b0bea
mov edi, ecx
sub rdx, rax
mov r9, qword [rsp + 0x48]
sub r13d, 1
jb 0x1800b0bef
mov eax, r8d
mov rcx, qword [rsp + 0x80]
cmp dword [rdx + rax], ecx
jne 0x1800b0b47
mov r11, rsi
sub r11, rax
add r11, rbx
mov r9, qword [rsp + 0x70]
cmp r11, r9
cmova r11, r9
lea rbx, [rdx + rax]
add rbx, 4
lea rax, [r11 - 7]
mov r14, qword [rsp + 0x90]
cmp rax, r14
jbe 0x1800b2659
mov r14, qword [r14]
xor r14, qword [rbx]
je 0x1800b0b7c
mov ecx, edi
tzcnt r10, r14
mov r9, qword [rsp + 0x48]
xor edi, edi
test r14, r14
sete bpl
je 0x1800b0b89
shr r10d, 3
mov rbp, qword [rsp + 0x58]
xor r11d, r11d
mov rbx, qword [rsp + 0xa8]
mov edi, ecx
add r10d, 4
cmp r10d, r12d
jle 0x1800b0b47
mov eax, edi
add rax, qword [rsp + 0xa0]
mov qword [rsp + 0xe8], rax
mov r12d, r10d
movzx eax, r8w
mov r10, qword [rsp + 0x128]
movzx eax, word [r10 + rax*2 + 0x20000]
sub r8d, eax
sub edi, eax
mov eax, dword [rsp + 0x60]
sub eax, edi
cmp eax, 0x10000
mov r10, qword [rsp + 0xe0]
jb 0x1800b0aa0
jmp 0x1800b0bef
mov ecx, edi
mov r10d, 0x40
jmp 0x1800b0b03
mov dil, bpl
mov r10, qword [rsp + 0x90]
lea r14, [r10 + rdi*8]
lea rbx, [rbx + rdi*8]
mov rbp, qword [rsp + 0x58]
mov r10, r14
cmp r14, rax
jae 0x1800b1273
mov rdi, qword [r10]
lea r14, [r10 + 8]
xor rdi, qword [rbx]
lea rbx, [rbx + 8]
je 0x1800b0ba1
tzcnt rax, rdi
shr eax, 3
add r10d, eax
sub r10d, dword [rsp + 0x90]
jmp 0x1800b0b1c
xor r11d, r11d
mov rbx, qword [rsp + 0xa8]
mov r10, qword [rsp + 0xe0]
jmp 0x1800b0bef
mov r9, qword [rsp + 0x48]
cmp r12d, dword [rsp + 0x190]
jg 0x1800b06d8
mov r13, qword [rsp + 0x158]
mov rdx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0x178]
movsxd rax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x130]
inc ecx
mov qword [rsp + 0x130], rcx
add r8, 0x10
inc qword [rsp + 0x188]
mov rcx, qword [rsp + 0xf8]
cmp rcx, rax
jl 0x1800af0d3
jmp 0x1800b0dc3
mov r12d, r14d
jmp 0x1800b04f5
mov r12d, r14d
jmp 0x1800b0a16
inc rcx
shr rax, 8
cmp rcx, qword [rsp + 0x70]
jae 0x1800afac8
cmp byte [rcx], al
je 0x1800b0c5e
jmp 0x1800afac8
mov qword [r9 + 0x24], r10
mov dword [r9 + 0x2c], edx
mov dword [r9 + 0x20], edx
mov ecx, 0xf
cmp r13d, 0xc
je 0x1800aef83
lea ecx, [r13 + 3]
mov edx, ecx
mov r9d, 0x80808081
jmp 0x1800aef9b
mov eax, r13d
shl al, 4
mov byte [r9], al
mov r10, qword [rsp + 0x108]
mov r11, qword [rsp + 0x50]
add r13, rdi
mov rax, r10
mov rcx, rdi
mov rdx, qword [rax]
mov qword [rcx], rdx
add rcx, 8
add rax, 8
cmp rcx, r13
jb 0x1800b0cc4
lea rcx, [r11 - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
mov word [r13], bx
cmp dword [rsp + 0xd4], 0
je 0x1800b0d14
shr rdx, 7
lea rax, [rdx + r13]
add rax, 8
cmp rax, qword [rsp + 0x150]
ja 0x1800b14ba
add r13, 2
cmp rcx, 0xf
jb 0x1800b0dad
add byte [r9], 0xf
lea rax, [r11 - 0x13]
cmp rax, 0x1fe
jb 0x1800b0d8e
lea rax, [r11 - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov r14, rdx
shr r14, 8
lea r8, [r14*2 + 2]
mov rcx, r13
mov dl, 0xff
mov rbx, r10
call sub.VCRUNTIME140.dll_memset
mov r11, qword [rsp + 0x50]
mov r8, qword [rsp + 0xc8]
lea rax, [r8 + r14*2]
sub rax, rbx
lea r13, [rdi + rax]
add r13, 4
imul rax, r14, 0xfffffffffffffe02
add rax, r11
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x1800b0da4
add rax, 0xffffffffffffff01
mov byte [r13], 0xff
inc r13
mov byte [r13], al
inc r13
jmp 0x1800b0db0
add byte [r9], cl
add r8, r11
mov r11, r8
mov r10, r13
jmp 0x1800aeec1
movsxd rax, dword [rsp + 0x50]
shl rax, 4
mov ebx, dword [r13 + rax + 4]
mov ecx, dword [r13 + rax + 8]
mov rax, qword [rsp + 0x50]
mov r15d, eax
sub r15d, ecx
movsxd rax, r15d
mov rdx, rax
shl rdx, 4
mov r8d, dword [r13 + rdx + 8]
cmp r8d, eax
mov r9d, r8d
cmovg r9d, r11d
mov r10d, dword [r13 + rdx + 4]
mov r15d, eax
sub r15d, r9d
mov dword [r13 + rdx + 8], ecx
mov dword [r13 + rdx + 4], ebx
mov ecx, r8d
mov ebx, r10d
cmp r8d, eax
jle 0x1800b0ddc
mov rax, qword [rsp + 0x50]
test eax, eax
jle 0x1800b10ba
mov ebx, eax
xor r14d, r14d
mov rdi, qword [rsp + 0x138]
mov r8, qword [rsp + 0xc8]
mov r11, qword [rsp + 0x108]
movsxd r14, r14d
mov r10, r8
mov r13, r8
sub r13, r11
lea r8, [r13 - 0x10e]
add r13, 4
mov rax, r14
shl rax, 4
add rax, qword [rsp + 0x1a0]
xor ecx, ecx
movsxd r15, dword [rax]
cmp r15, 1
jne 0x1800b0e8b
inc r13
lea rdx, [r14 + rcx]
inc rdx
inc rcx
add rax, 0x10
cmp rdx, rbx
jl 0x1800b0e67
jmp 0x1800b10ac
add r14, rcx
add r10, rcx
mov r9, r14
shl r9, 4
mov qword [rsp + 0xc8], r10
sub r10, r11
mov rax, r10
movabs rdx, 0x8080808080808081
mul rdx
xor r12d, r12d
mov rax, qword [rsp + 0x158]
mov r9d, dword [rax + r9 + 4]
cmp dword [rsp + 0xd4], 0
je 0x1800b0eed
shr rdx, 7
lea rax, [rdi + rdx]
inc rax
add rax, r10
add rax, 8
cmp rax, qword [rsp + 0x150]
ja 0x1800b14ba
lea rsi, [rdi + 1]
cmp r10, 0xf
jb 0x1800b0f99
lea rdx, [r10 - 0xf]
mov byte [rdi], 0xf0
cmp rdx, 0xff
jb 0x1800b0f8a
add rcx, r8
mov rax, rcx
movabs rcx, 0x8080808080808081
mul rcx
lea rax, [r13 - 0x112]
mov qword [rsp + 0x80], rax
shr rdx, 7
lea r8, [rdx + 1]
mov rcx, rsi
mov dl, 0xff
mov rbp, r10
mov r12, r11
mov esi, r9d
call sub.VCRUNTIME140.dll_memset
mov r9d, esi
mov r11, r12
xor r12d, r12d
mov r10, rbp
mov rcx, qword [rsp + 0x80]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
mov rbp, qword [rsp + 0x58]
shr rdx, 7
mov rax, rdx
shl rax, 8
lea rsi, [rdi + rdx]
add rsi, 2
sub rdx, rax
add rdx, rcx
mov r8, qword [rsp + 0xc8]
mov byte [rsi], dl
inc rsi
jmp 0x1800b0fa9
mov eax, r10d
shl al, 4
mov byte [rdi], al
mov r8, qword [rsp + 0xc8]
add r14d, r15d
add r10, rsi
mov rax, rsi
mov rcx, qword [r11]
mov qword [rax], rcx
add rax, 8
add r11, 8
cmp rax, r10
jb 0x1800b0fb2
lea rcx, [r15 - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
mov word [r10], r9w
cmp dword [rsp + 0xd4], 0
je 0x1800b1001
shr rdx, 7
lea rax, [r10 + rdx]
add rax, 8
cmp rax, qword [rsp + 0x150]
ja 0x1800b14ba
add r10, 2
cmp rcx, 0xf
jb 0x1800b1091
add byte [rdi], 0xf
lea rax, [r15 - 0x13]
cmp rax, 0x1fe
jb 0x1800b1074
lea rax, [r15 - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rdi, rdx
shr rdi, 8
lea r8, [rdi*2 + 2]
mov rcx, r10
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r8, qword [rsp + 0xc8]
lea rax, [rdi*2]
add rax, r13
add rsi, rax
imul rax, rdi, 0xfffffffffffffe02
add rax, r15
add rax, 0xfffffffffffffdef
mov r10, rsi
cmp rax, 0xff
jb 0x1800b1089
add rax, 0xffffffffffffff01
mov byte [r10], 0xff
inc r10
mov byte [r10], al
inc r10
jmp 0x1800b1093
add byte [rdi], cl
add r8, r15
mov rdi, r10
mov r11, r8
cmp r14d, dword [rsp + 0x50]
jl 0x1800b0e3f
jmp 0x1800aeec1
mov r8, r10
add r8, rcx
mov r10, rdi
jmp 0x1800aeec1
mov r8, qword [rsp + 0xc8]
jmp 0x1800aeeb1
mov qword [rsp + 0x40], rbx
jmp 0x1800aebfe
cmp byte [rcx], r12b
jne 0x1800aeba3
inc rcx
shr r12, 8
cmp rcx, qword [rsp + 0x70]
jb 0x1800b10d1
jmp 0x1800aeba3
cmp r12, rax
jae 0x1800af4a9
mov r11, r15
mov rbp, qword [rsp + 0x58]
jmp 0x1800afad7
inc rcx
shr rax, 8
cmp rcx, qword [rsp + 0x70]
jae 0x1800b04a0
cmp byte [rcx], al
je 0x1800b1103
jmp 0x1800b04a0
mov rcx, rax
jmp 0x1800af81d
lea eax, [r15 + 1]
mov qword [rsp + 0x50], rax
jmp 0x1800b0ddc
mov rax, r15
jmp 0x1800afaf2
cmp r11, r10
jae 0x1800ae56f
mov rax, r13
mov rbp, qword [rsp + 0x58]
jmp 0x1800aebad
mov r12, rcx
jmp 0x1800ae8fb
cmp r12, rax
jae 0x1800afe69
jmp 0x1800b1506
mov rcx, rax
jmp 0x1800b01fe
mov rax, r13
cmp r14, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x50]
jae 0x1800ae77b
jmp 0x1800aebd4
lea rax, [r11 - 1]
cmp r10, rax
jb 0x1800b15b5
cmp r10, r11
jb 0x1800b15d0
xor r11d, r11d
sub r10d, dword [rsp + 0x90]
jmp 0x1800b0608
lea rax, [r11 - 3]
cmp r10, rax
jb 0x1800b15ea
jmp 0x1800b160d
mov rax, rbx
jmp 0x1800b04ca
lea rax, [r8 - 1]
cmp r12, rax
jb 0x1800b171b
cmp r12, r8
jb 0x1800b1737
mov edi, dword [rsp + 0x78]
sub r12d, r10d
jmp 0x1800af561
lea rax, [r8 - 3]
cmp r12, rax
jb 0x1800b174c
jmp 0x1800b176b
lea rax, [rbx + rcx]
test rcx, rcx
mov edi, dword [rsp + 0x78]
jg 0x1800af8a7
jmp 0x1800af8c3
lea rax, [rbx - 1]
cmp rdi, rax
jb 0x1800b18bc
cmp rdi, rbx
jb 0x1800b18d6
mov rax, rcx
sub edi, r9d
jmp 0x1800aecf1
lea rax, [rbx - 3]
cmp rdi, rax
jb 0x1800b18f2
jmp 0x1800b1912
lea rax, [r11 - 1]
cmp r10, rax
jb 0x1800b1b9d
cmp r10, r11
jb 0x1800b1bb7
xor r11d, r11d
mov rbx, qword [rsp + 0xa8]
sub r10d, dword [rsp + 0x90]
jmp 0x1800b0b29
lea rax, [r11 - 3]
cmp r10, rax
jb 0x1800b1bd0
jmp 0x1800b1bea
lea rax, [rdx - 1]
cmp r10, rax
jb 0x1800b1e2e
cmp r10, rdx
jb 0x1800b1e48
sub r10d, dword [rsp + 0xb0]
jmp 0x1800ae628
lea rax, [rdx - 3]
cmp r10, rax
jb 0x1800b1e5a
jmp 0x1800b1e7f
mov rax, qword [rsp + 0x68]
lea rcx, [rax + rbx]
test rbx, rbx
jg 0x1800ae98f
jmp 0x1800ae9ad
lea rax, [r8 - 1]
cmp r12, rax
jb 0x1800b1f71
cmp r12, r8
jb 0x1800b1f8d
sub r12d, r10d
jmp 0x1800aff22
lea rax, [r8 - 3]
cmp r12, rax
jae 0x1800b1fa2
mov eax, dword [r14]
cmp eax, dword [r12]
mov rbp, qword [rsp + 0x58]
jne 0x1800b12d1
add r12, 4
add r14, 4
jmp 0x1800b12d1
mov r15, qword [rsp + 0x138]
mov r13, qword [rsp + 0xf0]
mov r8, qword [rsp + 0x150]
sub r8, r15
mov r14, r8
lea rax, [r8 + 0xf0]
movabs r8, 0x8080808080808081
mul r8
cmp dword [rsp + 0xd4], 0
je 0x1800b136e
shr rdx, 7
add rdx, r14
xor ebp, ebp
lea rax, [rdx + r13]
inc rax
cmp rax, qword [rsp + 0x140]
ja 0x1800b14d4
lea rbx, [r15 + r14]
cmp r14, 0xf
jb 0x1800b1443
lea rax, [r14 - 0xf]
mov byte [r13], 0xf0
lea rcx, [r13 + 1]
cmp rax, 0xff
jb 0x1800b13c9
lea rax, [r14 - 0x10e]
mul r8
mov rdi, rdx
shr rdi, 7
lea r8, [rdi + 1]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, rdi
shl rax, 8
lea rcx, [rdi + r13]
add rcx, 2
sub rdi, rax
lea rax, [r14 + rdi]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
mov r13, rcx
jmp 0x1800b144d
mov rsi, qword [rsp + 0x98]
mov rdx, qword [rsi + 0x40028]
mov r8d, 0x40030
mov rcx, rsi
mov rdi, r10
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rsi
mov r14, qword [rsp + 0x1b0]
mov rdx, r14
call fcn.1800b26d0
mov word [rsi + 0x40024], bx
mov rcx, qword [rsp + 0x1f0]
xor rcx, rsp
call fcn.180062020
mov rcx, rsi
mov rdx, r14
mov r8, rdi
mov r9, qword [rsp + 0x1c0]
add rsp, 0x1f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.180054780
mov eax, r14d
shl al, 4
mov byte [r13], al
inc r13
mov rcx, r13
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r13d, r14d
sub ebx, dword [rsp + 0x1b0]
mov rax, qword [rsp + 0x1c0]
mov dword [rax], ebx
sub r13d, dword [rsp + 0x1d8]
mov r12d, r13d
jmp 0x1800b14c8
mov eax, edi
shl al, 4
mov byte [r10], al
inc r10
mov rcx, r10
mov rdx, r11
mov r8, rdi
mov r14, r10
call sub.VCRUNTIME140.dll_memcpy
add r14d, edi
sub ebx, dword [rsp + 0x1b0]
mov rax, qword [rsp + 0x1c0]
mov dword [rax], ebx
sub r14d, dword [rsp + 0x1d8]
mov r12d, r14d
mov rcx, qword [rsp + 0x158]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r12d, r12d
mov ebp, r12d
jg 0x1800aaff7
mov rax, qword [rsp + 0x98]
mov byte [rax + 0x40027], 1
jmp 0x1800aaff7
lea rax, [r14 + rcx]
test rcx, rcx
mov edi, dword [rsp + 0x78]
mov r10, qword [rsp + 0x90]
jg 0x1800b0293
jmp 0x1800b02af
mov r11, rbx
mov rbp, qword [rsp + 0x58]
jmp 0x1800b04af
lea rax, [r13 - 0x10e]
mul rcx
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov rcx, r12
mov dl, 0xff
mov r14, r10
mov r12, r9
call sub.VCRUNTIME140.dll_memset
mov r9, r12
mov r10, r14
mov r11d, dword [rsp + 0x3c]
mov rax, rbx
shl rax, 8
lea r12, [rdi + rbx]
add r12, 2
sub rbx, rax
lea rax, [rbx + r13]
add rax, 0xfffffffffffffef2
jmp 0x1800addc4
lea rax, [r9 - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rdi, rdx
shr rdi, 8
lea r8, [rdi*2 + 2]
mov rcx, r13
mov dl, 0xff
mov rbx, r10
mov r14, r9
call sub.VCRUNTIME140.dll_memset
mov r11d, dword [rsp + 0x3c]
sub r12, qword [rsp + 0x138]
lea rax, [rbx + rdi*2]
lea r13, [r12 + rax]
add r13, 4
jmp 0x1800adf39
movzx eax, word [r14]
cmp ax, word [r10]
jne 0x1800b1195
add r10, 2
add r14, 2
jmp 0x1800b1195
mov al, byte [r14]
xor r9d, r9d
cmp al, byte [r10]
sete r9b
add r10, r9
mov r9, qword [rsp + 0x48]
jmp 0x1800b119e
mov eax, dword [r14]
cmp eax, dword [r10]
mov r15, qword [rsp + 0xb0]
mov edi, ecx
jne 0x1800b1188
add r10, 4
add r14, 4
jmp 0x1800b1188
mov r15, qword [rsp + 0xb0]
mov edi, ecx
jmp 0x1800b1188
lea rcx, [r12 + r11]
test r11, r11
jg 0x1800ac6dc
jmp 0x1800ac6f8
mov r11, rax
mov r13, qword [rsp + 0xb8]
jmp 0x1800ac8c6
mov rax, qword [rsp + 0x100]
add rax, 0xfffffffffffffff8
cmp r14, rax
jae 0x1800b1660
mov eax, dword [r12]
cmp eax, dword [r14]
jne 0x1800b1660
add r14, 4
add r12, 4
mov rax, qword [rsp + 0x100]
add rax, 0xfffffffffffffffa
cmp r14, rax
jae 0x1800b1684
movzx eax, word [r12]
cmp ax, word [r14]
jne 0x1800b1684
add r14, 2
add r12, 2
cmp r14, qword [rsp + 0x70]
jae 0x1800b169f
mov al, byte [r12]
xor edi, edi
cmp al, byte [r14]
sete dil
add r14, rdi
mov edi, dword [rsp + 0x78]
mov r12, qword [rsp + 0xd8]
sub r14d, r10d
jmp 0x1800af65f
mov rax, qword [rsp + 0x100]
add rax, 0xfffffffffffffff8
cmp r12, rax
jae 0x1800b16d2
mov eax, dword [r13]
cmp eax, dword [r12]
jne 0x1800b16d2
add r12, 4
add r13, 4
mov rax, qword [rsp + 0x100]
add rax, 0xfffffffffffffffa
cmp r12, rax
jae 0x1800b16f7
movzx eax, word [r13]
cmp ax, word [r12]
jne 0x1800b16f7
add r12, 2
add r13, 2
cmp r12, qword [rsp + 0x70]
jae 0x1800b170f
mov al, byte [r13]
xor edi, edi
cmp al, byte [r12]
sete dil
add r12, rdi
mov edi, dword [rsp + 0x78]
sub r12d, r8d
jmp 0x1800af5bf
movzx eax, word [r14]
cmp ax, word [r12]
jne 0x1800b11d5
add r12, 2
add r14, 2
jmp 0x1800b11d5
mov al, byte [r14]
xor edi, edi
cmp al, byte [r12]
sete dil
add r12, rdi
jmp 0x1800b11de
mov eax, dword [r14]
cmp eax, dword [r12]
mov rbp, qword [rsp + 0x58]
jne 0x1800b11c8
add r12, 4
add r14, 4
jmp 0x1800b11c8
mov rbp, qword [rsp + 0x58]
jmp 0x1800b11c8
cmp rdi, qword [rsp + 0x198]
jae 0x1800b2022
mov r11d, dword [rbx]
cmp r11d, dword [rdi]
mov r15d, esi
jne 0x1800b2025
add rdi, 4
add rbx, 4
jmp 0x1800b2025
cmp rdi, qword [rsp + 0x198]
jae 0x1800b17b9
mov r11d, dword [rbx]
cmp r11d, dword [rdi]
jne 0x1800b17b9
add rdi, 4
add rbx, 4
cmp rdi, qword [rsp + 0x100]
jae 0x1800b17d5
movzx r11d, word [rbx]
cmp r11w, word [rdi]
jne 0x1800b17d5
add rdi, 2
add rbx, 2
cmp rdi, qword [rsp + 0x50]
jae 0x1800ac834
mov r11b, byte [rbx]
xor ebx, ebx
cmp r11b, byte [rdi]
sete bl
add rdi, rbx
jmp 0x1800ac834
mov ebx, dword [rdx]
cmp ebx, dword [r11]
jne 0x1800acc99
add r11, 4
add rdx, 4
jmp 0x1800acc99
movzx ebx, word [rdx]
cmp bx, word [r11]
jne 0x1800acca6
add r11, 2
add rdx, 2
jmp 0x1800acca6
mov dl, byte [rdx]
xor ebx, ebx
cmp dl, byte [r11]
sete bl
add r11, rbx
jmp 0x1800ac5f8
lea r11, [rbx - 3]
cmp rbp, r11
jae 0x1800b206b
mov r11d, dword [rcx]
cmp r11d, dword [rbp]
mov r15d, esi
jne 0x1800b206e
add rbp, 4
add rcx, 4
jmp 0x1800b206e
mov r12, rax
jmp 0x1800af4ae
shr rdx, 7
mov rax, qword [rsp + 0xf0]
add rax, rdx
inc rax
add rax, r13
add rax, 8
cmp rax, qword [rsp + 0x140]
jbe 0x1800adec0
jmp 0x1800b1a08
mov rbx, r9
jmp 0x1800ade84
shr rdx, 7
lea rax, [r12 + rdx]
add rax, 8
cmp rax, qword [rsp + 0x140]
jbe 0x1800adf26
jmp 0x1800b1a08
movzx eax, word [r14]
cmp ax, word [rdi]
jne 0x1800b121f
add rdi, 2
add r14, 2
jmp 0x1800b121f
mov al, byte [r14]
xor r8d, r8d
cmp al, byte [rdi]
sete r8b
add rdi, r8
mov r8, qword [rsp + 0xc8]
jmp 0x1800b1228
mov eax, dword [r14]
cmp eax, dword [rdi]
mov r12d, dword [rsp + 0x88]
jne 0x1800b1212
add rdi, 4
add r14, 4
jmp 0x1800b1212
mov r12d, dword [rsp + 0x88]
jmp 0x1800b1212
mov r9, qword [rsp + 0x108]
mov rbx, r9
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x120], rax
mov r15, qword [rsp + 0x180]
mov r8d, dword [rsp + 0x168]
mov rdx, qword [rsp + 0xf8]
jmp 0x1800ade84
lea rax, [r13 - 0xf]
mov byte [r14], 0xf0
cmp rax, 0xff
jb 0x1800b19c0
lea rax, [r13 - 0x10e]
mul rcx
mov r12, rdx
shr r12, 7
mov ebp, r8d
lea r8, [r12 + 1]
mov rcx, rdi
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x108]
mov r8d, ebp
mov r11d, dword [rsp + 0x3c]
mov rax, r12
shl rax, 8
lea rdi, [r14 + r12]
add rdi, 2
sub r12, rax
lea rax, [r12 + r13]
add rax, 0xfffffffffffffef2
mov rdx, qword [rsp + 0xf8]
mov byte [rdi], al
inc rdi
jmp 0x1800adedb
mov eax, r13d
shl al, 4
mov byte [r14], al
mov rdx, qword [rsp + 0xf8]
jmp 0x1800adedb
shr rdx, 7
lea rax, [r12 + rdx]
inc rax
add rax, r13
add rax, 8
cmp rax, qword [rsp + 0x140]
jbe 0x1800adfb3
xor ebp, ebp
jmp 0x1800b14d4
mov rax, qword [rsp + 0xf0]
add byte [rax], 0xf
lea rax, [r14 - 0x13]
cmp rax, 0x1fe
jb 0x1800b1a7c
lea rax, [r14 - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rsi, rdx
shr rsi, 8
lea r8, [rsi*2 + 2]
mov rcx, r12
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x108]
mov r11d, dword [rsp + 0x3c]
lea rax, [rdi + rsi*2]
lea r12, [rax + r13]
add r12, 4
imul rax, rsi, 0xfffffffffffffe02
add rax, r14
add rax, 0xfffffffffffffdef
cmp rax, 0xff
mov r13, qword [rsp + 0x90]
jb 0x1800b1a9a
add rax, 0xffffffffffffff01
mov byte [r12], 0xff
inc r12
mov byte [r12], al
inc r12
jmp 0x1800adf8f
mov rax, qword [rsp + 0xf0]
add byte [rax], cl
mov r13, qword [rsp + 0x90]
jmp 0x1800adf8f
shr rdx, 7
lea rax, [rdx + r13]
add rax, 8
cmp rax, qword [rsp + 0x140]
jbe 0x1800ae02a
jmp 0x1800b14d4
cmp qword [rsp + 0x90], rax
jae 0x1800b247e
sub rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x118]
sub ecx, eax
mov qword [rsp + 0x118], rcx
cmp ecx, 3
jg 0x1800b246c
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0xe0], r14
mov eax, r15d
mov qword [rsp + 0x118], rax
jmp 0x1800b247e
lea rax, [r13 - 0xf]
mov byte [r12], 0xf0
cmp rax, 0xff
jb 0x1800b1b84
lea rax, [r13 - 0x10e]
mul rcx
mov rdi, rdx
shr rdi, 7
lea r8, [rdi + 1]
mov rcx, rsi
mov dl, 0xff
mov rbx, r9
call sub.VCRUNTIME140.dll_memset
mov r9, rbx
mov r11d, dword [rsp + 0x3c]
mov rax, rdi
shl rax, 8
lea rsi, [r12 + rdi]
add rsi, 2
sub rdi, rax
lea rax, [rdi + r13]
add rax, 0xfffffffffffffef2
mov byte [rsi], al
inc rsi
jmp 0x1800adfc7
mov eax, r13d
shl al, 4
mov byte [r12], al
jmp 0x1800adfc7
movzx eax, word [rbx]
cmp ax, word [r10]
jne 0x1800b1252
add r10, 2
add rbx, 2
jmp 0x1800b1252
mov al, byte [rbx]
xor r9d, r9d
cmp al, byte [r10]
sete r9b
add r10, r9
mov r9, qword [rsp + 0x48]
jmp 0x1800b125b
mov eax, dword [rbx]
cmp eax, dword [r10]
mov edi, ecx
jne 0x1800b1245
add r10, 4
add rbx, 4
jmp 0x1800b1245
mov edi, ecx
jmp 0x1800b1245
mov r8d, r9d
lea rcx, [r10 - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub r8d, dword [rsp + 0x170]
mov word [rbx], r8w
cmp dword [rsp + 0xd4], 0
mov ebp, 0
je 0x1800b1c3d
shr rdx, 7
lea rax, [rbx + rdx]
add rax, 8
cmp rax, qword [rsp + 0x140]
ja 0x1800b14d4
add rbx, 2
cmp rcx, 0xf
jb 0x1800b22ec
mov rax, qword [rsp + 0xf0]
add byte [rax], 0xf
lea rax, [r10 - 0x13]
cmp rax, 0x1fe
mov rdi, r13
jb 0x1800b1cc1
mov r12, r10
lea rax, [r10 - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov r13, rdx
shr r13, 8
lea r8, [r13*2 + 2]
mov rcx, rbx
mov dl, 0xff
mov rbx, r9
call sub.VCRUNTIME140.dll_memset
mov r11d, dword [rsp + 0x3c]
lea rax, [rbx + r13*2]
sub rax, qword [rsp + 0xf8]
lea rbx, [rsi + rax]
add rbx, 4
imul rax, r13, 0xfffffffffffffe02
add rax, r12
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x1800b1cd5
add rax, 0xffffffffffffff01
mov byte [rbx], 0xff
inc rbx
mov byte [rbx], al
inc rbx
mov qword [rsp + 0xf0], rbx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x148], r14
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x108], rdi
jmp 0x1800b232e
add byte [r12], 0xf
mov r14, qword [rsp + 0x1a8]
lea rax, [r14 - 0x13]
cmp rax, 0x1fe
jb 0x1800adf49
lea rax, [r14 - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rdi, rdx
shr rdi, 8
lea r8, [rdi*2 + 2]
mov rcx, r13
mov dl, 0xff
mov rbx, r9
call sub.VCRUNTIME140.dll_memset
mov r11d, dword [rsp + 0x3c]
sub rsi, rbx
mov rax, qword [rsp + 0x90]
lea rax, [rax + rdi*2]
lea r13, [rsi + rax]
add r13, 4
jmp 0x1800adf39
add byte [r12], cl
jmp 0x1800ade77
mov rax, qword [rsp + 0x100]
add rax, 0xfffffffffffffff8
cmp rbx, rax
jae 0x1800b1dab
mov eax, dword [r10]
cmp eax, dword [rbx]
jne 0x1800b1dab
add rbx, 4
add r10, 4
mov rax, qword [rsp + 0x100]
add rax, 0xfffffffffffffffa
cmp rbx, rax
jae 0x1800b1dcd
movzx eax, word [r10]
cmp ax, word [rbx]
jne 0x1800b1dcd
add rbx, 2
add r10, 2
cmp rbx, qword [rsp + 0x70]
jae 0x1800b1de3
mov al, byte [r10]
xor r10d, r10d
cmp al, byte [rbx]
sete r10b
add rbx, r10
mov r10d, dword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
sub ebx, dword [rsp + 0xb0]
jmp 0x1800ae706
mov rax, qword [rsp + 0x100]
add rax, 0xfffffffffffffff8
cmp r10, rax
jae 0x1800b22a0
mov eax, dword [rdi]
cmp eax, dword [r10]
mov r12d, dword [rsp + 0x88]
jne 0x1800b22a8
add r10, 4
add rdi, 4
jmp 0x1800b22a8
movzx eax, word [rbx]
cmp ax, word [r10]
jne 0x1800b1292
add r10, 2
add rbx, 2
jmp 0x1800b1292
mov al, byte [rbx]
xor ebx, ebx
cmp al, byte [r10]
sete bl
add r10, rbx
jmp 0x1800b129b
mov eax, dword [rbx]
cmp eax, dword [r10]
mov rbp, qword [rsp + 0x58]
mov r12d, dword [rsp + 0x88]
jne 0x1800b1285
add r10, 4
add rbx, 4
jmp 0x1800b1285
mov rbp, qword [rsp + 0x58]
mov r12d, dword [rsp + 0x88]
jmp 0x1800b1285
mov r11, r10
jmp 0x1800ae574
mov rax, qword [rsp + 0x100]
add rax, 0xfffffffffffffff8
cmp r14, rax
jae 0x1800b1ebb
mov eax, dword [r12]
cmp eax, dword [r14]
jne 0x1800b1ebb
add r14, 4
add r12, 4
mov rax, qword [rsp + 0x100]
add rax, 0xfffffffffffffffa
cmp r14, rax
jae 0x1800b1edf
movzx eax, word [r12]
cmp ax, word [r14]
jne 0x1800b1edf
add r14, 2
add r12, 2
cmp r14, qword [rsp + 0x70]
jae 0x1800b1ef6
mov al, byte [r12]
xor edi, edi
cmp al, byte [r14]
sete dil
add r14, rdi
mov r12, r13
mov edi, dword [rsp + 0x78]
sub r14d, r10d
jmp 0x1800b000b
mov rax, qword [rsp + 0x100]
add rax, 0xfffffffffffffff8
cmp r12, rax
jae 0x1800b1f28
mov eax, dword [r13]
cmp eax, dword [r12]
jne 0x1800b1f28
add r12, 4
add r13, 4
mov rax, qword [rsp + 0x100]
add rax, 0xfffffffffffffffa
cmp r12, rax
jae 0x1800b1f4d
movzx eax, word [r13]
cmp ax, word [r12]
jne 0x1800b1f4d
add r12, 2
add r13, 2
cmp r12, qword [rsp + 0x70]
jae 0x1800b1f65
mov al, byte [r13]
xor edi, edi
cmp al, byte [r12]
sete dil
add r12, rdi
mov edi, dword [rsp + 0x78]
sub r12d, r8d
jmp 0x1800aff90
movzx eax, word [r14]
cmp ax, word [r12]
jne 0x1800b12de
add r12, 2
add r14, 2
jmp 0x1800b12de
mov al, byte [r14]
xor edi, edi
cmp al, byte [r12]
sete dil
add r12, rdi
jmp 0x1800b12e7
mov rbp, qword [rsp + 0x58]
jmp 0x1800b12d1
add r11, 2
add rdi, 2
jmp 0x1800abdde
add r11, 4
add rdi, 4
jmp 0x1800abdd1
add rdx, 2
add r13, 2
jmp 0x1800abe14
add rdx, 4
add r13, 4
jmp 0x1800abe06
add rdx, 2
add r13, 2
jmp 0x1800abe4e
add rdx, 4
add r13, 4
jmp 0x1800abe40
mov r12, rax
jmp 0x1800afe6e
cmp rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0xc0]
jae 0x1800aeba3
jmp 0x1800b10d1
mov rbx, r14
jmp 0x1800ac4aa
mov r15d, esi
cmp rdi, qword [rsp + 0x100]
jae 0x1800b2041
movzx r11d, word [rbx]
cmp r11w, word [rdi]
jne 0x1800b2041
add rdi, 2
add rbx, 2
cmp rdi, qword [rsp + 0x50]
jae 0x1800b2056
mov r11b, byte [rbx]
xor ebx, ebx
cmp r11b, byte [rdi]
sete bl
add rdi, rbx
mov r11d, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x58]
sub edi, dword [rsp + 0x88]
jmp 0x1800ac399
mov r15d, esi
lea r11, [rbx - 1]
cmp rbp, r11
jae 0x1800b208a
movzx r11d, word [rcx]
cmp r11w, word [rbp]
jne 0x1800b208a
add rbp, 2
add rcx, 2
cmp rbp, rbx
jae 0x1800b209e
mov cl, byte [rcx]
xor r11d, r11d
cmp cl, byte [rbp]
sete r11b
add rbp, r11
mov ebx, eax
sub ebp, edi
jmp 0x1800aca91
shr rdx, 7
mov rax, qword [rsp + 0xf0]
add rax, rdx
inc rax
add rax, r12
add rax, 8
cmp rax, qword [rsp + 0x140]
jbe 0x1800adc2a
jmp 0x1800b1a08
mov rax, qword [rsp + 0x90]
sub rax, r9
cmp rax, 0x11
jg 0x1800b2459
mov rcx, qword [rsp + 0x180]
add rcx, 0xfffffffffffffffc
cmp qword [rsp + 0x1c8], rcx
mov rdx, qword [rsp + 0x118]
lea eax, [rdx + rax - 4]
mov ecx, dword [rsp + 0x1a0]
cmova ecx, eax
mov eax, r9d
sub eax, dword [rsp + 0x90]
mov ebx, ecx
add eax, ecx
test eax, eax
jle 0x1800b2140
mov ecx, eax
add qword [rsp + 0x90], rcx
add qword [rsp + 0xe0], rcx
sub edx, eax
mov qword [rsp + 0x118], rdx
mov rdx, qword [rsp + 0xf8]
jmp 0x1800adc06
mov ebx, r8d
jmp 0x1800adc06
shr rdx, 7
lea rax, [r12 + rdx]
add rax, 8
cmp rax, qword [rsp + 0x140]
jbe 0x1800adcbe
jmp 0x1800b14d4
lea rax, [r12 - 0xf]
mov byte [rdi], 0xf0
cmp rax, 0xff
jb 0x1800b21cd
lea rax, [r12 - 0x10e]
mul rcx
mov r13, rdx
shr r13, 7
lea r8, [r13 + 1]
mov rcx, rsi
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x108]
mov r11d, dword [rsp + 0x3c]
mov rax, r13
shl rax, 8
lea rsi, [rdi + r13]
add rsi, 2
sub r13, rax
lea rax, [r12 + r13]
add rax, 0xfffffffffffffef2
mov rcx, qword [rsp + 0xf8]
mov byte [rsi], al
inc rsi
jmp 0x1800adc60
mov eax, r12d
shl al, 4
mov byte [rdi], al
mov rcx, qword [rsp + 0xf8]
jmp 0x1800adc60
mov rax, qword [rsp + 0xf0]
add byte [rax], 0xf
lea rax, [rdi - 0x13]
cmp rax, 0x1fe
mov rbx, r13
jb 0x1800b226c
lea rax, [rdi - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov r13, rdx
shr r13, 8
lea r8, [r13*2 + 2]
mov rcx, r12
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x108]
mov r11d, dword [rsp + 0x3c]
lea rax, [r9 + r13*2]
sub rax, qword [rsp + 0xf8]
lea r12, [rsi + rax]
add r12, 4
imul rax, r13, 0xfffffffffffffe02
add rax, rdi
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x1800b2282
add rax, 0xffffffffffffff01
mov byte [r12], 0xff
inc r12
mov byte [r12], al
inc r12
jmp 0x1800adcd1
mov rax, qword [rsp + 0xf0]
add byte [rax], cl
mov rbx, r13
jmp 0x1800adcd1
mov r12d, dword [rsp + 0x88]
mov rax, qword [rsp + 0x100]
add rax, 0xfffffffffffffffa
cmp r10, rax
jae 0x1800b22ca
movzx eax, word [rdi]
cmp ax, word [r10]
jne 0x1800b22ca
add r10, 2
add rdi, 2
cmp r10, qword [rsp + 0x70]
jae 0x1800b22df
mov al, byte [rdi]
xor edi, edi
cmp al, byte [r10]
sete dil
add r10, rdi
mov rax, qword [rsp + 0x40]
sub r10d, edx
jmp 0x1800ae68e
mov rax, qword [rsp + 0xf0]
add byte [rax], cl
mov qword [rsp + 0xf0], rbx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x148], r14
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x1a0], rax
mov rdi, r13
mov qword [rsp + 0x108], r13
mov rax, qword [rsp + 0x118]
jmp 0x1800abeca
lea rcx, [rax + rbx]
test rbx, rbx
jg 0x1800ad5fd
jmp 0x1800ad618
mov r10, rbp
mov r14, qword [rsp + 0x40]
mov rax, qword [rsp + 0x88]
jmp 0x1800ad81f
cmp rbx, qword [rsp + 0x198]
jae 0x1800b2583
mov r10d, dword [r11]
cmp r10d, dword [rbx]
mov r15d, eax
jne 0x1800b2586
add rbx, 4
add r11, 4
jmp 0x1800b2586
cmp rdx, qword [rsp + 0x198]
jae 0x1800b25cc
mov r10d, dword [r11]
cmp r10d, dword [rdx]
mov r15d, eax
jne 0x1800b25cf
add rdx, 4
add r11, 4
jmp 0x1800b25cf
lea r10, [r11 - 3]
cmp rbp, r10
jae 0x1800b260a
mov r10d, dword [rcx]
cmp r10d, dword [rbp]
mov r15d, esi
jne 0x1800b260d
add rbp, 4
add rcx, 4
jmp 0x1800b260d
movzx r11d, word [rbx]
cmp r11w, word [r10]
jne 0x1800adbc9
add r10, 2
add rbx, 2
jmp 0x1800adbc9
mov r11b, byte [rbx]
xor ebx, ebx
cmp r11b, byte [r10]
sete bl
add r10, rbx
jmp 0x1800adbd2
mov r11d, dword [rbx]
cmp r11d, dword [r10]
mov r15d, eax
mov r14, qword [rsp + 0x40]
jne 0x1800adbbc
add r10, 4
add rbx, 4
jmp 0x1800adbbc
mov r15d, eax
mov r14, qword [rsp + 0x40]
jmp 0x1800adbbc
mov r15, r10
jmp 0x1800abcc8
mov esi, r15d
mov r15, rdx
jmp 0x1800ab9cd
mov r11d, dword [rsp + 0x3c]
jmp 0x1800acc0e
mov ebx, eax
jmp 0x1800adc06
mov ecx, edi
mov r9, qword [rsp + 0x48]
jmp 0x1800b0680
cdqe
add qword [rsp + 0x90], rax
add qword [rsp + 0xe0], rax
mov rbx, r9
sub rbx, rdx
mov rax, rbx
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0xd4], 0
je 0x1800b24c5
shr rdx, 7
mov rax, qword [rsp + 0xf0]
add rax, rdx
inc rax
add rax, rbx
add rax, 8
cmp rax, qword [rsp + 0x140]
ja 0x1800b1a08
mov rdi, qword [rsp + 0xf0]
lea rsi, [rdi + 1]
cmp rbx, 0xf
jb 0x1800b2546
lea rax, [rbx - 0xf]
mov byte [rdi], 0xf0
cmp rax, 0xff
jb 0x1800b252f
lea rax, [rbx - 0x10e]
mul rcx
mov r12, rdx
shr r12, 7
lea r8, [r12 + 1]
mov rcx, rsi
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x108]
mov r11d, dword [rsp + 0x3c]
mov rax, r12
shl rax, 8
lea rsi, [rdi + r12]
add rsi, 2
sub r12, rax
lea rax, [rbx + r12]
add rax, 0xfffffffffffffef2
mov rcx, qword [rsp + 0xf8]
mov r10, qword [rsp + 0x1d0]
mov byte [rsi], al
inc rsi
jmp 0x1800b255d
mov eax, ebx
shl al, 4
mov byte [rdi], al
mov rcx, qword [rsp + 0xf8]
mov r10, qword [rsp + 0x1d0]
mov r13, qword [rsp + 0x90]
add rbx, rsi
mov rax, rcx
mov rcx, rsi
jmp 0x1800acccf
mov rbp, r10
jmp 0x1800af76f
mov r11, rdx
jmp 0x1800ad412
mov r15d, eax
cmp rbx, qword [rsp + 0x100]
jae 0x1800b25a2
movzx r10d, word [r11]
cmp r10w, word [rbx]
jne 0x1800b25a2
add rbx, 2
add r11, 2
cmp rbx, qword [rsp + 0x50]
jae 0x1800b25b9
mov r10b, byte [r11]
xor r11d, r11d
cmp r10b, byte [rbx]
sete r11b
add rbx, r11
mov r11d, dword [rsp + 0x3c]
mov r10, qword [rsp + 0x60]
sub ebx, dword [rsp + 0x48]
jmp 0x1800ad2ec
mov r15d, eax
cmp rdx, qword [rsp + 0x100]
jae 0x1800b25eb
movzx r10d, word [r11]
cmp r10w, word [rdx]
jne 0x1800b25eb
add rdx, 2
add r11, 2
cmp rdx, qword [rsp + 0x50]
jae 0x1800b2602
mov r10b, byte [r11]
xor r11d, r11d
cmp r10b, byte [rdx]
sete r11b
add rdx, r11
sub edx, r13d
jmp 0x1800ad157
mov r15d, esi
mov r14, qword [rsp + 0x40]
lea r10, [r11 - 1]
cmp rbp, r10
jae 0x1800b262e
movzx r10d, word [rcx]
cmp r10w, word [rbp]
jne 0x1800b262e
add rbp, 2
add rcx, 2
cmp rbp, r11
jae 0x1800b2642
mov cl, byte [rcx]
xor r10d, r10d
cmp cl, byte [rbp]
sete r10b
add rbp, r10
sub ebp, edi
jmp 0x1800ad9cb
mov rax, r9
mov r8, qword [rsp + 0xc8]
jmp 0x1800aed53
mov ecx, edi
mov r9, qword [rsp + 0x48]
jmp 0x1800b0ba1
mov edi, dword [rsp + 0x78]
jmp 0x1800af81d
mov rbp, r10
jmp 0x1800b0148
mov rax, r10
jmp 0x1800af979
mov esi, r15d
mov r15, r11
jmp 0x1800ac7a2
mov r11, rdi
jmp 0x1800acb6b
mov edi, dword [rsp + 0x78]
mov r10, qword [rsp + 0x90]
jmp 0x1800b0203
mov r11d, dword [rsp + 0x3c]
jmp 0x1800ad870
mov rax, r10
jmp 0x1800b0359
mov eax, r15d
mov r15, r10
jmp 0x1800ad6ca
mov r10, rdi
jmp 0x1800ada9f