Function at 0x180087440
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, 0x218
mov rbx, r8
mov r10, rcx
mov esi, dword [rsp + 0x290]
mov edi, dword [rsp + 0x288]
mov r15d, dword [rsp + 0x280]
mov rax, qword [0x1800a6010]
xor rax, rsp
mov qword [rsp + 0x210], rax
mov rbp, qword [rcx + 0x40000]
mov rax, rbp
sub rax, qword [rcx + 0x40008]
mov ecx, dword [rcx + 0x40018]
sub ecx, dword [r10 + 0x4001c]
add rcx, rax
cmp rcx, 0x10000
jb 0x1800874e4
mov qword [r10 + 0x40028], 0
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r15d
mov rcx, r10
mov r8, rbx
call fcn.18003eab0
mov esi, eax
mov rcx, qword [rsp + 0x210]
xor rcx, rsp
call fcn.18004bde0
mov eax, esi
jmp 0x180087548
mov dword [rsp + 0xac], esi
mov qword [rsp + 0x190], rdx
test rcx, rcx
jne 0x180087505
cmp dword [r9], 0x1001
jge 0x18008dde4
xor r14d, r14d
test r15d, r15d
mov edx, dword [rsp + 0xac]
jg 0x180087519
cmp edx, 2
je 0x180087535
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x1f8], r9
mov ecx, dword [r9]
cmp rcx, 0x7e000000
jbe 0x18008755c
mov rcx, qword [rsp + 0x210]
xor rcx, rsp
call fcn.18004bde0
mov eax, r14d
add rsp, 0x218
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add rbp, rcx
mov qword [r10 + 0x40000], rbp
cmp edi, 0xc
mov eax, 0xc
cmovl eax, edi
test edi, edi
mov ecx, 9
cmovg ecx, eax
mov dword [rsp + 0x1e8], ecx
movsxd rax, ecx
lea rdi, [rax + rax*2]
lea rbx, [0x180094d40]
mov eax, dword [rbx + rdi*4 + 4]
mov dword [rsp + 0xbc], eax
cmp dword [rbx + rdi*4], 0
mov qword [rsp + 0x60], r10
je 0x18008772b
mov al, byte [r10 + 0x40026]
xor r14d, r14d
mov byte [rsp + 0xa0], al
neg al
mov eax, 0
sbb eax, eax
mov dword [rsp + 0x1d8], eax
mov ecx, 0x10030
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r9, rax
test rax, rax
je 0x18008df0d
lea rax, [rbx + rdi*4]
mov eax, dword [rax + 8]
mov rbx, qword [rsp + 0x1f8]
movsxd rdx, dword [rbx]
mov rdi, qword [rsp + 0x190]
mov qword [rsp + 0x1f0], rdx
lea rsi, [rdi + rdx]
add rsi, 0xfffffffffffffff4
xor ecx, ecx
cmp dword [rsp + 0xac], 2
setne cl
movsxd rdx, r15d
mov rbp, qword [rsp + 0x1c0]
add rdx, rbp
mov dword [rbx], 0
lea rcx, [rcx + rcx*4]
add rcx, rdx
add rcx, 0xfffffffffffffffb
mov qword [rsp + 0x188], rcx
mov ecx, 0xfff
cmp eax, ecx
cmovb ecx, eax
mov qword [rsp + 0x100], rcx
mov r12, rdi
mov qword [rsp + 0x108], rbp
mov qword [rsp + 0x180], rsi
cmp rsi, rdi
mov r10, qword [rsp + 0x60]
mov qword [rsp + 0x148], r9
jae 0x18008a928
mov rdi, qword [rsp + 0x1f0]
add rdi, qword [rsp + 0x190]
xor ecx, ecx
mov ebp, dword [rsp + 0xac]
cmp ebp, 2
sete bl
mov r15, r12
sub rdi, r12
lea rax, [rdi + 0xf0]
movabs rdx, 0x8080808080808081
mul rdx
test ebp, ebp
je 0x18008de4d
shr rdx, 7
add rdx, rdi
mov cl, bl
lea rax, [rcx + rcx*4]
mov rcx, qword [rsp + 0x188]
add rcx, rax
mov rax, qword [rsp + 0x108]
add rax, rdx
inc rax
cmp rax, rcx
mov rbx, qword [rsp + 0x1c0]
jbe 0x18008de55
mov r14d, 0
cmp dword [rsp + 0xac], 1
je 0x18008df0d
mov rax, qword [rsp + 0x108]
not rax
lea rdi, [rax + rcx]
add rax, rcx
add rax, 0xf1
shr rax, 8
sub rdi, rax
jmp 0x18008de55
xor eax, eax
cmp edx, 2
setne al
mov rdx, qword [rsp + 0x1f8]
movsxd rbp, dword [rdx]
movsxd rcx, r15d
mov r12, qword [rsp + 0x1c0]
add rcx, r12
mov dword [rdx], 0
lea rax, [rax + rax*4]
add rax, rcx
add rax, 0xfffffffffffffffb
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x190]
mov r9, rax
cmp rbp, 0xd
mov r15d, dword [rsp + 0xbc]
jl 0x18008dcc3
lea rcx, [rax + rbp]
add rcx, 0xfffffffffffffff4
mov r9, rax
mov r12, qword [rsp + 0x1c0]
mov qword [rsp + 0xf8], rcx
cmp rcx, rax
jb 0x18008dcc3
lea rcx, [rax + rbp]
add rcx, 0xfffffffffffffffb
lea rdx, [rcx - 7]
mov qword [rsp + 0x68], rdx
lea rdx, [rcx - 3]
mov qword [rsp + 0x1b0], rdx
mov qword [rsp + 0x50], rcx
dec rcx
mov qword [rsp + 0x1a8], rcx
xor ecx, ecx
mov qword [rsp + 0x160], rcx
xor ecx, ecx
mov qword [rsp + 0x140], rcx
xor ecx, ecx
mov qword [rsp + 0xc8], rcx
xor r11d, r11d
xor r13d, r13d
mov rcx, qword [rsp + 0x1c0]
mov r8, rax
mov qword [rsp + 0x188], rbp
mov qword [rsp + 0x110], r11
mov qword [rsp + 0x168], rcx
mov r14, qword [r10 + 0x40028]
mov rcx, qword [r10 + 0x40008]
mov rax, qword [r10 + 0x40010]
mov edx, dword [r10 + 0x40018]
mov ebp, dword [r10 + 0x4001c]
lea ebx, [rbp + 0x10000]
mov dword [rsp + 0x1e0], ebx
mov rbx, rdx
sub rbx, rbp
mov qword [rsp + 0x1d8], rbx
add rbx, rax
mov qword [rsp + 0xd0], rbx
lea ebx, [rdx - 4]
mov dword [rsp + 0x78], ebx
mov rdi, rcx
sub rdi, rdx
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x80], rbp
sub rax, rbp
mov qword [rsp + 0x1a0], rax
mov eax, dword [r10 + 0x40020]
lea esi, [rdx + r8]
mov qword [rsp + 0xe8], rcx
sub esi, ecx
mov ecx, 0xfffffffc
sub ecx, r8d
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x158], r8
mov qword [rsp + 0x170], r8
mov rbx, r8
mov r11, rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x180], r14
mov r9, rbx
sub r9, qword [rsp + 0xe8]
mov rcx, r11
lea r8d, [r11 + r9]
cmp dword [rsp + 0x1e0], r8d
lea ecx, [r11 + r9 - 0xffff]
cmova ecx, dword [rsp + 0x80]
mov dword [rsp + 0x88], ecx
mov esi, esi
mov r12d, dword [rbx]
cmp eax, r8d
jae 0x180087953
mov eax, eax
imul ecx, dword [rdi + rax], 0x9e3779b1
shr ecx, 0x11
mov edx, eax
sub edx, dword [r10 + rcx*4]
mov ebp, 0xffff
cmp edx, ebp
jb 0x18008793b
mov edx, 0xffff
movzx ebp, ax
mov word [r10 + rbp*2 + 0x20000], dx
mov dword [r10 + rcx*4], eax
inc rax
cmp rsi, rax
jne 0x18008791d
mov dword [r10 + 0x40020], r8d
imul eax, dword [rbx], 0x9e3779b1
shr eax, 0x11
mov r14d, dword [r10 + rax*4]
cmp r14d, dword [rsp + 0x88]
mov dword [rsp + 0xb0], r8d
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x150], rsi
jb 0x1800881ad
test r15d, r15d
jle 0x1800881ad
add r9, r11
mov qword [rsp + 0x118], r9
lea rax, [rbx + 4]
mov rbx, r11
mov qword [rsp + 0x70], rax
movzx eax, r12w
mov ecx, r12d
shr ecx, 0x10
xor ecx, eax
movzx eax, r12b
mov edx, r12d
shr edx, 0x18
xor edx, eax
or edx, ecx
sete byte [rsp + 0x138]
mov r9, r12
movabs rax, 0x100000001
imul r9, rax
xor ebp, ebp
mov r13d, 3
mov r10d, r15d
xor r8d, r8d
mov esi, dword [rsp + 0x88]
mov edi, ebx
sub edi, r14d
jbe 0x180087b25
cmp r14d, dword [rsp + 0x78]
mov r12d, r13d
ja 0x180087be6
mov ecx, r14d
sub ecx, dword [rsp + 0x80]
add rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x40]
cmp dword [rcx], eax
jne 0x180087be6
mov qword [rsp + 0xa0], rbp
mov rax, qword [rsp + 0x98]
lea rbx, [rax + rdi]
mov rax, qword [rsp + 0x50]
cmp rbx, rax
mov r15, rbx
cmova r15, rax
add rcx, 4
lea rbp, [r15 - 7]
mov rsi, qword [rsp + 0x70]
mov r13d, r12d
cmp rbp, rsi
jbe 0x180087d9e
mov rax, qword [rsi]
xor rax, qword [rcx]
je 0x180087d85
bsf rsi, rax
xor edx, edx
test rax, rax
sete al
je 0x180087d8f
shr esi, 3
mov rbp, qword [rsp + 0xa0]
lea r11d, [rsi + 4]
cmp rbx, qword [rsp + 0x50]
jae 0x180087bb7
movsxd rax, esi
mov rcx, qword [rsp + 0x98]
add rax, rcx
add rax, 4
cmp rax, r15
jne 0x180087bb7
mov rbp, r15
mov rax, qword [rsp + 0xe8]
mov rcx, rax
cmp qword [rsp + 0x68], r15
mov r12d, r13d
mov rbx, qword [rsp + 0x58]
mov esi, dword [rsp + 0x88]
jbe 0x18008801e
mov rdx, rax
mov rax, qword [r15]
xor rax, qword [rdx]
je 0x18008800a
bsf rbp, rax
xor ecx, ecx
test rax, rax
sete al
je 0x180088014
shr ebp, 3
add r11d, ebp
mov r15d, dword [rsp + 0xbc]
mov rbp, qword [rsp + 0xa0]
jmp 0x180087bce
mov edx, r14d
add rdx, qword [rsp + 0x90]
mov r12d, r13d
movsxd rax, r13d
mov rcx, qword [rsp + 0x98]
movzx ecx, word [rcx + rax - 1]
cmp cx, word [rax + rdx - 1]
jne 0x180087be6
mov rax, qword [rsp + 0x40]
cmp dword [rdx], eax
jne 0x180087be6
mov r13, rbp
lea rcx, [rdx + 4]
mov rbp, qword [rsp + 0x70]
cmp qword [rsp + 0x68], rbp
jbe 0x18008ef28
mov rax, qword [rbp]
xor rax, qword [rcx]
je 0x180087fb8
mov r11, rbx
bsf rbp, rax
xor ebx, ebx
test rax, rax
sete al
je 0x180087fc5
shr ebp, 3
mov rbx, r11
add ebp, 4
cmp ebp, r12d
mov rax, qword [rsp + 0x48]
cmovg rax, rdx
mov qword [rsp + 0x48], rax
cmovg r12d, ebp
mov rbp, r13
jmp 0x180087be6
mov r15d, dword [rsp + 0xbc]
mov r12d, r13d
mov rbx, qword [rsp + 0x58]
mov esi, dword [rsp + 0x88]
cmp r11d, r12d
jle 0x180087be6
mov eax, r14d
add rax, qword [rsp + 0x90]
mov qword [rsp + 0x48], rax
mov r12d, r11d
mov r13d, r12d
lea r12d, [r10 - 1]
movzx eax, r14w
mov rcx, qword [rsp + 0x60]
movzx ecx, word [rcx + rax*2 + 0x20000]
cmp r15d, 0x81
jl 0x180087d14
cmp cx, 1
jne 0x180087d14
test ebp, ebp
je 0x180087cce
cmp ebp, 2
jne 0x180087d14
lea r15d, [r14 - 1]
cmp r15d, esi
jb 0x180087d0c
cmp edi, 3
jb 0x180087d0c
mov dword [rsp + 0xf0], r12d
cmp r15d, ebx
mov r11, qword [rsp + 0x90]
cmovb r11, qword [rsp + 0x1a0]
mov r12d, r15d
mov ebp, 2
mov rax, qword [rsp + 0x40]
cmp dword [r11 + r12], eax
jne 0x180087d35
mov dword [rsp + 0xa0], r13d
lea r14, [r11 + r12]
cmp r15d, ebx
mov rcx, qword [rsp + 0x50]
cmovb rcx, qword [rsp + 0xd0]
lea rdi, [r14 + 4]
lea rax, [rcx - 7]
mov rdx, rdi
cmp rdi, rax
mov rbp, qword [rsp + 0x40]
jae 0x1800883ce
lea rsi, [r11 + r12]
add rsi, 4
mov rdx, rdi
mov rbx, qword [rdx]
xor rbx, r9
jne 0x180087d47
add rdx, 8
add rsi, 8
cmp rdx, rax
jb 0x180087cb0
jmp 0x1800883ce
mov ebp, 1
cmp byte [rsp + 0x138], 0
je 0x180087d14
mov rax, qword [rsp + 0x70]
mov r8, rax
cmp qword [rsp + 0x68], rax
jbe 0x180088409
mov rax, qword [r8]
xor rax, r9
jne 0x180087ddd
add r8, 8
cmp r8, qword [rsp + 0x68]
jb 0x180087cf0
jmp 0x180088409
mov r15d, dword [rsp + 0xbc]
movzx eax, cx
sub r14d, eax
cmp r14d, esi
jb 0x1800881c0
cmp r10d, 1
mov r10d, r12d
jg 0x1800879fa
jmp 0x1800881c0
mov r15d, dword [rsp + 0xbc]
mov r12d, dword [rsp + 0xf0]
jmp 0x180087d14
bsf rdx, rbx
shr rdx, 3
add rdx, rsi
sub rdx, rdi
mov esi, edx
add rsi, 4
cmp r15d, dword [rsp + 0x58]
mov qword [rsp + 0xd8], rsi
jae 0x180087dfb
lea rax, [r14 + rsi]
cmp rax, rcx
je 0x1800880fd
mov rcx, qword [rsp + 0xc0]
jmp 0x180087e03
mov esi, 0x40
jmp 0x180087a7e
mov dl, al
mov rax, qword [rsp + 0x70]
lea rsi, [rax + rdx*8]
lea rcx, [rcx + rdx*8]
cmp rsi, rbp
jae 0x1800883e5
mov rax, qword [rsp + 0xe0]
add eax, esi
mov rdx, qword [rsi]
xor rdx, qword [rcx]
jne 0x180087dce
add rsi, 8
add rcx, 8
add eax, 8
cmp rsi, rbp
jb 0x180087db1
jmp 0x1800883e5
bsf rsi, rdx
shr rsi, 3
add esi, eax
jmp 0x180087a8f
bsf rax, rax
shr rax, 3
add r8, rax
sub r8d, dword [rsp + 0x70]
add r8, 4
mov ebp, 2
jmp 0x180087c1d
mov rcx, qword [rsp + 0xe8]
mov dword [rsp + 0x20c], ebp
lea rax, [rcx + 4]
add r11, r12
mov rsi, r14
mov rdx, rsi
mov rdi, r11
cmp rsi, rax
jb 0x180087e2c
lea rsi, [rdx - 4]
lea r11, [rdi - 4]
cmp dword [rdx - 4], ebp
je 0x180087e14
cmp rdx, rcx
mov rbx, qword [rsp + 0x58]
mov r12d, dword [rsp + 0xf0]
jbe 0x18008f033
mov r11, rbx
mov rax, rcx
sub rax, rdi
mov rdi, rax
add rdi, rdx
xor eax, eax
mov r13d, dword [rsp + 0xa0]
mov esi, dword [rsp + 0x88]
mov bl, byte [rdx + rax - 1]
cmp bl, byte [rsp + rax + 0x20f]
jne 0x180087e80
lea rbp, [rdx + rax]
dec rbp
dec rax
cmp rbp, rcx
ja 0x180087e62
jmp 0x180087e86
add rdx, rax
mov rdi, rdx
mov rbx, r11
mov rdx, r14
sub rdx, rdi
cmp r15d, ebx
jb 0x180088183
mov eax, edx
sub r14, rax
cmp r14, qword [rsp + 0xe8]
mov rbp, qword [rsp + 0xd8]
jne 0x180087f55
cmp dword [rsp + 0x80], ebx
mov rsi, qword [rsp + 0xc0]
jae 0x180087f49
mov ebp, edx
neg ebp
mov ecx, ebp
shl ecx, 3
mov rbx, qword [rsp + 0x40]
mov eax, ebx
rol eax, cl
test bpl, 3
cmove eax, ebx
mov dword [rsp + 0x20c], eax
mov rcx, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0x1d8]
cmp rbp, 4
jl 0x180088411
add rbp, 0xfffffffffffffffc
lea rdi, [rcx - 4]
cmp dword [rcx - 4], eax
mov rcx, rdi
je 0x180087ef8
add rdi, 4
mov rcx, rdi
mov rbp, qword [rsp + 0xd8]
lea rax, [rsp + 0x20f]
mov bl, byte [rcx - 1]
cmp bl, byte [rax]
jne 0x180087f3b
dec rcx
dec rax
cmp rcx, rsi
ja 0x180087f29
mov rax, qword [rsp + 0xd0]
sub eax, ecx
add eax, edx
mov edx, eax
mov rbx, qword [rsp + 0x58]
mov esi, dword [rsp + 0x88]
mov r14d, r15d
sub r14d, edx
cmp r14d, esi
cmovbe r14d, esi
mov ecx, r15d
sub ecx, r14d
add rcx, rbp
cmp rbp, r8
ja 0x180087f9e
cmp rcx, r8
jb 0x180087f9e
sub r15d, r8d
add r15d, ebp
mov eax, r15d
not eax
add eax, ebx
cmp eax, 3
cmovb r15d, ebx
mov ebp, 2
mov r14d, r15d
mov r15d, dword [rsp + 0xbc]
jmp 0x180087d1a
mov eax, r14d
not eax
add eax, ebx
mov ebp, 2
cmp eax, 3
jae 0x180088094
mov r14d, ebx
jmp 0x180087f91
mov r11, rbx
mov ebp, 0x40
jmp 0x180087b86
mov bl, al
mov rax, qword [rsp + 0x70]
lea rbp, [rax + rbx*8]
lea rcx, [rcx + rbx*8]
cmp rbp, qword [rsp + 0x68]
jae 0x1800884a3
mov rax, qword [rsp + 0xe0]
lea ebx, [rax + rbp]
mov rax, qword [rbp]
xor rax, qword [rcx]
jne 0x180088067
add rbp, 8
add rcx, 8
add ebx, 8
cmp rbp, qword [rsp + 0x68]
jb 0x180087fea
jmp 0x1800884a3
mov ebp, 0x40
jmp 0x180087afc
mov cl, al
lea rbp, [r15 + rcx*8]
lea rcx, [rdx + rcx*8]
mov ebx, r12d
cmp rbp, qword [rsp + 0x68]
jae 0x1800884b6
mov rax, qword [rsp + 0x158]
add rax, rdi
mov rdx, qword [rsp + 0x50]
cmp rdx, rax
cmovb rax, rdx
mov esi, ebp
sub esi, eax
mov rax, qword [rbp]
xor rax, qword [rcx]
jne 0x180088076
add rbp, 8
add rcx, 8
add esi, 8
cmp rbp, qword [rsp + 0x68]
jb 0x180088047
jmp 0x1800884b6
bsf rbp, rax
shr rbp, 3
add ebp, ebx
jmp 0x180087b97
bsf rbp, rax
shr rbp, 3
add ebp, esi
mov r12d, ebx
mov rbx, qword [rsp + 0x58]
mov esi, dword [rsp + 0x88]
jmp 0x180087b0d
cmp rcx, r8
cmovae rcx, r8
movsxd rax, r13d
cmp rcx, rax
mov r15d, dword [rsp + 0xbc]
jbe 0x1800880d6
mov eax, r14d
mov rdx, qword [rsp + 0x118]
sub rdx, rax
cmp rdx, 0xffff
ja 0x1800881c0
add rax, qword [rsp + 0x90]
mov qword [rsp + 0x48], rax
mov r13d, ecx
movzx eax, r14w
mov rcx, qword [rsp + 0x60]
movzx eax, word [rcx + rax*2 + 0x20000]
cmp r14d, eax
mov ecx, 0
cmovb eax, ecx
jae 0x180087d17
jmp 0x1800881c0
lea ecx, [rsi*8]
mov edi, ebp
rol edi, cl
test dl, 3
cmove edi, ebp
movabs rax, 0x100000001
imul rdi, rax
mov rax, qword [rsp + 0xe8]
mov rcx, rax
cmp rax, qword [rsp + 0x68]
jae 0x1800883b9
mov rax, qword [rcx]
xor rax, rdi
jne 0x18008814a
add rcx, 8
cmp rcx, qword [rsp + 0x68]
jb 0x180088132
jmp 0x1800883b9
bsf rax, rax
shr rax, 3
add rcx, rax
sub ecx, dword [rsp + 0xe8]
add qword [rsp + 0xd8], rcx
jmp 0x180087d7b
cmp byte [rdx], sil
jne 0x180087d52
inc rdx
shr rsi, 8
dec rax
jne 0x180088169
jmp 0x18008a83f
mov rbp, qword [rsp + 0xd8]
jmp 0x180087f55
cmp r8, qword [rsp + 0x50]
jae 0x180087de8
cmp byte [r8], al
jne 0x180087de8
inc r8
shr rax, 8
jmp 0x180088190
mov r13d, 3
mov r12d, r15d
mov esi, dword [rsp + 0x88]
mov rbx, r11
test r12d, r12d
jle 0x18008834f
mov r8, rbx
mov ebx, dword [rsp + 0xb0]
mov eax, ebx
sub eax, esi
cmp eax, 0xfffe
mov r14, qword [rsp + 0x180]
ja 0x18008834c
mov rdi, qword [r14 + 0x40000]
mov r10, qword [r14 + 0x40008]
sub rdi, r10
mov eax, dword [r14 + 0x40018]
mov rbp, qword [rsp + 0x98]
imul ecx, dword [rbp], 0x9e3779b1
add rdi, rax
shr ecx, 0x11
mov edx, dword [r14 + rcx*4]
add esi, edx
mov qword [rsp + 0xa0], rdi
sub esi, edi
mov ecx, ebx
sub ecx, esi
cmp ecx, 0xffff
ja 0x18008834c
sub r10, rax
lea r9, [rbp + 4]
mov rbx, r8
sub r12d, 1
jb 0x18008834f
mov ecx, edx
mov rax, qword [rsp + 0x40]
cmp dword [r10 + rcx], eax
jne 0x1800882d6
mov r8d, r15d
mov r15d, esi
mov rax, qword [rsp + 0xa0]
sub rax, rcx
add rax, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x50]
cmp rax, rbp
cmova rax, rbp
lea rsi, [r10 + rcx]
add rsi, 4
lea rbp, [rax - 7]
cmp rbp, r9
jbe 0x18008ee40
mov rcx, qword [r9]
xor rcx, qword [rsi]
je 0x1800882fc
bsf rdi, rcx
xor ebx, ebx
test rcx, rcx
sete cl
je 0x180088303
shr edi, 3
mov r11d, r13d
mov rbx, qword [rsp + 0x58]
mov esi, r15d
mov r15d, r8d
add edi, 4
mov r13d, r11d
cmp edi, r11d
jle 0x1800882d6
mov eax, esi
add rax, qword [rsp + 0x90]
mov qword [rsp + 0x48], rax
mov r13d, edi
movzx eax, dx
movzx eax, word [r14 + rax*2 + 0x20000]
sub edx, eax
sub esi, eax
mov eax, dword [rsp + 0xb0]
sub eax, esi
cmp eax, 0x10000
jb 0x180088241
jmp 0x18008834f
mov edi, 0x40
jmp 0x18008829e
mov bl, cl
lea rdi, [r9 + rbx*8]
lea rsi, [rsi + rbx*8]
cmp rdi, rbp
jae 0x180088427
mov rcx, qword [rsp + 0xe0]
add ecx, edi
mov rbx, qword [rdi]
xor rbx, qword [rsi]
jne 0x18008833d
add rdi, 8
add rsi, 8
add ecx, 8
cmp rdi, rbp
jb 0x180088320
jmp 0x180088427
bsf rdi, rbx
shr rdi, 3
add edi, ecx
jmp 0x1800882ab
mov rbx, r8
cmp r13d, 4
jge 0x180088500
mov r11, rbx
mov rbx, qword [rsp + 0x98]
inc rbx
mov rsi, qword [rsp + 0x150]
inc esi
mov rax, qword [rsp + 0xe0]
dec eax
mov qword [rsp + 0xe0], rax
inc qword [rsp + 0x158]
mov eax, dword [rsp + 0xb0]
cmp rbx, qword [rsp + 0xf8]
mov r10, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x90]
jbe 0x1800878e0
jmp 0x18008dca3
inc rcx
shr rdi, 8
cmp rcx, qword [rsp + 0x50]
jae 0x180088155
cmp byte [rcx], dil
je 0x1800883b2
jmp 0x180088155
cmp rdx, rcx
jae 0x180087d52
mov rax, rcx
sub rax, rdx
mov rsi, r9
jmp 0x180088169
lea rax, [r15 - 3]
cmp rsi, rax
jae 0x1800884c9
mov eax, dword [rcx]
cmp eax, dword [rsi]
mov rbp, qword [rsp + 0xa0]
jne 0x1800884d1
jmp 0x18008a878
mov rax, r9
jmp 0x180088190
test rbp, rbp
mov rbp, qword [rsp + 0xd8]
jg 0x180087f21
jmp 0x180087f3b
lea rcx, [rax - 3]
cmp rdi, rcx
jb 0x18008a847
lea rcx, [rax - 1]
cmp rdi, rcx
jb 0x18008a856
cmp rdi, rax
jb 0x18008a867
mov rbx, qword [rsp + 0x58]
mov esi, r15d
sub edi, r9d
mov r15d, r8d
mov r11d, r13d
jmp 0x1800882b9
cmp rbp, qword [rsp + 0x1a8]
jb 0x18008a885
cmp rbp, qword [rsp + 0x50]
jb 0x18008a897
sub ebp, dword [rsp + 0x70]
jmp 0x180087b9a
cmp rbp, qword [rsp + 0x1a8]
jb 0x18008a8a9
cmp rbp, qword [rsp + 0x50]
jb 0x18008a8bb
sub ebp, r15d
jmp 0x180087b0d
cmp rbp, qword [rsp + 0x1b0]
jae 0x18008a8e0
jmp 0x18008a8cd
cmp rbp, qword [rsp + 0x1b0]
jae 0x18008a907
jmp 0x18008a8e8
mov rbp, qword [rsp + 0xa0]
lea rax, [r15 - 1]
cmp rsi, rax
jae 0x1800884e6
movzx eax, word [rcx]
cmp ax, word [rsi]
je 0x18008a91b
cmp rsi, r15
jae 0x1800884f7
mov al, byte [rcx]
xor ecx, ecx
cmp al, byte [rsi]
sete cl
add rsi, rcx
sub esi, dword [rsp + 0x70]
jmp 0x180087a97
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x1b8], rax
mov r14, qword [rsp + 0x98]
mov qword [rsp + 0x100], r14
mov dword [rsp + 0xa0], r13d
mov eax, r13d
mov r10, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x168]
mov r13, qword [rsp + 0x170]
mov rsi, qword [rsp + 0x110]
mov qword [rsp + 0x170], r13
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x130], rax
cdqe
mov qword [rsp + 0x108], rax
mov r8, rsi
mov rsi, r14
mov edi, dword [rsp + 0xa0]
mov r13, qword [rsp + 0x48]
mov r14d, edi
movsxd r12, edi
lea r9, [rsi + r12]
cmp r9, qword [rsp + 0xf8]
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x1c8], r12
ja 0x18008a51f
mov qword [rsp + 0x120], r13
lea rbx, [r9 - 2]
mov rax, qword [r10 + 0x40008]
mov r13d, dword [r10 + 0x40018]
mov rdx, rbx
mov qword [rsp + 0xb0], rax
sub rdx, rax
lea ecx, [rdx + r13]
mov ebp, dword [r10 + 0x4001c]
lea eax, [rbp + 0x10000]
cmp eax, ecx
mov qword [rsp + 0x1d0], rdx
lea eax, [r13 + rdx - 0xffff]
mov qword [rsp + 0x80], rbp
cmova eax, ebp
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x70], rbx
mov rax, rbx
sub rax, rsi
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x1e8], r9
mov eax, dword [r9 - 2]
mov qword [rsp + 0x40], rax
mov eax, dword [r10 + 0x40020]
mov dword [rsp + 0x150], ecx
cmp eax, ecx
jae 0x18008867e
mov ecx, dword [rsp + 0x150]
mov rdx, qword [rsp + 0xb0]
sub rdx, r13
imul ebp, dword [rdx + rax], 0x9e3779b1
shr ebp, 0x11
mov ebx, eax
sub ebx, dword [r10 + rbp*4]
mov edi, 0xffff
cmp ebx, edi
jb 0x180088666
mov ebx, 0xffff
movzx edi, ax
mov word [r10 + rdi*2 + 0x20000], bx
mov dword [r10 + rbp*4], eax
inc rax
cmp rcx, rax
jne 0x180088648
mov rax, qword [r10 + 0x40028]
mov qword [rsp + 0x1a0], rax
mov rax, qword [r10 + 0x40010]
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x150]
mov dword [r10 + 0x40020], eax
mov rax, qword [rsp + 0x70]
imul eax, dword [rax], 0x9e3779b1
shr eax, 0x11
mov r10d, dword [r10 + rax*4]
mov ebp, dword [rsp + 0x48]
cmp r10d, ebp
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0x98], r8
jb 0x18008905f
test r15d, r15d
jle 0x18008905f
mov rcx, r13
mov rax, qword [rsp + 0x80]
sub rcx, rax
mov rdi, rax
neg rdi
mov r8, qword [rsp + 0x88]
mov qword [rsp + 0x198], rcx
lea rax, [r8 + rcx]
mov qword [rsp + 0x110], rax
add qword [rsp + 0x1d0], r13
movsxd rax, dword [rsp + 0xf0]
neg rax
mov qword [rsp + 0xe0], rax
mov rax, rsi
mov rcx, qword [rsp + 0x70]
sub rax, rcx
mov qword [rsp + 0x138], rax
lea rax, [rcx + 4]
mov qword [rsp + 0xc0], rax
lea eax, [r13 - 4]
mov dword [rsp + 0xd8], eax
mov rbx, qword [rsp + 0xb0]
sub rbx, r13
mov r9, qword [rsp + 0x40]
movzx eax, r9w
mov ecx, r9d
shr ecx, 0x10
xor ecx, eax
movzx eax, r9b
mov edx, r9d
shr edx, 0x18
xor edx, eax
or edx, ecx
sete byte [rsp + 0x1e0]
movabs rax, 0x100000001
imul r9, rax
add rdi, r8
mov qword [rsp + 0x158], rdi
mov qword [rsp + 0x58], rbx
lea rax, [rbx - 1]
mov qword [rsp + 0x148], rax
lea rax, [rsi + r12 - 3]
mov qword [rsp + 0xd0], rax
mov ecx, 0xfffffffe
sub ecx, r14d
sub ecx, esi
mov qword [rsp + 0x180], rcx
lea rax, [rsi + r12]
add rax, 0xfffffffffffffffe
mov qword [rsp + 0x128], rax
lea rax, [r8 - 1]
mov qword [rsp + 0x1d8], rax
xor eax, eax
mov qword [rsp + 0x90], rax
mov edi, r14d
mov r12d, r15d
xor r8d, r8d
mov r14d, r13d
sub r14d, r10d
mov dword [rsp + 0xa0], edi
jbe 0x180088960
cmp r10d, dword [rsp + 0xd8]
ja 0x180088a4b
mov edi, r10d
sub edi, dword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
lea rdx, [rax + rdi]
mov rax, qword [rsp + 0x40]
cmp dword [rdx], eax
jne 0x180088a4b
mov rax, qword [rsp + 0x70]
lea r13, [rax + r14]
mov rax, qword [rsp + 0x50]
cmp r13, rax
mov r15, r13
cmova r15, rax
add rdx, 4
lea rax, [r15 - 7]
mov rsi, qword [rsp + 0xc0]
cmp rax, rsi
jbe 0x180088c05
mov rbp, qword [rsi]
xor rbp, qword [rdx]
je 0x180088be9
bsf rsi, rbp
xor ebx, ebx
test rbp, rbp
sete cl
je 0x180088bf3
shr esi, 3
lea r11d, [rsi + 4]
cmp r13, qword [rsp + 0x50]
jae 0x180088c6e
movsxd rax, esi
mov rcx, qword [rsp + 0x70]
add rax, rcx
add rax, 4
cmp rax, r15
mov r13, qword [rsp + 0xe8]
jne 0x1800888ff
mov rsi, r15
mov rcx, qword [rsp + 0xb0]
mov rbx, rcx
cmp qword [rsp + 0x68], r15
jbe 0x180088efc
mov rax, qword [r15]
xor rax, qword [rcx]
je 0x180088ee0
bsf rsi, rax
xor ebx, ebx
test rax, rax
sete al
je 0x180088eea
shr esi, 3
add r11d, esi
mov rdx, qword [rsp + 0xd0]
cmp dword [rsp + 0xf0], 0
je 0x180088a0e
mov rax, qword [rsp + 0x1d8]
lea rsi, [rax + rdi]
neg rdi
mov rax, qword [rsp + 0x138]
cmp rax, rdi
cmovg rdi, rax
movsxd rdi, edi
mov eax, edi
sar eax, 0x1f
and eax, edi
xor ebx, ebx
cmp rbx, rdi
jle 0x180088a10
lea rbp, [rbx - 1]
mov cl, byte [rdx + rbx]
cmp cl, byte [rsi + rbx]
mov rbx, rbp
je 0x18008893f
inc ebp
mov eax, ebp
jmp 0x180088a10
mov eax, r10d
mov rcx, qword [rsp + 0x58]
lea rdx, [rcx + rax]
movsxd rcx, edi
mov rsi, qword [rsp + 0x78]
movzx esi, word [rsi + rcx - 1]
mov rbx, qword [rsp + 0xe0]
lea rdi, [rdx + rbx]
cmp si, word [rcx + rdi - 1]
jne 0x180088a4b
mov rcx, qword [rsp + 0x40]
cmp dword [rdx], ecx
jne 0x180088a4b
cmp dword [rsp + 0xf0], 0
mov rdi, qword [rsp + 0xd0]
mov r15, qword [rsp + 0xc0]
je 0x180088e2d
mov rcx, qword [rsp + 0xb0]
sub rcx, rdx
mov rbp, qword [rsp + 0x138]
cmp rbp, rcx
cmovg rcx, rbp
movsxd rsi, ecx
mov r11d, esi
sar r11d, 0x1f
and r11d, esi
add rax, qword [rsp + 0x148]
xor ebx, ebx
cmp rbx, rsi
jle 0x180088e30
lea rbp, [rbx - 1]
mov cl, byte [rdi + rbx]
cmp cl, byte [rax + rbx]
mov rbx, rbp
je 0x1800889ec
inc ebp
mov r11d, ebp
jmp 0x180088e30
xor eax, eax
sub r11d, eax
cmp r11d, dword [rsp + 0xa0]
mov ebp, dword [rsp + 0x48]
jle 0x180088a4b
mov ecx, r10d
add rcx, qword [rsp + 0x58]
cdqe
add rcx, rax
mov qword [rsp + 0xc8], rcx
add rax, qword [rsp + 0x70]
mov qword [rsp + 0x98], rax
mov dword [rsp + 0xa0], r11d
lea r15d, [r12 - 1]
movzx eax, r10w
mov rcx, qword [rsp + 0x60]
movzx esi, word [rcx + rax*2 + 0x20000]
cmp dword [rsp + 0xbc], 0x81
jl 0x180088b7d
cmp si, 1
jne 0x180088b7d
cmp dword [rsp + 0x90], 0
je 0x180088b34
cmp dword [rsp + 0x90], 2
mov rdi, qword [rsp + 0x40]
jne 0x180088b7d
lea r11d, [r10 - 1]
cmp r11d, ebp
jb 0x180088b7d
cmp r14d, 3
jb 0x180088b7d
cmp r11d, r13d
mov rbx, qword [rsp + 0x58]
cmovb rbx, qword [rsp + 0x158]
mov r14d, r11d
mov eax, 2
mov qword [rsp + 0x90], rax
cmp dword [rbx + r14], edi
jne 0x180088b7d
lea rax, [rbx + r14]
cmp r11d, r13d
mov r13, qword [rsp + 0x50]
cmovb r13, qword [rsp + 0x110]
mov r10, rax
add rax, 4
lea rdx, [r13 - 7]
mov rsi, rax
cmp rax, rdx
jae 0x180089414
lea rbp, [rbx + r14]
add rbp, 4
mov rsi, rax
mov rcx, qword [rsi]
xor rcx, r9
jne 0x180088ba5
add rsi, 8
add rbp, 8
cmp rsi, rdx
jb 0x180088b16
jmp 0x180089414
mov eax, 1
mov qword [rsp + 0x90], rax
cmp byte [rsp + 0x1e0], 0
je 0x180088b7d
mov rax, qword [rsp + 0xc0]
mov r8, rax
cmp qword [rsp + 0x68], rax
jbe 0x180089451
mov rax, qword [r8]
xor rax, r9
jne 0x180088c45
add r8, 8
cmp r8, qword [rsp + 0x68]
jb 0x180088b61
jmp 0x180089451
movzx eax, si
sub r10d, eax
mov edi, dword [rsp + 0xa0]
cmp r10d, ebp
jb 0x180089062
cmp r12d, 1
mov r12d, r15d
jg 0x180088801
jmp 0x180089062
bsf rsi, rcx
shr rsi, 3
add rsi, rbp
sub rsi, rax
mov ecx, esi
add rcx, 4
cmp r11d, dword [rsp + 0xe8]
mov qword [rsp + 0x90], rcx
jae 0x180088c7b
lea rax, [r10 + rcx]
cmp rax, r13
je 0x180088fab
mov rcx, qword [rsp + 0x88]
jmp 0x180088c83
mov esi, 0x40
jmp 0x180088886
mov bl, cl
mov rcx, qword [rsp + 0xc0]
lea rsi, [rcx + rbx*8]
lea rdx, [rdx + rbx*8]
cmp rsi, rax
jae 0x180089422
mov rcx, qword [rsp + 0x180]
lea ebp, [rcx + rsi]
mov rbx, qword [rsi]
xor rbx, qword [rdx]
jne 0x180088c36
add rsi, 8
add rdx, 8
add ebp, 8
cmp rsi, rax
jb 0x180088c19
jmp 0x180089422
bsf rsi, rbx
shr rsi, 3
add esi, ebp
jmp 0x180088897
bsf rax, rax
shr rax, 3
add r8, rax
sub r8d, dword [rsp + 0xc0]
add r8, 4
mov eax, 2
mov qword [rsp + 0x90], rax
jmp 0x180088a8a
mov r13, qword [rsp + 0xe8]
jmp 0x1800888ff
mov rcx, qword [rsp + 0xb0]
mov r13, qword [rsp + 0xe8]
mov dword [rsp + 0x20c], edi
lea rbp, [rcx + 4]
add rbx, r14
mov rax, r10
mov rsi, rax
mov rdx, rbx
cmp rax, rbp
jb 0x180088cb4
lea rax, [rsi - 4]
lea rbx, [rdx - 4]
cmp dword [rsi - 4], edi
je 0x180088c9c
cmp rsi, rcx
jbe 0x18008f24b
mov rax, rcx
sub rax, rdx
mov rdx, rax
add rdx, rsi
xor ebx, ebx
mov ebp, dword [rsp + 0x48]
mov al, byte [rsi + rbx - 1]
cmp al, byte [rsp + rbx + 0x20f]
jne 0x180088ced
lea rax, [rsi + rbx]
dec rax
dec rbx
cmp rax, rcx
ja 0x180088ccf
jmp 0x180088cf3
add rsi, rbx
mov rdx, rsi
mov rcx, qword [rsp + 0x90]
mov rsi, r10
sub rsi, rdx
cmp r11d, r13d
jb 0x180088db6
mov eax, esi
sub r10, rax
cmp r10, qword [rsp + 0xb0]
jne 0x180088db6
cmp dword [rsp + 0x80], r13d
mov rdi, qword [rsp + 0x88]
jae 0x180088db6
mov eax, esi
neg eax
mov ecx, eax
shl ecx, 3
mov rbp, qword [rsp + 0x40]
mov edx, ebp
rol edx, cl
test al, 3
cmove edx, ebp
mov dword [rsp + 0x20c], edx
mov rcx, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x198]
cmp rbx, 4
jl 0x18008e221
add rbx, 0xfffffffffffffffc
lea rbp, [rcx - 4]
cmp dword [rcx - 4], edx
mov rcx, rbp
je 0x180088d61
add rbp, 4
mov rcx, rbp
mov ebp, dword [rsp + 0x48]
lea rdx, [rsp + 0x20f]
mov al, byte [rcx - 1]
cmp al, byte [rdx]
jne 0x180088da0
dec rcx
dec rdx
cmp rcx, rdi
ja 0x180088d8e
mov rax, qword [rsp + 0x110]
sub eax, ecx
add eax, esi
mov esi, eax
mov rcx, qword [rsp + 0x90]
mov r10d, r11d
sub r10d, esi
cmp r10d, ebp
cmovbe r10d, ebp
mov edx, r11d
sub edx, r10d
add rdx, rcx
cmp rcx, r8
ja 0x180088e00
cmp rdx, r8
jb 0x180088e00
sub r11d, r8d
add r11d, ecx
mov eax, r11d
not eax
add eax, r13d
cmp eax, 3
cmovb r11d, r13d
mov eax, 2
mov qword [rsp + 0x90], rax
mov r10d, r11d
jmp 0x180088b83
mov eax, r10d
not eax
add eax, r13d
mov ecx, 2
mov qword [rsp + 0x90], rcx
cmp eax, 3
mov edi, dword [rsp + 0xa0]
jae 0x180088f60
mov r10d, r13d
jmp 0x180088b8a
xor r11d, r11d
lea rsi, [rdx + 4]
cmp qword [rsp + 0x68], r15
jbe 0x18008f23b
mov rax, qword [r15]
xor rax, qword [rsi]
je 0x180088e9a
bsf rbx, rax
xor ebp, ebp
test rax, rax
sete al
je 0x180088ea1
shr ebx, 3
mov eax, dword [rsp + 0xa0]
mov ebp, dword [rsp + 0x48]
sub ebx, r11d
add ebx, 4
cmp ebx, eax
jle 0x180088a4b
movsxd rax, r11d
add rdx, rax
add rax, qword [rsp + 0x70]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xc8], rdx
mov eax, ebx
mov dword [rsp + 0xa0], ebx
jmp 0x180088a4b
mov ebx, 0x40
jmp 0x180088e4b
mov bpl, al
lea rbx, [r15 + rbp*8]
lea rsi, [rsi + rbp*8]
cmp rbx, qword [rsp + 0x68]
jae 0x18008e249
mov rax, qword [rsp + 0x180]
add eax, ebx
mov rbp, qword [rbx]
xor rbp, qword [rsi]
jne 0x180088f42
add rbx, 8
add rsi, 8
add eax, 8
cmp rbx, qword [rsp + 0x68]
jb 0x180088ec1
jmp 0x18008e249
mov esi, 0x40
jmp 0x1800888eb
mov bl, al
lea rsi, [r15 + rbx*8]
mov rax, qword [rsp + 0xb0]
lea rbx, [rax + rbx*8]
cmp rsi, qword [rsp + 0x68]
jae 0x18008e272
mov rax, qword [rsp + 0x128]
lea rcx, [rax + r14]
mov rax, qword [rsp + 0x50]
cmp rcx, rax
cmovae rcx, rax
mov eax, esi
sub eax, ecx
mov rbp, qword [rsi]
xor rbp, qword [rbx]
jne 0x180088f51
add rsi, 8
add rbx, 8
add eax, 8
cmp rsi, qword [rsp + 0x68]
jb 0x180088f23
jmp 0x18008e272
bsf rbx, rbp
shr rbx, 3
add ebx, eax
jmp 0x180088e58
bsf rsi, rbp
shr rsi, 3
add esi, eax
jmp 0x1800888fc
cmp dword [rsp + 0xf0], 0
jne 0x180088b8a
cmp rdx, r8
cmovae rdx, r8
movsxd rax, edi
cmp rdx, rax
ja 0x1800893bc
movzx eax, r10w
mov rcx, qword [rsp + 0x60]
movzx eax, word [rcx + rax*2 + 0x20000]
cmp r10d, eax
mov ecx, 0
cmovb eax, ecx
jb 0x180089062
sub r10d, eax
jmp 0x180088b8a
lea ecx, [rcx*8]
mov ebp, edi
rol ebp, cl
test sil, 3
cmove ebp, edi
movabs rax, 0x100000001
imul rbp, rax
mov rax, qword [rsp + 0xb0]
mov rcx, rax
cmp rax, qword [rsp + 0x68]
mov r13, qword [rsp + 0xe8]
jae 0x1800893ff
mov rax, qword [rcx]
xor rax, rbp
jne 0x180089001
add rcx, 8
cmp rcx, qword [rsp + 0x68]
jb 0x180088fe9
jmp 0x1800893ff
bsf rax, rax
shr rax, 3
add rcx, rax
sub ecx, dword [rsp + 0xb0]
add qword [rsp + 0x90], rcx
mov rcx, qword [rsp + 0x88]
jmp 0x180088c8b
cmp byte [rsi], bpl
jne 0x180088bb0
inc rsi
shr rbp, 8
dec rdx
jne 0x180089028
jmp 0x18008ea00
cmp r8, qword [rsp + 0x50]
jae 0x180088c50
cmp byte [r8], al
jne 0x180088c50
inc r8
shr rax, 8
jmp 0x180089042
mov edi, r14d
test r15d, r15d
jle 0x18008939d
mov r14d, dword [rsp + 0x150]
mov eax, r14d
sub eax, ebp
cmp eax, 0xfffe
mov r10, qword [rsp + 0x60]
mov r8, qword [rsp + 0x98]
ja 0x180089315
mov rbx, qword [rsp + 0x1a0]
mov rax, qword [rbx + 0x40000]
mov r11, qword [rbx + 0x40008]
sub rax, r11
mov r9d, dword [rbx + 0x40018]
mov rsi, qword [rsp + 0x70]
imul ecx, dword [rsi], 0x9e3779b1
add rax, r9
shr ecx, 0x11
mov edx, ebp
mov ebp, dword [rbx + rcx*4]
add edx, ebp
mov qword [rsp + 0x88], rax
sub edx, eax
mov ecx, r14d
sub ecx, edx
cmp ecx, 0xffff
ja 0x180089315
mov r13d, edx
mov qword [rsp + 0x80], r11
mov rdx, r11
sub rdx, r9
lea rax, [rsi + 4]
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x78]
mov rax, rcx
sub rax, rsi
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xe8]
sub qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x118]
add eax, ecx
mov ebx, 0xfffffffe
sub ebx, eax
mov qword [rsp + 0xe0], rbx
lea rax, [rdx - 1]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x1c8]
lea r12, [rcx + rax]
add r12, 0xfffffffffffffffd
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x90], rdx
sub r15d, 1
jb 0x180089322
mov r9d, ebp
mov rax, qword [rsp + 0x40]
cmp dword [rdx + r9], eax
jne 0x180089272
mov rbx, r8
mov dword [rsp + 0xa0], edi
mov rsi, qword [rsp + 0x88]
sub rsi, r9
add rsi, qword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
cmp rsi, rax
cmova rsi, rax
lea r11, [rdx + r9]
lea r10, [r11 + 4]
lea r8, [rsi - 7]
mov rdx, qword [rsp + 0x58]
cmp r8, rdx
jbe 0x1800892c2
mov rdi, qword [rdx]
xor rdi, qword [r10]
je 0x1800892a9
bsf rdx, rdi
xor ecx, ecx
test rdi, rdi
sete al
je 0x1800892b3
shr edx, 3
mov r10, qword [rsp + 0x60]
mov r8, rbx
add edx, 4
cmp dword [rsp + 0xf0], 0
je 0x180089246
mov rax, qword [rsp + 0x80]
sub rax, r11
mov rcx, qword [rsp + 0xc0]
cmp rcx, rax
cmovg rax, rcx
movsxd rsi, eax
mov eax, esi
sar eax, 0x1f
and eax, esi
add r9, qword [rsp + 0xe8]
xor edi, edi
cmp rdi, rsi
jle 0x180089248
lea rcx, [rdi - 1]
mov bl, byte [r12 + rdi]
cmp bl, byte [r9 + rdi]
mov rdi, rcx
je 0x18008922a
inc ecx
mov eax, ecx
jmp 0x180089248
xor eax, eax
sub edx, eax
mov edi, dword [rsp + 0xa0]
cmp edx, edi
jle 0x180089272
mov ecx, r13d
add rcx, qword [rsp + 0xb0]
movsxd r8, eax
add rcx, r8
mov qword [rsp + 0x48], rcx
add r8, qword [rsp + 0x70]
mov edi, edx
movzx eax, bp
mov rcx, qword [rsp + 0x1a0]
movzx eax, word [rcx + rax*2 + 0x20000]
sub ebp, eax
mov ecx, r13d
sub ecx, eax
mov eax, r14d
mov r13d, ecx
sub eax, ecx
cmp eax, 0x10000
mov rdx, qword [rsp + 0x90]
jb 0x18008916a
jmp 0x180089322
mov edx, 0x40
jmp 0x1800891d6
mov cl, al
mov rax, qword [rsp + 0x58]
lea rdx, [rax + rcx*8]
lea r10, [r10 + rcx*8]
cmp rdx, r8
jae 0x18008e2bf
mov rax, qword [rsp + 0xe0]
lea r14d, [rax + rdx]
mov rcx, qword [rdx]
xor rcx, qword [r10]
jne 0x1800892f5
add rdx, 8
add r10, 8
add r14d, 8
cmp rdx, r8
jb 0x1800892d7
jmp 0x18008e2bf
bsf rdx, rcx
shr rdx, 3
add edx, r14d
mov r10, qword [rsp + 0x60]
mov r8, rbx
mov r14d, dword [rsp + 0x150]
jmp 0x1800891ef
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x48], rax
mov r14, qword [rsp + 0x118]
cmp edi, r14d
je 0x18008a529
mov rdx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x100]
cmp rbp, rdx
setb cl
mov rax, qword [rsp + 0x108]
add rax, rdx
cmp r8, rax
setb al
and al, cl
mov rbx, rdx
cmovne rbx, rbp
mov rcx, r8
sub rcx, rbx
mov rsi, r8
mov r13, qword [rsp + 0x48]
mov qword [rsp + 0xc8], r13
cmp rcx, 3
mov r15d, dword [rsp + 0xbc]
mov r12, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x170]
jl 0x180088579
jmp 0x180089471
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x48], rax
mov r10, qword [rsp + 0x60]
mov r8, qword [rsp + 0x98]
jmp 0x180089322
mov eax, r10d
mov rcx, qword [rsp + 0x1d0]
sub rcx, rax
cmp rcx, 0xffff
ja 0x180089062
add rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xc8], rax
mov edi, edx
jmp 0x180088f81
inc rcx
shr rbp, 8
cmp rcx, qword [rsp + 0x50]
jae 0x18008900c
cmp byte [rcx], bpl
je 0x1800893f8
jmp 0x18008900c
cmp rsi, r13
jae 0x180088bb0
jmp 0x18008e233
lea rax, [r15 - 3]
cmp rsi, rax
jb 0x18008e2ef
lea rax, [r15 - 1]
cmp rsi, rax
jb 0x18008e306
cmp rsi, r15
jb 0x18008e31f
sub esi, dword [rsp + 0xc0]
jmp 0x180088897
mov rax, r9
jmp 0x180089042
mov rbp, qword [rax]
mov qword [rdx], rbp
add rdx, 8
add rax, 8
cmp rdx, rcx
jb 0x180089459
jmp 0x18008e78a
mov dword [rsp + 0xa0], edi
test al, al
mov rax, qword [rsp + 0x120]
cmovne rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x120], rax
cmovne r14d, dword [rsp + 0x130]
mov rdx, rcx
mov qword [rsp + 0x198], rdx
cmp r14d, 0x12
mov eax, 0x12
cmovl eax, r14d
mov dword [rsp + 0x100], eax
cdqe
add rax, rbx
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x118], r14
movsxd rax, r14d
lea r13, [rbx + rax]
mov qword [rsp + 0x200], rax
lea rax, [rbx + rax + 3]
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x170], r13
mov qword [rsp + 0x128], rbx
mov rax, r8
sub rax, rbx
cmp rax, 0x11
jg 0x180089563
mov edi, dword [rsp + 0xa0]
movsxd rcx, edi
lea rdx, [r8 + rcx]
add rdx, 0xfffffffffffffffc
cmp qword [rsp + 0x1b8], rdx
lea ecx, [rax + rcx - 4]
cmovbe ecx, dword [rsp + 0x100]
mov eax, ebx
sub eax, r8d
add eax, ecx
test eax, eax
jle 0x18008a36e
mov ecx, eax
add r8, rcx
mov rdx, qword [rsp + 0x48]
add rdx, rcx
sub edi, eax
mov r11, r8
mov qword [rsp + 0xc8], rdx
mov eax, edi
jmp 0x18008957a
mov r11, r8
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xc8], rax
mov eax, dword [rsp + 0xa0]
mov qword [rsp + 0x130], rax
movsxd rbp, eax
lea r9, [r11 + rbp]
cmp r9, qword [rsp + 0xf8]
mov qword [rsp + 0x180], rbp
mov qword [rsp + 0x110], r11
ja 0x18008e358
lea r14, [r9 - 3]
mov r8, qword [r10 + 0x40008]
mov ecx, dword [r10 + 0x40018]
mov rsi, r14
sub rsi, r8
lea r12d, [rcx + rsi]
mov edx, dword [r10 + 0x4001c]
lea eax, [rdx + 0x10000]
cmp eax, r12d
lea eax, [rcx + rsi - 0xffff]
mov qword [rsp + 0x48], rdx
cmova eax, edx
mov dword [rsp + 0x90], eax
mov rax, r14
mov r13, r11
sub rax, r11
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x1e8], r9
mov r11d, dword [r9 - 3]
mov r9, rcx
mov eax, dword [r10 + 0x40020]
cmp eax, r12d
jae 0x180089651
mov ecx, r12d
mov rdx, r8
sub rdx, r9
imul ebp, dword [rdx + rax], 0x9e3779b1
shr ebp, 0x11
mov ebx, eax
sub ebx, dword [r10 + rbp*4]
mov edi, 0xffff
cmp ebx, edi
jb 0x180089639
mov ebx, 0xffff
movzx edi, ax
mov word [r10 + rdi*2 + 0x20000], bx
mov dword [r10 + rbp*4], eax
inc rax
cmp rcx, rax
jne 0x18008961b
mov qword [rsp + 0x98], r11
mov rax, qword [r10 + 0x40028]
mov qword [rsp + 0xd0], rax
mov rax, qword [r10 + 0x40010]
mov qword [rsp + 0x80], rax
mov dword [r10 + 0x40020], r12d
imul eax, dword [r14], 0x9e3779b1
shr eax, 0x11
mov r11d, dword [r10 + rax*4]
cmp r11d, dword [rsp + 0x90]
mov rax, r8
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0x58], r14
mov dword [rsp + 0xd8], r12d
jb 0x18008a01e
test r15d, r15d
mov r10, qword [rsp + 0x130]
jle 0x18008a02a
mov rcx, r9
mov rax, qword [rsp + 0x48]
sub rcx, rax
mov rbp, rax
neg rbp
mov rbx, qword [rsp + 0x80]
mov qword [rsp + 0x1d0], rcx
lea rax, [rbx + rcx]
mov qword [rsp + 0x150], rax
add rsi, r9
mov qword [rsp + 0x1f0], rsi
movsxd rax, dword [rsp + 0x78]
neg rax
mov qword [rsp + 0xf0], rax
mov rdi, r13
mov rax, r13
sub rax, r14
mov qword [rsp + 0x1a0], rax
lea rax, [r14 + 4]
mov qword [rsp + 0xc0], rax
lea eax, [r9 - 4]
mov dword [rsp + 0xe8], eax
mov rsi, r8
sub rsi, r9
mov r8, qword [rsp + 0x98]
movzx eax, r8w
mov ecx, r8d
shr ecx, 0x10
xor ecx, eax
movzx eax, r8b
mov edx, r8d
shr edx, 0x18
xor edx, eax
or edx, ecx
sete byte [rsp + 0x158]
movabs rax, 0x100000001
imul r8, rax
add rbp, rbx
mov qword [rsp + 0x138], rbp
mov qword [rsp + 0x88], rsi
lea rax, [rsi - 1]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x180]
lea rcx, [r13 + rax - 4]
mov qword [rsp + 0x40], rcx
lea ecx, [r10 + r13]
not ecx
mov qword [rsp + 0x1d8], rcx
lea rax, [r13 + rax - 3]
mov qword [rsp + 0x1c8], rax
lea rax, [rbx - 1]
mov qword [rsp + 0x1e0], rax
xor edi, edi
mov esi, r10d
mov r12d, r15d
xor r10d, r10d
mov qword [rsp + 0x70], r9
sub r9d, r11d
jbe 0x18008992f
cmp r11d, dword [rsp + 0xe8]
ja 0x180089a3d
mov ecx, r11d
sub ecx, dword [rsp + 0x48]
mov rax, qword [rsp + 0x80]
lea rdx, [rax + rcx]
mov rax, qword [rsp + 0x98]
cmp dword [rdx], eax
jne 0x180089a3d
mov rax, qword [rsp + 0x58]
lea r15, [rax + r9]
mov rax, qword [rsp + 0x50]
cmp r15, rax
mov r14, r15
cmova r14, rax
add rdx, 4
lea rbx, [r14 - 7]
mov rax, qword [rsp + 0xc0]
cmp rbx, rax
mov dword [rsp + 0xa0], esi
mov qword [rsp + 0xe0], rdi
jbe 0x18008f261
mov rax, qword [rax]
xor rax, qword [rdx]
je 0x180089c34
bsf rsi, rax
xor ebp, ebp
test rax, rax
sete al
je 0x180089c3e
shr esi, 3
lea r13d, [rsi + 4]
cmp r15, qword [rsp + 0x50]
jae 0x180089cb1
movsxd rax, esi
mov rdx, qword [rsp + 0x58]
add rax, rdx
add rax, 4
cmp rax, r14
mov rdi, qword [rsp + 0x40]
jne 0x1800898d9
mov rdx, r14
mov rbx, qword [rsp + 0xb0]
mov rsi, rbx
cmp qword [rsp + 0x68], r14
jbe 0x180089ed5
mov rax, qword [r14]
xor rax, qword [rbx]
je 0x180089eb8
bsf rdx, rax
xor esi, esi
test rax, rax
sete al
je 0x180089ec2
shr edx, 3
add r13d, edx
cmp dword [rsp + 0x78], 0
je 0x180089bea
mov rax, qword [rsp + 0x1e0]
lea rdx, [rax + rcx]
neg rcx
mov rax, qword [rsp + 0x1a0]
cmp rax, rcx
cmovg rcx, rax
movsxd rcx, ecx
mov eax, ecx
sar eax, 0x1f
and eax, ecx
xor esi, esi
cmp rsi, rcx
jle 0x180089bec
lea rbp, [rsi - 1]
mov bl, byte [rdi + rsi]
cmp bl, byte [rdx + rsi]
mov rsi, rbp
je 0x18008990e
inc ebp
mov eax, ebp
jmp 0x180089bec
mov eax, r11d
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov r15d, esi
movsxd rdx, esi
mov rsi, qword [rsp + 0x110]
movzx esi, word [rsi + rdx - 1]
mov rbx, qword [rsp + 0xf0]
add rbx, rcx
cmp si, word [rdx + rbx - 1]
jne 0x180089a3a
mov rdx, qword [rsp + 0x98]
cmp dword [rcx], edx
jne 0x180089a3a
cmp dword [rsp + 0x78], 0
je 0x180089e5f
mov r13, rdi
mov rdx, qword [rsp + 0xb0]
sub rdx, rcx
mov rsi, qword [rsp + 0x1a0]
cmp rsi, rdx
cmovg rdx, rsi
movsxd rdx, edx
mov r14d, edx
sar r14d, 0x1f
and r14d, edx
add rax, qword [rsp + 0x148]
xor esi, esi
cmp rsi, rdx
jle 0x1800899d3
lea rbp, [rsi - 1]
mov rdi, qword [rsp + 0x40]
mov bl, byte [rdi + rsi]
cmp bl, byte [rax + rsi]
mov rsi, rbp
je 0x1800899b5
inc ebp
mov r14d, ebp
mov rdi, r13
lea rax, [rcx + 4]
mov rdx, qword [rsp + 0xc0]
cmp qword [rsp + 0x68], rdx
jbe 0x180089e84
mov rsi, qword [rdx]
xor rsi, qword [rax]
je 0x180089e67
bsf rdx, rsi
xor ebp, ebp
test rsi, rsi
sete bl
je 0x180089e71
shr edx, 3
mov esi, r15d
sub edx, r14d
add edx, 4
cmp edx, esi
jle 0x180089a3d
movsxd rax, r14d
add rcx, rax
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x160], rcx
mov esi, edx
jmp 0x180089a3d
mov esi, r15d
lea r15d, [r12 - 1]
movzx eax, r11w
mov rcx, qword [rsp + 0x60]
movzx eax, word [rcx + rax*2 + 0x20000]
cmp dword [rsp + 0xbc], 0x81
jl 0x180089b36
cmp ax, 1
mov r14d, dword [rsp + 0x90]
jne 0x180089b3e
test edi, edi
je 0x180089b64
cmp edi, 2
jne 0x180089b3e
lea r13d, [r11 - 1]
cmp r13d, r14d
jb 0x180089b3e
cmp r9d, 3
jb 0x180089b3e
mov rcx, qword [rsp + 0x70]
cmp r13d, ecx
mov r14, qword [rsp + 0x88]
cmovb r14, qword [rsp + 0x138]
mov r9d, r13d
mov edi, 2
mov rdx, qword [rsp + 0x98]
cmp dword [r14 + r9], edx
jne 0x180089b36
mov dword [rsp + 0xa0], esi
lea rax, [r14 + r9]
cmp r13d, ecx
mov rcx, qword [rsp + 0x50]
cmovb rcx, qword [rsp + 0x150]
mov qword [rsp + 0xe0], rax
add rax, 4
lea rsi, [rcx - 7]
mov rdx, rax
cmp rax, rsi
mov rbp, qword [rsp + 0x98]
jae 0x18008a3de
lea rbx, [r14 + r9]
add rbx, 4
mov rdx, rax
mov rdi, qword [rdx]
xor rdi, r8
jne 0x180089ba5
add rdx, 8
add rbx, 8
cmp rdx, rsi
jb 0x180089b18
jmp 0x18008a3de
mov r14d, dword [rsp + 0x90]
movzx eax, ax
sub r11d, eax
mov r9, qword [rsp + 0x70]
cmp r11d, r14d
jb 0x18008a035
cmp r12d, 1
mov r12d, r15d
jg 0x1800897d9
jmp 0x18008a035
mov edi, 1
cmp byte [rsp + 0x158], 0
je 0x180089b3e
mov rcx, qword [rsp + 0xc0]
mov r10, rcx
cmp qword [rsp + 0x68], rcx
jbe 0x18008a423
mov rcx, qword [r10]
xor rcx, r8
jne 0x180089c90
add r10, 8
cmp r10, qword [rsp + 0x68]
jb 0x180089b89
jmp 0x18008a423
bsf rdx, rdi
shr rdx, 3
add rdx, rbx
mov rdi, qword [rsp + 0x80]
sub rdx, rax
mov r11d, edx
add r11, 4
cmp r13d, dword [rsp + 0x70]
jae 0x180089cbb
mov rax, qword [rsp + 0xe0]
lea rsi, [rax + r11]
cmp rsi, rcx
je 0x180089f80
mov rax, rdi
jmp 0x180089cc3
xor eax, eax
sub r13d, eax
mov esi, dword [rsp + 0xa0]
cmp r13d, esi
mov rdi, qword [rsp + 0xe0]
jle 0x180089a3d
mov ecx, r11d
add rcx, qword [rsp + 0x88]
cdqe
add rcx, rax
mov qword [rsp + 0x160], rcx
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x140], rax
mov esi, r13d
jmp 0x180089a3d
mov esi, 0x40
jmp 0x180089863
mov bpl, al
mov rax, qword [rsp + 0xc0]
lea rsi, [rax + rbp*8]
lea rdx, [rdx + rbp*8]
cmp rsi, rbx
jae 0x18008a3f4
mov rax, qword [rsp + 0x1d8]
add eax, esi
mov rbp, qword [rsi]
xor rbp, qword [rdx]
jne 0x180089c81
add rsi, 8
add rdx, 8
add eax, 8
cmp rsi, rbx
jb 0x180089c64
jmp 0x18008a3f4
bsf rsi, rbp
shr rsi, 3
add esi, eax
jmp 0x180089874
bsf rcx, rcx
shr rcx, 3
add r10, rcx
sub r10d, dword [rsp + 0xc0]
add r10, 4
mov edi, 2
jmp 0x180089a7e
mov rdi, qword [rsp + 0x40]
jmp 0x1800898d9
mov rax, qword [rsp + 0xb0]
mov dword [rsp + 0x20c], ebp
lea rsi, [rax + 4]
add r14, r9
mov rcx, qword [rsp + 0xe0]
mov rdi, rcx
mov rdx, rdi
mov rbx, r14
cmp rdi, rsi
jb 0x180089cf4
lea rdi, [rdx - 4]
lea r14, [rbx - 4]
cmp dword [rdx - 4], ebp
je 0x180089cdc
cmp rdx, rax
mov r9, qword [rsp + 0x70]
jbe 0x18008f525
mov rcx, rax
sub rcx, rbx
mov rbx, rcx
add rbx, rdx
xor esi, esi
mov r14d, dword [rsp + 0x90]
mov cl, byte [rdx + rsi - 1]
cmp cl, byte [rsp + rsi + 0x20f]
jne 0x180089d36
lea rcx, [rdx + rsi]
dec rcx
dec rsi
cmp rcx, rax
ja 0x180089d18
jmp 0x180089d3c
add rdx, rsi
mov rbx, rdx
mov esi, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0xe0]
mov rdx, rcx
sub rdx, rbx
cmp r13d, r9d
jb 0x180089dfc
mov eax, edx
sub rcx, rax
cmp rcx, qword [rsp + 0xb0]
mov rax, r11
jne 0x180089dff
cmp dword [rsp + 0x48], r9d
jae 0x180089dff
mov eax, edx
neg eax
mov ecx, eax
shl ecx, 3
mov ebx, ebp
rol ebx, cl
test al, 3
cmove ebx, ebp
mov dword [rsp + 0x20c], ebx
mov rcx, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x1d0]
cmp rdi, 4
jl 0x18008ecfc
add rdi, 0xfffffffffffffffc
lea rsi, [rcx - 4]
cmp dword [rcx - 4], ebx
mov rcx, rsi
je 0x180089da4
add rsi, 4
mov rcx, rsi
mov esi, dword [rsp + 0xa0]
mov rdi, qword [rsp + 0x80]
lea rbx, [rsp + 0x20f]
mov al, byte [rcx - 1]
cmp al, byte [rbx]
jne 0x180089dee
dec rcx
dec rbx
cmp rcx, rdi
ja 0x180089ddc
mov rax, qword [rsp + 0x150]
sub eax, ecx
add eax, edx
mov edx, eax
mov rax, r11
mov r11d, r13d
sub r11d, edx
cmp r11d, r14d
cmovbe r11d, r14d
mov ecx, r13d
sub ecx, r11d
add rcx, rax
cmp rax, r10
ja 0x180089e41
cmp rcx, r10
jb 0x180089e41
sub r13d, r10d
add r13d, eax
mov eax, r13d
not eax
add eax, r9d
cmp eax, 3
cmovb r13d, r9d
mov edi, 2
mov r11d, r13d
jmp 0x180089b49
mov eax, r11d
not eax
add eax, r9d
mov edi, 2
cmp eax, 3
jae 0x180089f38
mov r11d, r9d
jmp 0x180089b49
xor r14d, r14d
jmp 0x1800899d6
mov edx, 0x40
jmp 0x1800899fd
mov bpl, bl
mov rdx, qword [rsp + 0xc0]
lea rdx, [rdx + rbp*8]
lea rax, [rax + rbp*8]
cmp rdx, qword [rsp + 0x68]
jae 0x18008ed27
mov rsi, qword [rsp + 0x1d8]
add esi, edx
mov rbp, qword [rdx]
xor rbp, qword [rax]
jne 0x180089f1a
add rdx, 8
add rax, 8
add esi, 8
cmp rdx, qword [rsp + 0x68]
jb 0x180089e99
jmp 0x18008ed27
mov edx, 0x40
jmp 0x1800898c5
mov sil, al
lea rdx, [r14 + rsi*8]
mov rax, qword [rsp + 0xb0]
lea rsi, [rax + rsi*8]
cmp rdx, qword [rsp + 0x68]
jae 0x18008ed7c
mov rax, qword [rsp + 0x1c8]
add rax, r9
mov rbx, qword [rsp + 0x50]
cmp rax, rbx
cmovae rax, rbx
mov ebp, edx
sub ebp, eax
mov rax, qword [rdx]
xor rax, qword [rsi]
jne 0x180089f29
add rdx, 8
add rsi, 8
add ebp, 8
cmp rdx, qword [rsp + 0x68]
jb 0x180089efb
jmp 0x18008ed7c
bsf rdx, rbp
shr rdx, 3
add edx, esi
jmp 0x180089a0e
bsf rdx, rax
shr rdx, 3
add edx, ebp
jmp 0x1800898d6
cmp dword [rsp + 0x78], 0
jne 0x180089b49
cmp rcx, r10
cmovae rcx, r10
movsxd rax, esi
cmp rcx, rax
ja 0x18008a383
movzx eax, r11w
mov rcx, qword [rsp + 0x60]
movzx eax, word [rcx + rax*2 + 0x20000]
cmp r11d, eax
mov ecx, 0
cmovb eax, ecx
jb 0x18008a035
sub r11d, eax
jmp 0x180089b49
lea ecx, [r11*8]
mov esi, ebp
rol esi, cl
test dl, 3
cmove esi, ebp
movabs rax, 0x100000001
imul rsi, rax
mov rax, qword [rsp + 0xb0]
mov rcx, rax
cmp rax, qword [rsp + 0x68]
jae 0x18008a3c9
mov rdx, qword [rcx]
xor rdx, rsi
jne 0x180089fce
add rcx, 8
cmp rcx, qword [rsp + 0x68]
jb 0x180089fb6
jmp 0x18008a3c9
bsf rdx, rdx
shr rdx, 3
add rcx, rdx
sub ecx, dword [rsp + 0xb0]
add r11, rcx
jmp 0x180089be2
cmp byte [rdx], bl
jne 0x180089bb8
inc rdx
shr rbx, 8
dec rsi
jne 0x180089fe8
jmp 0x18008f047
cmp r10, qword [rsp + 0x50]
jae 0x180089c9b
cmp byte [r10], cl
jne 0x180089c9b
inc r10
shr rcx, 8
jmp 0x18008a001
mov rax, qword [rsp + 0x130]
mov esi, eax
jmp 0x18008a02d
mov esi, r10d
mov r14d, dword [rsp + 0x90]
test r15d, r15d
jle 0x18008a2d7
mov ebx, dword [rsp + 0xd8]
mov eax, ebx
sub eax, r14d
cmp eax, 0xfffe
ja 0x18008a2d7
mov rdi, qword [rsp + 0xd0]
mov r11, qword [rdi + 0x40000]
mov rbp, qword [rdi + 0x40008]
sub r11, rbp
mov eax, dword [rdi + 0x40018]
mov rdx, qword [rsp + 0x58]
imul ecx, dword [rdx], 0x9e3779b1
add r11, rax
shr ecx, 0x11
mov r12d, dword [rdi + rcx*4]
add r14d, r12d
sub r14d, r11d
mov ecx, ebx
sub ecx, r14d
cmp ecx, 0xffff
ja 0x18008a2d7
mov qword [rsp + 0x90], rbp
sub rbp, rax
lea rax, [rdx + 4]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x110]
mov rcx, rax
sub rcx, rdx
mov qword [rsp + 0x88], rcx
sub qword [rsp + 0xb0], r9
mov rcx, qword [rsp + 0x130]
add ecx, eax
not ecx
mov qword [rsp + 0xf0], rcx
lea rcx, [rbp - 1]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x180]
lea r13, [rax + rcx - 4]
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x48], rax
mov r8, qword [rsp + 0x140]
mov r10, qword [rsp + 0x60]
mov qword [rsp + 0x80], r11
mov qword [rsp + 0xc0], rbp
sub r15d, 1
jb 0x18008a2f1
mov r9d, r12d
mov rax, qword [rsp + 0x98]
cmp dword [rbp + r9], eax
jne 0x18008a229
mov rbx, r8
mov dword [rsp + 0xa0], esi
mov rsi, r11
sub rsi, r9
add rsi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
cmp rsi, rax
cmova rsi, rax
lea rdx, [rbp + r9]
lea r10, [rdx + 4]
lea r8, [rsi - 7]
mov rdi, qword [rsp + 0x40]
cmp r8, rdi
jbe 0x18008a276
mov rax, qword [rdi]
xor rax, qword [r10]
je 0x18008a25d
bsf rdi, rax
xor ecx, ecx
test rax, rax
sete al
je 0x18008a267
shr edi, 3
mov r10, qword [rsp + 0x60]
mov r8, rbx
add edi, 4
cmp dword [rsp + 0x78], 0
je 0x18008a1fd
mov rax, qword [rsp + 0x90]
sub rax, rdx
mov rcx, qword [rsp + 0x88]
cmp rcx, rax
cmovg rax, rcx
movsxd rsi, eax
mov edx, esi
sar edx, 0x1f
and edx, esi
add r9, qword [rsp + 0x70]
xor eax, eax
cmp rax, rsi
jle 0x18008a1ff
lea rcx, [rax - 1]
mov bl, byte [r13 + rax]
cmp bl, byte [r9 + rax]
mov rax, rcx
je 0x18008a1e0
inc ecx
mov edx, ecx
jmp 0x18008a1ff
xor edx, edx
sub edi, edx
mov esi, dword [rsp + 0xa0]
cmp edi, esi
jle 0x18008a229
mov eax, r14d
add rax, qword [rsp + 0xb0]
movsxd r8, edx
add rax, r8
mov qword [rsp + 0x48], rax
add r8, qword [rsp + 0x58]
mov esi, edi
movzx eax, r12w
mov rcx, qword [rsp + 0xd0]
movzx eax, word [rcx + rax*2 + 0x20000]
sub r12d, eax
sub r14d, eax
mov eax, dword [rsp + 0xd8]
sub eax, r14d
cmp eax, 0x10000
jb 0x18008a126
jmp 0x18008a2f1
mov edi, 0x40
jmp 0x18008a192
mov cl, al
mov rax, qword [rsp + 0x40]
lea rdi, [rax + rcx*8]
lea r10, [r10 + rcx*8]
mov ebp, r14d
cmp rdi, r8
jae 0x18008ee0b
mov rax, qword [rsp + 0xf0]
lea r14d, [rax + rdi]
mov rax, qword [rdi]
xor rax, qword [r10]
jne 0x18008a2ac
add rdi, 8
add r10, 8
add r14d, 8
cmp rdi, r8
jb 0x18008a28e
jmp 0x18008ee0b
bsf rdi, rax
shr rdi, 3
add edi, r14d
mov r10, qword [rsp + 0x60]
mov r8, rbx
mov r14d, ebp
mov r11, qword [rsp + 0x80]
mov rbp, qword [rsp + 0xc0]
jmp 0x18008a1ab
mov r8, qword [rsp + 0x140]
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x48], rax
mov r10, qword [rsp + 0x60]
cmp esi, dword [rsp + 0x130]
je 0x18008e43e
mov dword [rsp + 0xa0], esi
cmp r8, qword [rsp + 0x108]
mov r15d, dword [rsp + 0xbc]
mov r12, qword [rsp + 0x168]
mov r13, qword [rsp + 0x170]
mov rsi, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x198]
jae 0x18008a42b
mov qword [rsp + 0x140], r8
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x160], rax
cmp r8, r13
jb 0x180089504
jmp 0x18008e657
mov r11, r8
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xc8], rax
jmp 0x18008955f
mov eax, r11d
mov rdx, qword [rsp + 0x1f0]
sub rdx, rax
cmp rdx, 0xffff
ja 0x18008a035
add rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x160], rax
mov esi, ecx
jmp 0x180089f56
inc rcx
shr rsi, 8
cmp rcx, qword [rsp + 0x50]
jae 0x180089fd9
cmp byte [rcx], sil
je 0x18008a3c2
jmp 0x180089fd9
cmp rdx, rcx
mov rdi, qword [rsp + 0x80]
jae 0x180089bb8
jmp 0x18008ed19
lea rax, [r14 - 3]
cmp rsi, rax
jb 0x18008edca
lea rax, [r14 - 1]
cmp rsi, rax
jb 0x18008ede1
cmp rsi, r14
jb 0x18008edfa
sub esi, dword [rsp + 0xc0]
jmp 0x180089874
mov rcx, r8
jmp 0x18008a001
cmp rsi, r13
jb 0x18008eab2
jmp 0x18008eb15
lea rcx, [r11 + r13]
mov rax, rdi
mov rdx, r11
mov rbp, qword [rax]
mov qword [rdx], rbp
add rdx, 8
add rax, 8
cmp rdx, rcx
jb 0x18008a443
mov ebp, ebx
movsxd r14, dword [rsp + 0x100]
lea r9, [r14 - 4]
mov rax, r9
movabs rdx, 0x8080808080808081
mul rdx
sub ebp, dword [rsp + 0x120]
mov word [rcx], bp
cmp dword [rsp + 0xac], 0
jne 0x18008eb22
add rcx, 2
cmp r9, 0xf
jb 0x18008ec6e
jmp 0x18008ebd3
mov rdx, rbx
add rdx, r14
mov rbx, rsi
mov r12, rcx
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x140], r8
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x130]
mov r14d, eax
jmp 0x18008949f
mov dword [rsp + 0x100], eax
mov r13, rbx
sub r13, rdi
mov rax, r13
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0xac], 0
jne 0x18008ea90
lea r11, [r12 + 1]
cmp r13, 0xf
jb 0x18008ebc4
jmp 0x18008eb47
mov qword [rsp + 0x110], r8
jmp 0x18008a55b
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x110], r8
mov r15d, dword [rsp + 0xbc]
mov r13, qword [rsp + 0x120]
mov r9, qword [rsp + 0x1e8]
mov rsi, qword [rsp + 0x78]
mov r14, rsi
sub r14, qword [rsp + 0x170]
mov rax, r14
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0xac], 0
mov r12, qword [rsp + 0x168]
je 0x18008a5a5
shr rdx, 7
add rdx, r12
lea rax, [r14 + rdx]
add rax, 9
cmp rax, qword [rsp + 0x178]
ja 0x18008f04f
lea rdi, [r12 + 1]
cmp r14, 0xf
jb 0x18008a5cc
lea rax, [r14 - 0xf]
mov byte [r12], 0xf0
cmp rax, 0xff
jae 0x18008e055
mov byte [rdi], al
inc rdi
jmp 0x18008a5d6
mov eax, r14d
shl al, 4
mov byte [r12], al
lea r12, [rdi + r14]
xor eax, eax
mov rbp, qword [rsp + 0x170]
mov rcx, qword [rbp + rax]
lea rdx, [rdi + rax]
add rdx, 8
mov qword [rdx - 8], rcx
add rax, 8
cmp rdx, r12
jb 0x18008a5e4
mov rax, qword [rsp + 0x78]
mov ebp, eax
mov rax, qword [rsp + 0x1c8]
lea rcx, [rax - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub ebp, r13d
mov word [r12], bp
cmp dword [rsp + 0xac], 0
je 0x18008a64d
shr rdx, 7
lea rax, [r12 + rdx]
add rax, 8
cmp rax, qword [rsp + 0x178]
ja 0x18008f171
add r12, 2
cmp rcx, 0xf
jb 0x18008a6c8
mov rax, qword [rsp + 0x168]
add byte [rax], 0xf
mov rbp, qword [rsp + 0x1c8]
lea rax, [rbp - 0x13]
cmp rax, 0x1fe
jae 0x18008e0aa
cmp rax, 0xff
mov r11, qword [rsp + 0x110]
jb 0x18008a698
add rax, 0xffffffffffffff01
mov byte [r12], 0xff
inc r12
mov byte [r12], al
inc r12
mov rcx, r12
mov r8, r9
cmp r9, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x190]
mov rbp, qword [rsp + 0x188]
jbe 0x18008780a
jmp 0x18008dcc3
mov rax, qword [rsp + 0x168]
add byte [rax], cl
mov r11, qword [rsp + 0x110]
jmp 0x18008a69f
mov eax, r11d
sub eax, ebx
cmp r11, r13
mov rcx, qword [rsp + 0x118]
cmovb ecx, eax
mov qword [rsp + 0x118], rcx
mov rsi, rbx
sub rsi, rdi
mov rax, rsi
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0xac], 0
mov r13, qword [rsp + 0x120]
jne 0x18008e330
lea r13, [r12 + 1]
cmp rsi, 0xf
jb 0x18008e528
jmp 0x18008e498
lea r14, [rsi + r13]
xor eax, eax
mov rcx, qword [rdi + rax]
lea rdx, [rax + r13]
add rdx, 8
mov qword [rdx - 8], rcx
add rax, 8
cmp rdx, r14
jb 0x18008a73d
mov ecx, ebx
movsxd rax, dword [rsp + 0x118]
mov qword [rsp + 0x40], rax
lea r8, [rax - 4]
mov rax, r8
movabs rdx, 0x8080808080808081
mul rdx
sub ecx, dword [rsp + 0x120]
mov word [r14], cx
cmp dword [rsp + 0xac], 0
jne 0x18008e3b1
add r14, 2
cmp r8, 0xf
jb 0x18008e60d
jmp 0x18008e568
add rbx, rcx
mov r12, r11
sub r12, rbx
mov rax, r12
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0xac], 0
jne 0x18008e536
lea rsi, [r14 + 1]
cmp r12, 0xf
jb 0x18008e724
jmp 0x18008e6a5
add r12, rsi
mov rax, rbx
mov rcx, rsi
mov rdx, qword [rax]
mov qword [rcx], rdx
add rcx, 8
add rax, 8
cmp rcx, r12
jb 0x18008a7e8
mov edi, r11d
lea rcx, [rbp - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub edi, dword [rsp + 0xc8]
mov word [r12], di
cmp dword [rsp + 0xac], 0
jne 0x18008e61b
add r12, 2
cmp rcx, 0xf
jb 0x18008e985
jmp 0x18008e8fd
mov rdx, rcx
jmp 0x180087d52
mov ecx, dword [rsi]
cmp ecx, dword [rdi]
jne 0x180088434
jmp 0x18008e9a7
movzx ecx, word [rsi]
cmp cx, word [rdi]
jne 0x180088441
jmp 0x18008e9b4
mov al, byte [rsi]
xor ecx, ecx
cmp al, byte [rdi]
sete cl
add rdi, rcx
jmp 0x18008844a
add rsi, 4
add rcx, 4
jmp 0x1800884d1
movzx eax, word [rcx]
cmp ax, word [rbp]
jne 0x18008846e
jmp 0x18008e9c1
mov al, byte [rcx]
xor ecx, ecx
cmp al, byte [rbp]
sete cl
add rbp, rcx
jmp 0x180088479
movzx eax, word [rcx]
cmp ax, word [rbp]
jne 0x180088490
jmp 0x18008e9ce
mov al, byte [rcx]
xor ecx, ecx
cmp al, byte [rbp]
sete cl
add rbp, rcx
jmp 0x18008849b
mov eax, dword [rcx]
cmp eax, dword [rbp]
mov rbx, r11
jne 0x180088460
jmp 0x18008e9db
mov rbx, r11
jmp 0x180088460
mov eax, dword [rcx]
cmp eax, dword [rbp]
mov r12d, ebx
mov rbx, qword [rsp + 0x58]
mov esi, dword [rsp + 0x88]
jne 0x180088482
jmp 0x18008e9e8
mov r12d, ebx
mov rbx, qword [rsp + 0x58]
mov esi, dword [rsp + 0x88]
jmp 0x180088482
add rsi, 2
add rcx, 2
jmp 0x1800884e6
mov r15, qword [rsp + 0x190]
mov rcx, qword [rsp + 0x1f0]
add rcx, r15
add rcx, 0xfffffffffffffffb
mov qword [rsp + 0x58], rcx
lea rdx, [rcx - 7]
lea rcx, [r9 + 0x4c]
mov qword [rsp + 0x1b0], rcx
lea rcx, [r9 + 0x50]
mov qword [rsp + 0x1a8], rcx
lea rcx, [r9 + 8]
mov qword [rsp + 0x1b8], rcx
mov qword [rsp + 0x108], rbp
mov r12, r15
mov qword [rsp + 0x68], rdx
mov r9, r15
mov qword [rsp + 0x128], r12
sub r9, r12
mov rsi, qword [r10 + 0x40008]
mov ecx, dword [r10 + 0x40018]
mov r14, r15
sub r14, rsi
lea r11d, [rcx + r14]
mov eax, dword [r10 + 0x4001c]
lea edx, [rax + 0x10000]
mov dword [rsp + 0x1c8], edx
cmp edx, r11d
lea edx, [rcx + r14 - 0xffff]
cmova edx, eax
mov dword [rsp + 0x48], edx
mov rdx, rcx
sub rdx, rax
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0xc0], rax
neg rax
mov qword [rsp + 0x150], rax
mov eax, dword [r15]
mov qword [rsp + 0x80], rax
mov eax, dword [r10 + 0x40020]
mov qword [rsp + 0x40], rcx
mov r8, rcx
neg r8
cmp eax, r11d
jae 0x18008aa48
mov ecx, r11d
lea rdx, [rsi + r8]
imul ebp, dword [rdx + rax], 0x9e3779b1
shr ebp, 0x11
mov ebx, eax
sub ebx, dword [r10 + rbp*4]
mov edi, 0xffff
cmp ebx, edi
jb 0x18008aa30
mov ebx, 0xffff
movzx edi, ax
mov word [r10 + rdi*2 + 0x20000], bx
mov dword [r10 + rbp*4], eax
inc rax
cmp rcx, rax
jne 0x18008aa12
mov qword [rsp + 0xe0], r9
mov rax, qword [r10 + 0x40028]
mov qword [rsp + 0xe8], rax
mov rdx, qword [r10 + 0x40010]
mov dword [rsp + 0x50], r11d
mov dword [r10 + 0x40020], r11d
imul eax, dword [r15], 0x9e3779b1
mov rcx, qword [rsp + 0x140]
add rcx, rdx
mov qword [rsp + 0x158], rcx
shr eax, 0x11
mov r13d, dword [r10 + rax*4]
lea rax, [r15 + 4]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x40]
lea eax, [rcx - 4]
mov dword [rsp + 0x1a0], eax
mov rax, rsi
mov qword [rsp + 0xd0], rsi
add r8, rsi
mov qword [rsp + 0x90], r8
mov r8, rdx
mov rbx, qword [rsp + 0x80]
movzx eax, bx
mov edx, ebx
shr edx, 0x10
xor edx, eax
movzx eax, bl
mov ebp, ebx
shr ebp, 0x18
xor ebp, eax
or ebp, edx
mov rbp, rcx
sete byte [rsp + 0xd8]
mov rsi, r15
mov r15, rbx
movabs rax, 0x100000001
imul r15, rax
add qword [rsp + 0x150], r8
add r14, rcx
mov qword [rsp + 0xc8], r14
mov ecx, 0xfffffffc
mov rax, rsi
mov qword [rsp + 0xf0], rsi
sub ecx, esi
mov qword [rsp + 0x138], rcx
mov ecx, 3
xor eax, eax
mov qword [rsp + 0xb0], rax
xor r11d, r11d
mov dword [rsp + 0x70], 0
xor r14d, r14d
mov r9d, dword [rsp + 0xbc]
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0x88], r8
mov esi, dword [rsp + 0x48]
cmp r13d, esi
jb 0x18008b450
test r9d, r9d
jle 0x18008b450
xor r12d, r12d
cmp byte [rsp + 0xa0], 0
je 0x18008ac52
mov edx, dword [rsp + 0x50]
sub edx, r13d
cmp edx, 8
jae 0x18008ac52
dec r9d
cmp r12d, ecx
mov qword [rsp + 0x98], rcx
jne 0x18008ae35
lea edx, [rcx + r13]
cmp edx, dword [rsp + 0x50]
ja 0x18008ae35
cmp r12d, 4
jl 0x18008ae35
lea edx, [r12 - 3]
xor esi, esi
mov edi, 0x10
mov ebp, 1
mov eax, 0x10
mov ecx, ebp
lea ebp, [rsi + r13]
movzx ebp, bp
movzx ebp, word [r10 + rbp*2 + 0x20000]
lea ebx, [rdi + 1]
sar edi, 4
cmp ecx, ebp
cmovb ebx, eax
cmova ebp, ecx
cmovb r14d, esi
mov ecx, edi
add ecx, esi
mov esi, ecx
mov edi, ebx
cmp ecx, edx
jl 0x18008abd9
xor edx, edx
cmp r13d, ebp
setb r8b
mov ecx, ebp
mov esi, 0
cmovb ecx, esi
cmp ebp, 2
cmovb ecx, esi
sub r13d, ecx
cmp ebp, 1
jbe 0x18008ae1f
mov dl, r8b
or edx, 2
mov ecx, r12d
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x40]
mov r8, qword [rsp + 0x88]
mov esi, dword [rsp + 0x48]
jmp 0x18008af2f
mov r10d, ebp
sub r10d, r13d
jbe 0x18008ad78
cmp r13d, dword [rsp + 0x1a0]
ja 0x18008ee36
mov esi, r13d
sub esi, dword [rsp + 0xc0]
add rsi, r8
mov rax, qword [rsp + 0x80]
cmp dword [rsi], eax
jne 0x18008af85
mov dword [rsp + 0x98], r9d
mov r9, rcx
add r10, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x58]
cmp r10, rcx
mov r8, r10
cmova r8, rcx
add rsi, 4
lea rbx, [r8 - 7]
mov rdx, qword [rsp + 0x78]
cmp rbx, rdx
jbe 0x18008f1f5
mov rdi, qword [rdx]
xor rdi, qword [rsi]
je 0x18008b03d
bsf rdx, rdi
mov rcx, r9
xor ebp, ebp
test rdi, rdi
sete dil
je 0x18008b047
shr edx, 3
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x40]
mov esi, dword [rsp + 0x48]
lea r12d, [rdx + 4]
cmp r10, qword [rsp + 0x58]
jae 0x18008b004
movsxd rdx, edx
mov rax, qword [rsp + 0xf0]
add rdx, rax
add rdx, 4
cmp rdx, r8
jne 0x18008b004
mov rdx, r8
mov rax, qword [rsp + 0xd0]
mov rsi, rax
cmp rbx, r8
jbe 0x18008b2ca
mov rsi, qword [r8]
xor rsi, qword [rax]
je 0x18008b2ad
bsf rdx, rsi
xor edi, edi
test rsi, rsi
sete sil
je 0x18008b2b7
shr edx, 3
mov r10, qword [rsp + 0x60]
mov esi, dword [rsp + 0x48]
mov r9d, dword [rsp + 0x98]
add r12d, edx
mov r8, qword [rsp + 0x88]
jmp 0x18008b019
mov edx, r13d
add rdx, qword [rsp + 0x90]
movsxd rbp, ecx
mov rax, qword [rsp + 0xf0]
movzx edi, word [rax + rbp - 1]
cmp di, word [rbp + rdx - 1]
jne 0x18008af76
mov rax, qword [rsp + 0x80]
cmp dword [rdx], eax
mov r10, qword [rsp + 0x60]
jne 0x18008af7b
lea rbp, [rdx + 4]
mov r12, qword [rsp + 0x78]
cmp rbx, r12
jbe 0x18008b271
mov rdi, qword [r12]
xor rdi, qword [rbp]
je 0x18008b255
bsf r12, rdi
xor esi, esi
test rdi, rdi
sete r8b
je 0x18008b260
shr r12d, 3
mov rbp, qword [rsp + 0x40]
mov r8, qword [rsp + 0x88]
mov esi, dword [rsp + 0x48]
add r12d, 4
cmp r12d, ecx
mov rax, qword [rsp + 0xb0]
cmovg rax, rdx
mov qword [rsp + 0xb0], rax
cmovg ecx, r12d
jmp 0x18008ab97
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x40]
mov r8, qword [rsp + 0x88]
mov esi, dword [rsp + 0x48]
movzx ecx, r13w
cmp word [r10 + rcx*2 + 0x20000], 1
jne 0x18008af12
test r14d, r14d
jne 0x18008af12
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x18008af3d
cmp eax, 2
mov dword [rsp + 0x70], eax
jne 0x18008af0d
lea r10d, [r13 - 1]
cmp r10d, esi
jb 0x18008af0d
mov ecx, ebp
sub ecx, r13d
cmp ecx, 3
jb 0x18008af0d
cmp r10d, ebp
mov rax, rbp
mov rbp, qword [rsp + 0x90]
cmovb rbp, qword [rsp + 0x150]
mov r12d, r10d
mov dword [rsp + 0x70], 2
mov rcx, qword [rsp + 0x80]
cmp dword [rbp + r12], ecx
jne 0x18008af93
lea r8, [r12 + rbp]
cmp r10d, eax
mov r13, qword [rsp + 0x58]
cmovb r13, qword [rsp + 0x158]
lea rax, [r8 + 4]
lea rdx, [r13 - 7]
mov rsi, rax
cmp rax, rdx
jae 0x18008daa8
lea rdi, [r12 + rbp]
add rdi, 4
mov rsi, rax
mov rcx, qword [rsi]
xor rcx, r15
jne 0x18008afa0
add rsi, 8
add rdi, 8
cmp rsi, rdx
jb 0x18008aeef
jmp 0x18008daa8
mov r10, qword [rsp + 0x60]
lea ecx, [r14 + r13]
movzx ecx, cx
movzx ecx, word [r10 + rcx*2 + 0x20000]
sub r13d, ecx
xor edx, edx
mov rcx, qword [rsp + 0x98]
cmp edx, 3
jne 0x18008ab64
jmp 0x18008b450
mov dword [rsp + 0x70], 1
cmp byte [rsp + 0xd8], 0
je 0x18008af12
mov rax, qword [rsp + 0x78]
mov r11, rax
cmp rbx, rax
jbe 0x18008dae7
mov rdx, qword [r11]
xor rdx, r15
jne 0x18008afe6
add r11, 8
cmp r11, rbx
jb 0x18008af60
jmp 0x18008dae7
mov r10, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x40]
jmp 0x18008ab97
mov r10, qword [rsp + 0x60]
mov esi, dword [rsp + 0x48]
jmp 0x18008ab97
mov r10, qword [rsp + 0x60]
mov rbp, rax
jmp 0x18008af12
bsf rsi, rcx
shr rsi, 3
add rsi, rdi
sub rsi, rax
mov ecx, esi
add rcx, 4
cmp r10d, dword [rsp + 0x40]
mov qword [rsp + 0x70], rcx
jae 0x18008b097
lea rax, [r8 + rcx]
cmp rax, r13
je 0x18008b3c2
mov rax, qword [rsp + 0x88]
mov r14, qword [rsp + 0xd0]
jmp 0x18008b0a2
bsf rcx, rdx
shr rcx, 3
add r11, rcx
sub r11d, dword [rsp + 0x78]
add r11, 4
mov eax, 2
jmp 0x18008ae5e
mov r10, qword [rsp + 0x60]
mov r8, qword [rsp + 0x88]
mov r9d, dword [rsp + 0x98]
cmp r12d, ecx
jle 0x18008ab97
mov eax, r13d
add rax, qword [rsp + 0x90]
mov qword [rsp + 0xb0], rax
mov ecx, r12d
jmp 0x18008ab97
mov edx, 0x40
jmp 0x18008acd1
mov bpl, dil
mov rax, qword [rsp + 0x78]
lea rdx, [rax + rbp*8]
lea rsi, [rsi + rbp*8]
cmp rdx, rbx
jae 0x18008dbff
mov rax, qword [rsp + 0x138]
lea ebp, [rax + rdx]
mov rdi, qword [rdx]
xor rdi, qword [rsi]
jne 0x18008b088
add rdx, 8
add rsi, 8
add ebp, 8
cmp rdx, rbx
jb 0x18008b06b
jmp 0x18008dbff
bsf rdx, rdi
shr rdx, 3
add edx, ebp
jmp 0x18008ace6
mov r14, qword [rsp + 0xd0]
mov rax, r14
mov r13, qword [rsp + 0x80]
mov dword [rsp + 0x20c], r13d
lea rsi, [rax + 4]
add rbp, r12
mov rdi, r8
mov rdx, rdi
mov rcx, rbp
cmp rdi, rsi
jb 0x18008b0d5
lea rdi, [rdx - 4]
lea rbp, [rcx - 4]
cmp dword [rdx - 4], r13d
je 0x18008b0bc
cmp rdx, rax
jbe 0x18008f211
mov rsi, rax
sub rsi, rcx
mov rcx, rsi
add rcx, rdx
xor esi, esi
mov rbp, qword [rsp + 0x40]
mov bl, byte [rdx + rsi - 1]
cmp bl, byte [rsp + rsi + 0x20f]
jne 0x18008b10f
lea rdi, [rdx + rsi]
dec rdi
dec rsi
cmp rdi, rax
ja 0x18008b0f1
jmp 0x18008b115
add rdx, rsi
mov rcx, rdx
mov esi, dword [rsp + 0x48]
mov rbx, qword [rsp + 0x68]
mov rdx, r8
sub rdx, rcx
cmp r10d, ebp
jb 0x18008b332
mov eax, edx
sub r8, rax
cmp r8, r14
jne 0x18008b332
cmp dword [rsp + 0xc0], ebp
mov r8, qword [rsp + 0x88]
mov r14, qword [rsp + 0x70]
jae 0x18008b1ca
mov eax, edx
neg eax
mov ecx, eax
shl ecx, 3
mov ebp, r13d
rol ebp, cl
test al, 3
cmove ebp, r13d
mov dword [rsp + 0x20c], ebp
mov rax, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x140]
cmp rcx, 4
jl 0x18008dc11
add rcx, 0xfffffffffffffffc
lea rdi, [rax - 4]
cmp dword [rax - 4], ebp
mov rax, rdi
je 0x18008b17c
add rdi, 4
mov rax, rdi
lea rcx, [rsp + 0x20f]
mov bl, byte [rax - 1]
cmp bl, byte [rcx]
jne 0x18008b1b7
dec rax
dec rcx
cmp rax, r8
ja 0x18008b1a5
mov rcx, qword [rsp + 0x158]
sub ecx, eax
add ecx, edx
mov edx, ecx
mov rbx, qword [rsp + 0x68]
mov r13d, r10d
sub r13d, edx
cmp r13d, esi
cmovbe r13d, esi
mov ebp, r10d
sub ebp, r13d
add rbp, r14
cmp r14, r11
ja 0x18008b220
cmp rbp, r11
jb 0x18008b220
sub r10d, r11d
add r10d, r14d
mov eax, r10d
not eax
mov rbp, qword [rsp + 0x40]
add eax, ebp
cmp eax, 3
cmovb r10d, ebp
xor r14d, r14d
mov edx, 2
mov dword [rsp + 0x70], 2
mov r13d, r10d
mov r10, qword [rsp + 0x60]
jmp 0x18008af27
mov ecx, r13d
not ecx
mov rax, qword [rsp + 0x40]
add ecx, eax
xor r14d, r14d
mov edx, 2
cmp ecx, 3
jae 0x18008b344
mov dword [rsp + 0x70], 2
mov r13d, eax
mov r10, qword [rsp + 0x60]
mov rbp, rax
jmp 0x18008af27
mov r12d, 0x40
jmp 0x18008add7
mov sil, r8b
mov rax, qword [rsp + 0x78]
lea r12, [rax + rsi*8]
lea rbp, [rbp + rsi*8]
cmp r12, rbx
jae 0x18008f3ae
mov rax, qword [rsp + 0x138]
lea esi, [rax + r12]
mov r8, qword [rsp + 0x88]
mov rdi, qword [r12]
xor rdi, qword [rbp]
jne 0x18008b309
add r12, 8
add rbp, 8
add esi, 8
cmp r12, rbx
jb 0x18008b28e
jmp 0x18008f3b6
mov edx, 0x40
jmp 0x18008ad45
mov dil, sil
lea rdx, [r8 + rdi*8]
mov rax, qword [rsp + 0xd0]
lea rsi, [rax + rdi*8]
cmp rdx, rbx
jae 0x18008f43a
mov rcx, qword [rsp + 0x58]
cmp rcx, r10
cmovb r10, rcx
mov rcx, r9
mov ebp, edx
sub ebp, r10d
mov r10, qword [rsp + 0x60]
mov rdi, qword [rdx]
xor rdi, qword [rsi]
jne 0x18008b31e
add rdx, 8
add rsi, 8
add ebp, 8
cmp rdx, rbx
jb 0x18008b2ec
jmp 0x18008f43f
bsf r12, rdi
shr r12, 3
add r12d, esi
mov rbp, qword [rsp + 0x40]
jmp 0x18008adf7
bsf rdx, rdi
shr rdx, 3
add edx, ebp
mov rbp, qword [rsp + 0x40]
jmp 0x18008ad5c
mov r8, qword [rsp + 0x88]
mov r14, qword [rsp + 0x70]
jmp 0x18008b1ca
cmp rbp, r11
cmovae rbp, r11
mov rcx, qword [rsp + 0x98]
movsxd rax, ecx
cmp rbp, rax
mov r10, qword [rsp + 0x60]
jbe 0x18008b390
mov rdi, rcx
mov eax, r13d
mov rcx, qword [rsp + 0xc8]
sub rcx, rax
cmp rcx, 0xffff
ja 0x18008e558
add rax, qword [rsp + 0x90]
mov qword [rsp + 0xb0], rax
mov ecx, ebp
movzx eax, r13w
movzx ebp, word [r10 + rax*2 + 0x20000]
xor r14d, r14d
cmp r13d, ebp
cmovb ebp, r14d
jb 0x18008b450
sub r13d, ebp
mov dword [rsp + 0x70], 2
mov rbp, qword [rsp + 0x40]
jmp 0x18008af2f
lea ecx, [rcx*8]
mov r13, qword [rsp + 0x80]
mov edx, r13d
rol edx, cl
test sil, 3
cmove edx, r13d
movabs rax, 0x100000001
imul rdx, rax
mov r14, qword [rsp + 0xd0]
mov rax, r14
cmp r14, rbx
jae 0x18008da4f
mov rcx, qword [rax]
xor rcx, rdx
jne 0x18008b416
add rax, 8
cmp rax, rbx
jb 0x18008b400
jmp 0x18008da4f
bsf rcx, rcx
shr rcx, 3
add rax, rcx
sub eax, r14d
add qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x88]
jmp 0x18008b0aa
cmp byte [rsi], dil
jne 0x18008afab
inc rsi
shr rdi, 8
dec rdx
jne 0x18008b436
jmp 0x18008e560
test r9d, r9d
jle 0x18008b5f1
mov r14d, dword [rsp + 0x50]
mov eax, r14d
sub eax, esi
cmp eax, 0xfffe
mov r11, qword [rsp + 0xe0]
ja 0x18008b5fe
mov rbp, rcx
mov rdx, qword [rsp + 0xe8]
mov r8, qword [rdx + 0x40000]
mov r10, qword [rdx + 0x40008]
sub r8, r10
mov eax, dword [rdx + 0x40018]
mov rcx, qword [rsp + 0xf0]
imul ecx, dword [rcx], 0x9e3779b1
add r8, rax
shr ecx, 0x11
mov ebx, dword [rdx + rcx*4]
add esi, ebx
sub esi, r8d
mov ecx, r14d
sub ecx, esi
cmp ecx, 0xffff
ja 0x18008b5fb
sub r10, rax
mov r15, qword [rsp + 0x78]
mov rcx, rbp
sub r9d, 1
jb 0x18008b5fe
mov edx, ebx
mov rax, qword [rsp + 0x80]
cmp dword [r10 + rdx], eax
jne 0x18008b568
mov r13d, r9d
mov r9, rcx
mov r12d, esi
mov rax, r8
sub rax, rdx
add rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x58]
cmp rax, rcx
cmova rax, rcx
lea rdi, [r10 + rdx]
add rdi, 4
lea rsi, [rax - 7]
cmp rsi, r15
jbe 0x18008f1ed
mov rbp, qword [r15]
xor rbp, qword [rdi]
je 0x18008b597
bsf rdx, rbp
xor ecx, ecx
test rbp, rbp
sete r11b
je 0x18008b59e
shr edx, 3
mov r11, qword [rsp + 0xe0]
mov esi, r12d
mov rcx, r9
mov r9d, r13d
add edx, 4
cmp edx, ecx
jle 0x18008b568
mov eax, esi
add rax, qword [rsp + 0x90]
mov qword [rsp + 0xb0], rax
mov ecx, edx
movzx eax, bx
mov rdx, rcx
mov rcx, qword [rsp + 0xe8]
movzx eax, word [rcx + rax*2 + 0x20000]
mov rcx, rdx
sub ebx, eax
sub esi, eax
mov eax, r14d
sub eax, esi
cmp eax, 0x10000
jb 0x18008b4d0
jmp 0x18008b5fe
mov edx, 0x40
jmp 0x18008b52e
mov cl, r11b
lea rdx, [r15 + rcx*8]
lea rdi, [rdi + rcx*8]
cmp rdx, rsi
jae 0x18008f254
mov rcx, qword [rsp + 0x138]
lea ebp, [rcx + rdx]
mov r11, qword [rsp + 0xe0]
mov rcx, qword [rdx]
xor rcx, qword [rdi]
jne 0x18008b5e2
add rdx, 8
add rdi, 8
add ebp, 8
cmp rdx, rsi
jb 0x18008b5c5
jmp 0x18008dbc5
bsf rdx, rcx
shr rdx, 3
add edx, ebp
jmp 0x18008b544
mov r11, qword [rsp + 0xe0]
jmp 0x18008b5fe
mov rcx, rbp
cmp ecx, 4
jl 0x18008b71a
lea eax, [rcx - 0x13]
mov r14, qword [rsp + 0xf0]
sub r14, qword [rsp + 0xb0]
cmp eax, 0x12
mov eax, ecx
mov r13, rax
mov ecx, 0x12
cmovb r13, rcx
cmp byte [rsp + 0xa0], 0
cmove r13, rax
cmp r13, qword [rsp + 0x100]
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x148]
mov rdi, qword [rsp + 0x108]
jbe 0x18008b74d
mov rax, r11
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0xac], 0
mov r15, qword [rsp + 0xf0]
je 0x18008b699
shr rdx, 7
add rdx, rdi
lea rax, [r11 + rdx]
add rax, 9
cmp rax, qword [rsp + 0x188]
ja 0x18008df31
lea rbx, [rdi + 1]
cmp r11, 0xf
jb 0x18008d926
lea rax, [r11 - 0xf]
mov byte [rdi], 0xf0
cmp rax, 0xff
jb 0x18008b710
lea rax, [r11 - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbp, rdx
shr rbp, 7
lea r8, [rbp + 1]
mov rcx, rbx
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r11, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x148]
mov r10, qword [rsp + 0x60]
mov rax, rbp
shl rax, 8
lea rbx, [rdi + rbp]
add rbx, 2
sub rbp, rax
lea rax, [r11 + rbp]
add rax, 0xfffffffffffffef2
mov byte [rbx], al
inc rbx
jmp 0x18008d92e
mov r15, qword [rsp + 0xf0]
inc r15
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x148]
mov r12, qword [rsp + 0x128]
cmp r15, qword [rsp + 0x180]
jbe 0x18008a97c
jmp 0x18008767b
cmp r11d, 0xe
jle 0x18008b76f
lea ecx, [r11 - 0xf]
mov eax, 0x80808081
imul rcx, rax
shr rcx, 0x27
lea r8d, [r11 + 1]
add ecx, r11d
inc ecx
jmp 0x18008b776
lea r8d, [r11 + 1]
mov ecx, r11d
movabs rax, 0x100000000
mov qword [r9 + 4], rax
mov dword [r9 + 0xc], r11d
mov dword [r9], ecx
mov ecx, r8d
cmp r8d, 0xf
jl 0x18008b7aa
lea ecx, [r8 - 0xf]
mov eax, 0x80808081
imul rcx, rax
shr rcx, 0x27
add ecx, r8d
inc ecx
movabs rbx, 0x100000000
mov qword [r9 + 0x14], rbx
mov dword [r9 + 0x1c], r8d
mov dword [r9 + 0x10], ecx
lea edx, [r11 + 2]
cmp r11d, 0xd
jl 0x18008d8fb
lea ebp, [r11 - 0xd]
mov eax, 0x80808081
imul rbp, rax
shr rbp, 0x27
lea ecx, [r11 + 3]
add ebp, r11d
add ebp, 3
mov qword [r9 + 0x24], rbx
mov dword [r9 + 0x2c], edx
mov dword [r9 + 0x20], ebp
lea edx, [r11 - 0xc]
mov eax, 0x80808081
imul rdx, rax
shr rdx, 0x27
add edx, r11d
add edx, 4
lea ebp, [r11 - 0xf]
imul rbp, rax
shr rbp, 0x27
add r8d, ebp
cmp r11d, 0xf
movabs rax, 0x100000000
mov qword [r9 + 0x34], rax
mov dword [r9 + 0x3c], ecx
cmovl r8d, r11d
mov dword [r9 + 0x30], edx
lea ecx, [r8 + 3]
add r8d, 4
mov edx, 3
sub rdx, r13
mov ebp, 4
mov ebx, 0xfffffff1
mov rsi, qword [rsp + 0x1b0]
mov edi, ecx
cmp rbp, 0x13
jb 0x18008b880
movsxd rdi, ebx
imul rdi, rdi, 0xffffffff80808081
shr rdi, 0x20
add edi, ebx
mov eax, edi
shr eax, 0x1f
sar edi, 7
add edi, eax
add edi, r8d
mov dword [rsi - 4], ebp
mov dword [rsi - 8], r14d
mov dword [rsi], r11d
mov dword [rsi - 0xc], edi
inc ebx
lea rax, [rdx + rbp]
inc rax
inc rbp
add rsi, 0x10
cmp rax, 4
jne 0x18008b85b
mov rax, r13
shl rax, 4
movabs rbp, 0x100000000
mov qword [r9 + rax + 0x14], rbp
mov dword [r9 + rax + 0x1c], 1
mov ecx, dword [r9 + rax]
lea edx, [rcx + 1]
mov dword [r9 + rax + 0x10], edx
mov qword [r9 + rax + 0x24], rbp
mov dword [r9 + rax + 0x2c], 2
lea edx, [rcx + 2]
mov dword [r9 + rax + 0x20], edx
mov qword [r9 + rax + 0x34], rbp
mov dword [r9 + rax + 0x3c], 3
add ecx, 3
mov dword [r9 + rax + 0x30], ecx
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x40]
mov rdi, rcx
add ecx, eax
sub ecx, dword [rsp + 0xd0]
inc ecx
mov qword [rsp + 0xb0], rcx
mov ecx, 0xfffffffb
sub ecx, eax
mov qword [rsp + 0xc8], rcx
inc rax
mov qword [rsp + 0x170], rax
mov eax, 5
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0x160], rax
mov eax, 1
mov r12, qword [rsp + 0x68]
mov ebp, dword [rsp + 0x50]
xor r14d, r14d
mov rcx, rax
mov rax, qword [rsp + 0xf0]
lea r11, [rax + rcx]
cmp r11, qword [rsp + 0x180]
ja 0x18008d5a1
mov rax, qword [rsp + 0xb0]
mov eax, eax
mov qword [rsp + 0xb0], rax
lea rax, [rcx + 1]
mov rdx, rax
shl rdx, 4
mov qword [rsp + 0x138], rcx
mov rbx, rcx
shl rbx, 4
mov r8d, dword [r9 + rdx]
mov ecx, dword [r9 + rbx]
cmp dword [rsp + 0x1e8], 0xc
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x1e0], rax
jne 0x18008c42c
cmp r8d, ecx
jg 0x18008b9e4
lea eax, [rcx + 3]
cmp dword [rbx + r9 + 0x40], eax
jl 0x18008cfdf
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x110], rcx
mov r14, r11
sub r14, qword [rsp + 0xd0]
lea eax, [rdi + r14]
cmp dword [rsp + 0x1c8], eax
lea r9d, [rdi + r14 - 0xffff]
cmova r9d, dword [rsp + 0xc0]
mov ecx, dword [r11]
mov qword [rsp + 0x78], rcx
mov dword [rsp + 0x50], eax
cmp ebp, eax
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xb0]
jae 0x18008ba73
mov eax, ebp
imul ecx, dword [rdi + rax], 0x9e3779b1
shr ecx, 0x11
mov edx, eax
sub edx, dword [r10 + rcx*4]
mov ebp, 0xffff
cmp edx, ebp
jb 0x18008ba5b
mov edx, 0xffff
movzx ebp, ax
mov word [r10 + rbp*2 + 0x20000], dx
mov dword [r10 + rcx*4], eax
inc rax
cmp rsi, rax
jne 0x18008ba3d
mov dword [rsp + 0x198], r8d
mov qword [rsp + 0x1d0], rbx
mov qword [rsp + 0x118], r13
mov esi, dword [rsp + 0x50]
mov dword [r10 + 0x40020], esi
mov rdx, qword [rsp + 0x70]
imul eax, dword [rdx], 0x9e3779b1
shr eax, 0x11
mov r11d, dword [r10 + rax*4]
lea rax, [rdx + 4]
mov qword [rsp + 0xf8], rax
mov rcx, qword [rsp + 0x78]
movzx eax, cx
mov edx, ecx
shr edx, 0x10
xor edx, eax
movzx eax, cl
mov ebp, ecx
shr ebp, 0x18
xor ebp, eax
or ebp, edx
sete byte [rsp + 0x168]
movabs rax, 0x100000001
imul rcx, rax
mov qword [rsp + 0x98], rcx
mov rbp, qword [rsp + 0x40]
add r14, rbp
mov qword [rsp + 0x120], r14
mov ebx, 3
xor eax, eax
mov qword [rsp + 0xd8], rax
xor r15d, r15d
xor ecx, ecx
xor r8d, r8d
mov r13d, dword [rsp + 0xbc]
cmp r11d, r9d
jb 0x18008ce65
test r13d, r13d
jle 0x18008ce65
xor r14d, r14d
cmp byte [rsp + 0xa0], 0
je 0x18008bc01
mov eax, esi
sub eax, r11d
cmp eax, 8
jae 0x18008bc01
dec r13d
cmp r14d, ebx
jne 0x18008be30
lea eax, [rbx + r11]
cmp eax, esi
ja 0x18008be30
cmp r14d, 4
jl 0x18008be30
mov r12d, ecx
mov qword [rsp + 0x48], rbx
lea edx, [r14 - 3]
xor ebp, ebp
mov edi, 0x10
mov eax, 1
mov ecx, 0x10
mov ebx, eax
lea eax, [r11 + rbp]
movzx eax, ax
movzx eax, word [r10 + rax*2 + 0x20000]
lea esi, [rdi + 1]
sar edi, 4
cmp ebx, eax
cmovb esi, ecx
cmova eax, ebx
cmovb r8d, ebp
mov ebx, edi
add ebx, ebp
mov ebp, ebx
mov edi, esi
cmp ebx, edx
jl 0x18008bb8c
xor edx, edx
cmp r11d, eax
setb bl
mov ebp, eax
mov esi, 0
cmovb ebp, esi
cmp eax, 2
cmovb ebp, esi
sub r11d, ebp
cmp eax, 1
jbe 0x18008be17
mov dl, bl
or edx, 2
mov ebx, r14d
mov rax, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x40]
mov esi, dword [rsp + 0x50]
mov ecx, r12d
mov r12, rax
jmp 0x18008bf73
mov edi, ebp
sub edi, r11d
jbe 0x18008bd58
cmp r11d, dword [rsp + 0x1a0]
ja 0x18008bb4d
mov esi, r11d
sub esi, dword [rsp + 0xc0]
add rsi, qword [rsp + 0x88]
mov rax, qword [rsp + 0x78]
cmp dword [rsi], eax
jne 0x18008be0e
mov r12d, ecx
mov dword [rsp + 0x80], r13d
mov rax, qword [rsp + 0x70]
lea r13, [rax + rdi]
mov rax, qword [rsp + 0x58]
cmp r13, rax
mov rcx, r13
cmova rcx, rax
add rsi, 4
mov qword [rsp + 0x48], rcx
lea rax, [rcx - 7]
mov rcx, qword [rsp + 0xf8]
cmp rax, rcx
jbe 0x18008f028
mov rbp, qword [rcx]
xor rbp, qword [rsi]
je 0x18008bfe9
mov r14, rbx
bsf r10, rbp
xor ebx, ebx
test rbp, rbp
sete dl
je 0x18008bff7
shr r10d, 3
mov rax, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x40]
mov esi, dword [rsp + 0x50]
mov rbx, r14
mov ecx, r12d
mov r12, rax
lea r14d, [r10 + 4]
cmp r13, qword [rsp + 0x58]
jae 0x18008c211
movsxd rax, r10d
mov rdx, qword [rsp + 0x70]
add rax, rdx
add rax, 4
mov rdx, qword [rsp + 0x48]
cmp rax, rdx
mov r13d, dword [rsp + 0x80]
jne 0x18008c223
mov rax, rdx
mov rbp, qword [rsp + 0xd0]
mov rsi, rbp
cmp r12, rdx
mov r10, qword [rsp + 0x60]
jbe 0x18008c2ab
mov rax, qword [rax]
xor rax, qword [rbp]
je 0x18008c289
bsf rdx, rax
mov esi, dword [rsp + 0x50]
xor ebp, ebp
test rax, rax
sete al
je 0x18008c293
shr edx, 3
mov rbp, qword [rsp + 0x40]
add r14d, edx
cmp r14d, ebx
jle 0x18008bb4d
mov eax, r11d
add rax, qword [rsp + 0x90]
mov qword [rsp + 0xd8], rax
mov ebx, r14d
jmp 0x18008bb4d
mov edx, r11d
add rdx, qword [rsp + 0x90]
movsxd rax, ebx
mov rsi, qword [rsp + 0x70]
movzx ebp, word [rsi + rax - 1]
cmp bp, word [rax + rdx - 1]
jne 0x18008be09
mov rax, qword [rsp + 0x78]
cmp dword [rdx], eax
jne 0x18008be09
mov dword [rsp + 0x80], ecx
lea rbp, [rdx + 4]
mov rcx, qword [rsp + 0xf8]
cmp r12, rcx
mov esi, dword [rsp + 0x50]
jbe 0x18008f21f
mov rax, qword [rcx]
xor rax, qword [rbp]
je 0x18008c22d
mov r12, rbx
bsf r14, rax
xor ebx, ebx
test rax, rax
sete al
je 0x18008c23b
shr r14d, 3
mov rax, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x40]
mov rbx, r12
mov r12, rax
mov ecx, dword [rsp + 0x80]
add r14d, 4
cmp r14d, ebx
mov rax, qword [rsp + 0xd8]
cmovg rax, rdx
mov qword [rsp + 0xd8], rax
cmovg ebx, r14d
jmp 0x18008bb4d
mov rbp, qword [rsp + 0x40]
mov esi, dword [rsp + 0x50]
jmp 0x18008bb4d
mov rax, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x40]
mov esi, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov ecx, r12d
mov r12, rax
movzx eax, r11w
cmp word [r10 + rax*2 + 0x20000], 1
jne 0x18008bf5e
test r8d, r8d
jne 0x18008bf5e
test ecx, ecx
je 0x18008bf13
mov dword [rsp + 0x80], r13d
cmp ecx, 2
jne 0x18008bf56
lea r13d, [r11 - 1]
cmp r13d, r9d
jb 0x18008bf56
mov eax, ebp
sub eax, r11d
cmp eax, 3
jb 0x18008bf56
cmp r13d, ebp
mov rdi, qword [rsp + 0x90]
cmovb rdi, qword [rsp + 0x150]
mov r10d, r13d
mov ecx, 2
mov rax, qword [rsp + 0x78]
cmp dword [rdi + r10], eax
jne 0x18008bf51
mov qword [rsp + 0x48], rbx
lea r8, [rdi + r10]
mov r12, rbp
cmp r13d, ebp
mov r14, qword [rsp + 0x58]
cmovb r14, qword [rsp + 0x158]
lea rax, [r8 + 4]
lea rdx, [r14 - 7]
mov rsi, rax
cmp rax, rdx
mov r11, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x98]
jae 0x18008da63
lea rcx, [rdi + r10]
add rcx, 4
mov rsi, rax
mov rbx, qword [rsi]
xor rbx, rbp
jne 0x18008bf81
add rsi, 8
add rcx, 8
cmp rsi, rdx
jb 0x18008bef5
jmp 0x18008da63
mov ecx, 1
cmp byte [rsp + 0x168], 0
je 0x18008bf5e
mov rax, qword [rsp + 0xf8]
mov r15, rax
cmp r12, rax
jbe 0x18008da9b
mov rax, qword [r15]
xor rax, qword [rsp + 0x98]
jne 0x18008bfc0
add r15, 8
cmp r15, r12
jb 0x18008bf36
jmp 0x18008da9b
mov r10, qword [rsp + 0x60]
mov r13d, dword [rsp + 0x80]
lea eax, [r8 + r11]
movzx eax, ax
movzx eax, word [r10 + rax*2 + 0x20000]
sub r11d, eax
xor edx, edx
cmp edx, 3
jne 0x18008bb1c
jmp 0x18008ce65
bsf rsi, rbx
shr rsi, 3
add rsi, rcx
mov rbx, qword [rsp + 0x68]
sub rsi, rax
mov ecx, esi
add rcx, 4
cmp r13d, r12d
jae 0x18008c057
lea rax, [r8 + rcx]
cmp rax, r14
je 0x18008c377
mov r14, rcx
mov rbp, qword [rsp + 0x88]
jmp 0x18008c062
bsf rax, rax
shr rax, 3
add r15, rax
mov dword [rsp + 0x80], r13d
sub r15d, dword [rsp + 0xf8]
add r15, 4
mov ecx, 2
jmp 0x18008be5d
mov r14, rbx
mov r10d, 0x40
jmp 0x18008bc8d
mov bl, dl
lea r10, [rcx + rbx*8]
lea rsi, [rsi + rbx*8]
cmp r10, rax
jae 0x18008f243
mov rdx, qword [rsp + 0xc8]
lea ebp, [rdx + r10]
mov ecx, r12d
mov rbx, qword [r10]
xor rbx, qword [rsi]
jne 0x18008c036
add r10, 8
add rsi, 8
add ebp, 8
cmp r10, rax
jb 0x18008c019
jmp 0x18008db76
bsf r10, rbx
shr r10, 3
add r10d, ebp
mov r12, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x40]
mov esi, dword [rsp + 0x50]
mov rbx, r14
jmp 0x18008bcb6
mov r14, rcx
mov rbp, qword [rsp + 0xd0]
mov dword [rsp + 0x20c], r11d
lea rsi, [rbp + 4]
add rdi, r10
mov rbx, r8
mov rdx, rbx
mov rcx, rdi
cmp rbx, rsi
jb 0x18008c08d
lea rbx, [rdx - 4]
lea rdi, [rcx - 4]
cmp dword [rdx - 4], r11d
je 0x18008c074
cmp rdx, rbp
mov r10, qword [rsp + 0x60]
jbe 0x18008f1fd
mov rax, rbp
sub rax, rcx
mov rcx, rax
add rcx, rdx
xor edi, edi
mov r12, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x48]
mov al, byte [rdx + rdi - 1]
cmp al, byte [rsp + rdi + 0x20f]
jne 0x18008c0d1
lea rax, [rdx + rdi]
dec rax
dec rdi
cmp rax, rbp
ja 0x18008c0b3
jmp 0x18008c0d7
add rdx, rdi
mov rcx, rdx
mov rbp, qword [rsp + 0x40]
mov rdx, r8
sub rdx, rcx
cmp r13d, ebp
jb 0x18008c194
mov eax, edx
sub r8, rax
cmp r8, qword [rsp + 0xd0]
jne 0x18008c194
cmp dword [rsp + 0xc0], ebp
mov rsi, qword [rsp + 0x88]
jae 0x18008c194
mov eax, edx
neg eax
mov ecx, eax
shl ecx, 3
mov rbx, qword [rsp + 0x78]
mov edi, ebx
rol edi, cl
test al, 3
cmove edi, ebx
mov dword [rsp + 0x20c], edi
mov rax, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x140]
cmp rcx, 4
jl 0x18008db8d
add rcx, 0xfffffffffffffffc
lea rbx, [rax - 4]
cmp dword [rax - 4], edi
mov rax, rbx
je 0x18008c141
add rbx, 4
mov rax, rbx
lea rcx, [rsp + 0x20f]
mov bl, byte [rax - 1]
cmp bl, byte [rcx]
jne 0x18008c17c
dec rax
dec rcx
cmp rax, rsi
ja 0x18008c16a
mov rcx, qword [rsp + 0x158]
sub ecx, eax
add ecx, edx
mov edx, ecx
mov r12, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x48]
mov r11d, r13d
sub r11d, edx
cmp r11d, r9d
cmovbe r11d, r9d
mov eax, r13d
sub eax, r11d
add rax, r14
cmp r14, r15
ja 0x18008c1e9
cmp rax, r15
jb 0x18008c1e9
sub r13d, r15d
add r13d, r14d
mov eax, r13d
not eax
add eax, ebp
cmp eax, 3
cmovb r13d, ebp
xor r8d, r8d
mov edx, 2
mov ecx, 2
mov r11d, r13d
mov esi, dword [rsp + 0x50]
mov r13d, dword [rsp + 0x80]
jmp 0x18008bf73
mov rsi, rbp
mov ebp, r11d
not ebp
add ebp, esi
xor r8d, r8d
mov edx, 2
cmp ebp, 3
jae 0x18008c321
mov ecx, 2
mov r11d, esi
mov rbp, rsi
jmp 0x18008c1d8
mov r10, qword [rsp + 0x60]
mov r13d, dword [rsp + 0x80]
jmp 0x18008bd34
mov r10, qword [rsp + 0x60]
jmp 0x18008bd34
mov r12, rbx
mov r14d, 0x40
jmp 0x18008bdbc
mov bl, al
lea r14, [rcx + rbx*8]
lea rbp, [rbp + rbx*8]
mov rdi, qword [rsp + 0x68]
cmp r14, rdi
jae 0x18008f337
mov rax, qword [rsp + 0xc8]
add eax, r14d
mov ecx, dword [rsp + 0x80]
mov rbx, qword [r14]
xor rbx, qword [rbp]
jne 0x18008c2e9
add r14, 8
add rbp, 8
add eax, 8
mov rdi, qword [rsp + 0x68]
cmp r14, rdi
jb 0x18008c266
jmp 0x18008f33e
mov edx, 0x40
jmp 0x18008bd17
mov bpl, al
mov rax, qword [rsp + 0x48]
lea rdx, [rax + rbp*8]
mov rax, qword [rsp + 0xd0]
lea rsi, [rax + rbp*8]
cmp rdx, r12
jae 0x18008e153
add rdi, qword [rsp + 0x170]
mov rax, qword [rsp + 0x58]
cmp rax, rdi
cmovb rdi, rax
mov eax, edx
sub eax, edi
mov rbp, qword [rdx]
xor rbp, qword [rsi]
jne 0x18008c309
add rdx, 8
add rsi, 8
add eax, 8
cmp rdx, r12
jb 0x18008c2cc
jmp 0x18008e153
bsf r14, rbx
shr r14, 3
add r14d, eax
mov rax, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x40]
mov rbx, r12
mov r12, rax
jmp 0x18008bde5
bsf rdx, rbp
shr rdx, 3
add edx, eax
mov rbp, qword [rsp + 0x40]
mov esi, dword [rsp + 0x50]
jmp 0x18008bd31
cmp rax, r15
cmovae rax, r15
movsxd rbp, ebx
cmp rax, rbp
mov r13d, dword [rsp + 0x80]
jbe 0x18008c3f9
mov ebp, r11d
mov rbx, qword [rsp + 0x120]
sub rbx, rbp
cmp rbx, 0xffff
mov esi, dword [rsp + 0x50]
ja 0x18008e212
add rbp, qword [rsp + 0x90]
mov qword [rsp + 0xd8], rbp
mov ebx, eax
mov r12, qword [rsp + 0x68]
jmp 0x18008c3fd
mov r14, rcx
lea ecx, [rcx*8]
mov edx, r11d
rol edx, cl
test sil, 3
cmove edx, r11d
movabs rax, 0x100000001
imul rdx, rax
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
cmp rcx, rbx
jae 0x18008d58d
mov rcx, qword [rax]
xor rcx, rdx
jne 0x18008c3c6
add rax, 8
cmp rax, rbx
jb 0x18008c3b0
jmp 0x18008d58d
bsf rcx, rcx
shr rcx, 3
add rax, rcx
sub eax, dword [rsp + 0xd0]
add r14, rax
jmp 0x18008bfb3
cmp byte [rsi], dl
jne 0x18008bf91
inc rsi
shr rdx, 8
dec rcx
jne 0x18008c3e0
jmp 0x18008e241
mov esi, dword [rsp + 0x50]
movzx eax, r11w
movzx eax, word [r10 + rax*2 + 0x20000]
xor r8d, r8d
cmp r11d, eax
cmovb eax, r8d
mov rbp, qword [rsp + 0x40]
jb 0x18008ce65
sub r11d, eax
mov ecx, 2
jmp 0x18008bf73
cmp r8d, ecx
jle 0x18008cfdf
mov dword [rsp + 0x198], r8d
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x1d0], rbx
mov qword [rsp + 0x110], rcx
mov rbx, r11
sub rbx, qword [rsp + 0xd0]
lea eax, [rdi + rbx]
cmp dword [rsp + 0x1c8], eax
lea ecx, [rdi + rbx - 0xffff]
cmova ecx, dword [rsp + 0xc0]
mov dword [rsp + 0x78], ecx
mov ecx, dword [r11]
mov qword [rsp + 0x80], rcx
mov dword [rsp + 0x50], eax
cmp ebp, eax
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xb0]
mov r8, qword [rsp + 0x138]
jae 0x18008c4e0
mov eax, ebp
imul ecx, dword [rdi + rax], 0x9e3779b1
shr ecx, 0x11
mov edx, eax
sub edx, dword [r10 + rcx*4]
mov ebp, 0xffff
cmp edx, ebp
jb 0x18008c4c8
mov edx, 0xffff
movzx ebp, ax
mov word [r10 + rbp*2 + 0x20000], dx
mov dword [r10 + rcx*4], eax
inc rax
cmp rsi, rax
jne 0x18008c4aa
mov qword [rsp + 0x118], r13
mov edi, r13d
sub edi, r8d
mov esi, dword [rsp + 0x50]
mov dword [r10 + 0x40020], esi
imul eax, dword [r11], 0x9e3779b1
shr eax, 0x11
mov r13d, dword [r10 + rax*4]
lea rax, [r11 + 4]
mov qword [rsp + 0xf8], rax
mov r15, qword [rsp + 0x80]
movzx eax, r15w
mov ecx, r15d
shr ecx, 0x10
xor ecx, eax
movzx eax, r15b
mov edx, r15d
shr edx, 0x18
xor edx, eax
or edx, ecx
sete byte [rsp + 0x168]
movabs rax, 0x100000001
imul r15, rax
mov rcx, qword [rsp + 0x40]
add rbx, rcx
mov qword [rsp + 0x178], rbx
xor eax, eax
mov qword [rsp + 0xd8], rax
xor r10d, r10d
mov dword [rsp + 0x98], 0
xor r9d, r9d
mov r14d, dword [rsp + 0xbc]
mov dword [rsp + 0x120], edi
mov ebx, edi
mov rdi, rcx
mov edx, dword [rsp + 0x78]
cmp r13d, edx
jb 0x18008cfe6
test r14d, r14d
jle 0x18008cfe6
xor r8d, r8d
cmp byte [rsp + 0xa0], 0
je 0x18008c679
mov eax, esi
sub eax, r13d
cmp eax, 8
jae 0x18008c679
dec r14d
cmp r8d, ebx
jne 0x18008c845
lea eax, [rbx + r13]
cmp eax, esi
ja 0x18008c845
cmp r8d, 4
jl 0x18008c845
mov qword [rsp + 0x48], rbx
lea eax, [r8 - 3]
xor edx, edx
mov esi, 0x10
mov ecx, 1
mov rbp, qword [rsp + 0x60]
mov r11d, 0x10
mov ebx, ecx
lea ecx, [rdx + r13]
movzx ecx, cx
movzx ecx, word [rbp + rcx*2 + 0x20000]
lea edi, [rsi + 1]
sar esi, 4
cmp ebx, ecx
cmovb edi, r11d
cmova ecx, ebx
cmovb r9d, edx
mov ebx, esi
add ebx, edx
mov edx, ebx
mov esi, edi
cmp ebx, eax
jl 0x18008c601
xor eax, eax
cmp r13d, ecx
setb dl
mov ebx, ecx
mov ebp, 0
cmovb ebx, ebp
cmp ecx, 2
cmovb ebx, ebp
sub r13d, ebx
cmp ecx, 1
jbe 0x18008c829
mov al, dl
or eax, 2
mov ebx, r8d
mov r12, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov r11, qword [rsp + 0x70]
mov esi, dword [rsp + 0x50]
mov edx, dword [rsp + 0x78]
jmp 0x18008c95f
mov ebp, r14d
mov r14d, edi
sub r14d, r13d
jbe 0x18008c794
cmp r13d, dword [rsp + 0x1a0]
ja 0x18008c9b0
mov ecx, r13d
sub ecx, dword [rsp + 0xc0]
add rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x80]
cmp dword [rcx], eax
jne 0x18008c9b0
add r11, r14
mov rax, qword [rsp + 0x58]
cmp r11, rax
mov rdi, r11
cmova rdi, rax
add rcx, 4
mov rax, rdi
mov qword [rsp + 0x48], rdi
add rdi, 0xfffffffffffffff9
mov rsi, qword [rsp + 0xf8]
cmp rdi, rsi
jbe 0x18008ca4d
mov rax, qword [rsi]
xor rax, qword [rcx]
je 0x18008ca2d
bsf rsi, rax
xor edx, edx
test rax, rax
sete al
je 0x18008ca37
shr esi, 3
mov edx, dword [rsp + 0x78]
mov rdi, qword [rsp + 0x40]
lea r8d, [rsi + 4]
cmp r11, qword [rsp + 0x58]
jae 0x18008cc5c
movsxd rax, esi
mov r11, qword [rsp + 0x70]
add rax, r11
add rax, 4
mov rsi, qword [rsp + 0x48]
cmp rax, rsi
jne 0x18008cc61
mov rax, rsi
mov rdx, qword [rsp + 0xd0]
mov rcx, rdx
cmp r12, rsi
mov rdi, rsi
mov esi, dword [rsp + 0x50]
jbe 0x18008ccfc
mov rcx, qword [rdi]
xor rcx, qword [rdx]
je 0x18008ccdb
bsf rax, rcx
mov rdi, qword [rsp + 0x40]
xor edx, edx
test rcx, rcx
sete cl
je 0x18008cce5
shr eax, 3
mov edx, dword [rsp + 0x78]
mov r14d, ebp
add r8d, eax
jmp 0x18008cc68
mov eax, r13d
add rax, qword [rsp + 0x90]
movsxd rcx, ebx
movzx edx, word [r11 + rcx - 1]
cmp dx, word [rcx + rax - 1]
jne 0x18008c9ac
mov rcx, qword [rsp + 0x80]
cmp dword [rax], ecx
mov r14d, ebp
jne 0x18008ca24
lea rcx, [rax + 4]
mov r8, qword [rsp + 0xf8]
cmp r12, r8
jbe 0x18008ccaa
mov rdx, qword [r8]
xor rdx, qword [rcx]
je 0x18008cc8c
bsf r8, rdx
xor esi, esi
test rdx, rdx
sete dl
je 0x18008cc97
shr r8d, 3
mov esi, dword [rsp + 0x50]
mov edx, dword [rsp + 0x78]
add r8d, 4
cmp r8d, ebx
mov rcx, qword [rsp + 0xd8]
cmovg rcx, rax
mov qword [rsp + 0xd8], rcx
cmovg ebx, r8d
jmp 0x18008c5bf
mov r12, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov r11, qword [rsp + 0x70]
mov esi, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x78]
movzx eax, r13w
mov rcx, qword [rsp + 0x60]
cmp word [rcx + rax*2 + 0x20000], 1
jne 0x18008c946
test r9d, r9d
jne 0x18008c946
mov ecx, dword [rsp + 0x98]
test ecx, ecx
je 0x18008c96d
cmp ecx, 2
jne 0x18008c93a
lea r11d, [r13 - 1]
cmp r11d, edx
jb 0x18008c93a
mov eax, edi
sub eax, r13d
cmp eax, 3
jb 0x18008c93a
mov dword [rsp + 0x48], r14d
cmp r11d, edi
mov rcx, rdi
mov rdi, qword [rsp + 0x90]
cmovb rdi, qword [rsp + 0x150]
mov r14d, r11d
mov dword [rsp + 0x98], 2
mov rax, qword [rsp + 0x80]
cmp dword [rdi + r14], eax
jne 0x18008c9b8
mov r13, rbx
lea r8, [rdi + r14]
cmp r11d, ecx
mov rcx, qword [rsp + 0x58]
cmovb rcx, qword [rsp + 0x158]
lea rsi, [r8 + 4]
lea rax, [rcx - 7]
mov rbx, rsi
cmp rsi, rax
mov r9, qword [rsp + 0xd0]
mov r12, qword [rsp + 0x80]
jae 0x18008dad0
lea rbp, [rdi + r14]
add rbp, 4
mov rbx, rsi
mov rdx, qword [rbx]
xor rdx, r15
jne 0x18008c9ca
add rbx, 8
add rbp, 8
cmp rbx, rax
jb 0x18008c91c
jmp 0x18008dad0
mov dword [rsp + 0x98], ecx
mov r11, qword [rsp + 0x70]
lea eax, [r9 + r13]
movzx eax, ax
mov rcx, qword [rsp + 0x60]
movzx eax, word [rcx + rax*2 + 0x20000]
sub r13d, eax
xor eax, eax
cmp eax, 3
jne 0x18008c58e
jmp 0x18008cfe6
mov dword [rsp + 0x98], 1
cmp byte [rsp + 0x168], 0
je 0x18008c946
mov rax, qword [rsp + 0xf8]
mov r10, rax
cmp r12, rax
jbe 0x18008db07
mov rax, qword [r10]
xor rax, r15
jne 0x18008ca03
add r10, 8
cmp r10, r12
jb 0x18008c996
jmp 0x18008db07
mov edx, dword [rsp + 0x78]
mov r14d, ebp
jmp 0x18008c5bf
mov r11, qword [rsp + 0x70]
mov r14d, dword [rsp + 0x48]
mov rdi, rcx
jmp 0x18008c946
bsf rbx, rdx
shr rbx, 3
add rbx, rbp
sub rbx, rsi
mov ebp, ebx
add rbp, 4
cmp r11d, dword [rsp + 0x40]
jae 0x18008ca90
lea rax, [r8 + rbp]
cmp rax, rcx
je 0x18008cded
mov rcx, qword [rsp + 0x88]
jmp 0x18008ca93
bsf rax, rax
shr rax, 3
add r10, rax
sub r10d, dword [rsp + 0xf8]
add r10, 4
mov ecx, 2
jmp 0x18008c875
mov edx, dword [rsp + 0x78]
jmp 0x18008c5bf
mov esi, 0x40
jmp 0x18008c6fb
mov dl, al
mov rax, qword [rsp + 0xf8]
lea rsi, [rax + rdx*8]
lea rcx, [rcx + rdx*8]
mov edx, dword [rsp + 0x78]
cmp rsi, rdi
jae 0x18008dc7e
mov rax, qword [rsp + 0xc8]
lea r8d, [rax + rsi]
mov rax, qword [rsi]
xor rax, qword [rcx]
jne 0x18008ca80
add rsi, 8
add rcx, 8
add r8d, 8
cmp rsi, rdi
jb 0x18008ca62
jmp 0x18008dc7e
bsf rsi, rax
shr rsi, 3
add esi, r8d
jmp 0x18008c710
mov rcx, r9
mov dword [rsp + 0x20c], r12d
lea rsi, [rcx + 4]
add rdi, r14
mov rbx, r8
mov rdx, rbx
mov rax, rdi
cmp rbx, rsi
jb 0x18008cabe
lea rbx, [rdx - 4]
lea rdi, [rax - 4]
cmp dword [rdx - 4], r12d
je 0x18008caa5
cmp rdx, rcx
mov r14d, dword [rsp + 0x48]
jbe 0x18008f22d
mov rsi, rcx
sub rsi, rax
mov rax, rsi
add rax, rdx
xor esi, esi
mov bl, byte [rdx + rsi - 1]
cmp bl, byte [rsp + rsi + 0x20f]
jne 0x18008caf8
lea rdi, [rdx + rsi]
dec rdi
dec rsi
cmp rdi, rcx
ja 0x18008cada
jmp 0x18008cafe
add rdx, rsi
mov rax, rdx
mov esi, dword [rsp + 0x50]
mov r12, qword [rsp + 0x68]
mov rbx, r13
mov rdx, r8
sub rdx, rax
cmp r11d, dword [rsp + 0x40]
jb 0x18008cbca
mov eax, edx
sub r8, rax
cmp r8, r9
jne 0x18008cbca
mov rax, qword [rsp + 0xc0]
cmp eax, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x88]
jae 0x18008cd6a
mov ebx, edx
neg ebx
mov ecx, ebx
shl ecx, 3
mov rdi, qword [rsp + 0x80]
mov eax, edi
rol eax, cl
test bl, 3
cmove eax, edi
mov dword [rsp + 0x20c], eax
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x140]
cmp rbx, 4
jl 0x18008dc95
add rbx, 0xfffffffffffffffc
lea rdi, [rcx - 4]
cmp dword [rcx - 4], eax
mov rcx, rdi
je 0x18008cb75
add rdi, 4
mov rcx, rdi
lea rax, [rsp + 0x20f]
mov bl, byte [rcx - 1]
cmp bl, byte [rax]
jne 0x18008cbb0
dec rcx
dec rax
cmp rcx, rsi
ja 0x18008cb9e
mov rax, qword [rsp + 0x158]
sub eax, ecx
add eax, edx
mov edx, eax
mov r12, qword [rsp + 0x68]
mov esi, dword [rsp + 0x50]
mov rbx, r13
mov r13d, r11d
sub r13d, edx
mov edx, dword [rsp + 0x78]
cmp r13d, edx
cmovbe r13d, edx
mov ecx, r11d
sub ecx, r13d
add rcx, rbp
cmp rbp, r10
ja 0x18008cc27
cmp rcx, r10
jb 0x18008cc27
sub r11d, r10d
add r11d, ebp
mov eax, r11d
not eax
mov rdi, qword [rsp + 0x40]
add eax, edi
cmp eax, 3
cmovb r11d, edi
xor r9d, r9d
mov eax, 2
mov dword [rsp + 0x98], 2
mov r13d, r11d
mov r11, qword [rsp + 0x70]
jmp 0x18008c95f
mov edx, r13d
not edx
mov rdi, qword [rsp + 0x40]
add edx, edi
xor r9d, r9d
mov eax, 2
cmp edx, 3
jae 0x18008cd73
mov dword [rsp + 0x98], 2
mov r13d, edi
mov r11, qword [rsp + 0x70]
jmp 0x18008c670
mov r11, qword [rsp + 0x70]
mov esi, dword [rsp + 0x50]
mov r14d, ebp
cmp r8d, ebx
jle 0x18008c5bf
mov eax, r13d
add rax, qword [rsp + 0x90]
mov qword [rsp + 0xd8], rax
mov ebx, r8d
jmp 0x18008c5bf
mov r8d, 0x40
jmp 0x18008c7eb
mov sil, dl
mov rdx, qword [rsp + 0xf8]
lea r8, [rdx + rsi*8]
lea rcx, [rcx + rsi*8]
cmp r8, r12
jae 0x18008e87f
mov rdx, qword [rsp + 0xc8]
add edx, r8d
mov rsi, qword [r8]
xor rsi, qword [rcx]
jne 0x18008cd43
add r8, 8
add rcx, 8
add edx, 8
cmp r8, r12
jb 0x18008ccbe
jmp 0x18008e87f
mov eax, 0x40
jmp 0x18008c76f
mov dl, cl
mov rax, qword [rsp + 0x48]
lea rax, [rax + rdx*8]
mov rcx, qword [rsp + 0xd0]
lea rcx, [rcx + rdx*8]
cmp rax, r12
jae 0x18008f4ba
add r14, qword [rsp + 0x170]
mov rdx, qword [rsp + 0x58]
cmp rdx, r14
cmovb r14, rdx
mov esi, eax
sub esi, r14d
mov r14d, ebp
mov rdi, qword [rsp + 0x40]
mov rdx, qword [rax]
xor rdx, qword [rcx]
jne 0x18008cd53
add rax, 8
add rcx, 8
add esi, 8
cmp rax, r12
jb 0x18008cd26
jmp 0x18008f4c2
bsf r8, rsi
shr r8, 3
add r8d, edx
jmp 0x18008c7fd
bsf rax, rdx
shr rax, 3
add eax, esi
mov esi, dword [rsp + 0x50]
mov edx, dword [rsp + 0x78]
jmp 0x18008c78c
mov esi, dword [rsp + 0x50]
jmp 0x18008cbca
cmp rcx, r10
cmovae rcx, r10
movsxd rdx, ebx
cmp rcx, rdx
mov r11, qword [rsp + 0x70]
jbe 0x18008cdb9
mov edx, r13d
mov rbp, qword [rsp + 0x178]
sub rbp, rdx
cmp rbp, 0xffff
ja 0x18008e995
add rdx, qword [rsp + 0x90]
mov qword [rsp + 0xd8], rdx
mov ebx, ecx
mov rdi, qword [rsp + 0x40]
movzx ecx, r13w
mov rdx, qword [rsp + 0x60]
movzx ecx, word [rdx + rcx*2 + 0x20000]
xor r9d, r9d
cmp r13d, ecx
cmovb ecx, r9d
jb 0x18008db9b
sub r13d, ecx
mov dword [rsp + 0x98], 2
jmp 0x18008c670
lea ecx, [rbp*8]
mov esi, r12d
rol esi, cl
test bl, 3
cmove esi, r12d
movabs rax, 0x100000001
imul rsi, rax
mov rcx, r9
mov rdx, qword [rsp + 0x68]
cmp r9, rdx
jae 0x18008da86
mov rax, qword [rcx]
xor rax, rsi
jne 0x18008ce35
add rcx, 8
cmp rcx, rdx
jb 0x18008ce1f
jmp 0x18008da86
bsf rax, rax
shr rax, 3
add rcx, rax
sub ecx, r9d
add rbp, rcx
jmp 0x18008c9f6
cmp byte [rbx], bpl
jne 0x18008c9d5
inc rbx
shr rbp, 8
dec rax
jne 0x18008ce4b
jmp 0x18008e99f
mov r11, rbx
test r13d, r13d
jle 0x18008d171
mov eax, esi
sub eax, r9d
cmp eax, 0xfffe
mov r14d, 0
ja 0x18008d174
mov rdx, qword [rsp + 0xe8]
mov r8, qword [rdx + 0x40000]
mov r10, qword [rdx + 0x40008]
sub r8, r10
mov eax, dword [rdx + 0x40018]
mov rcx, qword [rsp + 0x70]
imul ecx, dword [rcx], 0x9e3779b1
add r8, rax
shr ecx, 0x11
mov ebx, dword [rdx + rcx*4]
add r9d, ebx
sub r9d, r8d
mov ecx, esi
sub ecx, r9d
cmp ecx, 0xffff
ja 0x18008d174
sub r10, rax
mov r15, qword [rsp + 0x78]
mov r12, qword [rsp + 0xf8]
sub r13d, 1
jb 0x18008d174
mov eax, ebx
cmp dword [r10 + rax], r15d
jne 0x18008cf61
mov rcx, r8
sub rcx, rax
add rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
cmp rcx, rdx
cmova rcx, rdx
lea rsi, [r10 + rax]
add rsi, 4
lea rax, [rcx - 7]
cmp rax, r12
jbe 0x18008ef30
mov rdi, qword [r12]
xor rdi, qword [rsi]
je 0x18008cf8e
bsf rdx, rdi
xor ebp, ebp
test rdi, rdi
sete dil
je 0x18008cf95
shr edx, 3
mov rbp, qword [rsp + 0x40]
mov esi, dword [rsp + 0x50]
add edx, 4
cmp edx, r11d
jle 0x18008cf61
mov eax, r9d
add rax, qword [rsp + 0x90]
mov qword [rsp + 0xd8], rax
mov r11d, edx
movzx eax, bx
mov rcx, qword [rsp + 0xe8]
movzx eax, word [rcx + rax*2 + 0x20000]
sub ebx, eax
sub r9d, eax
mov eax, esi
sub eax, r9d
cmp eax, 0x10000
jb 0x18008cee1
jmp 0x18008d174
mov edx, 0x40
jmp 0x18008cf2c
mov bpl, dil
lea rdx, [r12 + rbp*8]
lea rsi, [rsi + rbp*8]
cmp rdx, rax
jae 0x18008db31
mov rdi, qword [rsp + 0xc8]
add edi, edx
mov rbp, qword [rdx]
xor rbp, qword [rsi]
jne 0x18008cfd0
add rdx, 8
add rsi, 8
add edi, 8
cmp rdx, rax
jb 0x18008cfb3
jmp 0x18008db31
bsf rdx, rbp
shr rdx, 3
add edx, edi
jmp 0x18008cf3a
mov esi, ebp
jmp 0x18008d35c
mov r12, rbx
test r14d, r14d
jle 0x18008d19a
mov eax, esi
sub eax, edx
cmp eax, 0xfffe
mov r9, qword [rsp + 0x148]
mov r13d, dword [rsp + 0x120]
ja 0x18008d1aa
mov rdx, qword [rsp + 0xe8]
mov r8, qword [rdx + 0x40000]
mov r10, qword [rdx + 0x40008]
sub r8, r10
mov eax, dword [rdx + 0x40018]
imul ecx, dword [r11], 0x9e3779b1
add r8, rax
shr ecx, 0x11
mov ebx, dword [rdx + rcx*4]
mov r15d, dword [rsp + 0x78]
add r15d, ebx
sub r15d, r8d
mov ecx, esi
sub ecx, r15d
cmp ecx, 0xffff
ja 0x18008d1aa
sub r10, rax
sub r14d, 1
jb 0x18008d1aa
mov eax, ebx
mov rcx, qword [rsp + 0x80]
cmp dword [r10 + rax], ecx
jne 0x18008d0eb
mov rdx, r8
sub rdx, rax
add rdx, r11
mov rcx, qword [rsp + 0x58]
cmp rdx, rcx
cmova rdx, rcx
lea rdi, [r10 + rax]
add rdi, 4
lea rsi, [rdx - 7]
mov rax, qword [rsp + 0xf8]
cmp rsi, rax
jbe 0x18008d132
mov rcx, qword [rax]
xor rcx, qword [rdi]
je 0x18008d118
bsf rax, rcx
xor ebp, ebp
test rcx, rcx
sete cl
je 0x18008d11f
shr eax, 3
mov rdi, qword [rsp + 0x40]
mov esi, dword [rsp + 0x50]
add eax, 4
cmp eax, r12d
jle 0x18008d0eb
mov ecx, r15d
add rcx, qword [rsp + 0x90]
mov qword [rsp + 0xd8], rcx
mov r12d, eax
movzx eax, bx
mov rcx, qword [rsp + 0xe8]
movzx eax, word [rcx + rax*2 + 0x20000]
sub ebx, eax
sub r15d, eax
mov eax, esi
sub eax, r15d
cmp eax, 0x10000
jb 0x18008d05f
jmp 0x18008d1aa
mov eax, 0x40
jmp 0x18008d0b7
mov bpl, cl
mov rax, qword [rsp + 0xf8]
lea rax, [rax + rbp*8]
lea rdi, [rdi + rbp*8]
cmp rax, rsi
jae 0x18008dc44
mov rcx, qword [rsp + 0xc8]
add ecx, eax
mov rbp, qword [rax]
xor rbp, qword [rdi]
jne 0x18008d162
add rax, 8
add rdi, 8
add ecx, 8
cmp rax, rsi
jb 0x18008d145
jmp 0x18008dc44
bsf rax, rbp
shr rax, 3
add eax, ecx
jmp 0x18008d0c4
xor r14d, r14d
mov rdi, rbp
mov r12, r11
cmp r12d, 3
mov r9, qword [rsp + 0x148]
mov r11, qword [rsp + 0x70]
mov r13, qword [rsp + 0x118]
jg 0x18008d1c1
jmp 0x18008d352
mov r9, qword [rsp + 0x148]
mov r13d, dword [rsp + 0x120]
cmp r12d, r13d
mov r13, qword [rsp + 0x118]
mov r14d, 0
jle 0x18008d352
mov eax, r12d
add eax, 0xffffffed
shl r12, 0x20
cmp eax, 0x12
mov rcx, r12
movabs rax, 0x1200000000
cmovb rcx, rax
cmp byte [rsp + 0xa0], 0
cmove rcx, r12
mov rax, rcx
shr rax, 0x20
je 0x18008d352
sub r11, qword [rsp + 0xd8]
sar rcx, 0x20
cmp rcx, qword [rsp + 0x100]
mov r10, qword [rsp + 0x60]
ja 0x18008dabf
mov rcx, qword [rsp + 0x138]
add ecx, eax
cmp ecx, 0xfff
jg 0x18008dabf
mov rcx, qword [rsp + 0x1d0]
movsxd r15, dword [r9 + rcx + 0xc]
lea edx, [r15 - 0xf]
mov r14d, 0x80808081
imul rdx, r14
shr rdx, 0x27
lea ebx, [r15 + 1]
cmp r15, 0xf
lea ecx, [rdx + r15 + 1]
cmovl ecx, r15d
mov rdx, qword [rsp + 0x110]
mov r12, rcx
sub edx, ecx
mov ebp, ebx
cmp r15, 0xd
jle 0x18008d284
lea ebp, [r15 - 0xe]
imul rbp, r14
shr rbp, 0x27
add ebp, r15d
add ebp, 2
add ebp, edx
cmp ebp, dword [rsp + 0x198]
movabs r8, 0x100000000
jge 0x18008d2b1
mov rcx, qword [rsp + 0x130]
lea rdi, [r9 + rcx]
mov qword [r9 + rcx + 4], r8
mov dword [r9 + rcx + 0xc], ebx
mov dword [rdi], ebp
lea ebx, [r15 + 2]
mov ebp, ebx
cmp r15d, 0xd
jl 0x18008d2cf
lea ebp, [r15 - 0xd]
imul rbp, r14
shr rbp, 0x27
add ebp, r15d
add ebp, 3
add ebp, edx
mov rdi, qword [rsp + 0x138]
add rdi, 2
shl rdi, 4
cmp ebp, dword [r9 + rdi]
mov r10d, esi
jge 0x18008d2fd
lea rsi, [r9 + rdi]
mov qword [r9 + rdi + 4], r8
mov dword [r9 + rdi + 0xc], ebx
mov dword [rsi], ebp
mov esi, r10d
lea ebx, [r15 + 3]
mov ebp, ebx
cmp r15d, 0xc
jl 0x18008d31b
lea ebp, [r15 - 0xc]
imul rbp, r14
shr rbp, 0x27
add ebp, r15d
add ebp, 4
add ebp, edx
mov rcx, qword [rsp + 0x138]
lea rdx, [rcx + 3]
shl rdx, 4
cmp ebp, dword [r9 + rdx]
jge 0x18008d343
lea rdi, [r9 + rdx]
mov qword [r9 + rdx + 4], r8
mov dword [r9 + rdx + 0xc], ebx
mov dword [rdi], ebp
cmp eax, 3
jg 0x18008d3b1
mov r12, qword [rsp + 0x68]
jmp 0x18008d4db
mov r10, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov rax, qword [rsp + 0xb0]
inc eax
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xc8]
dec eax
mov qword [rsp + 0xc8], rax
inc qword [rsp + 0x170]
add qword [rsp + 0x160], 0x10
inc qword [rsp + 0xe0]
mov ebp, esi
mov rax, qword [rsp + 0x1e0]
cmp r13d, eax
jg 0x18008b965
jmp 0x18008d5a1
mov r8, r11
lea r11d, [rax + 1]
mov rcx, qword [rsp + 0x1d0]
mov r14d, dword [r9 + rcx + 8]
mov rcx, qword [rsp + 0x138]
mov edx, ecx
sub edx, r15d
movsxd rdx, edx
shl rdx, 4
add rdx, r9
mov qword [rsp + 0x50], rdx
lea r9d, [r12 + 3]
add r12d, 4
mov qword [rsp + 0x98], r12
mov edx, 4
mov rdi, qword [rsp + 0x160]
cmp r14d, 1
jne 0x18008d44d
xor ebp, ebp
cmp qword [rsp + 0x138], r15
jle 0x18008d418
mov rcx, qword [rsp + 0x50]
mov ebp, dword [rcx]
mov esi, r9d
cmp rdx, 0x13
jb 0x18008d446
lea rsi, [rdx - 0x13]
movsxd rsi, esi
imul rbx, rsi, 0xffffffff80808081
shr rbx, 0x20
add esi, ebx
mov ebx, esi
shr ebx, 0x1f
sar esi, 7
add esi, ebx
add esi, dword [rsp + 0x98]
add esi, ebp
mov ebp, r15d
jmp 0x18008d482
mov esi, 3
cmp rdx, 0x13
jb 0x18008d479
lea rsi, [rdx - 0x13]
movsxd rsi, esi
imul rbx, rsi, 0xffffffff80808081
shr rbx, 0x20
add esi, ebx
mov ebx, esi
sar ebx, 7
shr esi, 0x1f
add esi, ebx
add esi, 4
add esi, dword [rsp + 0x110]
xor ebp, ebp
lea ecx, [r13 + 3]
mov rbx, qword [rsp + 0xe0]
add rbx, rdx
add rbx, 0xfffffffffffffffc
cmp ecx, ebx
jl 0x18008d4a6
mov ecx, dword [rdi]
add ecx, dword [rsp + 0x1d8]
cmp esi, ecx
jg 0x18008d4c3
cmp r13d, ebx
cmovge ebx, r13d
cmp rax, rdx
cmovne ebx, r13d
mov dword [rdi + 8], edx
mov dword [rdi + 4], r8d
mov dword [rdi + 0xc], ebp
mov dword [rdi], esi
mov r13d, ebx
mov r12, qword [rsp + 0x68]
mov esi, r10d
inc rdx
add rdi, 0x10
cmp r11, rdx
jne 0x18008d3ff
movsxd rax, r13d
shl rax, 4
mov r9, qword [rsp + 0x148]
movabs rbp, 0x100000000
mov qword [r9 + rax + 0x14], rbp
mov dword [r9 + rax + 0x1c], 1
mov ecx, dword [r9 + rax]
lea edx, [rcx + 1]
mov dword [r9 + rax + 0x10], edx
mov qword [r9 + rax + 0x24], rbp
mov dword [r9 + rax + 0x2c], 2
lea edx, [rcx + 2]
mov dword [r9 + rax + 0x20], edx
mov qword [r9 + rax + 0x34], rbp
mov dword [r9 + rax + 0x3c], 3
add ecx, 3
mov dword [r9 + rax + 0x30], ecx
mov r10, qword [rsp + 0x60]
xor r14d, r14d
mov rdi, qword [rsp + 0x40]
jmp 0x18008d35c
cmp r15, qword [rsp + 0x58]
jae 0x18008bfcb
cmp byte [r15], al
jne 0x18008bfcb
inc r15
shr rax, 8
jmp 0x18008d54c
cmp r10, qword [rsp + 0x58]
jae 0x18008ca0e
cmp byte [r10], al
jne 0x18008ca0e
inc r10
shr rax, 8
jmp 0x18008d569
inc rax
shr rdx, 8
cmp rax, qword [rsp + 0x58]
jae 0x18008c3d1
cmp byte [rax], dl
je 0x18008d586
jmp 0x18008c3d1
movsxd rcx, r13d
mov rax, rcx
shl rax, 4
mov r11d, dword [r9 + rax + 4]
mov eax, dword [r9 + rax + 8]
sub ecx, eax
movsxd rsi, ecx
mov rdx, rsi
shl rdx, 4
mov ebx, dword [r9 + rdx + 8]
cmp esi, ebx
mov ebp, ebx
cmovl ebp, r14d
mov edi, dword [r9 + rdx + 4]
mov ecx, esi
sub ecx, ebp
mov dword [r9 + rdx + 8], eax
mov dword [r9 + rdx + 4], r11d
mov eax, ebx
mov r11d, edi
cmp esi, ebx
jge 0x18008d5b7
test r13d, r13d
jle 0x18008da33
mov qword [rsp + 0x118], r13
mov r13d, r13d
xor r11d, r11d
mov rbx, qword [rsp + 0x128]
mov rax, qword [rsp + 0xf0]
mov r12, rax
movsxd rdx, r11d
mov rsi, rdx
shl rsi, 4
add rsi, qword [rsp + 0x1b8]
sub rax, rbx
lea rbp, [rax - 0x10e]
mov ecx, r12d
shl cl, 4
mov qword [rsp + 0x128], rbx
shl bl, 4
sub cl, bl
xor r15d, r15d
mov edi, dword [rsi]
cmp rdi, 1
jne 0x18008d66f
add rsi, 0x10
lea rbx, [rdx + r15]
inc rbx
inc r15
inc rbp
add cl, 0x10
inc rax
cmp rbx, r13
jl 0x18008d646
jmp 0x18008d8f0
mov rbx, r12
movabs rdx, 0x8080808080808081
mul rdx
sub rbx, qword [rsp + 0x128]
mov qword [rsp + 0x40], rbx
mov r8d, dword [rsi - 4]
cmp dword [rsp + 0xac], 0
je 0x18008d6c7
mov rax, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x40]
add rax, rsi
shr rdx, 7
add rdx, rax
lea rax, [r15 + rdx]
add rax, 9
cmp rax, qword [rsp + 0x188]
ja 0x18008e04a
mov r11d, r11d
add r11, rdi
mov rbx, qword [rsp + 0x108]
lea r14, [rbx + 1]
mov rsi, qword [rsp + 0x40]
lea rax, [rsi + r15]
cmp rax, 0xf
mov qword [rsp + 0x98], r8
jb 0x18008d79d
lea rdx, [rsi + r15]
add rdx, 0xfffffffffffffff1
mov byte [rbx], 0xf0
cmp rdx, 0xff
jb 0x18008d78d
lea rax, [rsi + r15]
add rax, 0xfffffffffffffef2
mov qword [rsp + 0x50], rax
movabs rcx, 0x8080808080808081
mul rcx
shr rdx, 7
mov qword [rsp + 0x90], rdx
lea r8, [rdx + 1]
mov rcx, r14
mov dl, 0xff
mov rsi, r11
call sub.VCRUNTIME140.dll_memset
mov r11, rsi
mov rsi, qword [rsp + 0x40]
mov r9, qword [rsp + 0x148]
mov r10, qword [rsp + 0x60]
mov rax, qword [rsp + 0x90]
lea r14, [rbx + rax]
add r14, 2
mov rax, rbp
movabs rcx, 0x8080808080808081
mul rcx
shr rdx, 7
mov rax, rdx
shl rax, 8
sub rdx, rax
add rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x128]
mov byte [r14], dl
inc r14
jmp 0x18008d7a7
mov byte [rbx], cl
mov rax, qword [rsp + 0x128]
movsxd rbx, edi
add r11, r15
lea r8, [r14 + rsi]
add r8, 2
lea rcx, [r14 + rsi]
lea rsi, [rcx + r15]
mov rdx, r14
mov rbp, qword [rax]
mov qword [rdx], rbp
add rdx, 8
add rax, 8
cmp rdx, rsi
jb 0x18008d7c0
lea rbp, [rbx - 4]
mov rax, rbp
movabs rdx, 0x8080808080808081
mul rdx
mov rax, qword [rsp + 0x98]
mov word [r8 + r15 - 2], ax
cmp dword [rsp + 0xac], 0
je 0x18008d81c
mov r8, rax
shr rdx, 7
lea rax, [rdx + rsi]
add rax, 8
cmp rax, qword [rsp + 0x188]
ja 0x18008e04a
add rcx, r15
add rcx, 2
cmp rbp, 0xf
jb 0x18008d8c0
mov rax, qword [rsp + 0x108]
add byte [rax], 0xf
lea rax, [rbx - 0x13]
cmp rax, 0x1fe
jb 0x18008d8a5
lea rax, [rbx - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbp, rdx
shr rbp, 8
lea r8, [rbp + 2]
add r8, rbp
mov dl, 0xff
mov rsi, r11
call sub.VCRUNTIME140.dll_memset
mov r11, rsi
mov r9, qword [rsp + 0x148]
mov r10, qword [rsp + 0x60]
lea rax, [r14 + rbp*2]
add rax, qword [rsp + 0x40]
lea rcx, [r15 + rax]
add rcx, 4
imul rax, rbp, 0xfffffffffffffe02
add rax, rbx
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x18008d8b9
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
mov byte [rcx], al
inc rcx
jmp 0x18008d8cb
mov rax, qword [rsp + 0x108]
add byte [rax], bpl
mov qword [rsp + 0x108], rcx
add r12, rbx
lea rbx, [r12 + r15]
mov rax, rbx
cmp r11d, dword [rsp + 0x118]
jl 0x18008d611
jmp 0x18008e9f5
add r12, r15
mov r15, r12
jmp 0x18008b732
mov qword [r9 + 0x24], rbx
mov dword [r9 + 0x2c], edx
mov dword [r9 + 0x20], edx
mov ecx, 0xf
cmp r11d, 0xc
je 0x18008b7f5
lea ecx, [r11 + 3]
mov edx, ecx
mov eax, 0x80808081
jmp 0x18008b80c
mov eax, r11d
shl al, 4
mov byte [rdi], al
lea rcx, [rbx + r11]
mov rax, qword [rsp + 0x128]
mov rdx, rbx
mov rbp, qword [rax]
mov qword [rdx], rbp
add rdx, 8
add rax, 8
cmp rdx, rcx
jb 0x18008d93d
lea rbp, [r13 - 4]
mov rax, rbp
movabs rdx, 0x8080808080808081
mul rdx
mov word [rcx], r14w
cmp dword [rsp + 0xac], 0
je 0x18008d98c
shr rdx, 7
lea rax, [rcx + rdx]
add rax, 8
cmp rax, qword [rsp + 0x188]
ja 0x18008df31
add rcx, 2
cmp rbp, 0xf
jb 0x18008da1d
add byte [rdi], 0xf
lea rax, [r13 - 0x13]
cmp rax, 0x1fe
jb 0x18008da02
lea rax, [r13 - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbp, rdx
shr rbp, 8
lea r8, [rbp + 2]
add r8, rbp
mov dl, 0xff
mov rsi, r11
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x148]
mov r10, qword [rsp + 0x60]
lea rax, [rsi + rbp*2]
lea rcx, [rbx + rax]
add rcx, 4
imul rax, rbp, 0xfffffffffffffe02
add rax, r13
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x18008da16
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
mov byte [rcx], al
inc rcx
jmp 0x18008da20
add byte [rdi], bpl
add r15, r13
mov r12, r15
mov qword [rsp + 0x108], rcx
jmp 0x18008b73a
mov r12, qword [rsp + 0x128]
mov r15, qword [rsp + 0xf0]
jmp 0x18008b73a
inc rax
shr rdx, 8
cmp rax, qword [rsp + 0x58]
jae 0x18008b421
cmp byte [rax], dl
je 0x18008da48
jmp 0x18008b421
cmp rsi, r14
mov rbx, qword [rsp + 0x68]
jae 0x18008bf91
mov rcx, r14
sub rcx, rsi
mov rdx, rbp
jmp 0x18008c3e0
inc rcx
shr rsi, 8
cmp rcx, qword [rsp + 0x58]
jae 0x18008ce40
cmp byte [rcx], sil
je 0x18008da7f
jmp 0x18008ce40
mov rax, qword [rsp + 0x98]
jmp 0x18008d54c
cmp rsi, r13
jae 0x18008afab
mov rdx, r13
sub rdx, rsi
mov rdi, r15
jmp 0x18008b436
mov rcx, qword [rsp + 0x138]
lea r13d, [rcx + 1]
jmp 0x18008d5b7
cmp rbx, rcx
jae 0x18008c9d5
mov rax, rcx
sub rax, rbx
mov rbp, r15
jmp 0x18008ce4b
mov rdx, r15
cmp r11, qword [rsp + 0x58]
jae 0x18008aff1
cmp byte [r11], dl
jne 0x18008aff1
inc r11
shr rdx, 8
jmp 0x18008daea
mov rax, r15
jmp 0x18008d569
lea rax, [rcx - 1]
cmp rdx, rax
jb 0x18008e103
cmp rdx, rcx
jb 0x18008e11c
mov esi, dword [rsp + 0x50]
sub edx, r12d
jmp 0x18008cf43
lea rax, [rcx - 3]
cmp rdx, rax
jae 0x18008e149
jmp 0x18008e12d
mov rax, qword [rsp + 0x48]
dec rax
cmp r10, rax
mov rbx, r14
jb 0x18008e1b5
mov rax, qword [rsp + 0x48]
cmp r10, rax
jb 0x18008e1cf
mov esi, dword [rsp + 0x50]
sub r10d, dword [rsp + 0xf8]
jmp 0x18008bcb6
mov rax, qword [rsp + 0x48]
add rax, 0xfffffffffffffffd
cmp r10, rax
jae 0x18008e203
jmp 0x18008e1e1
test rcx, rcx
jg 0x18008c162
jmp 0x18008c17c
mov edx, dword [rsp + 0x78]
jmp 0x18008cfe6
lea rcx, [rax - 1]
cmp rdx, rcx
jb 0x18008e365
cmp rdx, rax
jb 0x18008e37e
mov rcx, r9
sub edx, r15d
jmp 0x18008b54a
lea rcx, [rax - 3]
cmp rdx, rcx
jae 0x18008e3a9
jmp 0x18008e38f
lea rdi, [r8 - 1]
cmp rdx, rdi
jb 0x18008e3ed
cmp rdx, r8
jb 0x18008e406
mov rbx, qword [rsp + 0x68]
mov esi, dword [rsp + 0x48]
sub edx, dword [rsp + 0x78]
jmp 0x18008acf4
lea rdi, [r8 - 3]
cmp rdx, rdi
jae 0x18008e434
jmp 0x18008e418
test rcx, rcx
jg 0x18008b19d
jmp 0x18008b1b7
lea rcx, [rdx - 1]
cmp rax, rcx
jb 0x18008e732
cmp rax, rdx
jb 0x18008e74b
mov rdi, rbp
sub eax, dword [rsp + 0xf8]
jmp 0x18008d0cd
lea rcx, [rdx - 3]
cmp rax, rcx
jae 0x18008e77c
jmp 0x18008e75c
mov rax, qword [rsp + 0x48]
dec rax
cmp rsi, rax
jb 0x18008e8ad
cmp rsi, qword [rsp + 0x48]
jb 0x18008e8c6
sub esi, dword [rsp + 0xf8]
jmp 0x18008c715
mov rax, qword [rsp + 0x48]
add rax, 0xfffffffffffffffd
cmp rsi, rax
jae 0x18008e8f3
jmp 0x18008e8d7
test rbx, rbx
jg 0x18008cb96
jmp 0x18008cbb0
mov r9, qword [rsp + 0x170]
mov r12, qword [rsp + 0x168]
mov rax, qword [rsp + 0x190]
mov rbp, qword [rsp + 0x188]
add rbp, rax
xor ecx, ecx
mov esi, dword [rsp + 0xac]
cmp esi, 2
sete r8b
sub rbp, r9
lea rax, [rbp + 0xf0]
movabs rdi, 0x8080808080808081
mul rdi
test esi, esi
je 0x18008dd41
shr rdx, 7
add rdx, rbp
mov cl, r8b
lea rax, [rcx + rcx*4]
mov rcx, qword [rsp + 0x178]
add rcx, rax
lea rax, [r12 + rdx]
inc rax
cmp rax, rcx
jbe 0x18008dd41
xor r14d, r14d
cmp dword [rsp + 0xac], 1
je 0x18008df24
mov rax, r12
not rax
lea rbp, [rax + rcx]
add rax, rcx
add rax, 0xf1
shr rax, 8
sub rbp, rax
lea rsi, [r9 + rbp]
cmp rbp, 0xf
jb 0x18008dda6
lea rax, [rbp - 0xf]
mov byte [r12], 0xf0
lea rcx, [r12 + 1]
cmp rax, 0xff
jb 0x18008dd9f
lea rax, [rbp - 0x10e]
mul rdi
mov rdi, rdx
shr rdi, 7
lea r8, [rdi + 1]
mov dl, 0xff
mov r14, r9
call sub.VCRUNTIME140.dll_memset
mov r9, r14
mov rax, rdi
shl rax, 8
lea rcx, [rdi + r12]
add rcx, 2
sub rdi, rax
lea rax, [rdi + rbp]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
mov r12, rcx
jmp 0x18008ddaf
mov eax, ebp
shl al, 4
mov byte [r12], al
inc r12
mov rcx, r12
mov rdx, r9
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
add r12d, ebp
sub esi, dword [rsp + 0x190]
mov rax, qword [rsp + 0x1f8]
mov dword [rax], esi
sub r12d, dword [rsp + 0x1c0]
mov r14d, r12d
jmp 0x18008df16
mov rdx, qword [r10 + 0x40028]
mov r8d, 0x40030
mov r14, r9
mov rcx, r10
mov rsi, r10
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rsi
mov rbp, qword [rsp + 0x190]
mov rdx, rbp
call fcn.18008f540
mov word [rsi + 0x40024], di
mov rcx, qword [rsp + 0x210]
xor rcx, rsp
call fcn.18004bde0
mov rcx, rsi
mov rdx, rbp
mov r8, rbx
mov r9, r14
add rsp, 0x218
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.18003eab0
mov rbx, qword [rsp + 0x1c0]
lea rsi, [r15 + rdi]
cmp rdi, 0xf
jb 0x18008decc
lea rax, [rdi - 0xf]
mov rbp, qword [rsp + 0x108]
mov byte [rbp], 0xf0
lea rcx, [rbp + 1]
cmp rax, 0xff
jb 0x18008dec5
lea rax, [rdi - 0x10e]
movabs rdx, 0x8080808080808081
mul rdx
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, rbx
shl rax, 8
lea rcx, [rbx + rbp]
add rcx, 2
sub rbx, rax
lea rax, [rdi + rbx]
add rax, 0xfffffffffffffef2
mov rbx, qword [rsp + 0x1c0]
mov byte [rcx], al
mov rbp, rcx
jmp 0x18008dedc
mov eax, edi
shl al, 4
mov rbp, qword [rsp + 0x108]
mov byte [rbp], al
inc rbp
mov rcx, rbp
mov rdx, r15
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add ebp, edi
sub esi, dword [rsp + 0x190]
mov rax, qword [rsp + 0x1f8]
mov dword [rax], esi
sub ebp, ebx
mov r14d, ebp
mov r9, qword [rsp + 0x148]
mov rcx, r9
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r14d, r14d
mov r10, qword [rsp + 0x60]
jg 0x180087535
mov byte [r10 + 0x40027], 1
jmp 0x180087535
movsxd r8, r14d
mov edi, r13d
xor r14d, r14d
cmp dword [rsp + 0xac], 2
mov rbp, qword [rsp + 0x188]
jne 0x18008df0d
mov rbx, r15
mov r12, qword [rsp + 0x128]
sub rbx, r12
lea rax, [rbx + 0xf0]
movabs rcx, 0x8080808080808081
mul rcx
shr rdx, 7
add rdx, rbx
lea rcx, [rbp - 3]
mov rax, qword [rsp + 0x108]
add rax, rdx
inc rax
cmp rax, rcx
ja 0x18008767b
sub rcx, rax
mov rdx, rcx
shl rdx, 8
sub rdx, rcx
add rdx, 0x12
movsxd rcx, edi
cmp rdx, rcx
cmovb ecx, edx
add rax, 2
not rax
add rax, rbp
movsxd r14, ecx
add rax, r14
add rax, 5
cmp rax, 0xc
jl 0x18008767b
mov rdi, qword [rsp + 0x108]
lea rsi, [rdi + 1]
cmp rbx, 0xf
jb 0x18008ee48
lea rax, [rbx - 0xf]
mov byte [rdi], 0xf0
cmp rax, 0xff
jb 0x18008e040
lea rax, [rbx - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbp, rdx
shr rbp, 7
mov r12, r8
lea r8, [rbp + 1]
mov rcx, rsi
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r8, r12
mov r9, qword [rsp + 0x148]
mov rax, rbp
shl rax, 8
lea rsi, [rdi + rbp]
add rsi, 2
sub rbp, rax
lea rax, [rbx + rbp]
add rax, 0xfffffffffffffef2
mov byte [rsi], al
inc rsi
jmp 0x18008ee4f
add r12, r15
mov r15, r12
jmp 0x18008df37
lea rax, [r14 - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov rcx, rdi
mov dl, 0xff
mov rdi, r9
call sub.VCRUNTIME140.dll_memset
mov r9, rdi
mov r10, qword [rsp + 0x60]
mov rax, rbx
shl rax, 8
lea rdi, [r12 + rbx]
add rdi, 2
sub rbx, rax
lea rax, [r14 + rbx]
add rax, 0xfffffffffffffef2
jmp 0x18008a5c5
lea rax, [rbp - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rbx, rdx
shr rbx, 8
lea r8, [rbx + rbx]
add r8, 2
mov rcx, r12
mov dl, 0xff
mov rsi, r9
call sub.VCRUNTIME140.dll_memset
mov r9, rsi
mov r10, qword [rsp + 0x60]
lea rax, [r14 + rbx*2]
lea r12, [rdi + rax]
add r12, 4
imul rax, rbx, 0xfffffffffffffe02
add rax, rbp
add rax, 0xfffffffffffffdef
jmp 0x18008a67a
movzx eax, word [rsi]
cmp ax, word [rdx]
jne 0x18008db1c
add rdx, 2
add rsi, 2
jmp 0x18008db1c
mov al, byte [rsi]
xor ecx, ecx
cmp al, byte [rdx]
sete cl
add rdx, rcx
jmp 0x18008db25
mov eax, dword [rsi]
cmp eax, dword [rdx]
mov rbp, qword [rsp + 0x40]
jne 0x18008db0f
add rdx, 4
add rsi, 4
jmp 0x18008db0f
mov rbp, qword [rsp + 0x40]
jmp 0x18008db0f
mov rax, qword [rsp + 0x58]
add rax, 0xfffffffffffffffd
cmp rdx, rax
jae 0x18008e16f
mov eax, dword [rsi]
cmp eax, dword [rdx]
jne 0x18008e16f
add rdx, 4
add rsi, 4
mov rax, qword [rsp + 0x58]
dec rax
cmp rdx, rax
jae 0x18008e18c
movzx eax, word [rsi]
cmp ax, word [rdx]
jne 0x18008e18c
add rdx, 2
add rsi, 2
cmp rdx, qword [rsp + 0x58]
jae 0x18008e1a0
mov al, byte [rsi]
xor ebp, ebp
cmp al, byte [rdx]
sete bpl
add rdx, rbp
mov rbp, qword [rsp + 0x40]
mov esi, dword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
sub edx, eax
jmp 0x18008bd31
movzx eax, word [rsi]
cmp ax, word [r10]
jne 0x18008db57
add r10, 2
add rsi, 2
jmp 0x18008db57
mov al, byte [rsi]
xor edx, edx
cmp al, byte [r10]
sete dl
add r10, rdx
jmp 0x18008db65
mov eax, dword [rsi]
cmp eax, dword [r10]
mov r12, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x40]
jne 0x18008db43
add r10, 4
add rsi, 4
jmp 0x18008db43
mov r12, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x40]
jmp 0x18008db43
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
jmp 0x18008ce65
test rbx, rbx
mov ebp, dword [rsp + 0x48]
jg 0x180088d86
jmp 0x180088da0
mov rdx, r13
sub rdx, rsi
mov rbp, r9
jmp 0x180089028
mov rsi, r14
jmp 0x18008bf91
cmp rbx, qword [rsp + 0x1b0]
jae 0x18008ea08
mov eax, dword [rsi]
cmp eax, dword [rbx]
mov ebp, dword [rsp + 0x48]
jne 0x18008ea0c
add rbx, 4
add rsi, 4
jmp 0x18008ea0c
cmp rsi, qword [rsp + 0x1b0]
jae 0x18008e28a
mov eax, dword [rbx]
cmp eax, dword [rsi]
jne 0x18008e28a
add rsi, 4
add rbx, 4
cmp rsi, qword [rsp + 0x1a8]
jae 0x18008e2a4
movzx eax, word [rbx]
cmp ax, word [rsi]
jne 0x18008e2a4
add rsi, 2
add rbx, 2
cmp rsi, qword [rsp + 0x50]
jae 0x18008e2b7
mov al, byte [rbx]
xor ecx, ecx
cmp al, byte [rsi]
sete cl
add rsi, rcx
sub esi, r15d
jmp 0x1800888fc
lea rax, [rsi - 3]
cmp rdx, rax
jae 0x18008ea48
mov eax, dword [r10]
cmp eax, dword [rdx]
mov r8, rbx
mov r14d, dword [rsp + 0x150]
jne 0x18008ea53
add rdx, 4
add r10, 4
jmp 0x18008ea53
mov eax, dword [rdx]
cmp eax, dword [rsi]
jne 0x18008942f
add rsi, 4
add rdx, 4
jmp 0x18008942f
movzx eax, word [rdx]
cmp ax, word [rsi]
jne 0x18008943c
add rsi, 2
add rdx, 2
jmp 0x18008943c
mov al, byte [rdx]
xor ecx, ecx
cmp al, byte [rsi]
sete cl
add rsi, rcx
jmp 0x180089445
shr rdx, 7
add rdx, r12
lea rax, [rsi + rdx]
add rax, 9
cmp rax, qword [rsp + 0x178]
jbe 0x18008a723
mov r11, rbx
mov r9, rdi
jmp 0x18008f05c
mov rdi, qword [rsp + 0x198]
jmp 0x18008a6dc
movzx ecx, word [rdi]
cmp cx, word [rdx]
jne 0x18008dbb1
add rdx, 2
add rdi, 2
jmp 0x18008dbb1
mov al, byte [rdi]
xor ecx, ecx
cmp al, byte [rdx]
sete cl
add rdx, rcx
jmp 0x18008dbba
mov ecx, dword [rdi]
cmp ecx, dword [rdx]
mov esi, r12d
jne 0x18008dba4
add rdx, 4
add rdi, 4
jmp 0x18008dba4
mov esi, r12d
jmp 0x18008dba4
shr rdx, 7
lea rax, [r14 + rdx]
add rax, 8
cmp rax, qword [rsp + 0x178]
jbe 0x18008a792
mov r11, rbx
mov r9, rdi
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x100], eax
mov r13, qword [rsp + 0x120]
jmp 0x18008f06b
movzx edi, word [rsi]
cmp di, word [rdx]
jne 0x18008dbe4
add rdx, 2
add rsi, 2
jmp 0x18008dbe4
mov bl, byte [rsi]
xor esi, esi
cmp bl, byte [rdx]
sete sil
add rdx, rsi
jmp 0x18008dbed
mov edi, dword [rsi]
cmp edi, dword [rdx]
mov rbp, qword [rsp + 0x40]
jne 0x18008dbd7
add rdx, 4
add rsi, 4
jmp 0x18008dbd7
mov rbp, qword [rsp + 0x40]
jmp 0x18008dbd7
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x140], r8
mov r15d, dword [rsp + 0xbc]
mov r12, qword [rsp + 0x168]
mov r13, qword [rsp + 0x170]
mov r11, qword [rsp + 0x110]
mov r9, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x198]
mov rbp, qword [rsp + 0x180]
jmp 0x18008a6dc
lea rax, [rsi - 0xf]
mov byte [r12], 0xf0
cmp rax, 0xff
jb 0x18008e51c
lea rax, [rsi - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov r14, rdx
shr r14, 7
lea r8, [r14 + 1]
mov rcx, r13
mov dl, 0xff
mov r13, r9
mov qword [rsp + 0x40], rsi
mov rsi, rbx
mov rdi, r11
call sub.VCRUNTIME140.dll_memset
mov r11, rdi
mov rbp, qword [rsp + 0x180]
mov rdi, qword [rsp + 0x198]
mov rsi, qword [rsp + 0x40]
mov r9, r13
mov r10, qword [rsp + 0x60]
mov rax, r14
shl rax, 8
lea r13, [r12 + r14]
add r13, 2
sub r14, rax
lea rax, [rsi + r14]
add rax, 0xfffffffffffffef2
mov byte [r13], al
inc r13
jmp 0x18008a737
mov eax, esi
shl al, 4
mov byte [r12], al
jmp 0x18008a737
shr rdx, 7
add rdx, r14
lea rax, [r12 + rdx]
add rax, 9
cmp rax, qword [rsp + 0x178]
jbe 0x18008a7cc
jmp 0x18008e635
mov rcx, rdi
jmp 0x18008b450
mov rsi, r13
jmp 0x18008afab
add byte [r12], 0xf
mov rcx, qword [rsp + 0x40]
lea rax, [rcx - 0x13]
cmp rax, 0x1fe
jb 0x18008e5ed
lea rax, [rcx - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov r12, rdx
shr r12, 8
lea r8, [r12 + r12]
add r8, 2
mov rcx, r14
mov dl, 0xff
mov rdi, r9
mov r14, rsi
mov rsi, rbx
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x180]
mov r9, rdi
mov r10, qword [rsp + 0x60]
lea rax, [r14 + r12*2]
lea r14, [rax + r13]
add r14, 4
imul rax, r12, 0xfffffffffffffe02
mov r11, qword [rsp + 0x110]
add rax, rcx
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x18008e602
add rax, 0xffffffffffffff01
mov byte [r14], 0xff
inc r14
mov byte [r14], al
inc r14
jmp 0x18008a7a5
add byte [r12], r8b
mov rcx, qword [rsp + 0x40]
jmp 0x18008a7a5
shr rdx, 7
lea rax, [r12 + rdx]
add rax, 8
cmp rax, qword [rsp + 0x178]
jbe 0x18008a82c
mov r9, rbx
mov r13, qword [rsp + 0xc8]
mov rax, qword [rsp + 0x130]
mov dword [rsp + 0x100], eax
mov r12, r14
jmp 0x18008f06b
cmp rsi, r13
jae 0x18008ef45
mov rax, r13
sub rax, rsi
mov rcx, qword [rsp + 0x130]
sub ecx, eax
mov qword [rsp + 0x130], rcx
cmp ecx, 3
jg 0x18008ef38
mov rsi, r8
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xc8], rax
mov eax, dword [rsp + 0xa0]
mov qword [rsp + 0x130], rax
jmp 0x18008ef45
lea rax, [r12 - 0xf]
mov byte [r14], 0xf0
cmp rax, 0xff
jb 0x18008e71a
lea rax, [r12 - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov r13, rdx
shr r13, 7
lea r8, [r13 + 1]
mov rcx, rsi
mov dl, 0xff
mov rdi, r9
mov rsi, rbx
call sub.VCRUNTIME140.dll_memset
mov rbp, qword [rsp + 0x180]
mov r9, rdi
mov r10, qword [rsp + 0x60]
mov rax, r13
shl rax, 8
lea rsi, [r14 + r13]
add rsi, 2
sub r13, rax
lea rax, [r12 + r13]
add rax, 0xfffffffffffffef2
mov r11, qword [rsp + 0x110]
mov byte [rsi], al
inc rsi
jmp 0x18008a7df
mov eax, r12d
shl al, 4
mov byte [r14], al
jmp 0x18008a7df
movzx ecx, word [rdi]
cmp cx, word [rax]
jne 0x18008dc2c
add rax, 2
add rdi, 2
jmp 0x18008dc2c
mov cl, byte [rdi]
xor edx, edx
cmp cl, byte [rax]
sete dl
add rax, rdx
jmp 0x18008dc35
mov ecx, dword [rdi]
cmp ecx, dword [rax]
mov rbp, qword [rsp + 0x40]
mov esi, dword [rsp + 0x50]
jne 0x18008dc1f
add rax, 4
add rdi, 4
jmp 0x18008dc1f
mov rbp, qword [rsp + 0x40]
mov esi, dword [rsp + 0x50]
jmp 0x18008dc1f
mov ebp, ebx
mov rax, qword [rsp + 0x200]
lea r8, [rax - 4]
mov rax, r8
movabs rdx, 0x8080808080808081
mul rdx
sub ebp, dword [rsp + 0x120]
mov word [rcx], bp
cmp dword [rsp + 0xac], 0
je 0x18008e7d6
shr rdx, 7
lea rax, [rcx + rdx]
add rax, 8
cmp rax, qword [rsp + 0x178]
ja 0x18008e3cb
add rcx, 2
cmp r8, 0xf
jb 0x18008ecbe
mov qword [rsp + 0x110], rsi
add byte [r12], 0xf
mov rsi, qword [rsp + 0x200]
lea rax, [rsi - 0x13]
cmp rax, 0x1fe
jb 0x18008e859
lea rax, [rsi - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbp, rdx
shr rbp, 8
lea r8, [rbp + 2]
add r8, rbp
mov dl, 0xff
mov rbx, r9
mov rdi, r11
call sub.VCRUNTIME140.dll_memset
mov r10, qword [rsp + 0x60]
lea rax, [rbx + rbp*2]
lea rcx, [rdi + rax]
add rcx, 4
imul rax, rbp, 0xfffffffffffffe02
add rax, rsi
add rax, 0xfffffffffffffdef
cmp rax, 0xff
mov rsi, qword [rsp + 0x110]
jb 0x18008e875
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
mov byte [rcx], al
inc rcx
jmp 0x18008ecc2
mov rdx, qword [rsp + 0x58]
add rdx, 0xfffffffffffffffd
cmp r8, rdx
jae 0x18008ec77
mov edx, dword [rcx]
cmp edx, dword [r8]
mov esi, dword [rsp + 0x50]
jne 0x18008ec7b
add r8, 4
add rcx, 4
jmp 0x18008ec7b
movzx eax, word [rcx]
cmp ax, word [rsi]
jne 0x18008dc67
add rsi, 2
add rcx, 2
jmp 0x18008dc67
mov al, byte [rcx]
xor ecx, ecx
cmp al, byte [rsi]
sete cl
add rsi, rcx
jmp 0x18008dc72
mov eax, dword [rcx]
cmp eax, dword [rsi]
mov rdi, qword [rsp + 0x40]
jne 0x18008dc56
add rsi, 4
add rcx, 4
jmp 0x18008dc56
mov rdi, qword [rsp + 0x40]
jmp 0x18008dc56
add byte [r14], 0xf
lea rax, [rbp - 0x13]
cmp rax, 0x1fe
mov r13, qword [rsp + 0x120]
jb 0x18008e974
lea rax, [rbp - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rdi, rdx
shr rdi, 8
lea r8, [rdi + rdi]
add r8, 2
mov rcx, r12
mov dl, 0xff
mov r14, r9
mov r12, rsi
mov rsi, r11
call sub.VCRUNTIME140.dll_memset
mov r11, rsi
mov r9, r14
mov r10, qword [rsp + 0x60]
lea rax, [rsi + rdi*2]
sub rax, rbx
add r12, rax
add r12, 4
imul rax, rdi, 0xfffffffffffffe02
add rax, rbp
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jae 0x18008a68a
jmp 0x18008a698
add byte [r14], cl
mov r13, qword [rsp + 0x120]
jmp 0x18008a69f
mov rdi, qword [rsp + 0x40]
jmp 0x18008db9b
mov rbx, rcx
jmp 0x18008c9d5
add rdi, 4
add rsi, 4
jmp 0x180088434
add rdi, 2
add rsi, 2
jmp 0x180088441
add rbp, 2
add rcx, 2
jmp 0x18008846e
add rbp, 2
add rcx, 2
jmp 0x180088490
add rbp, 4
add rcx, 4
jmp 0x180088460
add rbp, 4
add rcx, 4
jmp 0x180088482
add r12, r15
mov r15, r12
jmp 0x18008b73a
mov rsi, r13
jmp 0x180088bb0
mov ebp, dword [rsp + 0x48]
cmp rbx, qword [rsp + 0x1a8]
jae 0x18008ea26
movzx eax, word [rsi]
cmp ax, word [rbx]
jne 0x18008ea26
add rbx, 2
add rsi, 2
cmp rbx, qword [rsp + 0x50]
jae 0x18008ea39
mov al, byte [rsi]
xor ecx, ecx
cmp al, byte [rbx]
sete cl
add rbx, rcx
mov eax, dword [rsp + 0xa0]
sub ebx, r15d
jmp 0x180088e63
mov r8, rbx
mov r14d, dword [rsp + 0x150]
lea rax, [rsi - 1]
cmp rdx, rax
jae 0x18008ea6d
movzx eax, word [r10]
cmp ax, word [rdx]
jne 0x18008ea6d
add rdx, 2
add r10, 2
cmp rdx, rsi
jae 0x18008ea7f
mov al, byte [r10]
xor ecx, ecx
cmp al, byte [rdx]
sete cl
add rdx, rcx
mov r10, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
sub edx, eax
jmp 0x1800891ef
shr rdx, 7
add rdx, r12
lea rax, [rdx + r13]
add rax, 9
cmp rax, qword [rsp + 0x178]
jbe 0x18008a50b
jmp 0x18008eb3c
mov rax, rsi
sub rax, rbx
cmp rax, 0x11
jg 0x18008a4e0
add rcx, 0xfffffffffffffffc
cmp qword [rsp + 0x1b8], rcx
mov rdx, qword [rsp + 0x130]
lea eax, [rdx + rax - 4]
mov ecx, dword [rsp + 0x100]
cmova ecx, eax
mov eax, ebx
sub eax, esi
mov dword [rsp + 0x100], ecx
add eax, ecx
test eax, eax
jle 0x18008a4e7
mov ecx, eax
add rsi, rcx
add qword [rsp + 0xc8], rcx
sub edx, eax
mov qword [rsp + 0x130], rdx
jmp 0x18008a4e7
mov rax, qword [rsp + 0x118]
jmp 0x18008a4e0
shr rdx, 7
lea rax, [rcx + rdx]
add rax, 8
cmp rax, qword [rsp + 0x178]
jbe 0x18008a48c
mov r11, rbx
mov r9, rdi
jmp 0x18008e3e0
lea rax, [r13 - 0xf]
mov byte [r12], 0xf0
cmp rax, 0xff
jb 0x18008ebb9
lea rax, [r13 - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbp, rdx
shr rbp, 7
mov r14, r8
lea r8, [rbp + 1]
mov rcx, r11
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rdi, qword [rsp + 0x198]
mov rbx, qword [rsp + 0x128]
mov r8, r14
mov r10, qword [rsp + 0x60]
mov rax, rbp
shl rax, 8
lea r11, [r12 + rbp]
add r11, 2
sub rbp, rax
lea rax, [rbp - 0x10e]
add rax, r13
mov byte [r11], al
inc r11
jmp 0x18008a439
mov eax, r13d
shl al, 4
mov byte [r12], al
jmp 0x18008a439
add byte [r12], 0xf
lea rax, [r14 - 0x13]
cmp rax, 0x1fe
jb 0x18008ec50
lea rax, [r14 - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbp, rdx
shr rbp, 8
mov r12, rsi
mov rsi, r8
lea r8, [rbp + 2]
add r8, rbp
mov dl, 0xff
mov rdi, r11
call sub.VCRUNTIME140.dll_memset
mov rbx, qword [rsp + 0x128]
mov r8, rsi
mov rsi, r12
mov r10, qword [rsp + 0x60]
lea rax, [rbp*2]
add rax, r13
lea rcx, [rdi + rax]
add rcx, 4
imul rax, rbp, 0xfffffffffffffe02
add rax, r14
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x18008ec64
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
mov byte [rcx], al
inc rcx
jmp 0x18008a49f
add byte [r12], r9b
jmp 0x18008a49f
mov esi, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
dec rdx
cmp r8, rdx
jae 0x18008ec99
movzx edx, word [rcx]
cmp dx, word [r8]
jne 0x18008ec99
add r8, 2
add rcx, 2
cmp r8, qword [rsp + 0x58]
jae 0x18008ecad
mov cl, byte [rcx]
xor edx, edx
cmp cl, byte [r8]
sete dl
add r8, rdx
mov edx, dword [rsp + 0x78]
sub r8d, dword [rsp + 0xf8]
jmp 0x18008c805
add byte [r12], r8b
mov qword [rsp + 0x140], r14
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x100], rsi
mov rax, qword [rsp + 0x130]
jmp 0x180088545
test rdi, rdi
mov esi, dword [rsp + 0xa0]
mov rdi, qword [rsp + 0x80]
jg 0x180089dd4
jmp 0x180089dee
mov rsi, rcx
sub rsi, rdx
mov rbx, r8
jmp 0x180089fe8
cmp rdx, qword [rsp + 0x1b0]
jae 0x18008ed3f
mov esi, dword [rax]
cmp esi, dword [rdx]
jne 0x18008ed3f
add rdx, 4
add rax, 4
cmp rdx, qword [rsp + 0x1a8]
jae 0x18008ed59
movzx esi, word [rax]
cmp si, word [rdx]
jne 0x18008ed59
add rdx, 2
add rax, 2
cmp rdx, qword [rsp + 0x50]
jae 0x18008ed6d
mov al, byte [rax]
xor esi, esi
cmp al, byte [rdx]
sete sil
add rdx, rsi
mov esi, r15d
sub edx, dword [rsp + 0xc0]
jmp 0x180089a11
cmp rdx, qword [rsp + 0x1b0]
jae 0x18008ed94
mov eax, dword [rsi]
cmp eax, dword [rdx]
jne 0x18008ed94
add rdx, 4
add rsi, 4
cmp rdx, qword [rsp + 0x1a8]
jae 0x18008edae
movzx eax, word [rsi]
cmp ax, word [rdx]
jne 0x18008edae
add rdx, 2
add rsi, 2
cmp rdx, qword [rsp + 0x50]
jae 0x18008edc2
mov al, byte [rsi]
xor esi, esi
cmp al, byte [rdx]
sete sil
add rdx, rsi
sub edx, r14d
jmp 0x1800898d6
mov eax, dword [rdx]
cmp eax, dword [rsi]
jne 0x18008a401
add rsi, 4
add rdx, 4
jmp 0x18008a401
movzx eax, word [rdx]
cmp ax, word [rsi]
jne 0x18008a40e
add rsi, 2
add rdx, 2
jmp 0x18008a40e
mov al, byte [rdx]
xor edx, edx
cmp al, byte [rsi]
sete dl
add rsi, rdx
jmp 0x18008a417
lea rax, [rsi - 3]
cmp rdi, rax
jae 0x18008f19a
mov eax, dword [r10]
cmp eax, dword [rdi]
mov r8, rbx
mov r14d, ebp
jne 0x18008f1a0
add rdi, 4
add r10, 4
jmp 0x18008f1a0
mov r10, qword [rsp + 0x60]
jmp 0x18008ab97
mov rdi, r9
jmp 0x18008830d
mov eax, ebx
shl al, 4
mov byte [rdi], al
lea rcx, [rsi + rbx]
mov rax, rsi
mov rbp, qword [rsp + 0x128]
mov rdx, qword [rbp]
mov qword [rax], rdx
add rax, 8
add rbp, 8
cmp rax, rcx
jb 0x18008ee5e
mov word [rcx], r8w
add rcx, 2
lea rax, [r14 - 4]
cmp rax, 0xf
jb 0x18008ef0b
mov rax, qword [rsp + 0x108]
add byte [rax], 0xf
lea rax, [r14 - 0x13]
cmp rax, 0x1fe
jb 0x18008eef0
lea rax, [r14 - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbp, rdx
shr rbp, 8
lea r8, [rbp + 2]
add r8, rbp
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x148]
lea rax, [rbx + rbp*2]
lea rcx, [rsi + rax]
add rcx, 4
imul rax, rbp, 0xfffffffffffffe02
add rax, r14
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x18008ef04
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
mov byte [rcx], al
inc rcx
jmp 0x18008ef15
mov rdx, qword [rsp + 0x108]
add byte [rdx], al
add r15, r14
mov r12, r15
mov qword [rsp + 0x108], rcx
jmp 0x18008767b
mov r11, rbx
jmp 0x180087fd4
mov rdx, r12
jmp 0x18008cfa0
cdqe
add rsi, rax
add qword [rsp + 0xc8], rax
mov r9, rbx
sub r9, rdi
mov rax, r9
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0xac], 0
je 0x18008ef82
shr rdx, 7
add rdx, r12
lea rax, [r9 + rdx]
add rax, 9
cmp rax, qword [rsp + 0x178]
ja 0x18008e3cb
lea r11, [r12 + 1]
cmp r9, 0xf
jb 0x18008f00c
lea rax, [r9 - 0xf]
mov byte [r12], 0xf0
cmp rax, 0xff
jb 0x18008f004
lea rax, [r9 - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbp, rdx
shr rbp, 7
mov r14, r8
lea r8, [rbp + 1]
mov rcx, r11
mov dl, 0xff
mov rdi, r9
call sub.VCRUNTIME140.dll_memset
mov r9, rdi
mov rdi, qword [rsp + 0x198]
mov rbx, qword [rsp + 0x128]
mov r8, r14
mov r10, qword [rsp + 0x60]
mov rax, rbp
shl rax, 8
lea r11, [r12 + rbp]
add r11, 2
sub rbp, rax
lea rax, [r9 + rbp]
add rax, 0xfffffffffffffef2
mov byte [r11], al
inc r11
jmp 0x18008f016
mov eax, r9d
shl al, 4
mov byte [r12], al
mov r14, r8
lea rcx, [r11 + r9]
mov rax, rdi
mov rdx, r11
jmp 0x180089459
mov r14, rbx
mov r10, rcx
jmp 0x18008c001
mov r13d, dword [rsp + 0xa0]
mov esi, dword [rsp + 0x88]
jmp 0x180087e89
mov rdx, rcx
jmp 0x180089bb8
mov r11, qword [rsp + 0x78]
mov r9, qword [rsp + 0x170]
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x100], eax
xor r14d, r14d
cmp dword [rsp + 0xac], 2
mov rbp, qword [rsp + 0x178]
jne 0x18008df24
mov rsi, r11
sub rsi, r9
lea rax, [rsi + 0xf0]
movabs rcx, 0x8080808080808081
mul rcx
shr rdx, 7
add rdx, rsi
lea rcx, [rbp - 3]
lea rax, [r12 + rdx]
inc rax
cmp rax, rcx
ja 0x18008dcb3
sub rcx, rax
mov rdx, rcx
shl rdx, 8
sub rdx, rcx
add rdx, 0x12
movsxd rcx, dword [rsp + 0x100]
cmp rdx, rcx
cmovb ecx, edx
add rax, 2
not rax
add rax, rbp
movsxd r14, ecx
add rax, r14
add rax, 5
cmp rax, 0xc
jl 0x18008dcb3
lea rdi, [r12 + 1]
cmp rsi, 0xf
jb 0x18008f269
mov r15, r9
mov rbx, r11
lea rax, [rsi - 0xf]
mov byte [r12], 0xf0
cmp rax, 0xff
jb 0x18008f161
lea rax, [rsi - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbp, rdx
shr rbp, 7
lea r8, [rbp + 1]
mov rcx, rdi
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, rbp
shl rax, 8
lea rdi, [r12 + rbp]
add rdi, 2
sub rbp, rax
lea rax, [rsi + rbp]
add rax, 0xfffffffffffffef2
mov byte [rdi], al
inc rdi
mov r11, rbx
mov r9, r15
jmp 0x18008f272
mov r11, qword [rsp + 0x78]
mov r9, qword [rsp + 0x170]
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x100], eax
mov r12, qword [rsp + 0x168]
jmp 0x18008f06b
mov r8, rbx
mov r14d, ebp
mov r11, qword [rsp + 0x80]
mov rbp, qword [rsp + 0xc0]
lea rax, [rsi - 1]
cmp rdi, rax
jae 0x18008f1ca
movzx eax, word [r10]
cmp ax, word [rdi]
jne 0x18008f1ca
add rdi, 2
add r10, 2
cmp rdi, rsi
jae 0x18008f1dc
mov al, byte [r10]
xor ecx, ecx
cmp al, byte [rdi]
sete cl
add rdi, rcx
mov r10, qword [rsp + 0x60]
mov rax, qword [rsp + 0x40]
sub edi, eax
jmp 0x18008a1ab
mov rdx, r15
jmp 0x18008b5a9
mov rcx, r9
jmp 0x18008b057
mov r12, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
jmp 0x18008c0dc
mov rbp, qword [rsp + 0x40]
mov esi, dword [rsp + 0x48]
jmp 0x18008b11e
mov rdi, r12
mov r12, rbx
mov r14, rcx
jmp 0x18008c24b
mov r12, qword [rsp + 0x68]
mov esi, dword [rsp + 0x50]
jmp 0x18008cb07
mov rbx, r15
jmp 0x180088eac
mov ecx, r12d
jmp 0x18008db76
mov ebp, dword [rsp + 0x48]
jmp 0x180088cf3
mov r11, qword [rsp + 0xe0]
jmp 0x18008dbc5
mov rsi, rax
jmp 0x180089c51
mov eax, esi
shl al, 4
mov byte [r12], al
lea rcx, [rdi + rsi]
mov rax, rdi
mov rdx, qword [r9]
mov qword [rax], rdx
add rax, 8
add r9, 8
cmp rax, rcx
jb 0x18008f279
mov eax, r11d
sub eax, r13d
mov word [rcx], ax
add rcx, 2
lea rax, [r14 - 4]
cmp rax, 0xf
jb 0x18008f320
mov rbp, r11
add byte [r12], 0xf
lea rax, [r14 - 0x13]
cmp rax, 0x1fe
jb 0x18008f2fd
lea rax, [r14 - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbx, rdx
shr rbx, 8
lea r8, [rbx + rbx]
add r8, 2
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
lea rax, [rsi + rbx*2]
lea rcx, [rdi + rax]
add rcx, 4
imul rax, rbx, 0xfffffffffffffe02
add rax, r14
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x18008f311
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
mov byte [rcx], al
inc rcx
mov r10, qword [rsp + 0x60]
mov r11, rbp
jmp 0x18008f329
add byte [r12], al
mov r10, qword [rsp + 0x60]
add r11, r14
mov r9, r11
mov r12, rcx
jmp 0x18008dcb3
mov ecx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x58]
add rax, 0xfffffffffffffffd
cmp r14, rax
jae 0x18008f361
mov eax, dword [rbp]
cmp eax, dword [r14]
mov rbx, r12
jne 0x18008f364
add r14, 4
add rbp, 4
jmp 0x18008f364
mov rbx, r12
mov r12, rdi
mov rax, qword [rsp + 0x58]
dec rax
cmp r14, rax
jae 0x18008f386
movzx eax, word [rbp]
cmp ax, word [r14]
jne 0x18008f386
add r14, 2
add rbp, 2
cmp r14, qword [rsp + 0x58]
jae 0x18008f39c
mov al, byte [rbp]
xor ebp, ebp
cmp al, byte [r14]
sete bpl
add r14, rbp
mov rbp, qword [rsp + 0x40]
sub r14d, dword [rsp + 0xf8]
jmp 0x18008bde5
mov r8, qword [rsp + 0x88]
mov rax, rcx
mov rcx, qword [rsp + 0x58]
lea rdi, [rcx - 3]
cmp r12, rdi
jae 0x18008f3de
mov edi, dword [rbp]
cmp edi, dword [r12]
mov esi, dword [rsp + 0x48]
jne 0x18008f3e2
add r12, 4
add rbp, 4
jmp 0x18008f3e2
mov esi, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
lea rdi, [rcx - 1]
cmp r12, rdi
jae 0x18008f408
movzx edi, word [rbp]
cmp di, word [r12]
mov rcx, rax
jne 0x18008f40b
add r12, 2
add rbp, 2
jmp 0x18008f40b
mov rcx, rax
cmp r12, qword [rsp + 0x58]
jae 0x18008f42b
mov r8b, byte [rbp]
xor ebp, ebp
cmp r8b, byte [r12]
mov r8, qword [rsp + 0x88]
sete bpl
add r12, rbp
mov rbp, qword [rsp + 0x40]
sub r12d, dword [rsp + 0x78]
jmp 0x18008adfb
mov r10, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
lea rbp, [rcx - 3]
cmp rdx, rbp
jae 0x18008f45b
mov ebp, dword [rsi]
cmp ebp, dword [rdx]
jne 0x18008f45b
add rdx, 4
add rsi, 4
mov rcx, qword [rsp + 0x58]
lea rbp, [rcx - 1]
cmp rdx, rbp
jae 0x18008f483
movzx ebp, word [rsi]
cmp bp, word [rdx]
mov rcx, r9
jne 0x18008f47c
add rdx, 2
add rsi, 2
mov rbp, qword [rsp + 0x40]
jmp 0x18008f48b
mov rbp, qword [rsp + 0x40]
mov rcx, r9
mov r9d, dword [rsp + 0x98]
cmp rdx, qword [rsp + 0x58]
jae 0x18008f4ae
mov r10b, byte [rsi]
xor esi, esi
cmp r10b, byte [rdx]
mov r10, qword [rsp + 0x60]
sete sil
add rdx, rsi
mov esi, dword [rsp + 0x48]
sub edx, r8d
jmp 0x18008ad68
mov r14d, ebp
mov rdi, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x58]
add rdx, 0xfffffffffffffffd
cmp rax, rdx
jae 0x18008f4e4
mov edx, dword [rcx]
cmp edx, dword [rax]
mov esi, dword [rsp + 0x50]
jne 0x18008f4e8
add rax, 4
add rcx, 4
jmp 0x18008f4e8
mov esi, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
dec rdx
cmp rax, rdx
jae 0x18008f505
movzx edx, word [rcx]
cmp dx, word [rax]
jne 0x18008f505
add rax, 2
add rcx, 2
cmp rax, qword [rsp + 0x58]
jae 0x18008f518
mov cl, byte [rcx]
xor edx, edx
cmp cl, byte [rax]
sete dl
add rax, rdx
mov edx, dword [rsp + 0x78]
sub eax, dword [rsp + 0x48]
jmp 0x18008c78c
mov esi, dword [rsp + 0xa0]
mov r14d, dword [rsp + 0x90]
jmp 0x180089d4b