Function at 0x18003e730
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, 0x1e8
mov qword [rsp + 0x1c0], r9
mov qword [rsp + 0x1a8], r8
mov qword [rsp + 0x180], rdx
mov r15, rcx
mov ebp, dword [rsp + 0x250]
mov rax, qword [0x1800a6010]
xor rax, rsp
mov qword [rsp + 0x1e0], rax
xor r14d, r14d
test ebp, ebp
jg 0x18003e78c
cmp dword [rsp + 0x260], 2
je 0x180041d96
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax]
cmp rax, 0x7e000000
ja 0x180041d96
add qword [r15 + 0x40000], rax
mov eax, dword [rsp + 0x258]
cmp eax, 0xc
mov ecx, 0xc
cmovl ecx, eax
test eax, eax
mov r13d, 9
cmovg r13d, ecx
movsxd rax, r13d
lea rdi, [rax + rax*2]
lea rbx, [0x180094e20]
mov r8d, dword [rbx + rdi*4 + 4]
cmp dword [rbx + rdi*4], 0
mov qword [rsp + 0x60], r15
mov dword [rsp + 0x2c], r8d
jne 0x18003e8ed
xor eax, eax
cmp dword [rsp + 0x260], 2
setne al
mov rdx, qword [rsp + 0x1c0]
movsxd rbx, dword [rdx]
movsxd rcx, ebp
mov rsi, qword [rsp + 0x1a8]
add rcx, rsi
mov dword [rdx], 0
lea rax, [rax + rax*4]
add rax, rcx
add rax, 0xfffffffffffffffb
mov qword [rsp + 0x130], rax
mov rdx, qword [rsp + 0x180]
mov rax, rbx
mov qword [rsp + 0x1b8], rbx
cmp rbx, 0xd
jl 0x18004358b
mov rax, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x1b8]
add rcx, rax
add rcx, 0xfffffffffffffff4
mov rdx, rax
mov rsi, qword [rsp + 0x1a8]
mov qword [rsp + 0x150], rcx
cmp rcx, rax
jb 0x18004358b
mov rax, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x1b8]
add rcx, rax
add rcx, 0xfffffffffffffffb
lea rdx, [rcx - 7]
mov qword [rsp + 0x40], rdx
lea rdx, [rcx - 3]
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x80], rcx
dec rcx
mov qword [rsp + 0x190], rcx
xor ecx, ecx
mov qword [rsp + 0x168], rcx
xor ecx, ecx
mov qword [rsp + 0x140], rcx
xor ecx, ecx
mov qword [rsp + 0xe8], rcx
xor r10d, r10d
xor r9d, r9d
mov r13, qword [rsp + 0x1a8]
jmp 0x180041dd8
mov al, byte [r15 + 0x40026]
xor r14d, r14d
mov byte [rsp + 0xf0], al
neg al
mov eax, 0
sbb eax, eax
mov dword [rsp + 0x198], eax
mov ecx, 0x10030
call qword [0x1800a3078]
mov rcx, rax
mov qword [rsp + 0xd8], rax
test rax, rax
je 0x1800417ff
lea rax, [rbx + rdi*4]
mov eax, dword [rax + 8]
mov rbx, qword [rsp + 0x1c0]
movsxd rdx, dword [rbx]
mov rdi, qword [rsp + 0x180]
mov qword [rsp + 0x1c8], rdx
lea rsi, [rdi + rdx]
add rsi, 0xfffffffffffffff4
xor ecx, ecx
cmp dword [rsp + 0x260], 2
setne cl
movsxd rdx, ebp
mov rbp, qword [rsp + 0x1a8]
add rdx, rbp
mov dword [rbx], 0
lea rcx, [rcx + rcx*4]
add rcx, rdx
add rcx, 0xfffffffffffffffb
mov qword [rsp + 0x90], rcx
mov ecx, 0xfff
cmp eax, ecx
cmovb ecx, eax
mov qword [rsp + 0x1b8], rcx
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0x178], rsi
cmp rsi, rdi
jae 0x18003eaef
mov rdx, qword [rsp + 0x1c8]
add rdx, qword [rsp + 0x180]
xor ecx, ecx
mov ebp, dword [rsp + 0x260]
cmp ebp, 2
sete bl
sub rdx, qword [rsp + 0x80]
mov rdi, rdx
lea rax, [rdx + 0xf0]
movabs rdx, 0x8080808080808081
mul rdx
test ebp, ebp
je 0x18003ea61
shr rdx, 7
add rdx, rdi
mov cl, bl
lea rax, [rcx + rcx*4]
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, qword [rsp + 0x98]
add rax, rdx
inc rax
cmp rax, rcx
jbe 0x18003ea61
mov r14d, 0
cmp dword [rsp + 0x260], 1
je 0x1800417ff
mov rdx, rcx
mov rax, qword [rsp + 0x98]
not rax
lea rdi, [rax + rcx]
add rax, rcx
add rax, 0xf1
shr rax, 8
sub rdi, rax
mov rax, rdi
mov rcx, qword [rsp + 0x80]
lea rsi, [rcx + rdi]
cmp rdi, 0xf
jb 0x1800417b5
lea rax, [rdi - 0xf]
mov rcx, qword [rsp + 0x98]
mov byte [rcx], 0xf0
inc rcx
cmp rax, 0xff
jb 0x18003eae0
mov rbp, rdi
lea rax, [rdi - 0x10e]
movabs rdx, 0x8080808080808081
mul rdx
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov dl, 0xff
call fcn.180091cf0
mov rax, rbx
shl rax, 8
mov rcx, qword [rsp + 0x98]
add rcx, rbx
add rcx, 2
sub rbx, rax
lea rax, [rdi + rbx]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
mov qword [rsp + 0x98], rcx
jmp 0x1800417c4
mov rax, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x1c8]
add rcx, rax
add rcx, 0xfffffffffffffffb
mov qword [rsp + 0x30], rcx
lea rcx, [rcx - 7]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0xd8]
lea rdx, [rcx + 0x4c]
mov qword [rsp + 0x188], rdx
lea rdx, [rcx + 0x50]
mov qword [rsp + 0x1d0], rdx
add rcx, 8
mov qword [rsp + 0x128], rcx
mov rcx, qword [rsp + 0x1a8]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x68], rax
mov rsi, qword [rsp + 0x68]
mov rax, rsi
sub rax, qword [rsp + 0x80]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x60]
mov rbp, qword [rax + 0x40008]
mov ebx, dword [rax + 0x40018]
mov rcx, rsi
mov rdx, rbp
mov qword [rsp + 0xb8], rbp
sub rcx, rbp
lea edi, [rbx + rcx]
mov edx, dword [rax + 0x4001c]
lea ebp, [rdx + 0x10000]
mov dword [rsp + 0x100], ebp
cmp ebp, edi
mov qword [rsp + 0xb0], rcx
lea ecx, [rbx + rcx - 0xffff]
cmova ecx, edx
mov dword [rsp + 0xd0], ecx
mov rbp, rbx
sub rbp, rdx
mov qword [rsp + 0x138], rbp
mov qword [rsp + 0xf8], rdx
neg rdx
mov qword [rsp + 0x118], rdx
mov ecx, dword [rsi]
mov qword [rsp + 0x50], rcx
mov eax, dword [rax + 0x40020]
mov qword [rsp + 0x58], rbx
neg rbx
mov qword [rsp + 0xc8], rbx
mov dword [rsp + 0xa0], edi
cmp eax, edi
jae 0x18003ec66
mov ecx, dword [rsp + 0xa0]
mov rdx, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0xc8]
add rdx, rbp
imul ebp, dword [rdx + rax], 0x9e3779b1
shr ebp, 0x11
mov ebx, eax
mov rdi, qword [rsp + 0x60]
sub ebx, dword [rdi + rbp*4]
mov edi, 0xffff
cmp ebx, edi
jb 0x18003ec4b
mov ebx, 0xffff
movzx edi, ax
mov rsi, qword [rsp + 0x60]
mov word [rsi + rdi*2 + 0x20000], bx
mov dword [rsi + rbp*4], eax
inc rax
cmp rcx, rax
jne 0x18003ec29
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rcx + 0x40010]
mov eax, dword [rsp + 0xa0]
mov dword [rcx + 0x40020], eax
mov rbp, qword [rsp + 0x68]
imul eax, dword [rbp], 0x9e3779b1
mov rdx, qword [rsp + 0x138]
add rdx, rdi
mov qword [rsp + 0x110], rdx
shr eax, 0x11
mov r9d, dword [rcx + rax*4]
lea rax, [rbp + 4]
mov qword [rsp + 0x70], rax
mov rbx, qword [rsp + 0x58]
lea eax, [rbx - 4]
mov dword [rsp + 0x130], eax
mov rax, qword [rsp + 0xc8]
add rax, qword [rsp + 0xb8]
mov qword [rsp + 0xc8], rax
mov rsi, qword [rsp + 0x50]
movzx eax, si
mov ecx, esi
shr ecx, 0x10
xor ecx, eax
movzx eax, sil
mov edx, esi
shr edx, 0x18
xor edx, eax
or edx, ecx
sete byte [rsp + 0x150]
movabs rax, 0x100000001
imul rsi, rax
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xa8], rdi
add qword [rsp + 0x118], rdi
add qword [rsp + 0xb0], rbx
mov eax, 0xfffffffc
sub eax, ebp
mov qword [rsp + 0xe8], rax
mov eax, 3
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x78], rax
xor r11d, r11d
mov dword [rsp + 0x88], 0
xor r14d, r14d
mov r12d, dword [rsp + 0x2c]
cmp r9d, dword [rsp + 0xd0]
jb 0x18003f558
test r12d, r12d
jle 0x18003f558
xor r10d, r10d
cmp byte [rsp + 0xf0], 0
je 0x18003ef21
mov ecx, dword [rsp + 0xa0]
sub ecx, r9d
cmp ecx, 8
jae 0x18003ef21
cmp r10d, dword [rsp + 0x40]
jne 0x18003ee33
mov rax, qword [rsp + 0x40]
lea ecx, [rax + r9]
cmp ecx, dword [rsp + 0xa0]
ja 0x18003ee33
cmp r10d, 4
jl 0x18003ee33
lea ecx, [r10 - 3]
xor edi, edi
mov ebx, 0x10
mov edx, 1
mov ebp, edx
lea edx, [rdi + r9]
movzx edx, dx
mov rsi, qword [rsp + 0x60]
movzx edx, word [rsi + rdx*2 + 0x20000]
lea esi, [rbx + 1]
sar ebx, 4
cmp ebp, edx
mov eax, 0x10
cmovb esi, eax
cmova edx, ebp
cmovb r14d, edi
mov ebp, ebx
add ebp, edi
mov edi, ebp
mov ebx, esi
cmp ebp, ecx
jl 0x18003edcb
xor ecx, ecx
cmp r9d, edx
setb bl
mov ebp, edx
mov edi, 0
cmovb ebp, edi
cmp edx, 2
cmovb ebp, edi
sub r9d, ebp
cmp edx, 1
jbe 0x18003ee33
mov cl, bl
or ecx, 2
mov qword [rsp + 0x40], r10
jmp 0x18003f126
movzx ecx, r9w
mov rdx, qword [rsp + 0x60]
cmp word [rdx + rcx*2 + 0x20000], 1
jne 0x18003f10d
test r14d, r14d
jne 0x18003f10d
cmp dword [rsp + 0x88], 0
je 0x18003f0c8
cmp dword [rsp + 0x88], 2
jne 0x18003f10d
lea r8d, [r9 - 1]
cmp r8d, dword [rsp + 0xd0]
jb 0x18003f10d
mov rax, qword [rsp + 0x58]
mov ecx, eax
sub ecx, r9d
cmp ecx, 3
jb 0x18003f10d
cmp r8d, dword [rsp + 0x58]
mov rdi, qword [rsp + 0xc8]
cmovb rdi, qword [rsp + 0x118]
mov r15d, r8d
mov dword [rsp + 0x88], 2
mov rax, qword [rsp + 0x50]
cmp dword [rdi + r15], eax
jne 0x18003f10d
lea r9, [rdi + r15]
cmp r8d, dword [rsp + 0x58]
mov r10, qword [rsp + 0x30]
cmovb r10, qword [rsp + 0x110]
lea rdx, [r9 + 4]
lea rbx, [r10 - 7]
mov rax, rdx
cmp rdx, rbx
jae 0x180041684
lea rcx, [rdi + r15]
add rcx, 4
mov rax, rdx
mov rbp, qword [rax]
xor rbp, qword [rsp + 0xe0]
jne 0x18003f137
add rax, 8
add rcx, 8
cmp rax, rbx
jb 0x18003eefe
jmp 0x180041684
mov r15, qword [rsp + 0x58]
sub r15d, r9d
jbe 0x18003f032
cmp r9d, dword [rsp + 0x130]
ja 0x18003ed98
mov ecx, r9d
sub ecx, dword [rsp + 0xf8]
add rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x50]
cmp dword [rcx], eax
jne 0x18003ed98
add r15, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x30]
cmp r15, rdx
mov r8, r15
cmova r8, rdx
add rcx, 4
lea rbp, [r8 - 7]
cmp rbp, qword [rsp + 0x70]
jbe 0x180041d52
mov rax, qword [rsp + 0x70]
mov rbx, qword [rax]
xor rbx, qword [rcx]
je 0x18003f195
bsf rdx, rbx
xor edi, edi
test rbx, rbx
sete bl
je 0x18003f19f
shr edx, 3
lea r10d, [rdx + 4]
cmp r15, qword [rsp + 0x30]
jae 0x18003f00a
movsxd rcx, edx
mov rax, qword [rsp + 0x68]
add rcx, rax
add rcx, 4
cmp rcx, r8
jne 0x18003f00a
mov rdx, r8
mov rcx, qword [rsp + 0xb8]
cmp qword [rsp + 0x48], r8
jbe 0x18003f407
mov rcx, qword [r8]
mov rax, qword [rsp + 0xb8]
xor rcx, qword [rax]
je 0x18003f3ea
bsf rdx, rcx
xor edi, edi
test rcx, rcx
sete cl
je 0x18003f3f4
shr edx, 3
add r10d, edx
cmp r10d, dword [rsp + 0x40]
jle 0x18003ed98
mov eax, r9d
add rax, qword [rsp + 0xc8]
mov qword [rsp + 0x78], rax
mov eax, r10d
mov qword [rsp + 0x40], rax
jmp 0x18003ed98
mov edx, r9d
add rdx, qword [rsp + 0xc8]
movsxd rcx, dword [rsp + 0x40]
mov rax, qword [rsp + 0x68]
movzx ebp, word [rax + rcx - 1]
cmp bp, word [rcx + rdx - 1]
jne 0x18003ed98
mov rax, qword [rsp + 0x50]
cmp dword [rdx], eax
jne 0x18003ed98
lea rcx, [rdx + 4]
mov rax, qword [rsp + 0x70]
cmp qword [rsp + 0x48], rax
jbe 0x180041d76
mov rax, qword [rsp + 0x70]
mov rdi, qword [rax]
xor rdi, qword [rcx]
je 0x18003f399
bsf r10, rdi
xor ebx, ebx
test rdi, rdi
sete r8b
je 0x18003f3a4
shr r10d, 3
add r10d, 4
mov rcx, qword [rsp + 0x40]
cmp r10d, ecx
mov rax, qword [rsp + 0x78]
cmovg rax, rdx
mov qword [rsp + 0x78], rax
cmovg ecx, r10d
mov qword [rsp + 0x40], rcx
jmp 0x18003ed98
mov dword [rsp + 0x88], 1
cmp byte [rsp + 0x150], 0
je 0x18003f10d
mov rax, qword [rsp + 0x70]
mov r11, rax
cmp qword [rsp + 0x48], rax
jbe 0x1800416ce
mov rcx, qword [r11]
xor rcx, qword [rsp + 0xe0]
jne 0x18003f171
add r11, 8
cmp r11, qword [rsp + 0x48]
jb 0x18003f0f0
jmp 0x1800416ce
lea ecx, [r14 + r9]
movzx ecx, cx
mov rdx, qword [rsp + 0x60]
movzx ecx, word [rdx + rcx*2 + 0x20000]
sub r9d, ecx
xor ecx, ecx
dec r12d
cmp ecx, 3
jne 0x18003ed5d
jmp 0x18003f558
bsf rax, rbp
shr rax, 3
add rax, rcx
sub rax, rdx
mov r14d, eax
add r14, 4
cmp r8d, dword [rsp + 0x58]
jae 0x18003f1ef
lea rcx, [r9 + r14]
cmp rcx, r10
je 0x18003f4d3
mov rsi, qword [rsp + 0xa8]
jmp 0x18003f1f7
bsf rcx, rcx
shr rcx, 3
add r11, rcx
sub r11d, dword [rsp + 0x70]
add r11, 4
mov dword [rsp + 0x88], 2
jmp 0x18003ee62
mov edx, 0x40
jmp 0x18003ef98
mov dil, bl
mov rax, qword [rsp + 0x70]
lea rdx, [rax + rdi*8]
lea rcx, [rcx + rdi*8]
cmp rdx, rbp
jae 0x18004173e
mov rax, qword [rsp + 0xe8]
lea ebx, [rax + rdx]
mov rdi, qword [rdx]
xor rdi, qword [rcx]
jne 0x18003f1e0
add rdx, 8
add rcx, 8
add ebx, 8
cmp rdx, rbp
jb 0x18003f1c3
jmp 0x18004173e
bsf rdx, rdi
shr rdx, 3
add edx, ebx
jmp 0x18003efa9
mov rsi, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x1dc], eax
lea rbx, [rsi + 4]
add rdi, r15
mov rbp, r9
mov rdx, rbp
mov rcx, rdi
cmp rbp, rbx
jb 0x18003f22a
lea rbp, [rdx - 4]
lea rdi, [rcx - 4]
mov rax, qword [rsp + 0x50]
cmp dword [rdx - 4], eax
je 0x18003f20d
cmp rdx, rsi
jbe 0x18003f261
mov rax, rsi
sub rax, rcx
mov rcx, rax
add rcx, rdx
xor ebx, ebx
mov al, byte [rdx + rbx - 1]
cmp al, byte [rsp + rbx + 0x1df]
jne 0x18003f25b
lea rax, [rdx + rbx]
dec rax
dec rbx
cmp rax, rsi
ja 0x18003f23d
jmp 0x18003f261
add rdx, rbx
mov rcx, rdx
mov rdx, r9
sub rdx, rcx
cmp r8d, dword [rsp + 0x58]
jb 0x18003f30f
mov eax, edx
sub r9, rax
cmp r9, qword [rsp + 0xb8]
jne 0x18003f30f
mov rax, qword [rsp + 0xf8]
cmp eax, dword [rsp + 0x58]
jae 0x18003f30f
mov eax, edx
neg eax
mov ecx, eax
shl ecx, 3
mov rbp, qword [rsp + 0x50]
mov edi, ebp
rol edi, cl
test al, 3
cmove edi, ebp
mov dword [rsp + 0x1dc], edi
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x138]
cmp rcx, 4
jl 0x18004176a
add rcx, 0xfffffffffffffffc
lea rbx, [rax - 4]
cmp dword [rax - 4], edi
mov rax, rbx
je 0x18003f2c1
add rbx, 4
mov rax, rbx
lea rcx, [rsp + 0x1df]
mov bl, byte [rax - 1]
cmp bl, byte [rcx]
jne 0x18003f301
dec rax
dec rcx
cmp rax, qword [rsp + 0xa8]
ja 0x18003f2ea
mov rcx, qword [rsp + 0x110]
sub ecx, eax
add ecx, edx
mov edx, ecx
mov r9d, r8d
sub r9d, edx
mov eax, dword [rsp + 0xd0]
cmp r9d, eax
cmovbe r9d, eax
mov edx, r8d
sub edx, r9d
add rdx, r14
cmp r14, r11
ja 0x18003f36a
cmp rdx, r11
jb 0x18003f36a
sub r8d, r11d
add r8d, r14d
mov eax, r8d
not eax
mov rcx, qword [rsp + 0x58]
add eax, ecx
cmp eax, 3
cmovb r8d, ecx
xor r14d, r14d
mov ecx, 2
mov dword [rsp + 0x88], 2
mov r9d, r8d
jmp 0x18003f126
mov ebp, r9d
not ebp
add ebp, dword [rsp + 0x58]
xor r14d, r14d
mov ecx, 2
cmp ebp, 3
jae 0x18003f461
mov dword [rsp + 0x88], 2
mov r9, qword [rsp + 0x58]
jmp 0x18003f126
mov r10d, 0x40
jmp 0x18003f08d
mov bl, r8b
mov rax, qword [rsp + 0x70]
lea r10, [rax + rbx*8]
lea rcx, [rcx + rbx*8]
cmp r10, qword [rsp + 0x48]
jae 0x180041a46
mov rax, qword [rsp + 0xe8]
lea edi, [rax + r10]
mov rbp, qword [r10]
xor rbp, qword [rcx]
jne 0x18003f442
add r10, 8
add rcx, 8
add edi, 8
cmp r10, qword [rsp + 0x48]
jb 0x18003f3cb
jmp 0x180041a46
mov edx, 0x40
jmp 0x18003eff6
mov dil, cl
lea rdx, [r8 + rdi*8]
mov rax, qword [rsp + 0xb8]
lea rcx, [rax + rdi*8]
cmp rdx, qword [rsp + 0x48]
jae 0x180041aa0
mov rsi, qword [rsp + 0x30]
cmp rsi, r15
cmovb r15, rsi
mov ebp, edx
sub ebp, r15d
mov rdi, qword [rdx]
xor rdi, qword [rcx]
jne 0x18003f452
add rdx, 8
add rcx, 8
add ebp, 8
cmp rdx, qword [rsp + 0x48]
jb 0x18003f423
jmp 0x180041aa0
bsf r10, rbp
shr r10, 3
add r10d, edi
jmp 0x18003f0a0
bsf rdx, rdi
shr rdx, 3
add edx, ebp
jmp 0x18003f007
cmp rdx, r11
cmovae rdx, r11
movsxd rax, dword [rsp + 0x40]
cmp rdx, rax
jbe 0x18003f49f
mov eax, r9d
mov rbp, qword [rsp + 0xb0]
sub rbp, rax
cmp rbp, 0xffff
ja 0x18003f558
add rax, qword [rsp + 0xc8]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x40], rdx
movzx eax, r9w
mov rdx, qword [rsp + 0x60]
movzx edx, word [rdx + rax*2 + 0x20000]
xor r14d, r14d
cmp r9d, edx
cmovb edx, r14d
jb 0x18003f558
sub r9d, edx
mov dword [rsp + 0x88], 2
jmp 0x18003f126
lea ecx, [r14*8]
mov rbp, qword [rsp + 0x50]
mov edx, ebp
rol edx, cl
test al, 3
cmove edx, ebp
movabs rax, 0x100000001
imul rdx, rax
mov rcx, qword [rsp + 0xb8]
mov rax, rcx
cmp rcx, qword [rsp + 0x48]
jae 0x18004162c
mov rcx, qword [rax]
xor rcx, rdx
jne 0x18003f525
add rax, 8
cmp rax, qword [rsp + 0x48]
jb 0x18003f50d
jmp 0x18004162c
bsf rcx, rcx
shr rcx, 3
add rax, rcx
sub eax, dword [rsp + 0xb8]
add r14, rax
jmp 0x18003f164
cmp byte [rax], bl
jne 0x18003f142
inc rax
shr rbx, 8
dec rcx
jne 0x18003f53f
jmp 0x180041b38
cmp dword [rsp + 0x40], 4
jl 0x18003f67b
mov rcx, qword [rsp + 0x40]
lea eax, [rcx - 0x13]
mov r14, qword [rsp + 0x68]
sub r14, qword [rsp + 0x78]
cmp eax, 0x12
mov eax, ecx
mov rdx, rax
mov ecx, 0x12
cmovb rdx, rcx
cmp byte [rsp + 0xf0], 0
cmove rdx, rax
mov rax, rdx
mov qword [rsp + 0x70], rdx
cmp rdx, qword [rsp + 0x1b8]
jbe 0x18003f698
mov rax, qword [rsp + 0x38]
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x260], 0
je 0x18003f5ea
shr rdx, 7
add rdx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x38]
add rax, rdx
add rax, 9
cmp rax, qword [rsp + 0x90]
ja 0x180041817
mov rax, qword [rsp + 0x98]
lea rbp, [rax + 1]
cmp qword [rsp + 0x38], 0xf
jb 0x1800414e5
mov rax, qword [rsp + 0x38]
add rax, 0xfffffffffffffff1
mov rcx, qword [rsp + 0x98]
mov byte [rcx], 0xf0
cmp rax, 0xff
jb 0x18003f670
mov rsi, qword [rsp + 0x38]
lea rax, [rsi - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov rcx, rbp
mov dl, 0xff
call fcn.180091cf0
mov rax, rbx
shl rax, 8
mov rcx, qword [rsp + 0x98]
lea rbp, [rcx + rbx]
add rbp, 2
sub rbx, rax
lea rax, [rsi + rbx]
add rax, 0xfffffffffffffef2
mov byte [rbp], al
inc rbp
jmp 0x1800414f7
inc qword [rsp + 0x68]
mov rax, qword [rsp + 0x68]
cmp rax, qword [rsp + 0x178]
jbe 0x18003eb5d
jmp 0x18003e9be
cmp dword [rsp + 0x38], 0xe
jle 0x18003f6be
mov rdx, qword [rsp + 0x38]
lea ecx, [rdx - 0xf]
mov eax, 0x80808081
imul rcx, rax
shr rcx, 0x27
lea r8d, [rdx + 1]
add ecx, edx
inc ecx
jmp 0x18003f6c9
mov rax, qword [rsp + 0x38]
lea r8d, [rax + 1]
mov ecx, eax
mov rax, qword [rsp + 0xd8]
movabs rdx, 0x100000000
mov qword [rax + 4], rdx
mov rdx, qword [rsp + 0x38]
mov dword [rax + 0xc], edx
mov dword [rax], ecx
mov ecx, r8d
cmp r8d, 0xf
jl 0x18003f708
lea ecx, [r8 - 0xf]
mov eax, 0x80808081
imul rcx, rax
shr rcx, 0x27
add ecx, r8d
inc ecx
mov rax, qword [rsp + 0xd8]
movabs rdx, 0x100000000
mov qword [rax + 0x14], rdx
mov dword [rax + 0x1c], r8d
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x38]
lea edx, [rax + 2]
cmp eax, 0xd
jl 0x1800414aa
mov rbx, qword [rsp + 0x38]
lea ebp, [rbx - 0xd]
mov eax, 0x80808081
imul rbp, rax
shr rbp, 0x27
lea ecx, [rbx + 3]
add ebp, ebx
add ebp, 3
mov rax, qword [rsp + 0xd8]
movabs rbx, 0x100000000
mov qword [rax + 0x24], rbx
mov dword [rax + 0x2c], edx
mov dword [rax + 0x20], ebp
mov rbp, qword [rsp + 0x38]
lea edx, [rbp - 0xc]
mov eax, 0x80808081
imul rdx, rax
shr rdx, 0x27
add edx, ebp
add edx, 4
mov rbx, qword [rsp + 0x38]
lea ebp, [rbx - 0xf]
mov eax, 0x80808081
imul rbp, rax
shr rbp, 0x27
add r8d, ebp
cmp ebx, 0xf
mov rax, qword [rsp + 0xd8]
movabs rbp, 0x100000000
mov qword [rax + 0x34], rbp
mov dword [rax + 0x3c], ecx
cmovl r8d, ebx
mov dword [rax + 0x30], edx
lea ecx, [r8 + 3]
add r8d, 4
mov edx, 3
sub rdx, qword [rsp + 0x70]
mov ebp, 4
mov ebx, 0xfffffff1
mov rdi, qword [rsp + 0x188]
mov esi, ecx
cmp rbp, 0x13
jb 0x18003f80d
movsxd rsi, ebx
imul rsi, rsi, 0xffffffff80808081
shr rsi, 0x20
add esi, ebx
mov eax, esi
shr eax, 0x1f
sar esi, 7
add esi, eax
add esi, r8d
mov dword [rdi - 4], ebp
mov dword [rdi - 8], r14d
mov rax, qword [rsp + 0x38]
mov dword [rdi], eax
mov dword [rdi - 0xc], esi
inc ebx
lea rax, [rdx + rbp]
inc rax
inc rbp
add rdi, 0x10
cmp rax, 4
jne 0x18003f7e8
mov rax, qword [rsp + 0x70]
shl rax, 4
mov rbp, qword [rsp + 0xd8]
movabs rbx, 0x100000000
mov qword [rbp + rax + 0x14], rbx
mov dword [rbp + rax + 0x1c], 1
mov ecx, dword [rbp + rax]
lea edx, [rcx + 1]
mov dword [rbp + rax + 0x10], edx
mov qword [rbp + rax + 0x24], rbx
mov dword [rbp + rax + 0x2c], 2
lea edx, [rcx + 2]
mov dword [rbp + rax + 0x20], edx
mov qword [rbp + rax + 0x34], rbx
mov dword [rbp + rax + 0x3c], 3
add ecx, 3
mov dword [rbp + rax + 0x30], ecx
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
add ecx, eax
sub ecx, dword [rsp + 0xb8]
inc ecx
mov qword [rsp + 0x88], rcx
mov ecx, 0xfffffffb
sub ecx, eax
mov qword [rsp + 0x148], rcx
inc rax
mov qword [rsp + 0x1b0], rax
mov eax, 1
mov qword [rsp + 0x108], rax
mov eax, 5
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x168], rax
mov rcx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x78], rcx
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rcx
cmp rcx, qword [rsp + 0x178]
ja 0x180041101
mov rax, qword [rsp + 0x88]
mov eax, eax
mov qword [rsp + 0x88], rax
mov rdx, qword [rsp + 0x78]
lea rcx, [rdx + 1]
mov rax, rcx
mov qword [rsp + 0x108], rcx
shl rcx, 4
shl rdx, 4
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x140], rcx
mov ecx, dword [rax + rcx]
mov dword [rsp + 0x1a0], ecx
mov qword [rsp + 0x160], rdx
mov eax, dword [rax + rdx]
mov qword [rsp + 0xe8], rax
cmp r13d, 0xc
jne 0x180040333
mov eax, dword [rsp + 0x1a0]
cmp eax, dword [rsp + 0xe8]
jg 0x18003f9b5
mov rax, qword [rsp + 0xe8]
add eax, 3
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x160]
cmp dword [rdx + rcx + 0x40], eax
jl 0x180040ce5
mov rbp, qword [rsp + 0x38]
mov rcx, rbp
sub rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x58]
lea edx, [rax + rcx]
cmp dword [rsp + 0x100], edx
mov qword [rsp + 0x158], rcx
lea eax, [rax + rcx - 0xffff]
cmova eax, dword [rsp + 0xf8]
mov dword [rsp + 0x150], eax
mov eax, dword [rbp]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0xd0], edx
cmp dword [rsp + 0xa0], edx
jae 0x18003fa5c
mov eax, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0xc8]
imul ecx, dword [rcx + rax], 0x9e3779b1
shr ecx, 0x11
mov edx, eax
mov rbp, qword [rsp + 0x60]
sub edx, dword [rbp + rcx*4]
mov ebp, 0xffff
cmp edx, ebp
jb 0x18003fa3c
mov edx, 0xffff
movzx ebp, ax
mov rbx, qword [rsp + 0x60]
mov word [rbx + rbp*2 + 0x20000], dx
mov dword [rbx + rcx*4], eax
inc rax
cmp qword [rsp + 0x88], rax
jne 0x18003fa11
mov rcx, qword [rsp + 0x60]
mov eax, dword [rsp + 0xd0]
mov dword [rcx + 0x40020], eax
mov rdx, qword [rsp + 0x38]
imul eax, dword [rdx], 0x9e3779b1
shr eax, 0x11
mov r15d, dword [rcx + rax*4]
lea rax, [rdx + 4]
mov qword [rsp + 0xc0], rax
mov rbp, qword [rsp + 0x40]
movzx eax, bp
mov ecx, ebp
shr ecx, 0x10
xor ecx, eax
movzx eax, bpl
mov edx, ebp
shr edx, 0x18
xor edx, eax
or edx, ecx
sete byte [rsp + 0x170]
movabs rax, 0x100000001
imul rbp, rax
mov qword [rsp + 0xe0], rbp
mov rax, qword [rsp + 0x158]
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x158], rax
mov eax, 3
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x120], rax
xor r12d, r12d
mov dword [rsp + 0xa0], 0
xor r8d, r8d
mov r14d, dword [rsp + 0x2c]
cmp r15d, dword [rsp + 0x150]
jb 0x180040cdc
test r14d, r14d
jle 0x180040cdc
xor r11d, r11d
cmp byte [rsp + 0xf0], 0
je 0x18003fcca
mov ecx, dword [rsp + 0xd0]
sub ecx, r15d
cmp ecx, 8
jae 0x18003fcca
cmp r11d, dword [rsp + 0x50]
jne 0x18003fbdb
mov rax, qword [rsp + 0x50]
lea ecx, [rax + r15]
cmp ecx, dword [rsp + 0xd0]
ja 0x18003fbdb
cmp r11d, 4
jl 0x18003fbdb
lea ecx, [r11 - 3]
xor ebp, ebp
mov ebx, 0x10
mov edx, 1
mov edi, edx
lea edx, [r15 + rbp]
movzx edx, dx
mov rsi, qword [rsp + 0x60]
movzx edx, word [rsi + rdx*2 + 0x20000]
lea esi, [rbx + 1]
sar ebx, 4
cmp edi, edx
mov eax, 0x10
cmovb esi, eax
cmova edx, edi
cmovb r8d, ebp
mov edi, ebx
add edi, ebp
mov ebp, edi
mov ebx, esi
cmp edi, ecx
jl 0x18003fb73
xor ecx, ecx
cmp r15d, edx
setb bl
mov ebp, edx
mov edi, 0
cmovb ebp, edi
cmp edx, 2
cmovb ebp, edi
sub r15d, ebp
cmp edx, 1
jbe 0x18003fbdb
mov cl, bl
or ecx, 2
mov qword [rsp + 0x50], r11
jmp 0x18003feeb
movzx ecx, r15w
mov rdx, qword [rsp + 0x60]
cmp word [rdx + rcx*2 + 0x20000], 1
jne 0x18003fed2
test r8d, r8d
jne 0x18003fed2
cmp dword [rsp + 0xa0], 0
je 0x18003fe89
cmp dword [rsp + 0xa0], 2
jne 0x18003fed2
lea r9d, [r15 - 1]
cmp r9d, dword [rsp + 0x150]
jb 0x18003fed2
mov rax, qword [rsp + 0x58]
mov ecx, eax
sub ecx, r15d
cmp ecx, 3
jb 0x18003fed2
cmp r9d, dword [rsp + 0x58]
mov rbp, qword [rsp + 0xc8]
cmovb rbp, qword [rsp + 0x118]
mov r11d, r9d
mov dword [rsp + 0xa0], 2
mov rax, qword [rsp + 0x40]
cmp dword [rbp + r11], eax
jne 0x18003fed2
lea r10, [r11 + rbp]
cmp r9d, dword [rsp + 0x58]
mov r15, qword [rsp + 0x30]
cmovb r15, qword [rsp + 0x110]
lea r8, [r10 + 4]
lea rdx, [r15 - 7]
mov rax, r8
cmp r8, rdx
jae 0x180041640
lea rcx, [r11 + rbp]
add rcx, 4
mov rax, r8
mov rdi, qword [rax]
xor rdi, qword [rsp + 0xe0]
jne 0x18003fefc
add rax, 8
add rcx, 8
cmp rax, rdx
jb 0x18003fca7
jmp 0x180041640
mov rbp, qword [rsp + 0x58]
sub ebp, r15d
jbe 0x18003fde8
cmp r15d, dword [rsp + 0x130]
ja 0x18003fb40
mov ecx, r15d
sub ecx, dword [rsp + 0xf8]
add rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x40]
cmp dword [rcx], eax
jne 0x18003fb40
mov rax, qword [rsp + 0x38]
add rax, rbp
mov rdx, qword [rsp + 0x30]
cmp rax, rdx
mov r9, rax
cmova r9, rdx
add rcx, 4
lea rbx, [r9 - 7]
cmp rbx, qword [rsp + 0xc0]
jbe 0x180041d45
mov rdx, qword [rsp + 0xc0]
mov rdx, qword [rdx]
xor rdx, qword [rcx]
je 0x18003ff5d
bsf r10, rdx
xor edi, edi
test rdx, rdx
sete dl
je 0x18003ff68
shr r10d, 3
lea r11d, [r10 + 4]
cmp rax, qword [rsp + 0x30]
jae 0x18003fdbd
movsxd rcx, r10d
mov rax, qword [rsp + 0x38]
add rcx, rax
add rcx, 4
cmp rcx, r9
jne 0x18003fdbd
mov rbx, r9
mov rcx, qword [rsp + 0xb8]
cmp qword [rsp + 0x48], r9
jbe 0x1800401d8
mov rcx, qword [r9]
mov rax, qword [rsp + 0xb8]
xor rcx, qword [rax]
je 0x1800401bc
bsf rbx, rcx
xor edx, edx
test rcx, rcx
sete cl
je 0x1800401c6
shr ebx, 3
add r11d, ebx
cmp r11d, dword [rsp + 0x50]
jle 0x18003fb40
mov eax, r15d
add rax, qword [rsp + 0xc8]
mov qword [rsp + 0x120], rax
mov eax, r11d
mov qword [rsp + 0x50], rax
jmp 0x18003fb40
mov ebx, r15d
add rbx, qword [rsp + 0xc8]
movsxd rcx, dword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
movzx edx, word [rax + rcx - 1]
cmp dx, word [rcx + rbx - 1]
jne 0x18003fb40
mov rax, qword [rsp + 0x40]
cmp dword [rbx], eax
jne 0x18003fb40
lea rcx, [rbx + 4]
mov rax, qword [rsp + 0xc0]
cmp qword [rsp + 0x48], rax
jbe 0x180041d69
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rax]
xor rdx, qword [rcx]
je 0x180040168
bsf r11, rdx
xor ebp, ebp
test rdx, rdx
sete dl
je 0x180040173
shr r11d, 3
add r11d, 4
mov rcx, qword [rsp + 0x50]
cmp r11d, ecx
mov rax, qword [rsp + 0x120]
cmovg rax, rbx
mov qword [rsp + 0x120], rax
cmovg ecx, r11d
mov qword [rsp + 0x50], rcx
jmp 0x18003fb40
mov dword [rsp + 0xa0], 1
cmp byte [rsp + 0x170], 0
je 0x18003fed2
mov rax, qword [rsp + 0xc0]
mov r12, rax
cmp qword [rsp + 0x48], rax
jbe 0x180041677
mov rcx, qword [r12]
xor rcx, qword [rsp + 0xe0]
jne 0x18003ff36
add r12, 8
cmp r12, qword [rsp + 0x48]
jb 0x18003feb4
jmp 0x180041677
lea ecx, [r8 + r15]
movzx ecx, cx
mov rdx, qword [rsp + 0x60]
movzx ecx, word [rdx + rcx*2 + 0x20000]
sub r15d, ecx
xor ecx, ecx
dec r14d
cmp ecx, 3
jne 0x18003fb05
jmp 0x180040cdc
bsf rax, rdi
shr rax, 3
add rax, rcx
sub rax, r8
mov r8d, eax
add r8, 4
cmp r9d, dword [rsp + 0x58]
jae 0x18003ffbc
lea rcx, [r10 + r8]
cmp rcx, r15
je 0x1800402ae
mov rsi, qword [rsp + 0xa8]
jmp 0x18003ffc4
bsf rcx, rcx
shr rcx, 3
add r12, rcx
sub r12d, dword [rsp + 0xc0]
add r12, 4
mov dword [rsp + 0xa0], 2
jmp 0x18003fc0a
mov r10d, 0x40
jmp 0x18003fd4a
mov dil, dl
mov rdx, qword [rsp + 0xc0]
lea r10, [rdx + rdi*8]
lea rcx, [rcx + rdi*8]
cmp r10, rbx
jae 0x180041700
mov rdx, qword [rsp + 0x148]
add edx, r10d
mov rdi, qword [r10]
xor rdi, qword [rcx]
jne 0x18003ffac
add r10, 8
add rcx, 8
add edx, 8
cmp r10, rbx
jb 0x18003ff8f
jmp 0x180041700
bsf r10, rdi
shr r10, 3
add r10d, edx
jmp 0x18003fd5c
mov rsi, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x1dc], eax
lea rbx, [rsi + 4]
add rbp, r11
mov rdi, r10
mov rdx, rdi
mov rcx, rbp
cmp rdi, rbx
jb 0x18003fff7
lea rdi, [rdx - 4]
lea rbp, [rcx - 4]
mov rax, qword [rsp + 0x40]
cmp dword [rdx - 4], eax
je 0x18003ffda
cmp rdx, rsi
jbe 0x18004002e
mov rax, rsi
sub rax, rcx
mov rcx, rax
add rcx, rdx
xor ebp, ebp
mov al, byte [rdx + rbp - 1]
cmp al, byte [rsp + rbp + 0x1df]
jne 0x180040028
lea rax, [rdx + rbp]
dec rax
dec rbp
cmp rax, rsi
ja 0x18004000a
jmp 0x18004002e
add rdx, rbp
mov rcx, rdx
mov rax, r10
sub rax, rcx
cmp r9d, dword [rsp + 0x58]
jb 0x1800400de
mov ecx, eax
sub r10, rcx
cmp r10, qword [rsp + 0xb8]
jne 0x1800400de
mov rcx, qword [rsp + 0xf8]
cmp ecx, dword [rsp + 0x58]
jae 0x1800400de
mov ebp, eax
neg ebp
mov ecx, ebp
shl ecx, 3
mov rbx, qword [rsp + 0x40]
mov edx, ebx
rol edx, cl
test bpl, 3
cmove edx, ebx
mov dword [rsp + 0x1dc], edx
mov rcx, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x138]
cmp rbp, 4
jl 0x180041730
add rbp, 0xfffffffffffffffc
lea rbx, [rcx - 4]
cmp dword [rcx - 4], edx
mov rcx, rbx
je 0x180040090
add rbx, 4
mov rcx, rbx
lea rdx, [rsp + 0x1df]
mov bl, byte [rcx - 1]
cmp bl, byte [rdx]
jne 0x1800400d0
dec rcx
dec rdx
cmp rcx, qword [rsp + 0xa8]
ja 0x1800400b9
mov rdx, qword [rsp + 0x110]
sub edx, ecx
add edx, eax
mov eax, edx
mov r15d, r9d
sub r15d, eax
mov eax, dword [rsp + 0x150]
cmp r15d, eax
cmovbe r15d, eax
mov edx, r9d
sub edx, r15d
add rdx, r8
cmp r8, r12
ja 0x180040139
cmp rdx, r12
jb 0x180040139
sub r9d, r12d
add r9d, r8d
mov eax, r9d
not eax
mov rcx, qword [rsp + 0x58]
add eax, ecx
cmp eax, 3
cmovb r9d, ecx
xor r8d, r8d
mov ecx, 2
mov dword [rsp + 0xa0], 2
mov r15d, r9d
jmp 0x18003feeb
mov ebp, r15d
not ebp
add ebp, dword [rsp + 0x58]
xor r8d, r8d
mov ecx, 2
cmp ebp, 3
jae 0x180040239
mov dword [rsp + 0xa0], 2
mov r15, qword [rsp + 0x58]
jmp 0x18003feeb
mov r11d, 0x40
jmp 0x18003fe49
mov bpl, dl
mov rax, qword [rsp + 0xc0]
lea r11, [rax + rbp*8]
lea rcx, [rcx + rbp*8]
cmp r11, qword [rsp + 0x48]
jae 0x18004194a
mov rax, qword [rsp + 0x148]
lea edx, [rax + r11]
mov rbp, qword [r11]
xor rbp, qword [rcx]
jne 0x18004021a
add r11, 8
add rcx, 8
add edx, 8
cmp r11, qword [rsp + 0x48]
jb 0x18004019d
jmp 0x18004194a
mov ebx, 0x40
jmp 0x18003fda9
mov dl, cl
lea rbx, [r9 + rdx*8]
mov rax, qword [rsp + 0xb8]
lea rcx, [rax + rdx*8]
cmp rbx, qword [rsp + 0x48]
jae 0x1800419a6
add rbp, qword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x30]
cmp rdx, rbp
cmovb rbp, rdx
mov edx, ebx
sub edx, ebp
mov rbp, qword [rbx]
xor rbp, qword [rcx]
jne 0x18004022a
add rbx, 8
add rcx, 8
add edx, 8
cmp rbx, qword [rsp + 0x48]
jb 0x1800401fb
jmp 0x1800419a6
bsf r11, rbp
shr r11, 3
add r11d, edx
jmp 0x18003fe5b
bsf rbx, rbp
shr rbx, 3
add ebx, edx
jmp 0x18003fdba
cmp rdx, r12
cmovae rdx, r12
movsxd rax, dword [rsp + 0x50]
cmp rdx, rax
jbe 0x18004027a
mov eax, r15d
mov rbp, qword [rsp + 0x158]
sub rbp, rax
cmp rbp, 0xffff
ja 0x180040cdc
add rax, qword [rsp + 0xc8]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x50], rdx
movzx eax, r15w
mov rdx, qword [rsp + 0x60]
movzx edx, word [rdx + rax*2 + 0x20000]
xor r8d, r8d
cmp r15d, edx
cmovb edx, r8d
jb 0x180040cdc
sub r15d, edx
mov dword [rsp + 0xa0], 2
jmp 0x18003feeb
lea ecx, [r8*8]
mov rsi, qword [rsp + 0x40]
mov edx, esi
rol edx, cl
test al, 3
cmove edx, esi
movabs rax, 0x100000001
imul rdx, rax
mov rcx, qword [rsp + 0xb8]
mov rax, rcx
cmp rcx, qword [rsp + 0x48]
jae 0x1800410ed
mov rcx, qword [rax]
xor rcx, rdx
jne 0x180040300
add rax, 8
cmp rax, qword [rsp + 0x48]
jb 0x1800402e8
jmp 0x1800410ed
bsf rcx, rcx
shr rcx, 3
add rax, rcx
sub eax, dword [rsp + 0xb8]
add r8, rax
jmp 0x18003ff29
cmp byte [rax], dl
jne 0x18003ff07
inc rax
shr rdx, 8
dec rcx
jne 0x18004031a
jmp 0x180041a3e
mov eax, dword [rsp + 0x1a0]
cmp eax, dword [rsp + 0xe8]
jle 0x180040ce5
mov rbp, qword [rsp + 0x38]
mov rcx, rbp
sub rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x58]
lea edx, [rax + rcx]
cmp dword [rsp + 0x100], edx
mov qword [rsp + 0x158], rcx
lea eax, [rax + rcx - 0xffff]
cmova eax, dword [rsp + 0xf8]
mov dword [rsp + 0x150], eax
mov eax, dword [rbp]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0xd0], edx
cmp dword [rsp + 0xa0], edx
jae 0x1800403ee
mov eax, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0xc8]
imul ecx, dword [rcx + rax], 0x9e3779b1
shr ecx, 0x11
mov edx, eax
mov rbp, qword [rsp + 0x60]
sub edx, dword [rbp + rcx*4]
mov ebp, 0xffff
cmp edx, ebp
jb 0x1800403ce
mov edx, 0xffff
movzx ebp, ax
mov rbx, qword [rsp + 0x60]
mov word [rbx + rbp*2 + 0x20000], dx
mov dword [rbx + rcx*4], eax
inc rax
cmp qword [rsp + 0x88], rax
jne 0x1800403a3
mov rax, qword [rsp + 0x70]
mov ebx, eax
sub ebx, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
mov eax, dword [rsp + 0xd0]
mov dword [rcx + 0x40020], eax
mov rdx, qword [rsp + 0x38]
imul eax, dword [rdx], 0x9e3779b1
shr eax, 0x11
mov r15d, dword [rcx + rax*4]
lea rax, [rdx + 4]
mov qword [rsp + 0xc0], rax
mov rbp, qword [rsp + 0x40]
movzx eax, bp
mov ecx, ebp
shr ecx, 0x10
xor ecx, eax
movzx eax, bpl
mov edx, ebp
shr edx, 0x18
xor edx, eax
or edx, ecx
sete byte [rsp + 0x170]
movabs rax, 0x100000001
imul rbp, rax
mov qword [rsp + 0xe0], rbp
mov rax, qword [rsp + 0x158]
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x158], rax
xor eax, eax
mov qword [rsp + 0x120], rax
xor r14d, r14d
mov dword [rsp + 0xa0], 0
xor r12d, r12d
mov r10d, dword [rsp + 0x2c]
mov dword [rsp + 0x190], ebx
mov eax, ebx
mov qword [rsp + 0x50], rax
cmp r15d, dword [rsp + 0x150]
jb 0x180040d55
test r10d, r10d
jle 0x180040d55
xor r11d, r11d
cmp byte [rsp + 0xf0], 0
je 0x180040671
mov ecx, dword [rsp + 0xd0]
sub ecx, r15d
cmp ecx, 8
jae 0x180040671
cmp r11d, dword [rsp + 0x50]
jne 0x180040582
mov rax, qword [rsp + 0x50]
lea ecx, [rax + r15]
cmp ecx, dword [rsp + 0xd0]
ja 0x180040582
cmp r11d, 4
jl 0x180040582
lea ecx, [r11 - 3]
xor ebp, ebp
mov esi, 0x10
mov edx, 1
mov edi, edx
lea edx, [r15 + rbp]
movzx edx, dx
mov rbx, qword [rsp + 0x60]
movzx edx, word [rbx + rdx*2 + 0x20000]
lea ebx, [rsi + 1]
sar esi, 4
cmp edi, edx
mov eax, 0x10
cmovb ebx, eax
cmova edx, edi
cmovb r12d, ebp
mov edi, esi
add edi, ebp
mov ebp, edi
mov esi, ebx
cmp edi, ecx
jl 0x180040518
xor ecx, ecx
cmp r15d, edx
setb r9b
mov esi, edx
mov ebp, 0
cmovb esi, ebp
cmp edx, 2
cmovb esi, ebp
sub r15d, esi
cmp edx, 1
jbe 0x180040582
mov cl, r9b
or ecx, 2
mov qword [rsp + 0x50], r11
jmp 0x180040893
movzx ecx, r15w
mov rdx, qword [rsp + 0x60]
cmp word [rdx + rcx*2 + 0x20000], 1
jne 0x18004087a
test r12d, r12d
jne 0x18004087a
cmp dword [rsp + 0xa0], 0
je 0x180040832
cmp dword [rsp + 0xa0], 2
jne 0x18004087a
lea r8d, [r15 - 1]
cmp r8d, dword [rsp + 0x150]
jb 0x18004087a
mov rax, qword [rsp + 0x58]
mov ecx, eax
sub ecx, r15d
cmp ecx, 3
jb 0x18004087a
cmp r8d, dword [rsp + 0x58]
mov rbp, qword [rsp + 0xc8]
cmovb rbp, qword [rsp + 0x118]
mov r11d, r8d
mov dword [rsp + 0xa0], 2
mov rax, qword [rsp + 0x40]
cmp dword [rbp + r11], eax
jne 0x18004087a
lea r15, [r11 + rbp]
cmp r8d, dword [rsp + 0x58]
mov r9, qword [rsp + 0x30]
cmovb r9, qword [rsp + 0x110]
lea rdx, [r15 + 4]
lea rsi, [r9 - 7]
mov rax, rdx
cmp rdx, rsi
jae 0x1800416b2
lea rdi, [r11 + rbp]
add rdi, 4
mov rax, rdx
mov rcx, qword [rax]
xor rcx, qword [rsp + 0xe0]
jne 0x1800408a4
add rax, 8
add rdi, 8
cmp rax, rsi
jb 0x18004064e
jmp 0x1800416b2
mov r9, qword [rsp + 0x58]
sub r9d, r15d
jbe 0x180040790
cmp r15d, dword [rsp + 0x130]
ja 0x1800404e1
mov ecx, r15d
sub ecx, dword [rsp + 0xf8]
add rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x40]
cmp dword [rcx], eax
jne 0x1800404e1
mov rax, qword [rsp + 0x38]
lea rdi, [rax + r9]
mov rdx, qword [rsp + 0x30]
cmp rdi, rdx
mov r8, rdi
cmova r8, rdx
add rcx, 4
lea rbx, [r8 - 7]
cmp rbx, qword [rsp + 0xc0]
jbe 0x180041d5c
mov rax, qword [rsp + 0xc0]
mov rsi, qword [rax]
xor rsi, qword [rcx]
je 0x180040905
bsf rdx, rsi
xor ebp, ebp
test rsi, rsi
sete sil
je 0x18004090f
shr edx, 3
lea r11d, [rdx + 4]
cmp rdi, qword [rsp + 0x30]
jae 0x180040765
movsxd rcx, edx
mov rax, qword [rsp + 0x38]
add rcx, rax
add rcx, 4
cmp rcx, r8
jne 0x180040765
mov rdx, r8
mov rcx, qword [rsp + 0xb8]
cmp qword [rsp + 0x48], r8
jbe 0x180040b7f
mov rcx, qword [r8]
mov rax, qword [rsp + 0xb8]
xor rcx, qword [rax]
je 0x180040b62
bsf rdx, rcx
xor ebp, ebp
test rcx, rcx
sete cl
je 0x180040b6c
shr edx, 3
add r11d, edx
cmp r11d, dword [rsp + 0x50]
jle 0x1800404e1
mov eax, r15d
add rax, qword [rsp + 0xc8]
mov qword [rsp + 0x120], rax
mov eax, r11d
mov qword [rsp + 0x50], rax
jmp 0x1800404e1
mov ebp, r15d
add rbp, qword [rsp + 0xc8]
movsxd rcx, dword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
movzx edx, word [rax + rcx - 1]
cmp dx, word [rcx + rbp - 1]
jne 0x1800404e1
mov rax, qword [rsp + 0x40]
cmp dword [rbp], eax
jne 0x1800404e1
lea rcx, [rbp + 4]
mov rax, qword [rsp + 0xc0]
cmp qword [rsp + 0x48], rax
jbe 0x180041d80
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rax]
xor rdx, qword [rcx]
je 0x180040b0e
bsf r11, rdx
xor esi, esi
test rdx, rdx
sete dl
je 0x180040b19
shr r11d, 3
add r11d, 4
mov rcx, qword [rsp + 0x50]
cmp r11d, ecx
mov rax, qword [rsp + 0x120]
cmovg rax, rbp
mov qword [rsp + 0x120], rax
cmovg ecx, r11d
mov qword [rsp + 0x50], rcx
jmp 0x1800404e1
mov dword [rsp + 0xa0], 1
cmp byte [rsp + 0x170], 0
je 0x18004087a
mov rax, qword [rsp + 0xc0]
mov r14, rax
cmp qword [rsp + 0x48], rax
jbe 0x1800416f3
mov rcx, qword [r14]
xor rcx, qword [rsp + 0xe0]
jne 0x1800408de
add r14, 8
cmp r14, qword [rsp + 0x48]
jb 0x18004085d
jmp 0x1800416f3
lea ecx, [r12 + r15]
movzx ecx, cx
mov rdx, qword [rsp + 0x60]
movzx ecx, word [rdx + rcx*2 + 0x20000]
sub r15d, ecx
xor ecx, ecx
dec r10d
cmp ecx, 3
jne 0x1800404a6
jmp 0x180040d55
bsf rax, rcx
shr rax, 3
add rax, rdi
sub rax, rdx
mov r12d, eax
add r12, 4
cmp r8d, dword [rsp + 0x58]
jae 0x180040962
lea rcx, [r15 + r12]
cmp rcx, r9
je 0x180040c56
mov rbx, qword [rsp + 0xa8]
jmp 0x18004096a
bsf rcx, rcx
shr rcx, 3
add r14, rcx
sub r14d, dword [rsp + 0xc0]
add r14, 4
mov dword [rsp + 0xa0], 2
jmp 0x1800405b1
mov edx, 0x40
jmp 0x1800406f2
mov bpl, sil
mov rax, qword [rsp + 0xc0]
lea rdx, [rax + rbp*8]
lea rcx, [rcx + rbp*8]
cmp rdx, rbx
jae 0x180041778
mov rax, qword [rsp + 0x148]
lea ebp, [rax + rdx]
mov rsi, qword [rdx]
xor rsi, qword [rcx]
jne 0x180040953
add rdx, 8
add rcx, 8
add ebp, 8
cmp rdx, rbx
jb 0x180040936
jmp 0x180041778
bsf rdx, rsi
shr rdx, 3
add edx, ebp
jmp 0x180040704
mov rbx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x1dc], eax
lea rsi, [rbx + 4]
add rbp, r11
mov rdi, r15
mov rdx, rdi
mov rcx, rbp
cmp rdi, rsi
jb 0x18004099d
lea rdi, [rdx - 4]
lea rbp, [rcx - 4]
mov rax, qword [rsp + 0x40]
cmp dword [rdx - 4], eax
je 0x180040980
cmp rdx, rbx
jbe 0x1800409d4
mov rax, rbx
sub rax, rcx
mov rcx, rax
add rcx, rdx
xor ebp, ebp
mov al, byte [rdx + rbp - 1]
cmp al, byte [rsp + rbp + 0x1df]
jne 0x1800409ce
lea rax, [rdx + rbp]
dec rax
dec rbp
cmp rax, rbx
ja 0x1800409b0
jmp 0x1800409d4
add rdx, rbp
mov rcx, rdx
mov rax, r15
sub rax, rcx
cmp r8d, dword [rsp + 0x58]
jb 0x180040a84
mov ecx, eax
sub r15, rcx
cmp r15, qword [rsp + 0xb8]
jne 0x180040a84
mov rcx, qword [rsp + 0xf8]
cmp ecx, dword [rsp + 0x58]
jae 0x180040a84
mov ebp, eax
neg ebp
mov ecx, ebp
shl ecx, 3
mov rbx, qword [rsp + 0x40]
mov edx, ebx
rol edx, cl
test bpl, 3
cmove edx, ebx
mov dword [rsp + 0x1dc], edx
mov rcx, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x138]
cmp rbp, 4
jl 0x1800417a7
add rbp, 0xfffffffffffffffc
lea rdi, [rcx - 4]
cmp dword [rcx - 4], edx
mov rcx, rdi
je 0x180040a36
add rdi, 4
mov rcx, rdi
lea rdx, [rsp + 0x1df]
mov bl, byte [rcx - 1]
cmp bl, byte [rdx]
jne 0x180040a76
dec rcx
dec rdx
cmp rcx, qword [rsp + 0xa8]
ja 0x180040a5f
mov rdx, qword [rsp + 0x110]
sub edx, ecx
add edx, eax
mov eax, edx
mov r15d, r8d
sub r15d, eax
mov eax, dword [rsp + 0x150]
cmp r15d, eax
cmovbe r15d, eax
mov edx, r8d
sub edx, r15d
add rdx, r12
cmp r12, r14
ja 0x180040adf
cmp rdx, r14
jb 0x180040adf
sub r8d, r14d
add r8d, r12d
mov eax, r8d
not eax
mov rcx, qword [rsp + 0x58]
add eax, ecx
cmp eax, 3
cmovb r8d, ecx
xor r12d, r12d
mov ecx, 2
mov dword [rsp + 0xa0], 2
mov r15d, r8d
jmp 0x180040893
mov ebp, r15d
not ebp
add ebp, dword [rsp + 0x58]
xor r12d, r12d
mov ecx, 2
cmp ebp, 3
jae 0x180040be1
mov dword [rsp + 0xa0], 2
mov r15, qword [rsp + 0x58]
jmp 0x180040893
mov r11d, 0x40
jmp 0x1800407f2
mov sil, dl
mov rax, qword [rsp + 0xc0]
lea r11, [rax + rsi*8]
lea rcx, [rcx + rsi*8]
cmp r11, qword [rsp + 0x48]
jae 0x180041b40
mov rax, qword [rsp + 0x148]
lea edx, [rax + r11]
mov rsi, qword [r11]
xor rsi, qword [rcx]
jne 0x180040bc2
add r11, 8
add rcx, 8
add edx, 8
cmp r11, qword [rsp + 0x48]
jb 0x180040b43
jmp 0x180041b40
mov edx, 0x40
jmp 0x180040751
mov bpl, cl
lea rdx, [r8 + rbp*8]
mov rax, qword [rsp + 0xb8]
lea rcx, [rax + rbp*8]
cmp rdx, qword [rsp + 0x48]
jae 0x180041b9c
add r9, qword [rsp + 0x1b0]
mov rbp, qword [rsp + 0x30]
cmp rbp, r9
cmovb r9, rbp
mov ebp, edx
sub ebp, r9d
mov rsi, qword [rdx]
xor rsi, qword [rcx]
jne 0x180040bd2
add rdx, 8
add rcx, 8
add ebp, 8
cmp rdx, qword [rsp + 0x48]
jb 0x180040ba3
jmp 0x180041b9c
bsf r11, rsi
shr r11, 3
add r11d, edx
jmp 0x180040804
bsf rdx, rsi
shr rdx, 3
add edx, ebp
jmp 0x180040762
cmp rdx, r14
cmovae rdx, r14
movsxd rax, dword [rsp + 0x50]
cmp rdx, rax
jbe 0x180040c22
mov eax, r15d
mov rbp, qword [rsp + 0x158]
sub rbp, rax
cmp rbp, 0xffff
ja 0x180040d55
add rax, qword [rsp + 0xc8]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x50], rdx
movzx eax, r15w
mov rdx, qword [rsp + 0x60]
movzx edx, word [rdx + rax*2 + 0x20000]
xor r12d, r12d
cmp r15d, edx
cmovb edx, r12d
jb 0x180040d55
sub r15d, edx
mov dword [rsp + 0xa0], 2
jmp 0x180040893
lea ecx, [r12*8]
mov rbx, qword [rsp + 0x40]
mov edx, ebx
rol edx, cl
test al, 3
cmove edx, ebx
movabs rax, 0x100000001
imul rdx, rax
mov rcx, qword [rsp + 0xb8]
mov rax, rcx
cmp rcx, qword [rsp + 0x48]
jae 0x180041663
mov rcx, qword [rax]
xor rcx, rdx
jne 0x180040ca8
add rax, 8
cmp rax, qword [rsp + 0x48]
jb 0x180040c90
jmp 0x180041663
bsf rcx, rcx
shr rcx, 3
add rax, rcx
sub eax, dword [rsp + 0xb8]
add r12, rax
jmp 0x1800408d1
cmp byte [rax], sil
jne 0x1800408af
inc rax
shr rsi, 8
dec rdi
jne 0x180040cc2
jmp 0x180041c33
cmp dword [rsp + 0x50], 3
jg 0x180040d62
jmp 0x180040cf3
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0xd0], eax
mov rax, qword [rsp + 0x88]
inc eax
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x148]
dec eax
mov qword [rsp + 0x148], rax
inc qword [rsp + 0x1b0]
add qword [rsp + 0x168], 0x10
inc qword [rsp + 0xb0]
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0x108]
cmp dword [rsp + 0x70], eax
jg 0x18003f8f0
jmp 0x180041101
mov eax, dword [rsp + 0x190]
cmp dword [rsp + 0x50], eax
jle 0x180040cf3
mov rdx, qword [rsp + 0x50]
mov eax, edx
add eax, 0xffffffed
shl rdx, 0x20
cmp eax, 0x12
mov rcx, rdx
movabs rax, 0x1200000000
cmovb rcx, rax
cmp byte [rsp + 0xf0], 0
cmove rcx, rdx
mov r12, rcx
shr r12, 0x20
je 0x180040cf3
mov rax, qword [rsp + 0x120]
sub qword [rsp + 0x38], rax
sar rcx, 0x20
cmp rcx, qword [rsp + 0x1b8]
ja 0x1800416a0
mov rax, qword [rsp + 0x78]
lea ecx, [r12 + rax]
cmp ecx, 0xfff
jg 0x1800416a0
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x160]
movsxd r15, dword [rcx + rax + 0xc]
lea edx, [r15 - 0xf]
mov ecx, 0x80808081
imul rdx, rcx
shr rdx, 0x27
lea ebx, [r15 + 1]
cmp r15, 0xf
lea r8d, [rdx + r15 + 1]
cmovl r8d, r15d
mov rax, qword [rsp + 0xe8]
mov edx, eax
sub edx, r8d
mov ebp, ebx
cmp r15, 0xd
jle 0x180040e34
lea ebp, [r15 - 0xe]
mov ecx, 0x80808081
imul rbp, rcx
shr rbp, 0x27
add ebp, r15d
add ebp, 2
add ebp, edx
cmp ebp, dword [rsp + 0x1a0]
jge 0x180040e68
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x140]
lea rdi, [rcx + rax]
movabs rsi, 0x100000000
mov qword [rcx + rax + 4], rsi
mov dword [rcx + rax + 0xc], ebx
mov dword [rdi], ebp
lea ebx, [r15 + 2]
mov ebp, ebx
cmp r15d, 0xd
jl 0x180040e8b
lea ebp, [r15 - 0xd]
mov ecx, 0x80808081
imul rbp, rcx
shr rbp, 0x27
add ebp, r15d
add ebp, 3
add ebp, edx
mov rax, qword [rsp + 0x78]
lea rdi, [rax + 2]
shl rdi, 4
mov rcx, qword [rsp + 0xd8]
cmp ebp, dword [rcx + rdi]
jge 0x180040ec9
mov rcx, qword [rsp + 0xd8]
lea r9, [rcx + rdi]
movabs rsi, 0x100000000
mov qword [rcx + rdi + 4], rsi
mov dword [rcx + rdi + 0xc], ebx
mov dword [r9], ebp
lea ebx, [r15 + 3]
mov ebp, ebx
cmp r15d, 0xc
jl 0x180040eec
lea ebp, [r15 - 0xc]
mov ecx, 0x80808081
imul rbp, rcx
shr rbp, 0x27
add ebp, r15d
add ebp, 4
add ebp, edx
mov rax, qword [rsp + 0x78]
lea rdx, [rax + 3]
shl rdx, 4
mov rcx, qword [rsp + 0xd8]
cmp ebp, dword [rcx + rdx]
jge 0x180040f29
mov rcx, qword [rsp + 0xd8]
lea rdi, [rcx + rdx]
movabs rsi, 0x100000000
mov qword [rcx + rdx + 4], rsi
mov dword [rcx + rdx + 0xc], ebx
mov dword [rdi], ebp
cmp r12d, 3
jle 0x18004104b
lea r11d, [r12 + 1]
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x160]
mov r14d, dword [rcx + rax + 8]
mov rax, qword [rsp + 0x78]
mov edx, eax
sub edx, r15d
movsxd r9, edx
shl r9, 4
add r9, rcx
lea r10d, [r8 + 3]
add r8d, 4
mov edx, 4
mov rdi, qword [rsp + 0x168]
cmp r14d, 1
jne 0x180040fb9
xor ebp, ebp
cmp qword [rsp + 0x78], r15
jle 0x180040f88
mov ebp, dword [r9]
mov esi, r10d
cmp rdx, 0x13
jb 0x180040fb2
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, r8d
add esi, ebp
mov ebp, r15d
jmp 0x180040fee
mov esi, 3
cmp rdx, 0x13
jb 0x180040fe5
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 + 0xe8]
xor ebp, ebp
mov rcx, qword [rsp + 0x70]
add ecx, 3
mov rbx, qword [rsp + 0xb0]
add rbx, rdx
add rbx, 0xfffffffffffffffc
cmp ecx, ebx
jl 0x180041016
mov ecx, dword [rdi]
add ecx, dword [rsp + 0x198]
cmp esi, ecx
jg 0x18004103b
mov rcx, qword [rsp + 0x70]
cmp ecx, ebx
cmovge ebx, ecx
cmp r12, rdx
cmovne ebx, ecx
mov dword [rdi + 8], edx
mov rax, qword [rsp + 0x38]
mov dword [rdi + 4], eax
mov dword [rdi + 0xc], ebp
mov dword [rdi], esi
mov qword [rsp + 0x70], rbx
inc rdx
add rdi, 0x10
cmp r11, rdx
jne 0x180040f76
movsxd rax, dword [rsp + 0x70]
shl rax, 4
mov rbp, qword [rsp + 0xd8]
movabs rbx, 0x100000000
mov qword [rbp + rax + 0x14], rbx
mov dword [rbp + rax + 0x1c], 1
mov ecx, dword [rbp + rax]
lea edx, [rcx + 1]
mov dword [rbp + rax + 0x10], edx
mov qword [rbp + rax + 0x24], rbx
mov dword [rbp + rax + 0x2c], 2
lea edx, [rcx + 2]
mov dword [rbp + rax + 0x20], edx
mov qword [rbp + rax + 0x34], rbx
mov dword [rbp + rax + 0x3c], 3
add ecx, 3
mov dword [rbp + rax + 0x30], ecx
jmp 0x180040cf3
cmp r12, qword [rsp + 0x30]
jae 0x18003ff41
cmp byte [r12], cl
jne 0x18003ff41
inc r12
shr rcx, 8
jmp 0x1800410ab
cmp r14, qword [rsp + 0x30]
jae 0x1800408e9
cmp byte [r14], cl
jne 0x1800408e9
inc r14
shr rcx, 8
jmp 0x1800410c9
inc rax
shr rdx, 8
cmp rax, qword [rsp + 0x30]
jae 0x18004030b
cmp byte [rax], dl
je 0x1800410e6
jmp 0x18004030b
movsxd rdx, dword [rsp + 0x70]
mov rax, rdx
shl rax, 4
mov rcx, qword [rsp + 0xd8]
mov ebp, dword [rcx + rax + 4]
mov qword [rsp + 0x38], rbp
mov r12d, dword [rcx + rax + 8]
sub edx, r12d
mov qword [rsp + 0x78], rdx
movsxd rax, dword [rsp + 0x78]
mov rdx, rax
shl rdx, 4
mov rsi, qword [rsp + 0xd8]
mov ebx, dword [rsi + rdx + 8]
cmp eax, ebx
mov ebp, ebx
mov edi, 0
cmovl ebp, edi
mov edi, dword [rsi + rdx + 4]
mov ecx, eax
sub ecx, ebp
mov qword [rsp + 0x78], rcx
mov dword [rsi + rdx + 8], r12d
mov rcx, qword [rsp + 0x38]
mov dword [rsi + rdx + 4], ecx
mov r12d, ebx
mov ecx, edi
mov qword [rsp + 0x38], rcx
cmp eax, ebx
jge 0x18004112b
cmp dword [rsp + 0x70], 0
jle 0x18003f680
mov r14d, dword [rsp + 0x70]
xor eax, eax
mov qword [rsp + 0xe0], rax
mov r15, qword [rsp + 0x68]
movsxd rdi, dword [rsp + 0xe0]
mov rsi, rdi
shl rsi, 4
add rsi, qword [rsp + 0x128]
mov rax, r15
mov rdx, qword [rsp + 0x80]
sub rax, rdx
lea rbx, [rax - 0x10e]
mov ecx, r15d
shl cl, 4
shl dl, 4
sub cl, dl
xor r12d, r12d
mov ebp, dword [rsi]
cmp rbp, 1
jne 0x1800411fa
add rsi, 0x10
lea rdx, [rdi + r12]
inc rdx
inc r12
inc rbx
add cl, 0x10
inc rax
cmp rdx, r14
jl 0x1800411d1
jmp 0x18004149d
mov rdi, r15
movabs rdx, 0x8080808080808081
mul rdx
sub rdi, qword [rsp + 0x80]
mov qword [rsp + 0x50], rdi
mov eax, dword [rsi - 4]
mov qword [rsp + 0x58], rax
cmp dword [rsp + 0x260], 0
je 0x180041256
mov rax, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x50]
add rax, rdi
shr rdx, 7
add rdx, rax
lea rax, [r12 + rdx]
add rax, 9
cmp rax, qword [rsp + 0x90]
ja 0x18004193d
mov rax, qword [rsp + 0xe0]
mov eax, eax
add rax, rbp
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x98]
inc rax
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x50]
add rax, r12
cmp rax, 0xf
jb 0x18004133a
mov rax, qword [rsp + 0x50]
lea rdx, [rax + r12]
add rdx, 0xfffffffffffffff1
mov rax, qword [rsp + 0x98]
mov byte [rax], 0xf0
cmp rdx, 0xff
jb 0x180041323
mov rax, qword [rsp + 0x50]
lea rdi, [rax + r12]
add rdi, 0xfffffffffffffef2
mov rax, rdi
movabs rcx, 0x8080808080808081
mul rcx
mov rsi, rdx
shr rsi, 7
lea r8, [rsi + 1]
mov rcx, qword [rsp + 0xa8]
mov dl, 0xff
call fcn.180091cf0
mov rax, qword [rsp + 0x98]
add rax, rsi
add rax, 2
mov qword [rsp + 0xa8], rax
mov rax, rbx
movabs rcx, 0x8080808080808081
mul rcx
shr rdx, 7
mov rax, rdx
shl rax, 8
sub rdx, rax
add rdx, rdi
mov rax, qword [rsp + 0xa8]
mov byte [rax], dl
inc rax
mov qword [rsp + 0xa8], rax
jmp 0x180041344
mov rax, qword [rsp + 0x98]
mov byte [rax], cl
movsxd rdi, ebp
add qword [rsp + 0xe0], r12
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xa8]
lea r8, [rdx + rax]
add r8, 2
lea rcx, [rdx + rax]
lea rsi, [rcx + r12]
mov rax, qword [rsp + 0x80]
mov rbx, qword [rax]
mov qword [rdx], rbx
add rdx, 8
add rax, 8
cmp rdx, rsi
jb 0x180041374
lea rbx, [rdi - 4]
mov rax, rbx
movabs rdx, 0x8080808080808081
mul rdx
mov rax, qword [rsp + 0x58]
mov word [r8 + r12 - 2], ax
cmp dword [rsp + 0x260], 0
je 0x1800413ca
shr rdx, 7
lea rax, [rdx + rsi]
add rax, 8
cmp rax, qword [rsp + 0x90]
ja 0x18004193d
add rcx, r12
add rcx, 2
cmp rbx, 0xf
jb 0x180041460
mov rax, qword [rsp + 0x98]
add byte [rax], 0xf
lea rax, [rdi - 0x13]
cmp rax, 0x1fe
jb 0x180041445
lea rax, [rdi - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbx, rdx
shr rbx, 8
lea r8, [rbx + rbx]
add r8, 2
mov dl, 0xff
call fcn.180091cf0
mov rax, qword [rsp + 0xa8]
lea rax, [rax + rbx*2]
add rax, qword [rsp + 0x50]
lea rcx, [r12 + rax]
add rcx, 4
imul rax, rbx, 0xfffffffffffffe02
add rax, rdi
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x180041459
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
mov byte [rcx], al
inc rcx
jmp 0x18004146a
mov rax, qword [rsp + 0x98]
add byte [rax], bl
mov qword [rsp + 0x98], rcx
add r15, rdi
lea rax, [r15 + r12]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xe0]
cmp eax, dword [rsp + 0x70]
jl 0x180041192
jmp 0x180041c3b
add r15, r12
mov qword [rsp + 0x68], r15
jmp 0x18003f680
mov rax, qword [rsp + 0xd8]
movabs rcx, 0x100000000
mov qword [rax + 0x24], rcx
mov dword [rax + 0x2c], edx
mov dword [rax + 0x20], edx
mov ecx, 0xf
cmp dword [rsp + 0x38], 0xc
je 0x18003f76f
mov rax, qword [rsp + 0x38]
lea ecx, [rax + 3]
mov edx, ecx
jmp 0x18003f789
mov rax, qword [rsp + 0x38]
shl al, 4
mov rcx, qword [rsp + 0x98]
mov byte [rcx], al
mov rax, qword [rsp + 0x38]
lea rcx, [rax + rbp]
mov rax, qword [rsp + 0x80]
mov rdx, rbp
mov rbx, qword [rax]
mov qword [rdx], rbx
add rdx, 8
add rax, 8
cmp rdx, rcx
jb 0x18004150b
mov rax, qword [rsp + 0x70]
lea rbx, [rax - 4]
mov rax, rbx
movabs rdx, 0x8080808080808081
mul rdx
mov word [rcx], r14w
cmp dword [rsp + 0x260], 0
je 0x18004155f
shr rdx, 7
lea rax, [rcx + rdx]
add rax, 8
cmp rax, qword [rsp + 0x90]
ja 0x180041817
add rcx, 2
cmp rbx, 0xf
jb 0x1800415f4
mov rax, qword [rsp + 0x98]
add byte [rax], 0xf
mov rax, qword [rsp + 0x70]
add rax, 0xffffffffffffffed
cmp rax, 0x1fe
jb 0x1800415d9
mov rsi, qword [rsp + 0x70]
lea rax, [rsi - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbx, rdx
shr rbx, 8
lea r8, [rbx + rbx]
add r8, 2
mov dl, 0xff
call fcn.180091cf0
mov rax, qword [rsp + 0x38]
lea rax, [rax + rbx*2]
lea rcx, [rax + rbp]
add rcx, 4
imul rax, rbx, 0xfffffffffffffe02
add rax, rsi
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x1800415ed
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
mov byte [rcx], al
inc rcx
jmp 0x1800415fe
mov rax, qword [rsp + 0x98]
add byte [rax], bl
mov rdx, qword [rsp + 0x68]
add rdx, qword [rsp + 0x70]
mov rax, rdx
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x98], rcx
jmp 0x18003f680
inc rax
shr rdx, 8
cmp rax, qword [rsp + 0x30]
jae 0x18003f530
cmp byte [rax], dl
je 0x180041625
jmp 0x18003f530
cmp rax, r15
jae 0x18003ff07
mov rcx, r15
sub rcx, rax
mov rdx, qword [rsp + 0xe0]
jmp 0x18004031a
inc rax
shr rdx, 8
cmp rax, qword [rsp + 0x30]
jae 0x180040cb3
cmp byte [rax], dl
je 0x18004165c
jmp 0x180040cb3
mov rcx, qword [rsp + 0xe0]
jmp 0x1800410ab
cmp rax, r10
jae 0x18003f142
mov rcx, r10
sub rcx, rax
mov rbx, qword [rsp + 0xe0]
jmp 0x18003f53f
mov rax, qword [rsp + 0x78]
lea ecx, [rax + 1]
mov qword [rsp + 0x70], rcx
jmp 0x18004112b
cmp rax, r9
jae 0x1800408af
mov rdi, r9
sub rdi, rax
mov rsi, qword [rsp + 0xe0]
jmp 0x180040cc2
mov rcx, qword [rsp + 0xe0]
cmp r11, qword [rsp + 0x30]
jae 0x18003f17c
cmp byte [r11], cl
jne 0x18003f17c
inc r11
shr rcx, 8
jmp 0x1800416d6
mov rcx, qword [rsp + 0xe0]
jmp 0x1800410c9
lea rdx, [r9 - 3]
cmp r10, rdx
jb 0x1800419fa
lea rdx, [r9 - 1]
cmp r10, rdx
jb 0x180041a12
cmp r10, r9
jb 0x180041a2c
sub r10d, dword [rsp + 0xc0]
jmp 0x18003fd5c
test rbp, rbp
jg 0x1800400b1
jmp 0x1800400d0
lea rbp, [r8 - 3]
cmp rdx, rbp
jb 0x180041af6
lea rbp, [r8 - 1]
cmp rdx, rbp
jb 0x180041b0d
cmp rdx, r8
jb 0x180041b26
sub edx, dword [rsp + 0x70]
jmp 0x18003efa9
test rcx, rcx
jg 0x18003f2e2
jmp 0x18003f301
lea rsi, [r8 - 3]
cmp rdx, rsi
jb 0x180041bf1
lea rsi, [r8 - 1]
cmp rdx, rsi
jb 0x180041c08
cmp rdx, r8
jb 0x180041c21
sub edx, dword [rsp + 0xc0]
jmp 0x180040704
test rbp, rbp
jg 0x180040a57
jmp 0x180040a76
mov eax, edi
shl al, 4
mov rcx, qword [rsp + 0x98]
mov byte [rcx], al
mov rbx, qword [rsp + 0x98]
inc rbx
mov rcx, rbx
mov rdx, qword [rsp + 0x80]
mov r8, rdi
call fcn.180091e30
add ebx, edi
sub esi, dword [rsp + 0x180]
mov rax, qword [rsp + 0x1c0]
mov dword [rax], esi
sub ebx, dword [rsp + 0x1a8]
mov r14d, ebx
mov rcx, qword [rsp + 0xd8]
call qword [0x1800a3070]
mov r15, qword [rsp + 0x60]
jmp 0x180041d8d
movsxd rax, r14d
mov qword [rsp + 0x58], rax
mov rbp, qword [rsp + 0x70]
xor r14d, r14d
cmp dword [rsp + 0x260], 2
jne 0x1800417ff
mov rdi, qword [rsp + 0x68]
sub rdi, qword [rsp + 0x80]
lea rax, [rdi + 0xf0]
movabs rcx, 0x8080808080808081
mul rcx
shr rdx, 7
add rdx, rdi
mov rax, qword [rsp + 0x90]
lea rcx, [rax - 3]
mov rax, qword [rsp + 0x98]
add rax, rdx
inc rax
cmp rax, rcx
ja 0x18003e9be
sub rcx, rax
mov rdx, rcx
shl rdx, 8
sub rdx, rcx
add rdx, 0x12
movsxd rcx, ebp
cmp rdx, rcx
cmovb ecx, edx
add rax, 2
not rax
add rax, qword [rsp + 0x90]
movsxd rsi, ecx
add rax, rsi
add rax, 5
cmp rax, 0xc
jl 0x18003e9be
mov rax, qword [rsp + 0x98]
lea rbx, [rax + 1]
cmp rdi, 0xf
jb 0x180041c53
lea rax, [rdi - 0xf]
mov rcx, qword [rsp + 0x98]
mov byte [rcx], 0xf0
cmp rax, 0xff
jb 0x180041933
lea rax, [rdi - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbp, rdx
shr rbp, 7
lea r8, [rbp + 1]
mov rcx, rbx
mov dl, 0xff
call fcn.180091cf0
mov rax, rbp
shl rax, 8
mov rcx, qword [rsp + 0x98]
lea rbx, [rcx + rbp]
add rbx, 2
sub rbp, rax
lea rax, [rdi + rbp]
add rax, 0xfffffffffffffef2
mov byte [rbx], al
inc rbx
jmp 0x180041c62
add r15, r12
mov qword [rsp + 0x68], r15
jmp 0x180041824
mov rdx, qword [rsp + 0x30]
add rdx, 0xfffffffffffffffd
cmp r11, rdx
jae 0x180041967
mov edx, dword [rcx]
cmp edx, dword [r11]
jne 0x180041967
add r11, 4
add rcx, 4
mov rdx, qword [rsp + 0x30]
dec rdx
cmp r11, rdx
jae 0x180041985
movzx edx, word [rcx]
cmp dx, word [r11]
jne 0x180041985
add r11, 2
add rcx, 2
cmp r11, qword [rsp + 0x30]
jae 0x180041999
mov cl, byte [rcx]
xor edx, edx
cmp cl, byte [r11]
sete dl
add r11, rdx
sub r11d, dword [rsp + 0xc0]
jmp 0x18003fe5b
mov rdx, qword [rsp + 0x30]
add rdx, 0xfffffffffffffffd
cmp rbx, rdx
jae 0x1800419c2
mov edx, dword [rcx]
cmp edx, dword [rbx]
jne 0x1800419c2
add rbx, 4
add rcx, 4
mov rdx, qword [rsp + 0x30]
dec rdx
cmp rbx, rdx
jae 0x1800419df
movzx edx, word [rcx]
cmp dx, word [rbx]
jne 0x1800419df
add rbx, 2
add rcx, 2
cmp rbx, qword [rsp + 0x30]
jae 0x1800419f2
mov cl, byte [rcx]
xor edx, edx
cmp cl, byte [rbx]
sete dl
add rbx, rdx
sub ebx, r9d
jmp 0x18003fdba
mov edx, dword [rcx]
cmp edx, dword [r10]
jne 0x18004170d
add r10, 4
add rcx, 4
jmp 0x18004170d
movzx edx, word [rcx]
cmp dx, word [r10]
jne 0x18004171a
add r10, 2
add rcx, 2
jmp 0x18004171a
mov cl, byte [rcx]
xor edx, edx
cmp cl, byte [r10]
sete dl
add r10, rdx
jmp 0x180041723
mov rax, r15
jmp 0x18003ff07
mov rbp, qword [rsp + 0x30]
add rbp, 0xfffffffffffffffd
cmp r10, rbp
jae 0x180041a63
mov ebp, dword [rcx]
cmp ebp, dword [r10]
jne 0x180041a63
add r10, 4
add rcx, 4
mov rbp, qword [rsp + 0x30]
dec rbp
cmp r10, rbp
jae 0x180041a81
movzx ebp, word [rcx]
cmp bp, word [r10]
jne 0x180041a81
add r10, 2
add rcx, 2
cmp r10, qword [rsp + 0x30]
jae 0x180041a96
mov cl, byte [rcx]
xor ebp, ebp
cmp cl, byte [r10]
sete bpl
add r10, rbp
sub r10d, dword [rsp + 0x70]
jmp 0x18003f0a0
mov rsi, qword [rsp + 0x30]
lea rdi, [rsi - 3]
cmp rdx, rdi
jae 0x180041abc
mov edi, dword [rcx]
cmp edi, dword [rdx]
jne 0x180041abc
add rdx, 4
add rcx, 4
mov rsi, qword [rsp + 0x30]
lea rdi, [rsi - 1]
cmp rdx, rdi
jae 0x180041ada
movzx edi, word [rcx]
cmp di, word [rdx]
jne 0x180041ada
add rdx, 2
add rcx, 2
cmp rdx, qword [rsp + 0x30]
jae 0x180041aee
mov cl, byte [rcx]
xor edi, edi
cmp cl, byte [rdx]
sete dil
add rdx, rdi
sub edx, r8d
jmp 0x18003f007
mov ebp, dword [rcx]
cmp ebp, dword [rdx]
jne 0x18004174b
add rdx, 4
add rcx, 4
jmp 0x18004174b
movzx ebp, word [rcx]
cmp bp, word [rdx]
jne 0x180041758
add rdx, 2
add rcx, 2
jmp 0x180041758
mov cl, byte [rcx]
xor ebp, ebp
cmp cl, byte [rdx]
sete bpl
add rdx, rbp
jmp 0x180041761
mov rax, r10
jmp 0x18003f142
mov rdx, qword [rsp + 0x30]
add rdx, 0xfffffffffffffffd
cmp r11, rdx
jae 0x180041b5d
mov edx, dword [rcx]
cmp edx, dword [r11]
jne 0x180041b5d
add r11, 4
add rcx, 4
mov rdx, qword [rsp + 0x30]
dec rdx
cmp r11, rdx
jae 0x180041b7b
movzx edx, word [rcx]
cmp dx, word [r11]
jne 0x180041b7b
add r11, 2
add rcx, 2
cmp r11, qword [rsp + 0x30]
jae 0x180041b8f
mov cl, byte [rcx]
xor edx, edx
cmp cl, byte [r11]
sete dl
add r11, rdx
sub r11d, dword [rsp + 0xc0]
jmp 0x180040804
mov rbp, qword [rsp + 0x30]
add rbp, 0xfffffffffffffffd
cmp rdx, rbp
jae 0x180041bb8
mov ebp, dword [rcx]
cmp ebp, dword [rdx]
jne 0x180041bb8
add rdx, 4
add rcx, 4
mov rbp, qword [rsp + 0x30]
dec rbp
cmp rdx, rbp
jae 0x180041bd5
movzx ebp, word [rcx]
cmp bp, word [rdx]
jne 0x180041bd5
add rdx, 2
add rcx, 2
cmp rdx, qword [rsp + 0x30]
jae 0x180041be9
mov cl, byte [rcx]
xor ebp, ebp
cmp cl, byte [rdx]
sete bpl
add rdx, rbp
sub edx, r8d
jmp 0x180040762
mov esi, dword [rcx]
cmp esi, dword [rdx]
jne 0x180041785
add rdx, 4
add rcx, 4
jmp 0x180041785
movzx esi, word [rcx]
cmp si, word [rdx]
jne 0x180041792
add rdx, 2
add rcx, 2
jmp 0x180041792
mov cl, byte [rcx]
xor esi, esi
cmp cl, byte [rdx]
sete sil
add rdx, rsi
jmp 0x18004179b
mov rax, r9
jmp 0x1800408af
add r15, r12
mov rax, r15
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x80], r15
jmp 0x18003f680
mov eax, edi
shl al, 4
mov rcx, qword [rsp + 0x98]
mov byte [rcx], al
lea rcx, [rbx + rdi]
mov rax, rbx
mov rbp, qword [rsp + 0x80]
mov rdx, qword [rbp]
mov qword [rax], rdx
add rax, 8
add rbp, 8
mov qword [rsp + 0x80], rbp
cmp rax, rcx
jb 0x180041c69
mov rax, qword [rsp + 0x58]
mov word [rcx], ax
add rcx, 2
lea rax, [rsi - 4]
cmp rax, 0xf
jb 0x180041d1e
mov rax, qword [rsp + 0x98]
add byte [rax], 0xf
lea rax, [rsi - 0x13]
cmp rax, 0x1fe
jb 0x180041d03
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
call fcn.180091cf0
lea rax, [rdi + rbp*2]
lea rcx, [rbx + rax]
add rcx, 4
imul rax, rbp, 0xfffffffffffffe02
add rax, rsi
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x180041d17
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
mov byte [rcx], al
inc rcx
jmp 0x180041d28
mov rdx, qword [rsp + 0x98]
add byte [rdx], al
mov rax, qword [rsp + 0x68]
add rax, rsi
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x98], rcx
jmp 0x18003e9be
mov r10, qword [rsp + 0xc0]
jmp 0x18003ff7b
mov rdx, qword [rsp + 0x70]
jmp 0x18003f1af
mov rdx, qword [rsp + 0xc0]
jmp 0x180040922
mov r11, qword [rsp + 0xc0]
jmp 0x180040186
mov r10, qword [rsp + 0x70]
jmp 0x18003f3b4
mov r11, qword [rsp + 0xc0]
jmp 0x180040b2c
test r14d, r14d
jle 0x180045754
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.18004b970
mov eax, r14d
add rsp, 0x1e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add byte [r13], cl
mov r13, rsi
mov rax, rdx
cmp rdx, qword [rsp + 0x150]
ja 0x18004358b
mov qword [rsp + 0x38], r10
mov r10, qword [r15 + 0x40008]
mov rcx, qword [r15 + 0x40010]
mov ebx, dword [r15 + 0x40018]
mov esi, dword [r15 + 0x4001c]
lea edx, [rsi + 0x10000]
mov dword [rsp + 0x88], edx
mov rdx, rbx
sub rdx, rsi
mov rbp, r10
sub rbp, rbx
mov qword [rsp + 0xe0], rbp
mov ebp, dword [r15 + 0x40020]
mov dword [rsp + 0x50], ebp
lea r11d, [rbx + rax]
sub r11d, r10d
mov edi, 0xfffffffc
sub edi, eax
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0x118], rdx
add rcx, rdx
mov qword [rsp + 0x108], rcx
mov rcx, rax
mov qword [rsp + 0xd0], r9
mov qword [rsp + 0xd8], rax
mov r9, rax
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xf0], rcx
mov ecx, dword [rsp + 0x50]
mov rax, r9
sub rax, r10
lea edi, [rbx + rax]
cmp dword [rsp + 0x88], edi
mov qword [rsp + 0x58], rax
lea r12d, [rbx + rax - 0xffff]
cmova r12d, esi
mov r11d, r11d
mov eax, dword [r9]
mov qword [rsp + 0xa8], rax
cmp ecx, edi
jae 0x180041f01
mov ecx, ecx
mov rax, qword [rsp + 0xe0]
imul edx, dword [rax + rcx], 0x9e3779b1
shr edx, 0x11
mov ebp, ecx
sub ebp, dword [r15 + rdx*4]
cmp ebp, 0xffff
jb 0x180041ee9
mov ebp, 0xffff
movzx eax, cx
mov word [r15 + rax*2 + 0x20000], bp
mov dword [r15 + rdx*4], ecx
inc rcx
cmp r11, rcx
jne 0x180041ec4
mov dword [r15 + 0x40020], edi
imul eax, dword [r9], 0x9e3779b1
shr eax, 0x11
mov ecx, dword [r15 + rax*4]
cmp ecx, r12d
mov dword [rsp + 0x50], edi
jb 0x18004209a
test r8d, r8d
jle 0x18004209a
add qword [rsp + 0x58], rbx
mov rax, r9
mov qword [rsp + 0x48], r9
lea rax, [r9 + 4]
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0xa8]
movabs rax, 0x100000001
imul rdx, rax
mov qword [rsp + 0xa0], rdx
xor eax, eax
mov qword [rsp + 0xf8], rax
mov edi, 3
mov r9d, r8d
xor eax, eax
mov qword [rsp + 0xb8], rax
mov ebp, ebx
sub ebp, ecx
ja 0x180043802
mov r14d, ecx
add r14, qword [rsp + 0xe0]
movsxd rax, edi
mov rdx, qword [rsp + 0x48]
movzx edx, word [rdx + rax - 1]
cmp dx, word [rax + r14 - 1]
je 0x180041ff0
mov r14d, edi
movzx eax, cx
movzx edx, word [r15 + rax*2 + 0x20000]
cmp edx, 1
sete dil
cmp r8d, 0x80
jg 0x180041fc7
xor edi, edi
test dil, dil
jne 0x18004393a
mov edi, r14d
sub ecx, edx
cmp ecx, r12d
jb 0x180042090
lea eax, [r9 - 1]
cmp r9d, 1
mov r9d, eax
jg 0x180041f7c
jmp 0x180042090
mov rax, qword [rsp + 0xa8]
cmp dword [r14], eax
jne 0x180041fa6
lea r8, [r14 + 4]
mov rsi, qword [rsp + 0x70]
cmp qword [rsp + 0x40], rsi
jbe 0x1800434a4
mov r15, qword [rsi]
xor r15, qword [r8]
je 0x180042078
mov r10d, edi
bsf rdx, r15
xor edi, edi
test r15, r15
sete al
je 0x180042f8f
shr edx, 3
mov r15, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x78]
add edx, 4
cmp edx, r10d
mov rax, qword [rsp + 0xd0]
cmovg rax, r14
mov qword [rsp + 0xd0], rax
cmovg r10d, edx
mov r14d, r10d
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0xb0]
jmp 0x180041fa9
mov r10d, edi
mov edx, 0x40
jmp 0x180042020
cmp edi, 4
mov r9, qword [rsp + 0x48]
jge 0x1800420d0
inc r9
inc r11d
mov rax, qword [rsp + 0xc8]
dec eax
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0xf0]
inc rcx
cmp r9, qword [rsp + 0x150]
jbe 0x180041e83
jmp 0x180043580
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x110], r9
mov eax, edi
mov qword [rsp + 0x118], rax
mov rdx, qword [rsp + 0x38]
mov r12, r9
mov r9, rdx
mov qword [rsp + 0x78], r13
mov r10, qword [rsp + 0xe8]
mov r11d, edi
mov qword [rsp + 0x68], rcx
movsxd rax, edi
mov qword [rsp + 0xf8], rax
add rax, r12
cmp rax, qword [rsp + 0x150]
mov qword [rsp + 0xc0], rax
ja 0x1800434af
lea rdx, [rax - 2]
mov rbp, qword [r15 + 0x40008]
mov esi, dword [r15 + 0x40018]
mov rcx, rdx
mov qword [rsp + 0x30], rdx
mov rcx, rbp
mov qword [rsp + 0x58], rbp
sub rdx, rbp
lea r8d, [rsi + rdx]
mov edi, dword [r15 + 0x4001c]
lea ecx, [rdi + 0x10000]
cmp ecx, r8d
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0xb0], rdx
lea ecx, [rsi + rdx - 0xffff]
mov qword [rsp + 0xe8], rdi
cmova ecx, edi
mov dword [rsp + 0xe0], ecx
mov eax, dword [rax - 2]
mov qword [rsp + 0xc8], rax
mov ebp, dword [r15 + 0x40020]
cmp ebp, r8d
jae 0x180042204
mov edx, r8d
sub edx, ebp
mov rcx, rbp
test dl, 1
je 0x1800421f5
mov rcx, qword [rsp + 0x58]
sub rcx, qword [rsp + 0x48]
imul ecx, dword [rcx + rbp], 0x9e3779b1
shr ecx, 0x11
mov edx, ebp
sub edx, dword [r15 + rcx*4]
cmp edx, 0xffff
mov eax, 0xffff
cmovae edx, eax
movzx ebx, bp
mov word [r15 + rbx*2 + 0x20000], dx
mov dword [r15 + rcx*4], ebp
lea rcx, [rbp + 1]
mov edx, r8d
not rbp
add rbp, rdx
jne 0x1800425c0
mov rsi, qword [r15 + 0x40010]
mov dword [r15 + 0x40020], r8d
mov rcx, qword [rsp + 0x30]
imul eax, dword [rcx], 0x9e3779b1
shr eax, 0x11
mov r8d, dword [r15 + rax*4]
cmp r8d, dword [rsp + 0xe0]
jb 0x180042d6e
mov rax, qword [rsp + 0x48]
mov rdi, rax
mov rdx, qword [rsp + 0xe8]
sub rdi, rdx
neg rdx
mov qword [rsp + 0x1a0], rdx
mov qword [rsp + 0x148], rdi
lea rdx, [rsi + rdi]
mov qword [rsp + 0x198], rdx
mov rdx, rcx
sub rdx, r12
add qword [rsp + 0xb0], rax
mov qword [rsp + 0x38], rdx
movsxd rdx, edx
neg rdx
mov qword [rsp + 0x50], rdx
mov rdx, r12
sub rdx, rcx
mov qword [rsp + 0x70], rdx
add rcx, 4
mov qword [rsp + 0xf0], rcx
mov rcx, qword [rsp + 0x58]
sub rcx, rax
mov rdx, qword [rsp + 0xc8]
movabs rax, 0x100000001
imul rdx, rax
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0xa8], rcx
lea rax, [rcx - 1]
mov qword [rsp + 0xa0], rax
mov rcx, qword [rsp + 0xf8]
lea rdx, [r12 + rcx]
add rdx, 0xfffffffffffffffd
mov edi, 0xfffffffe
sub edi, r11d
sub edi, r12d
mov qword [rsp + 0x108], rdi
lea rax, [r12 + rcx]
add rax, 0xfffffffffffffffe
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x120], rsi
lea rax, [rsi - 1]
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0xd0], r10
mov r10, rdx
xor eax, eax
mov qword [rsp + 0x138], rax
mov qword [rsp + 0xb8], r11
mov edi, r11d
mov eax, dword [rsp + 0x2c]
mov r11d, eax
xor eax, eax
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x88], r12
nop word cs:[rax + rax]
mov r14, r9
mov r15, qword [rsp + 0x48]
sub r15d, r8d
ja 0x180043a65
mov ebx, r8d
mov rax, qword [rsp + 0xa8]
lea rbp, [rax + rbx]
mov ecx, edi
movsxd rax, edi
movzx edi, word [r12 + rax - 1]
mov rdx, qword [rsp + 0x50]
lea rsi, [rdx + rbp]
cmp di, word [rax + rsi - 1]
jne 0x1800424c0
mov rax, qword [rsp + 0xc8]
cmp dword [rbp], eax
jne 0x1800424c0
cmp dword [rsp + 0x38], 0
je 0x180043cd4
mov rax, qword [rsp + 0x58]
sub rax, rbp
mov rdx, qword [rsp + 0x70]
cmp rdx, rax
cmovg rax, rdx
cdqe
mov r9d, eax
sar r9d, 0x1f
and r9d, eax
add rbx, qword [rsp + 0xa0]
xor edi, edi
cmp rdi, rax
jle 0x180043159
lea rsi, [rdi - 1]
movzx edx, byte [r10 + rdi]
cmp dl, byte [rbx + rdi]
mov rdi, rsi
je 0x1800423e5
mov r12, r10
inc esi
mov r9d, esi
lea r10, [rbp + 4]
mov rdx, qword [rsp + 0xf0]
cmp qword [rsp + 0x40], rdx
mov edi, ecx
jbe 0x18004337f
mov rax, qword [rdx]
xor rax, qword [r10]
je 0x1800424d0
bsf r13, rax
xor esi, esi
test rax, rax
sete al
je 0x1800424f6
shr r13d, 3
mov r10, r12
mov r12, qword [rsp + 0x88]
sub r13d, r9d
add r13d, 4
cmp r13d, edi
jg 0x1800424db
movzx eax, r8w
mov rdx, qword [rsp + 0x60]
movzx ebp, word [rdx + rax*2 + 0x20000]
cmp ebp, 1
sete al
cmp dword [rsp + 0x2c], 0x80
jg 0x180042480
xor eax, eax
test al, al
jne 0x180043bc4
mov r9, r14
sub r8d, ebp
cmp r8d, dword [rsp + 0xe0]
mov r15, qword [rsp + 0x60]
jb 0x180042550
lea eax, [r11 - 1]
cmp r11d, 1
mov r11d, eax
jg 0x180042360
jmp 0x180042550
mov edi, ecx
jmp 0x18004245d
mov r13d, 0x40
jmp 0x180042430
movsxd r14, r9d
add rbp, r14
add r14, qword [rsp + 0x30]
mov qword [rsp + 0xd0], rbp
mov edi, r13d
jmp 0x18004245d
mov sil, al
lea r13, [rdx + rsi*8]
lea r10, [r10 + rsi*8]
cmp r13, qword [rsp + 0x40]
jae 0x18004331f
mov rax, qword [rsp + 0x108]
lea ebx, [rax + r13]
mov rax, qword [r13]
xor rax, qword [r10]
jne 0x180042538
add r13, 8
add r10, 8
add ebx, 8
cmp r13, qword [rsp + 0x40]
jb 0x180042518
jmp 0x18004331f
bsf r13, rax
shr r13, 3
add r13d, ebx
jmp 0x180042442
mov r11, qword [rsp + 0xb8]
cmp edi, r11d
je 0x180042c30
movsxd rax, dword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
cmp rdx, r12
setb cl
add rax, r12
cmp r9, rax
setb al
and al, cl
mov r14, r12
cmovne r14, rdx
mov rcx, r9
sub rcx, r14
mov r12, r9
mov rdx, qword [rsp + 0xd0]
mov r10, rdx
cmp rcx, 3
mov rcx, rdx
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x78]
jl 0x18004210a
jmp 0x180042d7b
mov rbp, qword [rsp + 0x48]
neg rbp
mov rax, qword [rsp + 0x58]
add rbp, rax
inc rbp
jmp 0x1800425fd
movzx eax, bx
mov word [r15 + rax*2 + 0x20000], di
mov dword [r15 + rsi*4], ebx
add rcx, 2
cmp rcx, rdx
je 0x180042204
imul ebx, dword [rbp + rcx - 1], 0x9e3779b1
shr ebx, 0x11
mov edi, ecx
sub edi, dword [r15 + rbx*4]
cmp edi, 0xffff
jb 0x18004261b
mov edi, 0xffff
movzx esi, cx
mov word [r15 + rsi*2 + 0x20000], di
mov dword [r15 + rbx*4], ecx
lea rbx, [rcx + 1]
imul esi, dword [rbp + rcx], 0x9e3779b1
shr esi, 0x11
mov eax, dword [r15 + rsi*4]
mov edi, ecx
sub edi, eax
inc edi
cmp edi, 0xffff
jb 0x1800425e0
mov edi, 0xffff
jmp 0x1800425e0
mov qword [rsp + 0x78], r13
cmp r11d, 0x12
mov eax, 0x12
cmovl eax, r11d
mov dword [rsp + 0x108], eax
movsxd r13, eax
add r13, r14
movsxd rax, r11d
mov qword [rsp + 0x1a0], rax
add rax, r14
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xb0], r10
mov rax, r9
sub rax, r14
cmp rax, 0x11
jg 0x180043312
mov rbp, rcx
movsxd rcx, edi
lea rdx, [r9 + rcx]
add rdx, 0xfffffffffffffffc
cmp r13, rdx
lea ecx, [rax + rcx - 4]
cmovbe ecx, dword [rsp + 0x108]
mov eax, r14d
sub eax, r9d
add eax, ecx
test eax, eax
jle 0x1800426d3
mov ecx, eax
add r9, rcx
add rbp, rcx
sub edi, eax
mov qword [rsp + 0xe8], rbp
mov eax, edi
mov qword [rsp + 0x118], rax
cdqe
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r9
add rax, r9
cmp rax, qword [rsp + 0x150]
mov r9, qword [rsp + 0x68]
mov qword [rsp + 0xc0], rax
ja 0x1800434de
lea r10, [rax - 3]
mov rdx, qword [r15 + 0x40008]
mov esi, dword [r15 + 0x40018]
mov rdi, r10
mov rcx, rdx
mov qword [rsp + 0xf0], rdx
sub rdi, rdx
lea r8d, [rsi + rdi]
mov edx, dword [r15 + 0x4001c]
lea ecx, [rdx + 0x10000]
cmp ecx, r8d
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x110], rdi
lea ecx, [rsi + rdi - 0xffff]
mov qword [rsp + 0x120], rdx
cmova ecx, edx
mov dword [rsp + 0xa8], ecx
mov eax, dword [rax - 3]
mov qword [rsp + 0x88], rax
mov ebp, dword [r15 + 0x40020]
cmp ebp, r8d
jae 0x1800427da
mov edx, r8d
sub edx, ebp
mov rcx, rbp
test dl, 1
je 0x1800427cb
mov rcx, qword [rsp + 0xf0]
sub rcx, qword [rsp + 0x50]
imul ecx, dword [rcx + rbp], 0x9e3779b1
shr ecx, 0x11
mov edx, ebp
sub edx, dword [r15 + rcx*4]
mov eax, 0xffff
cmp edx, eax
cmovae edx, eax
movzx ebx, bp
mov word [r15 + rbx*2 + 0x20000], dx
mov dword [r15 + rcx*4], ebp
lea rcx, [rbp + 1]
mov edx, r8d
not rbp
add rbp, rdx
jne 0x180042b91
mov rsi, qword [r15 + 0x40010]
mov dword [r15 + 0x40020], r8d
imul eax, dword [r10], 0x9e3779b1
shr eax, 0x11
mov rcx, r10
mov r10d, dword [r15 + rax*4]
cmp r10d, dword [rsp + 0xa8]
jb 0x1800432f3
mov rbp, qword [rsp + 0x50]
mov rdx, rbp
mov rax, qword [rsp + 0x120]
sub rdx, rax
neg rax
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x1b0], rdx
lea rax, [rsi + rdx]
mov qword [rsp + 0x138], rax
mov rax, rcx
mov rbx, qword [rsp + 0x38]
sub rax, rbx
add qword [rsp + 0x110], rbp
mov qword [rsp + 0xa0], rax
cdqe
neg rax
mov qword [rsp + 0x58], rax
mov r9, rbx
sub r9, rcx
mov rax, rcx
mov qword [rsp + 0x148], rcx
lea rax, [rcx + 4]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0xf0]
sub rcx, rbp
mov rdx, qword [rsp + 0x88]
movabs rax, 0x100000001
imul rdx, rax
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0xc8], rcx
lea rax, [rcx - 1]
mov qword [rsp + 0xf8], rax
mov rcx, qword [rsp + 0x30]
lea rax, [rbx + rcx - 4]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x118]
lea edx, [rax + rbx]
not edx
mov qword [rsp + 0x198], rdx
lea rcx, [rbx + rcx - 3]
mov qword [rsp + 0x158], rcx
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0xd0], rcx
mov rcx, qword [rsp + 0x140]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x178], rsi
lea rcx, [rsi - 1]
mov qword [rsp + 0x168], rcx
xor ecx, ecx
mov qword [rsp + 0x100], rcx
mov edi, eax
mov eax, dword [rsp + 0x2c]
mov r15d, eax
xor eax, eax
mov qword [rsp + 0x140], rax
mov qword [rsp + 0xb8], r11
nop
mov r11, qword [rsp + 0x50]
sub r11d, r10d
ja 0x180044165
mov ebx, r10d
mov rax, qword [rsp + 0xc8]
lea rdx, [rax + rbx]
mov ecx, edi
movsxd rax, edi
mov rbp, qword [rsp + 0x38]
movzx ebp, word [rbp + rax - 1]
mov rdi, qword [rsp + 0x58]
add rdi, rdx
cmp bp, word [rax + rdi - 1]
jne 0x180042a90
mov rax, qword [rsp + 0x88]
cmp dword [rdx], eax
jne 0x180042a90
cmp dword [rsp + 0xa0], 0
je 0x18004467e
mov rax, qword [rsp + 0xf0]
sub rax, rdx
cmp r9, rax
cmovg rax, r9
movsxd rbp, eax
mov r8d, ebp
sar r8d, 0x1f
and r8d, ebp
add rbx, qword [rsp + 0xf8]
xor edi, edi
cmp rdi, rbp
jle 0x1800429e8
lea rsi, [rdi - 1]
mov rax, qword [rsp + 0xe0]
movzx eax, byte [rax + rdi]
cmp al, byte [rbx + rdi]
mov rdi, rsi
je 0x1800429c6
inc esi
mov r8d, esi
lea rbx, [rdx + 4]
mov r12, qword [rsp + 0x70]
cmp qword [rsp + 0x40], r12
mov edi, ecx
jbe 0x180042ade
mov rbp, qword [r12]
xor rbp, qword [rbx]
je 0x180042aa0
bsf r12, rbp
xor esi, esi
test rbp, rbp
sete al
je 0x180042ace
shr r12d, 3
sub r12d, r8d
add r12d, 4
cmp r12d, edi
jg 0x180042aab
movzx eax, r10w
mov rdx, qword [rsp + 0x60]
movzx edx, word [rdx + rax*2 + 0x20000]
cmp edx, 1
sete bpl
mov r8d, dword [rsp + 0x2c]
cmp r8d, 0x80
jg 0x180042a55
xor ebp, ebp
test bpl, bpl
jne 0x1800442c6
sub r10d, edx
cmp r10d, dword [rsp + 0xa8]
mov r11, qword [rsp + 0xb8]
jb 0x180042b2c
lea eax, [r15 - 1]
cmp r15d, 1
mov r15d, eax
jg 0x180042940
jmp 0x180042b2c
mov edi, ecx
jmp 0x180042a2d
mov r12d, 0x40
jmp 0x180042a0f
movsxd rax, r8d
add rdx, rax
add rax, qword [rsp + 0x148]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0xd0], rdx
mov edi, r12d
jmp 0x180042a2d
mov sil, al
mov rax, qword [rsp + 0x70]
lea r12, [rax + rsi*8]
lea rbx, [rbx + rsi*8]
mov rbp, r13
cmp r12, qword [rsp + 0x40]
jae 0x1800434f5
mov rax, qword [rsp + 0x198]
lea r13d, [rax + r12]
mov rsi, qword [r12]
xor rsi, qword [rbx]
jne 0x180042b19
add r12, 8
add rbx, 8
add r13d, 8
cmp r12, qword [rsp + 0x40]
jb 0x180042af8
jmp 0x1800434f5
bsf r12, rsi
shr r12, 3
add r12d, r13d
mov r13, rbp
jmp 0x180042a21
cmp edi, dword [rsp + 0x118]
mov rsi, qword [rsp + 0x78]
mov r10, qword [rsp + 0xb0]
je 0x180042da6
mov rcx, qword [rsp + 0xd8]
lea rax, [rcx + 3]
mov r9, qword [rsp + 0x48]
cmp r9, rax
mov r15, qword [rsp + 0x60]
jae 0x1800431c3
mov qword [rsp + 0x140], r9
mov rax, qword [rsp + 0xd0]
mov rdx, rax
mov qword [rsp + 0x168], rax
cmp r9, rcx
mov rcx, rax
jae 0x180043032
jmp 0x180042690
mov rbp, qword [rsp + 0x50]
neg rbp
mov rax, qword [rsp + 0xf0]
add rbp, rax
inc rbp
jmp 0x180042bcd
movzx eax, bx
mov word [r15 + rax*2 + 0x20000], di
mov dword [r15 + rsi*4], ebx
add rcx, 2
cmp rcx, rdx
je 0x1800427da
imul ebx, dword [rbp + rcx - 1], 0x9e3779b1
shr ebx, 0x11
mov edi, ecx
sub edi, dword [r15 + rbx*4]
cmp edi, 0xffff
jb 0x180042beb
mov edi, 0xffff
movzx esi, cx
mov word [r15 + rsi*2 + 0x20000], di
mov dword [r15 + rbx*4], ecx
lea rbx, [rcx + 1]
imul esi, dword [rbp + rcx], 0x9e3779b1
shr esi, 0x11
mov eax, dword [r15 + rsi*4]
mov edi, ecx
sub edi, eax
inc edi
cmp edi, 0xffff
jb 0x180042bb0
mov edi, 0xffff
jmp 0x180042bb0
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xe8], rax
mov r10, r9
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x78]
mov rdi, r12
sub rdi, qword [rsp + 0xd8]
mov rax, rdi
movabs rcx, 0x8080808080808081
mul rcx
shr rdx, 7
add rdx, r13
lea rax, [rdi + rdx]
add rax, 9
cmp rax, qword [rsp + 0x130]
seta al
cmp dword [rsp + 0x260], 0
mov r9, qword [rsp + 0x68]
mov rbp, qword [rsp + 0xf8]
je 0x180044979
test al, al
jne 0x180044020
lea r14, [r13 + 1]
cmp rdi, 0xf
jae 0x180043161
mov eax, edi
shl al, 4
mov byte [r13], al
lea rsi, [r14 + rdi]
xor eax, eax
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx + rax]
mov qword [r14 + rax], rcx
lea rcx, [r14 + rax]
add rcx, 8
add rax, 8
cmp rcx, rsi
jb 0x180042cc2
mov ebx, r12d
sub ebx, r9d
lea rcx, [rbp - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
shr rdx, 7
lea rax, [rsi + rdx]
add rax, 8
cmp rax, qword [rsp + 0x130]
seta al
mov word [rsi], bx
cmp dword [rsp + 0x260], 0
je 0x180044980
test al, al
mov rdx, qword [rsp + 0xc0]
jne 0x180044020
add rsi, 2
cmp rcx, 0xf
jb 0x180041dc0
add byte [r13], 0xf
lea rax, [rbp - 0x13]
cmp rax, 0x1fe
jae 0x1800436c9
cmp rax, 0xff
jae 0x1800431b2
mov byte [rsi], al
inc rsi
jmp 0x180041dc4
mov qword [rsp + 0xe8], r10
jmp 0x180042c40
test al, al
mov rax, qword [rsp + 0x68]
cmovne rax, qword [rsp + 0x158]
mov qword [rsp + 0x68], rax
cmovne r11d, dword [rsp + 0x118]
mov r10, qword [rsp + 0xd8]
jmp 0x180042653
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x140], rax
mov rcx, qword [rsp + 0xd8]
mov r9, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x38]
mov eax, edx
sub eax, r14d
cmp rdx, rcx
cmovb r11d, eax
mov rbp, r14
sub rbp, r10
mov rax, rbp
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x260], 0
je 0x180042e1e
shr rdx, 7
add rdx, rsi
lea rax, [rdx + rbp]
add rax, 9
cmp rax, qword [rsp + 0x130]
ja 0x18004469b
lea r15, [rsi + 1]
cmp rbp, 0xf
jae 0x18004345b
mov eax, ebp
shl al, 4
mov byte [rsi], al
lea rdi, [r15 + rbp]
xor eax, eax
mov rcx, qword [r10 + rax]
lea rdx, [r15 + rax]
add rdx, 8
mov qword [rdx - 8], rcx
add rax, 8
cmp rdx, rdi
jb 0x180042e39
mov ebx, r14d
movsxd r12, r11d
lea rcx, [r12 - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub ebx, r9d
mov word [rdi], bx
cmp dword [rsp + 0x260], 0
je 0x180042e97
shr rdx, 7
lea rax, [rdi + rdx]
add rax, 8
cmp rax, qword [rsp + 0x130]
ja 0x18004469b
add rdi, 2
cmp rcx, 0xf
jae 0x180043387
add byte [rsi], cl
mov r10, qword [rsp + 0x30]
add r14, r12
mov rsi, qword [rsp + 0x38]
sub rsi, r14
mov rax, rsi
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x260], 0
je 0x180042eee
shr rdx, 7
add rdx, rdi
lea rax, [rsi + rdx]
add rax, 9
cmp rax, qword [rsp + 0x130]
ja 0x180045256
lea r15, [rdi + 1]
cmp rsi, 0xf
jae 0x180045282
mov eax, esi
shl al, 4
mov byte [rdi], al
add rsi, r15
mov rax, r14
mov rcx, r15
mov rdx, qword [rax]
mov qword [rcx], rdx
add rcx, 8
add rax, 8
cmp rcx, rsi
jb 0x180042f0c
mov rax, qword [rsp + 0x38]
mov ebx, eax
lea rcx, [r10 - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub ebx, dword [rsp + 0xe8]
mov word [rsi], bx
cmp dword [rsp + 0x260], 0
je 0x180042f68
shr rdx, 7
lea rax, [rsi + rdx]
add rax, 8
cmp rax, qword [rsp + 0x130]
ja 0x180045256
add rsi, 2
cmp rcx, 0xf
jae 0x180043181
add byte [rdi], cl
mov r15, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xc0]
mov r10, qword [rsp + 0x38]
jmp 0x180041dc4
mov dil, al
lea rdx, [rsi + rdi*8]
lea r8, [r8 + rdi*8]
mov r15, qword [rsp + 0x60]
cmp rdx, qword [rsp + 0x40]
jae 0x180042fca
mov rax, qword [rsp + 0xc8]
add eax, edx
mov rdi, qword [rdx]
xor rdi, qword [r8]
jne 0x180043023
add rdx, 8
add r8, 8
add eax, 8
cmp rdx, qword [rsp + 0x40]
jb 0x180042fb0
cmp rdx, qword [rsp + 0x98]
jae 0x180042fdf
mov eax, dword [r8]
cmp eax, dword [rdx]
je 0x18004363b
cmp rdx, qword [rsp + 0x190]
jae 0x180042ffa
movzx eax, word [r8]
cmp ax, word [rdx]
jne 0x180042ffa
add rdx, 2
add r8, 2
cmp rdx, qword [rsp + 0x80]
jae 0x180043012
mov al, byte [r8]
xor edi, edi
cmp al, byte [rdx]
sete dil
add rdx, rdi
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x78]
sub edx, esi
jmp 0x180042040
bsf rdx, rdi
shr rdx, 3
add edx, eax
jmp 0x180042036
mov rax, qword [rsp + 0x38]
cmp rax, qword [rsp + 0xd8]
jb 0x1800433b6
mov rbx, r14
sub rbx, r10
mov rax, rbx
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x260], 0
je 0x180043082
shr rdx, 7
add rdx, rsi
lea rax, [rbx + rdx]
add rax, 9
cmp rax, qword [rsp + 0x130]
ja 0x18004469b
lea r12, [rsi + 1]
cmp rbx, 0xf
jae 0x1800434bf
mov eax, ebx
shl al, 4
mov byte [rsi], al
mov r10d, edi
lea r13, [r12 + rbx]
mov rax, qword [rsp + 0xb0]
mov rdx, r12
mov rbp, qword [rax]
mov qword [rdx], rbp
add rdx, 8
add rax, 8
cmp rdx, r13
jb 0x1800430a9
mov edi, r14d
mov rax, qword [rsp + 0x1a0]
lea rbp, [rax - 4]
mov rax, rbp
movabs rdx, 0x8080808080808081
mul rdx
sub edi, dword [rsp + 0x68]
mov word [r13], di
cmp dword [rsp + 0x260], 0
je 0x180043108
shr rdx, 7
lea rax, [rdx + r13]
add rax, 8
cmp rax, qword [rsp + 0x130]
ja 0x18004468e
add r13, 2
cmp rbp, 0xf
mov edi, r10d
jae 0x1800433f8
add byte [rsi], bpl
mov qword [rsp + 0x140], r9
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
mov qword [rsp + 0x168], rcx
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x158], rax
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x110], rdx
jmp 0x1800420f7
mov r12, r10
jmp 0x180042407
lea rax, [rdi - 0xf]
mov byte [r13], 0xf0
cmp rax, 0xff
jae 0x180043648
mov byte [r14], al
inc r14
jmp 0x180042cbc
add byte [rdi], 0xf
lea rax, [r10 - 0x13]
cmp rax, 0x1fe
jae 0x180043759
mov r10, qword [rsp + 0x38]
cmp rax, 0xff
mov r15, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xc0]
jb 0x180042d64
add rax, 0xffffffffffffff01
mov byte [rsi], 0xff
inc rsi
jmp 0x180042d64
cmp qword [rsp + 0x38], rcx
jb 0x180043479
mov eax, r11d
mov dword [rsp + 0x108], r11d
mov rbx, r14
sub rbx, r10
mov rax, rbx
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x260], 0
je 0x180043216
shr rdx, 7
add rdx, rsi
lea rax, [rbx + rdx]
add rax, 9
cmp rax, qword [rsp + 0x130]
ja 0x180044686
lea r13, [rsi + 1]
cmp rbx, 0xf
jae 0x18004373a
mov eax, ebx
shl al, 4
mov byte [rsi], al
mov r8d, edi
lea rcx, [rbx + r13]
mov rax, r10
mov rdx, r13
mov rbp, qword [rax]
mov qword [rdx], rbp
add rdx, 8
add rax, 8
cmp rdx, rcx
jb 0x180043238
mov edi, r14d
movsxd r12, dword [rsp + 0x108]
lea rbp, [r12 - 4]
mov rax, rbp
movabs rdx, 0x8080808080808081
mul rdx
sub edi, dword [rsp + 0x68]
mov word [rcx], di
cmp dword [rsp + 0x260], 0
je 0x180043296
shr rdx, 7
lea rax, [rcx + rdx]
add rax, 8
cmp rax, qword [rsp + 0x130]
ja 0x180044686
add rcx, 2
cmp rbp, 0xf
mov edi, r8d
jae 0x180043549
add byte [rsi], bpl
mov rdx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0xe8]
mov r10, r14
add r10, r12
mov r14, rdx
mov r13, rcx
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x140], r9
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
mov qword [rsp + 0x168], rcx
mov rax, qword [rsp + 0x118]
mov r11d, eax
jmp 0x180042653
mov r8d, dword [rsp + 0x2c]
mov rsi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xd8]
mov r10, qword [rsp + 0xb0]
jmp 0x180042dd0
mov qword [rsp + 0xe8], rcx
jmp 0x1800426db
cmp r13, qword [rsp + 0x98]
jae 0x180043336
mov eax, dword [r10]
cmp eax, dword [r13]
je 0x180043497
cmp r13, qword [rsp + 0x190]
jae 0x180043353
movzx eax, word [r10]
cmp ax, word [r13]
jne 0x180043353
add r13, 2
add r10, 2
cmp r13, qword [rsp + 0x80]
jae 0x180043374
mov al, byte [r10]
xor edx, edx
cmp al, byte [r13]
sete dl
add r13, rdx
mov rdx, qword [rsp + 0xf0]
mov r10, r12
sub r13d, edx
jmp 0x180042445
mov r13, rdx
jmp 0x180042501
add byte [rsi], 0xf
lea rax, [r12 - 0x13]
cmp rax, 0x1fe
mov r10, qword [rsp + 0x30]
jae 0x1800454b8
cmp rax, 0xff
jae 0x1800437c4
mov byte [rdi], al
inc rdi
jmp 0x180042eac
mov rax, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0x38]
sub rax, rbx
mov rdx, qword [rsp + 0x118]
sub edx, eax
mov qword [rsp + 0x118], rdx
cmp edx, 3
jle 0x1800437e6
cdqe
add rbx, rax
mov qword [rsp + 0x38], rbx
add qword [rsp + 0xe8], rax
jmp 0x180043045
add byte [rsi], 0xf
mov rsi, qword [rsp + 0x1a0]
lea rax, [rsi - 0x13]
cmp rax, 0x1fe
mov rdx, qword [rsp + 0x38]
jae 0x18004551d
cmp rax, 0xff
jae 0x18004557d
mov byte [r13], al
inc r13
mov qword [rsp + 0x140], r9
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
mov qword [rsp + 0x168], rcx
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x158], rax
jmp 0x18004314c
lea rax, [rbp - 0xf]
mov byte [rsi], 0xf0
cmp rax, 0xff
jae 0x180045590
mov byte [r15], al
inc r15
jmp 0x180042e33
mov rax, qword [rsp + 0x38]
sub rax, r14
cmp rax, 0x11
jle 0x18004565d
mov dword [rsp + 0x108], eax
jmp 0x1800431d9
add r13, 4
add r10, 4
jmp 0x180043336
mov r10d, edi
mov rdx, rsi
jmp 0x180042f9f
mov qword [rsp + 0xe8], r10
mov r10, r9
jmp 0x180042c4d
lea rax, [rbx - 0xf]
mov byte [rsi], 0xf0
cmp rax, 0xff
jae 0x1800456e6
mov byte [r12], al
inc r12
jmp 0x180043097
mov r8d, dword [rsp + 0x2c]
mov rsi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xd8]
jmp 0x180042dd0
cmp r12, qword [rsp + 0x98]
jae 0x1800437bc
mov eax, dword [rbx]
cmp eax, dword [r12]
mov r13, rbp
je 0x18004372d
mov rcx, qword [rsp + 0x70]
cmp r12, qword [rsp + 0x190]
jae 0x180043533
movzx eax, word [rbx]
cmp ax, word [r12]
jne 0x180043533
add r12, 2
add rbx, 2
cmp r12, qword [rsp + 0x80]
jb 0x1800436b5
sub r12d, ecx
jmp 0x180042a21
add byte [rsi], 0xf
lea rax, [r12 - 0x13]
cmp rax, 0x1fe
jae 0x180045780
cmp rax, 0xff
mov rdx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0xe8]
jae 0x1800437d5
mov byte [rcx], al
inc rcx
jmp 0x1800432b7
mov rdx, qword [rsp + 0xd8]
mov rsi, r13
mov rdi, qword [rsp + 0x1b8]
add rdi, qword [rsp + 0x180]
xor ecx, ecx
mov ebp, dword [rsp + 0x260]
cmp ebp, 2
sete bl
mov r12, rdx
sub rdi, rdx
lea rax, [rdi + 0xf0]
movabs r8, 0x8080808080808081
mul r8
test ebp, ebp
je 0x1800435f0
shr rdx, 7
add rdx, rdi
mov cl, bl
lea rax, [rcx + rcx*4]
mov rcx, qword [rsp + 0x130]
add rcx, rax
lea rax, [rsi + rdx]
inc rax
cmp rax, rcx
ja 0x180045747
mov rbx, rdi
lea rbp, [r12 + rdi]
cmp rdi, 0xf
jae 0x1800455f7
mov rdx, r12
mov eax, ebx
shl al, 4
mov byte [rsi], al
inc rsi
mov rcx, rsi
mov r8, rbx
call fcn.180091e30
add esi, ebx
sub ebp, dword [rsp + 0x180]
mov rax, qword [rsp + 0x1c0]
mov dword [rax], ebp
sub esi, dword [rsp + 0x1a8]
mov r14d, esi
jmp 0x180041d8d
add rdx, 4
add r8, 4
jmp 0x180042fdf
lea rax, [rdi - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov rcx, r14
mov dl, 0xff
mov rsi, r11
mov rbp, r10
call fcn.180091cf0
mov r10, rbp
mov rbp, qword [rsp + 0xf8]
mov r11, rsi
mov r9, qword [rsp + 0x68]
mov r13, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x2c]
mov rax, rbx
shl rax, 8
lea r14, [rbx + r13]
add r14, 2
sub rbx, rax
lea rax, [rdi + rbx]
add rax, 0xfffffffffffffef2
jmp 0x180043176
mov al, byte [rbx]
xor esi, esi
cmp al, byte [r12]
sete sil
add r12, rsi
jmp 0x180043541
lea rax, [rbp - 0x211]
movabs rcx, 0x8080808080808081
mov rbx, rdx
mul rcx
mov r12, rdx
shr r12, 8
lea r8, [r12 + r12]
add r8, 2
mov rcx, rsi
mov dl, 0xff
mov rsi, r10
call fcn.180091cf0
mov r10, rsi
mov rdx, rbx
mov r9, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x2c]
lea rax, [rdi + r12*2]
lea rsi, [r14 + rax]
add rsi, 4
imul rax, r12, 0xfffffffffffffe02
add rax, rbp
add rax, 0xfffffffffffffdef
jmp 0x180042d58
add r12, 4
add rbx, 4
jmp 0x180043512
lea rax, [rbx - 0xf]
mov byte [rsi], 0xf0
cmp rax, 0xff
jae 0x1800457d4
mov byte [r13], al
inc r13
jmp 0x18004322b
lea rax, [r10 - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rdi, rdx
shr rdi, 8
lea r8, [rdi + rdi]
add r8, 2
mov rcx, rsi
mov dl, 0xff
mov rbx, r10
call fcn.180091cf0
mov r9, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x2c]
mov r10, qword [rsp + 0x38]
lea rax, [r10 + rdi*2]
sub rax, r14
lea rsi, [r15 + rax]
add rsi, 4
imul rax, rdi, 0xfffffffffffffe02
add rax, rbx
add rax, 0xfffffffffffffdef
jmp 0x180043199
mov r13, rbp
jmp 0x180043512
add rax, 0xffffffffffffff01
mov byte [rdi], 0xff
inc rdi
jmp 0x1800433ac
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
jmp 0x180043576
mov qword [rsp + 0x38], r9
mov qword [rsp + 0xe8], rcx
mov eax, edi
mov qword [rsp + 0x118], rax
jmp 0x180043045
mov r14d, edi
lea eax, [rbx - 4]
cmp ecx, eax
ja 0x180043cdf
mov esi, ecx
sub esi, dword [rsp + 0x68]
add rsi, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xa8]
cmp dword [rsi], eax
jne 0x180043cdf
mov rax, qword [rsp + 0x48]
lea r10, [rax + rbp]
mov rax, qword [rsp + 0x80]
cmp r10, rax
mov rbx, r10
cmova rbx, rax
add rsi, 4
lea r15, [rbx - 7]
cmp r15, qword [rsp + 0x70]
jbe 0x180045493
mov rax, qword [rsp + 0x70]
mov r8, qword [rax]
xor r8, qword [rsi]
je 0x180043f18
bsf rdx, r8
xor edi, edi
test r8, r8
sete al
je 0x180043f22
shr edx, 3
lea eax, [rdx + 4]
mov dword [rsp + 0x110], eax
cmp r10, qword [rsp + 0x80]
jae 0x1800438ec
movsxd rax, edx
mov rdx, qword [rsp + 0x48]
add rax, rdx
add rax, 4
cmp rax, rbx
jne 0x1800438ec
mov r8, rbx
mov rsi, qword [rsp + 0x30]
cmp qword [rsp + 0x40], rbx
jbe 0x1800445db
mov rdx, qword [rbx]
mov rax, qword [rsp + 0x30]
xor rdx, qword [rax]
je 0x1800445c0
bsf r8, rdx
xor edi, edi
test rdx, rdx
sete al
je 0x1800445cb
shr r8d, 3
add dword [rsp + 0x110], r8d
cmp dword [rsp + 0x110], r14d
mov r15, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x78]
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0xb0]
jle 0x180041fa9
mov eax, ecx
add rax, qword [rsp + 0xe0]
mov qword [rsp + 0xd0], rax
mov r14d, dword [rsp + 0x110]
jmp 0x180041fa9
cmp dword [rsp + 0xf8], 0
je 0x180043d0f
cmp dword [rsp + 0xf8], 2
jne 0x180043dc9
lea r10d, [rcx - 1]
cmp r10d, r12d
jb 0x180043dc9
cmp ebp, 3
jb 0x180043dc9
mov rsi, qword [rsp + 0xc0]
sub rsi, qword [rsp + 0x68]
cmp r10d, dword [rsp + 0xb0]
cmovae rsi, qword [rsp + 0xe0]
mov ebp, r10d
mov eax, 2
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0xa8]
cmp dword [rsi + rbp], eax
jne 0x180043dc9
mov r15, rbp
lea rbx, [rsi + rbp]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
add rax, rcx
cmp r10d, dword [rsp + 0xb0]
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x110], rax
cmovb rdx, rax
lea rcx, [rbx + 4]
mov qword [rsp + 0xf8], rdx
lea rbp, [rdx - 7]
mov rdx, rcx
cmp rcx, rbp
jae 0x180043a22
lea r8, [rsi + r15]
add r8, 4
mov rdx, rcx
mov rdi, qword [rdx]
xor rdi, qword [rsp + 0xa0]
jne 0x180043ed6
add rdx, 8
add r8, 8
cmp rdx, rbp
jb 0x180043a04
cmp rdx, qword [rsp + 0xf8]
jae 0x180043ee1
mov r8, qword [rsp + 0xf8]
sub r8, rdx
mov rbp, qword [rsp + 0xa0]
cmp byte [rdx], bpl
jne 0x180043ee1
inc rdx
shr rbp, 8
dec r8
jne 0x180043a43
mov rdx, qword [rsp + 0xf8]
jmp 0x180043ee1
mov qword [rsp + 0x100], r10
mov dword [rsp + 0x90], edi
mov rax, qword [rsp + 0x48]
add eax, 0xfffffffc
cmp r8d, eax
ja 0x180043cf3
mov edi, r8d
sub edi, dword [rsp + 0xe8]
mov rax, qword [rsp + 0x120]
lea r13, [rax + rdi]
mov rax, qword [rsp + 0xc8]
cmp dword [r13], eax
jne 0x180043cf3
mov rax, qword [rsp + 0x30]
lea r9, [rax + r15]
mov rax, qword [rsp + 0x80]
cmp r9, rax
mov r12, r9
cmova r12, rax
add r13, 4
lea r10, [r12 - 7]
cmp r10, qword [rsp + 0xf0]
jbe 0x1800454ab
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax]
xor rax, qword [r13]
je 0x180044086
bsf rbp, rax
xor esi, esi
test rax, rax
sete al
je 0x180044090
shr ebp, 3
lea r13d, [rbp + 4]
cmp r9, qword [rsp + 0x80]
jae 0x180043b69
movsxd rax, ebp
mov rcx, qword [rsp + 0x30]
add rax, rcx
add rax, 4
cmp rax, r12
jne 0x180043b69
mov r9, r12
mov rbp, qword [rsp + 0x58]
cmp qword [rsp + 0x40], r12
jbe 0x1800449a2
mov rax, qword [r12]
mov rcx, qword [rsp + 0x58]
xor rax, qword [rcx]
je 0x180044987
bsf r9, rax
xor ebp, ebp
test rax, rax
sete al
je 0x180044992
shr r9d, 3
add r13d, r9d
cmp dword [rsp + 0x38], 0
je 0x18004403b
mov rax, qword [rsp + 0x1b0]
lea rbx, [rax + rdi]
neg rdi
mov rax, qword [rsp + 0x70]
cmp rax, rdi
cmovg rdi, rax
movsxd rax, edi
mov ebp, eax
sar ebp, 0x1f
and ebp, eax
xor edi, edi
cmp rdi, rax
jle 0x18004403d
lea rsi, [rdi - 1]
mov rcx, qword [rsp + 0x100]
mov dl, byte [rcx + rdi]
cmp dl, byte [rbx + rdi]
mov rdi, rsi
je 0x180043b9b
inc esi
mov ebp, esi
jmp 0x18004403d
mov qword [rsp + 0x100], r10
mov dword [rsp + 0x90], edi
cmp dword [rsp + 0x138], 0
je 0x180043df2
cmp dword [rsp + 0x138], 2
jne 0x180043eb7
lea esi, [r8 - 1]
cmp esi, dword [rsp + 0xe0]
jb 0x180043eb7
cmp r15d, 3
jb 0x180043eb7
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x1a0]
lea r9, [rax + rcx]
cmp esi, dword [rsp + 0x48]
cmovae r9, qword [rsp + 0xa8]
mov r13d, esi
mov eax, 2
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0xc8]
cmp dword [r9 + r13], eax
jne 0x180043eb7
lea r8, [r9 + r13]
cmp esi, dword [rsp + 0x48]
mov r10, qword [rsp + 0x80]
cmovb r10, qword [rsp + 0x198]
lea rcx, [r8 + 4]
lea rdx, [r10 - 7]
mov rbp, rcx
cmp rcx, rdx
jae 0x180043ca0
lea rbx, [r9 + r13]
add rbx, 4
mov rbp, rcx
mov rax, qword [rbp]
xor rax, qword [rsp + 0x160]
jne 0x180043fe7
add rbp, 8
add rbx, 8
cmp rbp, rdx
jb 0x180043c81
cmp rbp, r10
jae 0x180043ff2
mov rdx, r10
sub rdx, rbp
mov rax, qword [rsp + 0x160]
cmp byte [rbp], al
jne 0x180043ff2
inc rbp
shr rax, 8
dec rdx
jne 0x180043cb7
mov rbp, r10
jmp 0x180043ff2
mov r12, r10
xor r9d, r9d
jmp 0x180042407
mov r15, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x78]
jmp 0x180042061
mov edi, dword [rsp + 0x90]
mov r10, qword [rsp + 0x100]
mov r12, qword [rsp + 0x88]
jmp 0x18004245d
mov rbx, qword [rsp + 0xa8]
movzx eax, bx
mov edi, ebx
shr edi, 0x10
mov ebx, 1
mov qword [rsp + 0xf8], rbx
cmp eax, edi
jne 0x180043dc9
mov rbx, qword [rsp + 0xa8]
mov eax, ebx
shr eax, 0x18
movzx edi, bl
cmp edi, eax
mov r15, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x78]
mov edi, r14d
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0xb0]
jne 0x180041fd3
mov rax, qword [rsp + 0x70]
mov rbx, rax
cmp qword [rsp + 0x40], rax
jbe 0x180043d9b
mov rdi, qword [rbx]
xor rdi, qword [rsp + 0xa0]
jne 0x180043fb7
add rbx, 8
cmp rbx, qword [rsp + 0x40]
jb 0x180043d7f
mov r8, qword [rsp + 0xa0]
mov rax, rbx
cmp rbx, qword [rsp + 0x80]
jae 0x180043fc5
cmp byte [rax], r8b
jne 0x180043fc5
mov rbx, rax
inc rbx
shr r8, 8
jmp 0x180043da3
mov r15, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x78]
mov edi, r14d
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0xb0]
jmp 0x180041fd3
mov rcx, qword [rsp + 0xc8]
movzx eax, cx
mov edx, ecx
shr edx, 0x10
mov ecx, 1
mov qword [rsp + 0x138], rcx
cmp eax, edx
jne 0x180043eb7
mov rcx, qword [rsp + 0xc8]
mov eax, ecx
shr eax, 0x18
movzx edx, cl
cmp edx, eax
mov r9, r14
mov edi, dword [rsp + 0x90]
mov r10, qword [rsp + 0x100]
mov r12, qword [rsp + 0x88]
jne 0x18004248b
mov rax, qword [rsp + 0xf0]
mov rcx, rax
cmp qword [rsp + 0x40], rax
jbe 0x180043e7d
mov rax, qword [rcx]
xor rax, qword [rsp + 0x160]
jne 0x180044135
mov rax, rcx
add rax, 8
mov rcx, rax
cmp rax, qword [rsp + 0x40]
jb 0x180043e5b
mov rbx, qword [rsp + 0x160]
cmp rcx, qword [rsp + 0x80]
jae 0x180044140
cmp byte [rcx], bl
jne 0x180044140
mov rax, rcx
inc rax
shr rbx, 8
mov rcx, rax
cmp rax, qword [rsp + 0x80]
jb 0x180043e93
jmp 0x180044140
mov r9, r14
mov edi, dword [rsp + 0x90]
mov r10, qword [rsp + 0x100]
mov r12, qword [rsp + 0x88]
jmp 0x18004248b
bsf rdx, rdi
shr rdx, 3
add rdx, r8
sub rdx, rcx
mov r13d, edx
add r13, 4
cmp r10d, dword [rsp + 0xb0]
jae 0x1800443e9
lea rax, [rbx + r13]
cmp rax, qword [rsp + 0xf8]
je 0x180044be4
mov r8, qword [rsp + 0xc0]
jmp 0x1800443ee
mov edx, 0x40
jmp 0x180043871
mov dil, al
mov rax, qword [rsp + 0x70]
lea rdx, [rax + rdi*8]
lea rsi, [rsi + rdi*8]
cmp rdx, r15
jae 0x180043f5c
mov rax, qword [rsp + 0xc8]
lea r8d, [rax + rdx]
mov rdi, qword [rdx]
xor rdi, qword [rsi]
jne 0x180043fa7
add rdx, 8
add rsi, 8
add r8d, 8
cmp rdx, r15
jb 0x180043f43
lea rax, [rbx - 3]
cmp rdx, rax
jae 0x180043f73
mov eax, dword [rsi]
cmp eax, dword [rdx]
jne 0x180043f73
add rdx, 4
add rsi, 4
lea rax, [rbx - 1]
cmp rdx, rax
jae 0x180043f8c
movzx eax, word [rsi]
cmp ax, word [rdx]
jne 0x180043f8c
add rdx, 2
add rsi, 2
cmp rdx, rbx
jae 0x180043f9e
mov al, byte [rsi]
xor edi, edi
cmp al, byte [rdx]
sete dil
add rdx, rdi
sub edx, dword [rsp + 0x70]
jmp 0x180043882
bsf rdx, rdi
shr rdx, 3
add edx, r8d
jmp 0x180043882
bsf rax, rdi
shr rax, 3
add rbx, rax
mov rax, rbx
sub eax, dword [rsp + 0x70]
add rax, 4
mov qword [rsp + 0xb8], rax
mov eax, 2
mov qword [rsp + 0xf8], rax
jmp 0x180043948
bsf rbp, rax
shr rbp, 3
add rbp, rbx
sub rbp, rcx
mov r15d, ebp
add r15, 4
cmp esi, dword [rsp + 0x48]
jae 0x1800447b7
lea rax, [r8 + r15]
cmp rax, r10
je 0x180044d2a
mov rdi, qword [rsp + 0x120]
jmp 0x1800447bc
mov rbx, qword [rsp + 0xd8]
mov eax, r11d
mov dword [rsp + 0x108], r11d
mov rsi, r13
jmp 0x1800446ac
xor ebp, ebp
sub r13d, ebp
mov edi, dword [rsp + 0x90]
cmp r13d, edi
mov r10, qword [rsp + 0x100]
mov r12, qword [rsp + 0x88]
jle 0x18004245d
mov eax, r8d
add rax, qword [rsp + 0xa8]
movsxd r14, ebp
add rax, r14
mov qword [rsp + 0xd0], rax
add r14, qword [rsp + 0x30]
mov edi, r13d
jmp 0x18004245d
mov ebp, 0x40
jmp 0x180043af8
mov sil, al
mov rax, qword [rsp + 0xf0]
lea rbp, [rax + rsi*8]
lea r13, [r13 + rsi*8]
cmp rbp, r10
jae 0x1800440ce
mov rax, qword [rsp + 0x108]
lea ebx, [rax + rbp]
mov rax, qword [rbp]
xor rax, qword [r13]
jne 0x180044126
add rbp, 8
add r13, 8
add ebx, 8
cmp rbp, r10
jb 0x1800440b4
lea rax, [r12 - 3]
cmp rbp, rax
jae 0x1800440e9
mov eax, dword [r13]
cmp eax, dword [rbp]
jne 0x1800440e9
add rbp, 4
add r13, 4
lea rax, [r12 - 1]
cmp rbp, rax
jae 0x180044106
movzx eax, word [r13]
cmp ax, word [rbp]
jne 0x180044106
add rbp, 2
add r13, 2
cmp rbp, r12
jae 0x18004411a
mov al, byte [r13]
xor edx, edx
cmp al, byte [rbp]
sete dl
add rbp, rdx
sub ebp, dword [rsp + 0xf0]
jmp 0x180043b09
bsf rbp, rax
shr rbp, 3
add ebp, ebx
jmp 0x180043b09
bsf rax, rax
shr rax, 3
add rcx, rax
sub ecx, dword [rsp + 0xf0]
add rcx, 4
mov qword [rsp + 0x170], rcx
mov eax, 2
mov qword [rsp + 0x138], rax
jmp 0x180043be1
mov qword [rsp + 0x128], r13
mov dword [rsp + 0x90], edi
mov rax, qword [rsp + 0x50]
add eax, 0xfffffffc
cmp r10d, eax
ja 0x180044a49
mov ecx, r10d
sub ecx, dword [rsp + 0x120]
mov rax, qword [rsp + 0x178]
lea r12, [rax + rcx]
mov rax, qword [rsp + 0x88]
cmp dword [r12], eax
jne 0x180044a49
mov rax, qword [rsp + 0x148]
lea r8, [rax + r11]
mov rax, qword [rsp + 0x80]
cmp r8, rax
mov rdi, r8
cmova rdi, rax
add r12, 4
lea r13, [rdi - 7]
cmp r13, qword [rsp + 0x70]
jbe 0x1800456dc
mov rax, qword [rsp + 0x70]
mov rbx, qword [rax]
xor rbx, qword [r12]
je 0x180044ee8
bsf rdx, rbx
xor esi, esi
test rbx, rbx
sete al
je 0x180044ef2
shr edx, 3
lea r12d, [rdx + 4]
cmp r8, qword [rsp + 0x80]
jae 0x18004426d
movsxd rax, edx
mov rdx, qword [rsp + 0x148]
add rax, rdx
add rax, 4
cmp rax, rdi
jne 0x18004426d
mov r8, rdi
mov rbx, qword [rsp + 0xf0]
cmp qword [rsp + 0x40], rdi
jbe 0x1800451b3
mov rdx, qword [rdi]
mov rax, qword [rsp + 0xf0]
xor rdx, qword [rax]
je 0x180045195
bsf r8, rdx
xor esi, esi
test rdx, rdx
sete al
je 0x1800451a0
shr r8d, 3
add r12d, r8d
cmp dword [rsp + 0xa0], 0
je 0x180044e9d
mov rax, qword [rsp + 0x168]
lea rbx, [rax + rcx]
neg rcx
cmp r9, rcx
cmovg rcx, r9
movsxd rbp, ecx
mov edx, ebp
sar edx, 0x1f
and edx, ebp
xor edi, edi
cmp rdi, rbp
jle 0x180044e9f
lea rsi, [rdi - 1]
mov rax, qword [rsp + 0xe0]
mov al, byte [rax + rdi]
cmp al, byte [rbx + rdi]
mov rdi, rsi
je 0x18004429d
inc esi
mov edx, esi
jmp 0x180044e9f
mov qword [rsp + 0x128], r13
mov dword [rsp + 0x90], edi
cmp dword [rsp + 0x100], 0
je 0x180044c3e
cmp dword [rsp + 0x100], 2
jne 0x180044cfa
lea eax, [r10 - 1]
mov dword [rsp + 0x188], eax
cmp eax, dword [rsp + 0xa8]
jb 0x180044cfa
cmp r11d, 3
jb 0x180044cfa
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x170]
add rax, rcx
mov ecx, dword [rsp + 0x188]
cmp ecx, dword [rsp + 0x50]
cmovae rax, qword [rsp + 0xc8]
mov r12d, ecx
mov ecx, 2
mov qword [rsp + 0x100], rcx
mov rcx, qword [rsp + 0x88]
cmp dword [rax + r12], ecx
jne 0x180044cfa
lea r10, [rax + r12]
mov ecx, dword [rsp + 0x188]
cmp ecx, dword [rsp + 0x50]
mov r13, qword [rsp + 0x80]
cmovb r13, qword [rsp + 0x138]
lea rbx, [r10 + 4]
lea rcx, [r13 - 7]
mov rdx, rbx
cmp rbx, rcx
jae 0x1800443b5
lea r8, [rax + r12]
add r8, 4
mov rdx, rbx
mov rsi, qword [rdx]
xor rsi, qword [rsp + 0x160]
jne 0x180044e5d
add rdx, 8
add r8, 8
cmp rdx, rcx
jb 0x180044397
cmp rdx, r13
jae 0x180044e68
mov rcx, r13
sub rcx, rdx
mov rbp, qword [rsp + 0x160]
cmp byte [rdx], bpl
jne 0x180044e68
inc rdx
shr rbp, 8
dec rcx
jne 0x1800443cc
mov rdx, r13
jmp 0x180044e68
mov r8, qword [rsp + 0x30]
mov rax, qword [rsp + 0xa8]
mov dword [rsp + 0x1dc], eax
lea rcx, [r8 + 4]
add rsi, r15
mov rdi, rbx
mov rdx, rdi
mov rbp, rsi
cmp rdi, rcx
jb 0x180044427
lea rdi, [rdx - 4]
lea rsi, [rbp - 4]
mov rax, qword [rsp + 0xa8]
cmp dword [rdx - 4], eax
je 0x180044407
cmp rdx, r8
jbe 0x18004445e
mov rax, r8
sub rax, rbp
mov rbp, rax
add rbp, rdx
xor ecx, ecx
mov al, byte [rdx + rcx - 1]
cmp al, byte [rsp + rcx + 0x1df]
jne 0x180044458
lea rax, [rdx + rcx]
dec rax
dec rcx
cmp rax, r8
ja 0x18004443a
jmp 0x18004445e
add rdx, rcx
mov rbp, rdx
mov r8, rbx
sub r8, rbp
cmp r10d, dword [rsp + 0xb0]
jb 0x180044518
mov eax, r8d
sub rbx, rax
cmp rbx, qword [rsp + 0x30]
jne 0x180044518
mov rax, qword [rsp + 0xb0]
cmp dword [rsp + 0x68], eax
jae 0x180044518
mov eax, r8d
neg eax
mov ecx, eax
shl ecx, 3
mov rdx, qword [rsp + 0xa8]
mov ebp, edx
rol ebp, cl
test al, 3
cmove ebp, edx
mov dword [rsp + 0x1dc], ebp
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x118]
cmp rdx, 4
jl 0x180045460
add rdx, 0xfffffffffffffffc
lea rdi, [rcx - 4]
cmp dword [rcx - 4], ebp
mov rcx, rdi
je 0x1800444c7
add rdi, 4
mov rcx, rdi
lea rbp, [rsp + 0x1df]
mov al, byte [rcx - 1]
cmp al, byte [rbp]
jne 0x180044508
dec rcx
dec rbp
cmp rcx, qword [rsp + 0xc0]
ja 0x1800444f0
mov rax, qword [rsp + 0x110]
sub eax, ecx
add eax, r8d
mov r8d, eax
mov ecx, r10d
sub ecx, r8d
cmp ecx, r12d
cmovbe ecx, r12d
mov edx, r10d
sub edx, ecx
add rdx, r13
cmp r13, qword [rsp + 0xb8]
ja 0x180044593
cmp rdx, qword [rsp + 0xb8]
jb 0x180044593
sub r10d, dword [rsp + 0xb8]
add r10d, r13d
mov eax, r10d
not eax
mov rbx, qword [rsp + 0xb0]
add eax, ebx
cmp eax, 3
cmovb r10d, ebx
mov eax, 2
mov qword [rsp + 0xf8], rax
mov ecx, r10d
mov r15, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x78]
mov edi, r14d
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x68]
jmp 0x180041fd5
mov eax, ecx
not eax
add eax, dword [rsp + 0xb0]
mov ebp, 2
mov qword [rsp + 0xf8], rbp
cmp eax, 3
jae 0x180044a5d
mov rbx, qword [rsp + 0xb0]
mov ecx, ebx
jmp 0x180044572
mov r8d, 0x40
jmp 0x1800438d2
mov dil, al
lea r8, [rbx + rdi*8]
mov rax, qword [rsp + 0x30]
lea rsi, [rax + rdi*8]
cmp r8, qword [rsp + 0x40]
jae 0x18004461b
mov rax, qword [rsp + 0xf0]
add rax, rbp
mov rdx, qword [rsp + 0x80]
cmp rdx, rax
cmovb rax, rdx
mov edx, r8d
sub edx, eax
mov rdi, qword [r8]
xor rdi, qword [rsi]
jne 0x18004466e
add r8, 8
add rsi, 8
add edx, 8
cmp r8, qword [rsp + 0x40]
jb 0x180044601
cmp r8, qword [rsp + 0x98]
jae 0x180044634
mov eax, dword [rsi]
cmp eax, dword [r8]
jne 0x180044634
add r8, 4
add rsi, 4
cmp r8, qword [rsp + 0x190]
jae 0x18004464f
movzx eax, word [rsi]
cmp ax, word [r8]
jne 0x18004464f
add r8, 2
add rsi, 2
cmp r8, qword [rsp + 0x80]
jae 0x180044666
mov al, byte [rsi]
xor edx, edx
cmp al, byte [r8]
sete dl
add r8, rdx
sub r8d, ebx
jmp 0x1800438e4
bsf r8, rdi
shr r8, 3
add r8d, edx
jmp 0x1800438e4
xor r8d, r8d
jmp 0x1800429e8
mov r12, r14
mov rbx, r10
jmp 0x1800446ac
mov r12, r14
mov rbx, qword [rsp + 0xb0]
jmp 0x1800446a1
mov r12, r14
mov rbx, r10
mov eax, r11d
mov dword [rsp + 0x108], r11d
xor r14d, r14d
cmp dword [rsp + 0x260], 2
mov r15, qword [rsp + 0x60]
jne 0x180045754
mov rbp, r12
sub rbp, rbx
lea rax, [rbp + 0xf0]
movabs rcx, 0x8080808080808081
mul rcx
shr rdx, 7
add rdx, rbp
mov rax, qword [rsp + 0x130]
lea rcx, [rax - 3]
lea rax, [rsi + rdx]
inc rax
cmp rax, rcx
ja 0x1800447aa
sub rcx, rax
mov rdx, rcx
shl rdx, 8
sub rdx, rcx
add rdx, 0x12
movsxd rcx, dword [rsp + 0x108]
cmp rdx, rcx
cmovb ecx, edx
add rax, 2
not rax
add rax, qword [rsp + 0x130]
movsxd r15, ecx
add rax, r15
add rax, 5
cmp rax, 0xc
jl 0x1800447aa
lea r14, [rsi + 1]
cmp rbp, 0xf
jb 0x180044d98
lea rax, [rbp - 0xf]
mov byte [rsi], 0xf0
cmp rax, 0xff
jb 0x18004479f
lea rax, [rbp - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rdi, rdx
shr rdi, 7
lea r8, [rdi + 1]
mov rcx, r14
mov dl, 0xff
call fcn.180091cf0
mov rax, rdi
shl rax, 8
lea r14, [rdi + rsi]
add r14, 2
sub rdi, rax
lea rax, [rdi + rbp]
add rax, 0xfffffffffffffef2
mov byte [r14], al
inc r14
jmp 0x180044d9f
mov r15, qword [rsp + 0x60]
mov rdx, rbx
jmp 0x18004358b
mov rdi, qword [rsp + 0x58]
mov rax, qword [rsp + 0xc8]
mov dword [rsp + 0x1dc], eax
lea rax, [rdi + 4]
add r9, r13
mov rbp, r8
mov rdx, rbp
mov rbx, r9
cmp rbp, rax
jb 0x1800447f5
lea rbp, [rdx - 4]
lea r9, [rbx - 4]
mov rcx, qword [rsp + 0xc8]
cmp dword [rdx - 4], ecx
je 0x1800447d5
cmp rdx, rdi
jbe 0x18004482c
mov rax, rdi
sub rax, rbx
mov rbx, rax
add rbx, rdx
xor eax, eax
mov cl, byte [rdx + rax - 1]
cmp cl, byte [rsp + rax + 0x1df]
jne 0x180044826
lea rbp, [rdx + rax]
dec rbp
dec rax
cmp rbp, rdi
ja 0x180044808
jmp 0x18004482c
add rdx, rax
mov rbx, rdx
mov rbp, r8
sub rbp, rbx
cmp esi, dword [rsp + 0x48]
jb 0x1800448d9
mov eax, ebp
sub r8, rax
cmp r8, qword [rsp + 0x58]
jne 0x1800448d9
mov rax, qword [rsp + 0xe8]
cmp eax, dword [rsp + 0x48]
jae 0x1800448d9
mov eax, ebp
neg eax
mov ecx, eax
shl ecx, 3
mov rbx, qword [rsp + 0xc8]
mov edx, ebx
rol edx, cl
test al, 3
cmove edx, ebx
mov dword [rsp + 0x1dc], edx
mov rcx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x148]
cmp rax, 4
jl 0x18004546e
add rax, 0xfffffffffffffffc
lea rbx, [rcx - 4]
cmp dword [rcx - 4], edx
mov rcx, rbx
je 0x18004488b
add rbx, 4
mov rcx, rbx
lea rax, [rsp + 0x1df]
mov dl, byte [rcx - 1]
cmp dl, byte [rax]
jne 0x1800448cb
dec rcx
dec rax
cmp rcx, qword [rsp + 0x120]
ja 0x1800448b4
mov rax, qword [rsp + 0x198]
sub eax, ecx
add eax, ebp
mov ebp, eax
mov r8d, esi
sub r8d, ebp
mov eax, dword [rsp + 0xe0]
cmp r8d, eax
cmovbe r8d, eax
mov edx, esi
sub edx, r8d
add rdx, r15
cmp r15, qword [rsp + 0x170]
ja 0x180044953
cmp rdx, qword [rsp + 0x170]
jb 0x180044953
sub esi, dword [rsp + 0x170]
add esi, r15d
mov eax, esi
not eax
mov rcx, qword [rsp + 0x48]
add eax, ecx
cmp eax, 3
cmovb esi, ecx
mov eax, 2
mov qword [rsp + 0x138], rax
mov r8d, esi
mov r9, r14
mov edi, dword [rsp + 0x90]
mov r10, qword [rsp + 0x100]
mov r12, qword [rsp + 0x88]
jmp 0x18004248e
mov eax, r8d
not eax
add eax, dword [rsp + 0x48]
mov ecx, 2
mov qword [rsp + 0x138], rcx
cmp eax, 3
jae 0x180044b2e
mov r8, qword [rsp + 0x48]
jmp 0x180044934
xor eax, eax
jmp 0x180042c9d
xor eax, eax
jmp 0x180042d25
mov r9d, 0x40
jmp 0x180043b54
mov bpl, al
lea r9, [r12 + rbp*8]
mov rax, qword [rsp + 0x58]
lea rbp, [rax + rbp*8]
cmp r9, qword [rsp + 0x40]
jae 0x1800449e3
mov rax, qword [rsp + 0x178]
add rax, r15
mov rdx, qword [rsp + 0x80]
cmp rax, rdx
cmovae rax, rdx
mov ebx, r9d
sub ebx, eax
mov rax, qword [r9]
xor rax, qword [rbp]
jne 0x180044a39
add r9, 8
add rbp, 8
add ebx, 8
cmp r9, qword [rsp + 0x40]
jb 0x1800449c8
cmp r9, qword [rsp + 0x98]
jae 0x1800449fd
mov eax, dword [rbp]
cmp eax, dword [r9]
jne 0x1800449fd
add r9, 4
add rbp, 4
cmp r9, qword [rsp + 0x190]
jae 0x180044a19
movzx eax, word [rbp]
cmp ax, word [r9]
jne 0x180044a19
add r9, 2
add rbp, 2
cmp r9, qword [rsp + 0x80]
jae 0x180044a31
mov al, byte [rbp]
xor edx, edx
cmp al, byte [r9]
sete dl
add r9, rdx
sub r9d, r12d
jmp 0x180043b66
bsf r9, rax
shr r9, 3
add r9d, ebx
jmp 0x180043b66
mov edi, dword [rsp + 0x90]
mov r13, qword [rsp + 0x128]
jmp 0x180042a2d
mov rax, qword [rsp + 0xb8]
cmp rdx, rax
cmovae rdx, rax
movsxd rax, r14d
cmp rdx, rax
jbe 0x180044ac1
mov ebp, ecx
mov rax, qword [rsp + 0x58]
sub rax, rbp
cmp rax, 0xffff
mov r15, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x78]
mov edi, r14d
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0xb0]
ja 0x180042090
add rbp, qword [rsp + 0xe0]
mov qword [rsp + 0xd0], rbp
mov r14d, edx
movzx eax, cx
mov rdx, qword [rsp + 0x60]
movzx eax, word [rdx + rax*2 + 0x20000]
xor edx, edx
cmp ecx, eax
cmovae edx, eax
jb 0x180044b05
sub ecx, edx
mov r15, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x78]
mov edi, r14d
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0xb0]
jmp 0x180041fd5
mov r15, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x78]
mov edi, r14d
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0xb0]
jmp 0x180042090
cmp dword [rsp + 0x38], 0
jne 0x180044934
mov rax, qword [rsp + 0x170]
cmp rdx, rax
cmovae rdx, rax
movsxd rax, dword [rsp + 0x90]
cmp rdx, rax
jbe 0x180044ba5
mov eax, r8d
mov rbp, qword [rsp + 0xb0]
sub rbp, rax
cmp rbp, 0xffff
mov r15, qword [rsp + 0x60]
mov r9, r14
mov edi, dword [rsp + 0x90]
mov r12, qword [rsp + 0x88]
ja 0x180042550
add rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
mov qword [rsp + 0xd0], rax
mov eax, edx
mov dword [rsp + 0x90], edx
movzx eax, r8w
mov rdx, qword [rsp + 0x60]
movzx edx, word [rdx + rax*2 + 0x20000]
xor eax, eax
cmp r8d, edx
cmovae eax, edx
jb 0x180044bc8
sub r8d, eax
jmp 0x180044934
mov r15, qword [rsp + 0x60]
mov r9, r14
mov edi, dword [rsp + 0x90]
mov r12, qword [rsp + 0x88]
jmp 0x180042550
lea ecx, [r13*8]
mov rax, qword [rsp + 0xa8]
mov r8d, eax
rol r8d, cl
test dl, 3
cmove r8d, eax
movabs rax, 0x100000001
imul r8, rax
mov rax, qword [rsp + 0x30]
mov rcx, rax
cmp rax, qword [rsp + 0x40]
jae 0x1800453c0
mov rdx, qword [rcx]
xor rdx, r8
jne 0x180044d13
add rcx, 8
cmp rcx, qword [rsp + 0x40]
jb 0x180044c22
jmp 0x1800453c0
mov rcx, qword [rsp + 0x88]
movzx eax, cx
mov ebp, ecx
shr ebp, 0x10
mov ecx, 1
mov qword [rsp + 0x100], rcx
cmp eax, ebp
jne 0x180044cfa
mov rcx, qword [rsp + 0x88]
mov eax, ecx
shr eax, 0x18
movzx ebp, cl
cmp ebp, eax
mov r8d, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x90]
mov r13, qword [rsp + 0x128]
jne 0x180042a5e
mov rax, qword [rsp + 0x70]
mov rcx, rax
cmp qword [rsp + 0x40], rax
jbe 0x180044cc0
mov rbp, qword [rcx]
xor rbp, qword [rsp + 0x160]
jne 0x180044f8b
mov rax, rcx
add rax, 8
mov rcx, rax
cmp rax, qword [rsp + 0x40]
jb 0x180044c9e
mov rbx, qword [rsp + 0x160]
cmp rcx, qword [rsp + 0x80]
jae 0x180044f96
cmp byte [rcx], bl
jne 0x180044f96
mov rax, rcx
inc rax
shr rbx, 8
mov rcx, rax
cmp rax, qword [rsp + 0x80]
jb 0x180044cd6
jmp 0x180044f96
mov r8d, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x90]
mov r13, qword [rsp + 0x128]
jmp 0x180042a5e
bsf rax, rdx
shr rax, 3
add rcx, rax
sub ecx, dword [rsp + 0x30]
add r13, rcx
jmp 0x180043f0b
lea ecx, [r15*8]
mov rax, qword [rsp + 0xc8]
mov r10d, eax
rol r10d, cl
test bpl, 3
cmove r10d, eax
movabs rax, 0x100000001
imul r10, rax
mov rax, qword [rsp + 0x58]
mov rcx, rax
cmp rax, qword [rsp + 0x40]
jae 0x180045448
mov rax, qword [rcx]
xor rax, r10
jne 0x180044d81
add rcx, 8
cmp rcx, qword [rsp + 0x40]
jb 0x180044d69
jmp 0x180045448
bsf rax, rax
shr rax, 3
add rcx, rax
sub ecx, dword [rsp + 0x58]
add r15, rcx
jmp 0x180044013
mov eax, ebp
shl al, 4
mov byte [rsi], al
lea rcx, [r14 + rbp]
mov rax, r14
mov rdx, qword [rbx]
mov qword [rax], rdx
add rax, 8
add rbx, 8
cmp rax, rcx
jb 0x180044da6
mov eax, r12d
sub eax, dword [rsp + 0x68]
mov word [rcx], ax
add rcx, 2
lea rax, [r15 - 4]
cmp rax, 0xf
jb 0x180044e48
add byte [rsi], 0xf
lea rax, [r15 - 0x13]
cmp rax, 0x1fe
jb 0x180044e2d
lea rax, [r15 - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rdi, rdx
shr rdi, 8
lea r8, [rdi + rdi]
add r8, 2
mov dl, 0xff
call fcn.180091cf0
lea rax, [rdi*2]
add rax, rbp
lea rcx, [r14 + rax]
add rcx, 4
imul rax, rdi, 0xfffffffffffffe02
add rax, r15
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x180044e41
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
mov byte [rcx], al
inc rcx
jmp 0x180044e4a
add byte [rsi], al
add r12, r15
mov rdx, r12
mov rsi, rcx
mov r15, qword [rsp + 0x60]
jmp 0x18004358b
bsf rdx, rsi
shr rdx, 3
add rdx, r8
sub rdx, rbx
mov r8d, edx
add r8, 4
mov ecx, dword [rsp + 0x188]
cmp ecx, dword [rsp + 0x50]
jae 0x180044fb8
lea rcx, [r10 + r8]
cmp rcx, r13
je 0x1800453d8
mov rsi, qword [rsp + 0x178]
jmp 0x180044fc0
xor edx, edx
sub r12d, edx
mov edi, dword [rsp + 0x90]
cmp r12d, edi
mov r13, qword [rsp + 0x128]
jle 0x180042a2d
mov ebp, r10d
add rbp, qword [rsp + 0xc8]
movsxd rax, edx
add rbp, rax
mov qword [rsp + 0xd0], rbp
add rax, qword [rsp + 0x148]
mov qword [rsp + 0x48], rax
mov edi, r12d
jmp 0x180042a2d
mov edx, 0x40
jmp 0x1800441f4
mov sil, al
mov rax, qword [rsp + 0x70]
lea rdx, [rax + rsi*8]
lea r12, [r12 + rsi*8]
cmp rdx, r13
jae 0x180044f2b
mov rax, qword [rsp + 0x198]
lea ebx, [rax + rdx]
mov rsi, qword [rdx]
xor rsi, qword [r12]
jne 0x180044f7c
add rdx, 8
add r12, 8
add ebx, 8
cmp rdx, r13
jb 0x180044f12
lea rax, [rdi - 3]
cmp rdx, rax
jae 0x180044f44
mov eax, dword [r12]
cmp eax, dword [rdx]
jne 0x180044f44
add rdx, 4
add r12, 4
lea rax, [rdi - 1]
cmp rdx, rax
jae 0x180044f5f
movzx eax, word [r12]
cmp ax, word [rdx]
jne 0x180044f5f
add rdx, 2
add r12, 2
cmp rdx, rdi
jae 0x180044f73
mov al, byte [r12]
xor esi, esi
cmp al, byte [rdx]
sete sil
add rdx, rsi
sub edx, dword [rsp + 0x70]
jmp 0x180044205
bsf rdx, rsi
shr rdx, 3
add edx, ebx
jmp 0x180044205
bsf rax, rbp
shr rax, 3
add rcx, rax
sub ecx, dword [rsp + 0x70]
add rcx, 4
mov qword [rsp + 0x140], rcx
mov eax, 2
mov qword [rsp + 0x100], rax
jmp 0x1800442e3
mov rsi, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x88]
mov dword [rsp + 0x1dc], ecx
lea rbp, [rsi + 4]
add rax, r12
mov rdi, r10
mov rbx, rdi
mov rdx, rax
cmp rdi, rbp
jb 0x180044ff9
lea rdi, [rbx - 4]
lea rax, [rdx - 4]
mov rcx, qword [rsp + 0x88]
cmp dword [rbx - 4], ecx
je 0x180044fd9
cmp rbx, rsi
jbe 0x180045030
mov rax, rsi
sub rax, rdx
mov rdx, rax
add rdx, rbx
xor eax, eax
mov cl, byte [rbx + rax - 1]
cmp cl, byte [rsp + rax + 0x1df]
jne 0x18004502a
lea rbp, [rbx + rax]
dec rbp
dec rax
cmp rbp, rsi
ja 0x18004500c
jmp 0x180045030
add rbx, rax
mov rdx, rbx
mov rax, r10
sub rax, rdx
mov ecx, dword [rsp + 0x188]
cmp ecx, dword [rsp + 0x50]
jb 0x1800450ed
mov ecx, eax
sub r10, rcx
cmp r10, qword [rsp + 0xf0]
jne 0x1800450ed
mov rcx, qword [rsp + 0x120]
cmp ecx, dword [rsp + 0x50]
jae 0x1800450ed
mov ebp, eax
neg ebp
mov ecx, ebp
shl ecx, 3
mov rbx, qword [rsp + 0x88]
mov edx, ebx
rol edx, cl
test bpl, 3
cmove edx, ebx
mov dword [rsp + 0x1dc], edx
mov rcx, qword [rsp + 0x138]
mov rbp, qword [rsp + 0x1b0]
cmp rbp, 4
jl 0x18004549d
add rbp, 0xfffffffffffffffc
lea rbx, [rcx - 4]
cmp dword [rcx - 4], edx
mov rcx, rbx
je 0x18004509f
add rbx, 4
mov rcx, rbx
lea rdx, [rsp + 0x1df]
mov bl, byte [rcx - 1]
cmp bl, byte [rdx]
jne 0x1800450df
dec rcx
dec rdx
cmp rcx, qword [rsp + 0x178]
ja 0x1800450c8
mov rdx, qword [rsp + 0x138]
sub edx, ecx
add edx, eax
mov eax, edx
mov ecx, dword [rsp + 0x188]
mov r10d, ecx
sub r10d, eax
mov eax, dword [rsp + 0xa8]
cmp r10d, eax
cmovbe r10d, eax
mov eax, ecx
sub eax, r10d
add rax, r8
cmp r8, qword [rsp + 0x140]
ja 0x18004516f
cmp rax, qword [rsp + 0x140]
jb 0x18004516f
mov edx, dword [rsp + 0x188]
sub edx, dword [rsp + 0x140]
add edx, r8d
mov eax, edx
not eax
mov rcx, qword [rsp + 0x50]
add eax, ecx
cmp eax, 3
cmovb edx, ecx
mov eax, 2
mov qword [rsp + 0x100], rax
mov r10d, edx
mov r8d, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x90]
mov r13, qword [rsp + 0x128]
jmp 0x180042a61
mov edx, r10d
not edx
add edx, dword [rsp + 0x50]
mov ecx, 2
mov qword [rsp + 0x100], rcx
cmp edx, 3
jae 0x1800452f0
mov r10, qword [rsp + 0x50]
jmp 0x180045156
mov r8d, 0x40
jmp 0x180044258
mov sil, al
lea r8, [rdi + rsi*8]
mov rax, qword [rsp + 0xf0]
lea rbx, [rax + rsi*8]
cmp r8, qword [rsp + 0x40]
jae 0x1800451f3
mov rax, qword [rsp + 0x158]
add rax, r11
mov rdx, qword [rsp + 0x80]
cmp rax, rdx
cmovae rax, rdx
mov edx, r8d
sub edx, eax
mov rsi, qword [r8]
xor rsi, qword [rbx]
jne 0x180045246
add r8, 8
add rbx, 8
add edx, 8
cmp r8, qword [rsp + 0x40]
jb 0x1800451d9
cmp r8, qword [rsp + 0x98]
jae 0x18004520c
mov eax, dword [rbx]
cmp eax, dword [r8]
jne 0x18004520c
add r8, 4
add rbx, 4
cmp r8, qword [rsp + 0x190]
jae 0x180045227
movzx eax, word [rbx]
cmp ax, word [r8]
jne 0x180045227
add r8, 2
add rbx, 2
cmp r8, qword [rsp + 0x80]
jae 0x18004523e
mov al, byte [rbx]
xor edx, edx
cmp al, byte [r8]
sete dl
add r8, rdx
sub r8d, edi
jmp 0x18004426a
bsf r8, rsi
shr r8, 3
add r8d, edx
jmp 0x18004426a
mov r12, qword [rsp + 0x38]
mov rbx, r14
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x108], eax
mov rsi, rdi
jmp 0x1800446ac
lea rax, [rsi - 0xf]
mov byte [rdi], 0xf0
cmp rax, 0xff
jb 0x1800452d6
lea rax, [rsi - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov rcx, r15
mov dl, 0xff
call fcn.180091cf0
mov rax, rbx
shl rax, 8
lea r15, [rdi + rbx]
add r15, 2
sub rbx, rax
lea rax, [rsi + rbx]
add rax, 0xfffffffffffffef2
mov byte [r15], al
inc r15
mov r8d, dword [rsp + 0x2c]
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0x30]
jmp 0x180042f03
cmp dword [rsp + 0xa0], 0
jne 0x180045156
mov rcx, qword [rsp + 0x140]
cmp rax, rcx
cmovae rax, rcx
movsxd rdx, dword [rsp + 0x90]
cmp rax, rdx
jbe 0x180045375
mov edx, r10d
mov rbp, qword [rsp + 0x110]
sub rbp, rdx
cmp rbp, 0xffff
mov r8d, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x90]
mov r11, qword [rsp + 0xb8]
mov r13, qword [rsp + 0x128]
ja 0x180042b2c
add rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x148]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0xd0], rdx
mov dword [rsp + 0x90], eax
movzx eax, r10w
mov rdx, qword [rsp + 0x60]
movzx edx, word [rdx + rax*2 + 0x20000]
xor eax, eax
cmp r10d, edx
cmovae eax, edx
jb 0x180045398
sub r10d, eax
jmp 0x180045156
mov r8d, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x90]
mov r11, qword [rsp + 0xb8]
mov r13, qword [rsp + 0x128]
jmp 0x180042b2c
inc rcx
shr r8, 8
cmp rcx, qword [rsp + 0x80]
jae 0x180044d1e
cmp byte [rcx], r8b
je 0x1800453b9
jmp 0x180044d1e
lea ecx, [r8*8]
mov rbp, qword [rsp + 0x88]
mov ebx, ebp
rol ebx, cl
test dl, 3
cmove ebx, ebp
movabs rcx, 0x100000001
imul rbx, rcx
mov rdx, qword [rsp + 0xf0]
mov rcx, rdx
cmp rdx, qword [rsp + 0x40]
jae 0x180045483
mov rdx, qword [rcx]
xor rdx, rbx
jne 0x180045427
add rcx, 8
cmp rcx, qword [rsp + 0x40]
jb 0x180045412
jmp 0x180045483
bsf rdx, rdx
shr rdx, 3
add rcx, rdx
sub ecx, dword [rsp + 0xf0]
add r8, rcx
jmp 0x180044e90
inc rcx
shr r10, 8
cmp rcx, qword [rsp + 0x80]
jae 0x180044d8c
cmp byte [rcx], r10b
je 0x180045441
jmp 0x180044d8c
test rdx, rdx
jg 0x1800444e8
jmp 0x180044508
test rax, rax
jg 0x1800448ac
jmp 0x1800448cb
inc rcx
shr rbx, 8
cmp rcx, qword [rsp + 0x80]
jae 0x180045432
cmp byte [rcx], bl
je 0x18004547c
jmp 0x180045432
mov rdx, qword [rsp + 0x70]
jmp 0x180043f32
test rbp, rbp
jg 0x1800450c0
jmp 0x1800450df
mov rbp, qword [rsp + 0xf0]
jmp 0x1800440a4
lea rax, [r12 - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rsi, rdx
shr rsi, 8
lea r8, [rsi + rsi]
add r8, 2
mov rcx, rdi
mov dl, 0xff
call fcn.180091cf0
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x2c]
lea rax, [rsi*2]
add rax, rbp
lea rdi, [r15 + rax]
add rdi, 4
imul rax, rsi, 0xfffffffffffffe02
add rax, r12
add rax, 0xfffffffffffffdef
jmp 0x1800433a0
lea rax, [rsi - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbp, rdx
shr rbp, 8
lea r8, [rbp + 2]
add r8, rbp
mov rcx, r13
mov dl, 0xff
call fcn.180091cf0
mov rdx, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x2c]
lea rax, [rbx + rbp*2]
lea r13, [r12 + rax]
add r13, 4
imul rax, rbp, 0xfffffffffffffe02
add rax, rsi
add rax, 0xfffffffffffffdef
jmp 0x180043418
add rax, 0xffffffffffffff01
mov byte [r13], 0xff
inc r13
jmp 0x180043424
lea rax, [rbp - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rdi, rdx
shr rdi, 7
lea r8, [rdi + 1]
mov rcx, r15
mov dl, 0xff
mov rsi, r11
call fcn.180091cf0
mov r10, qword [rsp + 0xb0]
mov r11, rsi
mov r9, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x2c]
mov rax, rdi
shl rax, 8
lea r15, [rsi + rdi]
add r15, 2
sub rdi, rax
lea rax, [rdi + rbp]
add rax, 0xfffffffffffffef2
jmp 0x18004346e
mov r14, rbx
lea rax, [rbx - 0xf]
mov byte [rsi], 0xf0
lea rcx, [rsi + 1]
cmp rax, 0xff
jb 0x180045648
mov rbx, r14
lea rax, [r14 - 0x10e]
mul r8
mov rdi, rdx
shr rdi, 7
lea r8, [rdi + 1]
mov dl, 0xff
call fcn.180091cf0
mov rax, rdi
shl rax, 8
lea rcx, [rdi + rsi]
add rcx, 2
sub rdi, rax
lea rax, [r14 + rdi]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
mov rsi, rcx
mov r15, qword [rsp + 0x60]
mov rbx, r14
mov rdx, r12
jmp 0x18004360b
mov rcx, qword [rsp + 0xc0]
add rcx, 0xfffffffffffffffc
cmp r13, rcx
mov rcx, qword [rsp + 0x118]
lea eax, [rcx + rax - 4]
mov ecx, dword [rsp + 0x108]
cmova ecx, eax
mov eax, r14d
mov rdx, qword [rsp + 0x38]
sub eax, edx
mov dword [rsp + 0x108], ecx
add eax, ecx
test eax, eax
jle 0x1800456c0
mov rbp, rdx
mov ecx, eax
add rbp, rcx
mov qword [rsp + 0x38], rbp
add qword [rsp + 0xe8], rcx
mov rcx, qword [rsp + 0x118]
sub ecx, eax
mov qword [rsp + 0x118], rcx
mov r15, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x78]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0xb0]
jmp 0x1800431d9
mov rdx, qword [rsp + 0x70]
jmp 0x180044f02
lea rax, [rbx - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbp, rdx
shr rbp, 7
lea r8, [rbp + 1]
mov rcx, r12
mov dl, 0xff
call fcn.180091cf0
mov r11, qword [rsp + 0xb8]
mov r9, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x2c]
mov rax, rbp
shl rax, 8
lea r12, [rsi + rbp]
add r12, 2
sub rbp, rax
lea rax, [rbx + rbp]
add rax, 0xfffffffffffffef2
jmp 0x1800434d2
xor r14d, r14d
cmp dword [rsp + 0x260], 1
jne 0x180045761
mov byte [r15 + 0x40027], 1
jmp 0x180041d96
mov rax, rsi
not rax
lea rdi, [rax + rcx]
add rax, rcx
add rax, 0xf1
shr rax, 8
sub rdi, rax
jmp 0x1800435f0
lea rax, [r12 - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbp, rdx
shr rbp, 8
lea r8, [rbp + 2]
add r8, rbp
mov dl, 0xff
call fcn.180091cf0
mov r9, qword [rsp + 0x48]
lea rax, [rbx + rbp*2]
lea rcx, [rax + r13]
add rcx, 4
imul rax, rbp, 0xfffffffffffffe02
add rax, r12
add rax, 0xfffffffffffffdef
jmp 0x18004355d
lea rax, [rbx - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbp, rdx
shr rbp, 7
lea r8, [rbp + 1]
mov rcx, r13
mov dl, 0xff
call fcn.180091cf0
mov r10, qword [rsp + 0xb0]
mov r9, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x78]
mov rax, rbp
shl rax, 8
lea r13, [rsi + rbp]
add r13, 2
sub rbp, rax
lea rax, [rbx + rbp]
add rax, 0xfffffffffffffef2
jmp 0x18004374d