Function at 0x1800163c0
Capabilities:
Check for software breakpoints
Get system information on windows
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, 0x168
mov r14, r9
mov rsi, r8
mov qword [rsp + 0x68], rdx
mov rdi, rcx
mov rcx, qword [rsp + 0x1d8]
mov rax, qword [0x1800a6010]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov qword [rcx], 0
cmp qword [r9], 0
je 0x180016434
cmp qword [r14 + 0x10], 0
je 0x180016a46
cmp qword [r14 + 0x18], 0
je 0x180016a46
cmp dword [r14 + 8], 0
je 0x180016a46
cmp byte [r14 + 0x2c], 0
je 0x180016a46
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea rcx, [r14 + 0x20]
mov qword [rsp + 0x28], rcx
mov ecx, dword [r14 + 0x20]
lea edx, [rcx + 8]
cmp qword [r14], 0
je 0x180017128
cmp edx, dword [r14 + 0x28]
ja 0x180017134
mov rdx, qword [r14 + 0x10]
mov qword [rdx + rcx], rax
add dword [r14 + 0x20], 8
cmp qword [r14], 0
je 0x1800164a1
mov al, byte [r14 + 0x2c]
cmp qword [r14 + 0x10], 0
je 0x180016a46
cmp qword [r14 + 0x18], 0
je 0x180016a46
cmp dword [r14 + 8], 0
je 0x180016a46
test al, al
je 0x180016a46
mov qword [rsp + 0x70], rdi
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax + 0x10]
add rcx, qword [rax + 8]
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [r14 + 0x20]
lea edx, [rcx + 8]
cmp qword [r14], 0
mov qword [rsp + 0x80], rsi
je 0x180017140
cmp edx, dword [r14 + 0x28]
mov r15, qword [rsp + 0x28]
ja 0x18001714d
mov rdx, qword [r14 + 0x10]
mov qword [rdx + rcx], rax
add dword [r14 + 0x20], 8
cmp qword [r14], 0
je 0x180016520
mov al, byte [r14 + 0x2c]
cmp qword [r14 + 0x10], 0
je 0x180016a34
cmp qword [r14 + 0x18], 0
je 0x180016a34
cmp dword [r14 + 8], 0
je 0x180016a34
test al, al
je 0x180016a34
mov r9, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x70]
mov rdx, r14
mov r8, qword [rsp + 0x68]
call fcn.180018520
test al, al
jne 0x180016a34
mov eax, dword [r14 + 0x20]
mov dword [r14 + 0x24], eax
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x1c], 0
je 0x180017159
mov rcx, qword [rsp + 0x68]
lea rsi, [rcx + 8]
lea rdi, [rcx + 0x10]
mov eax, dword [rax + 0x18]
and eax, 2
mov edx, eax
shr edx, 1
xor ecx, ecx
test eax, eax
sete cl
lea r13d, [rcx + rcx*2]
add r13d, 0xa
mov eax, dword [rdi]
cmp eax, r13d
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x7c], edx
jae 0x180016831
lea r9, [r14 + 0x28]
lea r11, [r14 + 0x10]
lea rcx, [r14 + 0x2c]
mov qword [rsp + 0x50], rcx
mov ecx, r13d
mov qword [rsp + 0x88], rcx
xor r10d, r10d
mov dword [rsp + 0x3c], r13d
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rdi
mov rcx, qword [rsi]
mov eax, eax
test r10b, 1
jne 0x180016cf2
movzx edx, byte [rcx + rax]
cmp rdx, 0xf
je 0x180016c89
mov ebx, edx
and bl, 0xfc
cmp bl, 0x88
je 0x180016cc1
lea ebp, [rdx - 0x40]
cmp ebp, 2
jb 0x1800167cb
cmp edx, 0x44
je 0x180016d38
cmp edx, 0x45
je 0x180016d69
mov ebx, edx
and bl, 0xfa
cmp bl, 0x48
jne 0x18001673b
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r14], 0
je 0x180016d90
cmp ebp, dword [r9]
ja 0x180016d98
mov rbp, qword [r11]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
inc dword [r15]
mov ecx, dword [rdi]
lea r8d, [rcx + 1]
mov dword [rdi], r8d
mov rdx, qword [rsi]
movzx ebp, byte [rdx + r8]
cmp ebp, 0x82
jle 0x18001667e
cmp ebp, 0x83
je 0x18001677d
cmp ebp, 0x85
jne 0x180016693
jmp 0x180016e17
cmp ebp, 0x81
je 0x180016aaf
cmp ebp, 0x2b
je 0x180016e17
mov eax, ebp
and al, 0xfd
cmp al, 0x89
jne 0x180016e4e
lea edi, [rcx + 2]
movzx eax, byte [rdx + rdi]
mov ebp, eax
shr ebp, 6
mov esi, 2
cmp ebp, 1
jne 0x18001672c
and al, 7
xor ebx, ebx
cmp al, 4
sete bl
add ebx, esi
lea ebp, [rbx + 1]
cmp qword [r14], 0
mov ecx, dword [r14 + 0x20]
lea eax, [rcx + rbx + 1]
je 0x180016e98
mov r12d, r10d
mov rbx, r9
cmp eax, dword [r9]
mov r15, qword [rsp + 0x28]
mov r13d, dword [rsp + 0x3c]
ja 0x180016eb3
add rdx, r8
mov r8d, ebp
mov r14, r11
add rcx, qword [r11]
call fcn.180091e30
add dword [r15], ebp
mov rdi, qword [rsp + 0x40]
add dword [rdi], ebp
mov r9, rbx
mov r10d, r12d
mov r11, r14
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x30]
mov eax, dword [rdi]
cmp eax, r13d
jb 0x1800165ce
jmp 0x180016834
mov ebx, 1
cmp ebp, 3
je 0x1800166c0
jmp 0x1800171fe
cmp dl, 0x66
je 0x180017351
mov ebx, edx
and bl, 0xf0
cmp bl, 0x50
jne 0x180016af8
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r14], 0
je 0x1800172e7
cmp ebp, dword [r9]
ja 0x1800172ef
mov rbp, qword [r11]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
inc dword [r15]
inc dword [rdi]
jmp 0x18001671c
movzx eax, byte [rdx + r8 + 1]
and eax, 0xfffffff8
cmp eax, 0xe8
jne 0x180017442
mov ecx, dword [r14 + 0x20]
lea eax, [rcx + 3]
cmp qword [r14], 0
je 0x180017476
cmp eax, dword [r9]
ja 0x18001747e
add rdx, r8
mov rax, qword [r11]
mov bl, byte [rdx + 2]
mov byte [rax + rcx + 2], bl
movzx edx, word [rdx]
mov word [rax + rcx], dx
add dword [r15], 3
add dword [rdi], 3
jmp 0x18001671c
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r14], 0
je 0x18001779c
cmp ebp, dword [r9]
ja 0x1800177a4
mov rbp, qword [r11]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
inc dword [r15]
mov ecx, dword [rdi]
inc ecx
mov dword [rdi], ecx
mov rax, qword [rsi]
mov bl, byte [rax + rcx]
mov edx, ebx
and dl, 0xf0
cmp dl, 0x50
jne 0x1800177b1
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r14], 0
je 0x1800172e7
cmp ebp, dword [r9]
ja 0x1800172ef
mov rbp, qword [r11]
mov al, byte [rax + rcx]
jmp 0x180016772
xor r10d, r10d
cmp eax, 0x64
ja 0x180016a34
test r10b, 1
jne 0x18001685e
mov edx, eax
add rdx, qword [rsi]
mov rcx, r14
mov r8d, 3
call fcn.1800189f0
test al, al
je 0x180016a34
cmp byte [r14 + 0x2c], 0
je 0x180016a34
cmp qword [r14], 0
je 0x180016a34
mov ebx, dword [r14 + 0x24]
add rbx, qword [r14 + 0x18]
je 0x180016a34
mov r9d, dword [rdi]
test r9, r9
je 0x180017172
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax]
mov r8, qword [rax + 8]
lea rbp, [rsp + 0xf8]
mov qword [rbp - 0x38], rdx
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x28], r9
xor edi, edi
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], 0x20
mov qword [rbp - 0x18], rbp
mov byte [rbp + 0x20], 1
lea rsi, [rsp + 0x120]
mov dword [rsp + 0x20], 0x40
mov rcx, rsi
call fcn.180018680
cmp qword [rsi + 0x10], rdi
je 0x18001698e
cmp byte [rsp + 0x118], 0
je 0x18001698e
cmp byte [rsp + 0x7c], 0
jne 0x18001718b
lea rcx, [rsp + 0xc0]
mov rdx, qword [rsp + 0x1d0]
call fcn.180018820
cmp qword [rsp + 0x130], 0
je 0x18001698e
cmp byte [rsp + 0x118], 0
je 0x18001698e
mov r8, qword [rsp + 0xe8]
test r8, r8
je 0x180016983
mov rdx, qword [rsp + 0xe0]
mov ecx, dword [rsp + 0xdc]
add rcx, qword [rsp + 0xc8]
call fcn.180091e30
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [rsp + 0xe8]
add dword [rsp + 0xdc], eax
mov qword [rsp + 0xe8], 0
mov rax, qword [rsp + 0x1d8]
mov qword [rax], rbx
mov eax, dword [0x1800a80a4]
mov ecx, dword [0x1800a64f4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x180016a6b
mov rdi, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x130]
test rsi, rsi
je 0x180016a0a
shl rsi, 4
add rsi, rdi
mov ebx, dword [0x1800a80a0]
lea r14, [rsp + 0x90]
mov r15, qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rdi]
mov rcx, qword [rdi + 8]
mov rdx, rbx
mov r9, r14
call r15
add rdi, 0x10
cmp rdi, rsi
jne 0x1800169e4
mov rdi, qword [rsp + 0x128]
mov r14, qword [rsp + 0x30]
lea rax, [rsp + 0x140]
mov qword [rax - 0x10], 0
cmp rdi, rax
jne 0x1800171c2
mov rcx, qword [rsp + 0xe0]
cmp rcx, rbp
jne 0x1800171d0
mov rax, qword [rsp + 0x1d8]
cmp qword [rax], 0
je 0x1800171db
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.18004b970
nop
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x1800a80a4]
call fcn.18004a330
cmp dword [0x1800a80a4], 0xffffffff
jne 0x1800169b3
lea rsi, [rsp + 0x90]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsi + 4]
mov dword [0x1800a80a0], eax
lea rcx, [0x1800a80a4]
call fcn.18004a398
jmp 0x1800169b3
mov al, byte [rdx + r8 + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x180016a34
mov ecx, dword [r14 + 0x20]
lea eax, [rcx + 6]
cmp qword [r14], 0
je 0x180017a9a
cmp eax, dword [r9]
ja 0x180017aa2
add rdx, r8
mov rax, qword [r11]
movzx ebp, word [rdx + 4]
mov word [rax + rcx + 4], bp
mov edx, dword [rdx]
mov dword [rax + rcx], edx
add dword [r15], 6
add dword [rdi], 6
jmp 0x18001671c
cmp dl, 0x90
je 0x180016bdf
cmp edx, 0x80
je 0x180017aaf
cmp edx, 0x65
je 0x180017aff
mov ebx, edx
and bl, 0xf8
cmp bl, 0xb8
je 0x180017eb9
cmp edx, 0xcb
jg 0x180016ba3
cmp edx, 0x84
jg 0x180016bcb
cmp edx, 0x33
je 0x180016fef
cmp edx, 0x83
jne 0x180016c21
mov r12, r11
mov dword [rsp + 0x5c], r10d
mov qword [rsp + 0x60], r9
mov dl, byte [rcx + rax + 1]
cmp dl, 0xc0
jb 0x180017e9b
mov rbx, qword [rsp + 0x30]
mov edx, dword [rbx + 0x20]
lea ebp, [rdx + 3]
cmp qword [rbx], 0
je 0x180017986
mov rbx, qword [rsp + 0x60]
cmp ebp, dword [rbx]
ja 0x1800175ab
add rcx, rax
mov rax, qword [r12]
mov bl, byte [rcx + 2]
mov byte [rax + rdx + 2], bl
movzx ecx, word [rcx]
mov word [rax + rdx], cx
jmp 0x180017778
cmp edx, 0xe7
jg 0x180016c06
cmp edx, 0xcc
je 0x180016bdf
cmp edx, 0xd1
jne 0x180016c21
cmp byte [rcx + rax + 1], 0xc0
jae 0x180016fef
jmp 0x180016a34
cmp edx, 0x85
je 0x1800181df
cmp edx, 0xc3
jne 0x180016c21
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r14], 0
je 0x180017e49
cmp ebp, dword [r9]
jbe 0x180017f7d
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180017e50
lea ebp, [rdx - 0xe8]
cmp ebp, 2
jb 0x18001824b
cmp edx, 0xf6
je 0x1800182a4
lea ebp, [rdx - 0x73]
cmp bpl, 2
jbe 0x180017b52
cmp dl, 0xff
jne 0x180017b9f
movzx ebp, byte [rcx + rax + 1]
mov edx, ebp
shr edx, 3
and edx, 7
cmp bpl, 0xc0
jb 0x180017c3b
cmp edx, 6
jne 0x180017cb3
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r14], 0
je 0x180017d2a
cmp ebp, dword [r9]
ja 0x180017d32
mov rbp, qword [r11]
movzx eax, word [rcx + rax]
mov word [rbp + rdx], ax
add dword [r15], 2
add dword [rdi], 2
jmp 0x18001671c
mov r12, r11
mov dword [rsp + 0x5c], r10d
mov qword [rsp + 0x60], r9
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r14], 0
je 0x180016f01
mov rbx, qword [rsp + 0x60]
cmp ebp, dword [rbx]
jbe 0x1800170b9
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180016f08
mov r12, r11
mov dword [rsp + 0x5c], r10d
mov rbx, r9
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r14], 0
je 0x180016da5
cmp ebp, dword [rbx]
jbe 0x180016ec3
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180016dac
mov ebx, r10d
movzx edx, byte [rcx + rax]
cmp edx, 0xcc
je 0x180016d0d
cmp edx, 0x90
jne 0x1800175cb
inc rax
mov rdx, qword [rsp + 0x40]
mov dword [rdx], eax
cmp rax, qword [rsp + 0x88]
jb 0x180016cf5
mov r10d, ebx
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x30]
jmp 0x180016834
mov r12, r11
mov dword [rsp + 0x5c], r10d
mov rbx, r9
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r14], 0
je 0x180016f98
cmp ebp, dword [rbx]
jbe 0x1800170d0
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180016f9f
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r14], 0
je 0x180016fc6
cmp ebp, dword [r9]
jbe 0x1800170e7
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180016fcd
mov dword [r15], ebp
jmp 0x18001664c
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x18001664c
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdx, qword [rsp + 0x68]
inc dword [rdx + 0x10]
mov rcx, qword [rsp + 0x70]
xor r8d, r8d
call fcn.180073b10
test eax, eax
mov r14, qword [rsp + 0x30]
js 0x180016a34
mov esi, eax
mov ecx, dword [r14 + 0x20]
lea eax, [rcx + rsi]
cmp qword [r14], 0
je 0x180016def
cmp eax, dword [rbx]
jbe 0x180016eda
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180016df6
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rdi, qword [rsp + 0x40]
add dword [rdi], esi
mov r15, qword [rsp + 0x28]
mov r13d, dword [rsp + 0x3c]
mov r9, rbx
mov r10d, dword [rsp + 0x5c]
mov r11, r12
jmp 0x180016712
cmp byte [rdx + r8 + 1], 0xc0
jb 0x180016a34
mov ecx, dword [r14 + 0x20]
lea eax, [rcx + 2]
cmp qword [r14], 0
je 0x1800171f2
cmp eax, dword [r9]
ja 0x180017005
mov rax, qword [r11]
movzx edx, word [rdx + r8]
mov word [rax + rcx], dx
jmp 0x180017109
mov r12, r11
mov dword [rsp + 0x5c], r10d
mov qword [rsp + 0x60], r9
mov eax, ebp
and al, 0xf8
cmp al, 0xb8
jne 0x18001701e
mov rbp, qword [rsp + 0x30]
mov ecx, dword [rbp + 0x20]
lea eax, [rcx + 9]
cmp qword [rbp], 0
je 0x180017431
mov rbp, qword [rsp + 0x60]
cmp eax, dword [rbp]
jbe 0x18001749a
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180017438
mov r14, r11
mov r12d, r10d
mov rbx, r9
mov r15, qword [rsp + 0x28]
mov dword [r15], eax
mov r13d, dword [rsp + 0x3c]
jmp 0x180016702
mov r14, r11
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180016702
mov rbp, qword [r12]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x180016dac
mov rax, qword [rsp + 0x40]
mov edx, dword [rax]
mov rax, qword [rsp + 0x48]
add rdx, qword [rax]
mov r8d, esi
add rcx, qword [r12]
call fcn.180091e30
mov rax, qword [rsp + 0x28]
add dword [rax], esi
jmp 0x180016df6
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rcx, qword [rsp + 0x40]
mov edx, dword [rcx]
lea eax, [rdx + 1]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
movzx ebp, byte [rcx + rax]
lea ebx, [rbp - 0x10]
cmp ebx, 2
jb 0x180016f69
cmp ebp, 5
je 0x180017243
cmp ebp, 0x1f
jne 0x180017272
mov rbx, qword [rsp + 0x30]
mov edx, dword [rbx + 0x20]
lea ebp, [rdx + 1]
cmp qword [rbx], 0
je 0x18001755f
mov rbx, qword [rsp + 0x60]
cmp ebp, dword [rbx]
jbe 0x180017617
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180017566
mov rbx, qword [rsp + 0x30]
mov edx, dword [rbx + 0x20]
lea ebp, [rdx + 1]
cmp qword [rbx], 0
je 0x180017389
mov rbx, qword [rsp + 0x60]
cmp ebp, dword [rbx]
jbe 0x18001741a
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180017390
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx]
inc eax
mov dword [rcx], eax
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
cmp byte [rcx + rax], 0x89
mov r14, qword [rsp + 0x30]
je 0x180016ccc
jmp 0x180016a34
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx]
inc eax
mov dword [rcx], eax
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
cmp byte [rcx + rax], 0x33
mov r14, qword [rsp + 0x30]
jne 0x180016a34
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r14], 0
je 0x180017012
cmp ebp, dword [r9]
jbe 0x1800170fd
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180017111
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
jmp 0x180017111
cmp ebp, 0xc6
jg 0x1800172fc
cmp ebp, 0x63
je 0x1800174bc
cmp ebp, 0x8d
mov r14, qword [rsp + 0x30]
jne 0x180016a34
mov bl, byte [rdx + r8 + 1]
mov eax, ebx
and al, 0xc7
cmp al, 5
jne 0x1800177ee
lea ebp, [rcx + 3]
mov rax, qword [rsp + 0x40]
mov dword [rax], ebp
movsxd r8, dword [rdx + rbp]
add ecx, 7
mov dword [rax], ecx
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
mov ecx, dword [rax + 0x20]
je 0x1800179c1
mov rax, qword [rsp + 0x60]
mov eax, dword [rax]
cmp ecx, eax
jae 0x180017a21
shr bl, 3
or bl, 0xb8
mov rdi, qword [rsp + 0x30]
mov rax, qword [rdi + 0x10]
mov byte [rax + rcx], bl
mov ecx, dword [rdi + 0x20]
inc ecx
mov dword [rdi + 0x20], ecx
cmp qword [rdi], 0
je 0x1800179c3
mov rax, qword [rsp + 0x60]
mov eax, dword [rax]
jmp 0x180017a29
mov rbp, qword [r12]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x180016f08
mov rbp, qword [r12]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x180016f9f
mov rbp, qword [r11]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x180016fcd
mov rbp, qword [r11]
movzx eax, word [rcx + rax]
mov word [rbp + rdx], ax
mov rax, qword [rsp + 0x28]
add dword [rax], 2
mov rdi, qword [rsp + 0x40]
add dword [rdi], 2
mov r15, qword [rsp + 0x28]
mov r13d, dword [rsp + 0x3c]
jmp 0x180016712
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
jmp 0x1800164a1
mov byte [r14 + 0x2c], 0
xor eax, eax
jmp 0x180016478
mov r15, qword [rsp + 0x28]
mov dword [r15], edx
jmp 0x180016520
mov byte [r14 + 0x2c], 0
xor eax, eax
jmp 0x1800164f7
lea rax, str.MOZ_RELEASE_ASSERT_isSome___
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
lea rax, str.MOZ_RELEASE_ASSERT_effectiveLength___Cannot_Promote_a_zero_length_function_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xc0]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x80]
mov r8, rbx
call fcn.180073cd0
test al, al
jne 0x180016917
jmp 0x18001698e
mov rcx, rdi
call qword [0x1800a3070]
jmp 0x180016a23
call qword [0x1800a3070]
jmp 0x180016a34
mov dword [r14 + 0x20], 0
mov rcx, r14
xor edx, edx
call fcn.180073880
jmp 0x180016a46
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
jmp 0x180017111
test ebp, ebp
jne 0x18001748b
mov ebp, eax
and ebp, 7
cmp ebp, 5
je 0x180017889
mov esi, 1
cmp ebp, 4
mov r14, qword [rsp + 0x30]
jne 0x1800166b5
mov cl, byte [rdx + rdi + 1]
and cl, 7
xor ebp, ebp
cmp cl, 5
sete bpl
lea esi, [rbp*4 + 1]
jmp 0x1800166b5
mov rbx, qword [rsp + 0x30]
mov edx, dword [rbx + 0x20]
lea ebp, [rdx + 1]
cmp qword [rbx], 0
je 0x1800175b8
mov rbx, qword [rsp + 0x60]
cmp ebp, dword [rbx]
jbe 0x18001762e
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x1800175bf
lea eax, [rbp + 0x7d]
cmp al, 2
mov r15, qword [rsp + 0x28]
mov r13d, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x30]
ja 0x180016a34
lea rax, [0x180093c58]
add edx, 2
mov dword [rdi], edx
dec dword [r14 + 0x20]
mov r8d, dword [rax + rbp*4 - 0x20c]
mov eax, dword [rdi]
mov rcx, qword [rsi]
lea rdx, [rcx + rax]
movsxd rcx, dword [rcx + rax]
lea rdx, [rcx + rdx + 4]
add eax, 4
mov dword [rdi], eax
mov rcx, r14
call fcn.1800189f0
mov r11, r12
mov r10d, dword [rsp + 0x5c]
mov r9, qword [rsp + 0x60]
test al, al
jne 0x18001671c
jmp 0x180016a34
mov dword [r15], ebp
jmp 0x180016779
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180016779
cmp ebp, 0xff
je 0x1800174f9
cmp ebp, 0xc7
mov r14, qword [rsp + 0x30]
jne 0x180016a34
cmp byte [rdx + r8 + 1], 0x44
jne 0x180016a34
mov ecx, dword [r14 + 0x20]
lea eax, [rcx + 8]
cmp qword [r14], 0
je 0x1800178fc
mov rbp, qword [rsp + 0x60]
cmp eax, dword [rbp]
jbe 0x180017919
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180017903
mov r12, r11
mov dword [rsp + 0x5c], r10d
mov qword [rsp + 0x60], r9
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r14], 0
je 0x180017645
mov rbx, qword [rsp + 0x60]
cmp ebp, dword [rbx]
jbe 0x180017785
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x18001764c
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdx, qword [rsp + 0x68]
inc dword [rdx + 0x10]
mov rcx, qword [rsp + 0x70]
xor r8d, r8d
call fcn.180073b10
test eax, eax
mov r14, qword [rsp + 0x30]
js 0x180016a34
mov esi, eax
mov ecx, dword [r14 + 0x20]
lea eax, [rcx + rsi]
cmp qword [r14], 0
je 0x1800173d4
mov rdx, qword [rsp + 0x60]
cmp eax, dword [rdx]
jbe 0x1800173f6
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x1800173db
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rdi, qword [rsp + 0x40]
add dword [rdi], esi
mov r15, qword [rsp + 0x28]
mov r13d, dword [rsp + 0x3c]
mov r9, qword [rsp + 0x60]
jmp 0x180016e0a
mov rax, qword [rsp + 0x40]
mov edx, dword [rax]
mov rax, qword [rsp + 0x48]
add rdx, qword [rax]
mov r8d, esi
add rcx, qword [r12]
call fcn.180091e30
mov rax, qword [rsp + 0x28]
add dword [rax], esi
jmp 0x1800173db
mov rbp, qword [r12]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x180017390
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rdi, qword [rsp + 0x40]
add dword [rdi], 9
jmp 0x1800173e2
cmp eax, 0x60
jne 0x18001772c
mov rsi, qword [rsp + 0x30]
mov ecx, dword [rsi + 0x20]
lea eax, [rcx + 5]
cmp qword [rsi], 0
je 0x180017951
cmp eax, dword [r9]
jbe 0x18001799a
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x1800179b4
mov dword [r15], eax
jmp 0x1800167c3
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x1800167c3
mov esi, 5
mov r14, qword [rsp + 0x30]
jmp 0x1800166b5
add rdx, r8
mov rax, qword [r12]
mov bl, byte [rdx + 8]
mov byte [rax + rcx + 8], bl
mov rdx, qword [rdx]
mov qword [rax + rcx], rdx
mov rax, qword [rsp + 0x28]
add dword [rax], 9
jmp 0x180017438
cmp byte [rdx + r8 + 1], 0xc0
mov r14, qword [rsp + 0x30]
jb 0x180016a34
mov ecx, dword [r14 + 0x20]
lea eax, [rcx + 2]
cmp qword [r14], 0
je 0x180017910
mov rbp, qword [rsp + 0x60]
cmp eax, dword [rbp]
jbe 0x18001792f
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180017944
mov al, byte [rdx + r8 + 1]
and al, 0xc7
cmp al, 5
mov r15, qword [rsp + 0x28]
mov r13d, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x30]
jne 0x180016a34
add ecx, 3
mov dword [rdi], ecx
dec dword [r14 + 0x20]
mov eax, dword [rdi]
mov rcx, qword [rsi]
lea rdx, [rcx + rax]
movsxd rcx, dword [rcx + rax]
add eax, 4
mov dword [rdi], eax
mov rdx, qword [rcx + rdx + 4]
mov rcx, r14
mov r8d, 3
call fcn.1800189f0
mov r11, r12
mov r9, qword [rsp + 0x60]
mov r10b, 1
jmp 0x1800172da
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
inc ecx
mov dword [rax], ecx
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov dl, byte [rax + rcx]
and dl, 0xc7
cmp dl, 0x44
mov r14, qword [rsp + 0x30]
jne 0x180016a34
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 3]
cmp qword [r14], 0
je 0x180017986
mov rbx, qword [rsp + 0x60]
cmp ebp, dword [rbx]
jbe 0x180017763
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x18001798d
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdi, qword [rsp + 0x40]
inc dword [rdi]
jmp 0x1800173e2
cmp qword [rsp + 0x80], 0
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x30]
je 0x180016a34
mov rcx, qword [rsp + 0x80]
call fcn.180073ac0
test al, al
je 0x180016a34
mov r10d, ebx
mov eax, dword [rdi]
mov cl, 1
mov dword [rsp + 0x7c], ecx
cmp eax, 9
ja 0x180016834
jmp 0x180016a34
mov rbp, qword [r12]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x180017566
mov rbp, qword [r12]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x1800175bf
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
inc ecx
mov dword [rax], ecx
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov bl, byte [rax + rcx]
mov edx, ebx
and dl, 0xfc
cmp dl, 0x88
jne 0x1800176e9
movzx ebx, byte [rax + rcx + 1]
mov edx, ebx
and edx, 0xffffffc0
cmp dl, 0xc0
je 0x180017855
cmp edx, 0x40
mov r14, qword [rsp + 0x30]
je 0x1800176ad
test edx, edx
jne 0x180016a34
mov ebp, ebx
and ebp, 6
cmp ebp, 4
jne 0x180017855
cmp edx, 0x40
mov r14, qword [rsp + 0x30]
jne 0x180016a34
and ebx, 7
add rax, rcx
mov rdx, qword [r14]
mov ecx, dword [r14 + 0x20]
cmp ebx, 4
jne 0x18001795a
lea ebp, [rcx + 4]
test rdx, rdx
je 0x180017dc7
mov rdx, qword [rsp + 0x60]
cmp ebp, dword [rdx]
jbe 0x180017e36
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180017dce
cmp bl, 0x44
jne 0x180017a3c
cmp byte [rax + rcx + 1], 0x89
jne 0x180017a3c
mov rbx, qword [rsp + 0x30]
mov edx, dword [rbx + 0x20]
lea ebp, [rdx + 2]
cmp qword [rbx], 0
je 0x180017db2
mov rbx, qword [rsp + 0x60]
cmp ebp, dword [rbx]
jbe 0x180017e1f
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180017db9
cmp eax, 0xc0
mov r14, qword [rsp + 0x30]
jne 0x180016a34
mov ecx, dword [r14 + 0x20]
lea eax, [rcx + 3]
cmp qword [r14], 0
je 0x180017a86
cmp eax, dword [r9]
jbe 0x180017d74
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180017a8d
add rax, rcx
mov rcx, qword [r12]
mov bl, byte [rax + 2]
mov byte [rcx + rdx + 2], bl
movzx eax, word [rax]
mov word [rcx + rdx], ax
mov rax, qword [rsp + 0x28]
add dword [rax], 3
jmp 0x18001798d
mov rbp, qword [r12]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x18001764c
mov dword [r15], ebp
jmp 0x1800167f2
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x1800167f2
and bl, 0xf8
cmp bl, 0xb8
jne 0x180016a34
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 5]
cmp qword [r14], 0
je 0x180017ee6
cmp ebp, dword [r9]
ja 0x180017469
add rax, rcx
mov rcx, qword [r11]
mov bl, byte [rax + 4]
mov byte [rcx + rdx + 4], bl
mov eax, dword [rax]
mov dword [rcx + rdx], eax
jmp 0x1800179ac
add ecx, 2
mov rax, qword [rsp + 0x68]
mov rbp, qword [rax]
lea rax, [rsp + 0xc0]
mov qword [rax], rbp
add rdx, rcx
mov qword [rax + 8], rdx
mov dword [rax + 0x10], 0
mov rcx, qword [rsp + 0x70]
mov rdx, rax
xor r8d, r8d
call fcn.180073b10
lea ebp, [rax + 1]
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
lea eax, [rcx + rax + 1]
je 0x180017c28
mov rdx, qword [rsp + 0x60]
cmp eax, dword [rdx]
jbe 0x180017a62
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180017c2f
mov rbx, qword [rsp + 0x30]
mov edx, dword [rbx + 0x20]
lea ebp, [rdx + 2]
cmp qword [rbx], 0
je 0x1800179d0
mov rbx, qword [rsp + 0x60]
cmp ebp, dword [rbx]
ja 0x1800174ec
mov rbp, qword [r12]
movzx eax, word [rax + rcx]
mov word [rbp + rdx], ax
jmp 0x18001793c
shr al, 3
lea ebp, [rcx + 3]
lea rbx, [rdx + rbp]
add ecx, 7
mov r8d, eax
mov rsi, qword [rsp + 0x40]
mov dword [rsi], ebp
movsxd rdx, dword [rdx + rbp]
add rdx, rbx
add rdx, 4
mov dword [rsi], ecx
and r8b, 7
je 0x1800179dc
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ebp, dword [rcx + 0x20]
je 0x180017d95
mov ecx, dword [r9]
cmp ebp, ecx
jae 0x180017ddb
or al, 0xb8
mov rsi, qword [rsp + 0x30]
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rbp], al
mov ebp, dword [rsi + 0x20]
inc ebp
mov dword [rsi + 0x20], ebp
cmp qword [rsi], 0
je 0x180017d97
mov ecx, dword [r9]
jmp 0x180017de3
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rdi, qword [rsp + 0x40]
add dword [rdi], 8
jmp 0x1800173e2
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
jmp 0x180017944
mov rax, qword [r12]
mov rdx, qword [rdx + r8]
mov qword [rax + rcx], rdx
mov rax, qword [rsp + 0x28]
add dword [rax], 8
jmp 0x180017903
mov rax, qword [r12]
movzx edx, word [rdx + r8]
mov word [rax + rcx], dx
mov rax, qword [rsp + 0x28]
add dword [rax], 2
mov rdi, qword [rsp + 0x40]
add dword [rdi], 2
jmp 0x1800173e2
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
jmp 0x1800179b4
lea ebp, [rcx + 3]
test rdx, rdx
je 0x180017986
mov rdx, qword [rsp + 0x60]
cmp ebp, dword [rdx]
ja 0x1800175ab
mov rdx, qword [r12]
mov bl, byte [rax + 2]
mov byte [rdx + rcx + 2], bl
movzx eax, word [rax]
mov word [rdx + rcx], ax
jmp 0x180017778
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdi, qword [rsp + 0x40]
add dword [rdi], 3
jmp 0x1800173e2
add rdx, r8
mov rax, qword [r11]
mov bl, byte [rdx + 4]
mov byte [rax + rcx + 4], bl
mov edx, dword [rdx]
mov dword [rax + rcx], edx
mov rax, qword [rsp + 0x28]
add dword [rax], 5
mov rdi, qword [rsp + 0x40]
add dword [rdi], 5
jmp 0x180017119
inc ecx
add ecx, 8
mov r15, qword [rsp + 0x28]
mov dword [r15], ecx
jmp 0x180017a41
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
jmp 0x180017944
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
mov eax, dword [rax + 0x20]
je 0x180017f93
mov ecx, dword [r9]
cmp eax, ecx
jae 0x180017fde
mov rbp, qword [rsp + 0x30]
mov rcx, qword [rbp + 0x10]
mov byte [rcx + rax], 0xa1
mov eax, dword [rbp + 0x20]
inc eax
mov dword [rbp + 0x20], eax
cmp qword [rbp], 0
je 0x180017f95
mov ecx, dword [r9]
jmp 0x180017fe7
mov rbx, qword [rsp + 0x50]
mov byte [rbx], 0
lea ebx, [rcx + 8]
cmp ebx, eax
jbe 0x180017d3f
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
mov r15, qword [rsp + 0x28]
mov r13d, dword [rsp + 0x3c]
mov r9, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x5c]
mov r11, r12
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
jmp 0x180016717
mov rax, qword [rsp + 0x68]
mov edx, dword [rax + 0x10]
add rdx, qword [rax + 8]
mov r8d, ebp
add rcx, qword [r12]
call fcn.180091e30
mov rax, qword [rsp + 0x28]
add dword [rax], ebp
jmp 0x180017c2f
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rdi, qword [rsp + 0x40]
add dword [rdi], 3
jmp 0x180017119
mov dword [r15], eax
jmp 0x180016af0
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180016af0
cmp byte [rcx + rax + 1], 0x3d
jne 0x180016a34
add eax, 2
mov dword [rdi], eax
cmp qword [r14], 0
mov eax, dword [r14 + 0x20]
je 0x180018004
mov ecx, dword [r9]
cmp eax, ecx
jae 0x18001811e
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rdx + 0x20]
inc eax
mov dword [rdx + 0x20], eax
cmp qword [rdx], 0
je 0x180018006
mov ecx, dword [r9]
jmp 0x180018126
cmp byte [rcx + rax + 1], 0x48
jne 0x180016a34
mov dl, byte [rcx + rax + 2]
and dl, 0xfc
cmp dl, 0x88
jne 0x180016a34
mov r12, r11
mov dword [rsp + 0x5c], r10d
mov qword [rsp + 0x60], r9
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 3]
cmp qword [r14], 0
je 0x1800180c6
mov rbx, qword [rsp + 0x60]
cmp ebp, dword [rbx]
jbe 0x18001819a
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x1800180cd
lea rbp, [0x180093c58]
mov r8d, dword [rbp + rdx*4 - 0x1cc]
movzx ebp, byte [rcx + rax + 1]
lea edx, [rax + 2]
mov dword [rdi], edx
add rdx, rcx
add rdx, rbp
mov rcx, r14
mov rbx, r9
mov ebp, r10d
mov r14, r11
call fcn.1800189f0
mov r11, r14
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov r10d, ebp
mov r9, rbx
jmp 0x1800172da
mov r12, r11
mov dword [rsp + 0x5c], r10d
mov qword [rsp + 0x60], r9
cmp edx, 0xc6
jne 0x180017e86
mov rdx, qword [rsp + 0x68]
mov rbp, qword [rdx]
lea rdx, [rsp + 0xc0]
mov qword [rdx], rbp
add rax, rcx
inc rax
mov qword [rdx + 8], rax
mov dword [rdx + 0x10], 0
mov rcx, qword [rsp + 0x70]
xor r8d, r8d
call fcn.180073b10
test eax, eax
mov r14, qword [rsp + 0x30]
js 0x180016a34
lea ebp, [rax + 2]
cmp qword [r14], 0
mov ecx, dword [r14 + 0x20]
lea eax, [rcx + rax + 2]
je 0x180017c28
mov rdx, qword [rsp + 0x60]
cmp eax, dword [rdx]
ja 0x180017848
mov rax, qword [rsp + 0x40]
mov edx, dword [rax]
mov rax, qword [rsp + 0x48]
add rdx, qword [rax]
jmp 0x180017a6e
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rdi, qword [rsp + 0x40]
add dword [rdi], ebp
jmp 0x1800173e2
mov r12, r11
mov dword [rsp + 0x5c], r10d
mov rbx, r9
and bpl, 0xc7
cmp bpl, 5
jne 0x180017ef2
cmp dl, 2
jne 0x180017ef2
lea edx, [rax + 2]
mov rdi, qword [rsp + 0x40]
mov dword [rdi], edx
lea rbp, [rcx + rdx]
movsxd rcx, dword [rcx + rdx]
add eax, 6
mov dword [rdi], eax
mov rdx, qword [rcx + rbp + 4]
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 4
call fcn.1800189f0
test al, al
mov r15, qword [rsp + 0x28]
mov r13d, dword [rsp + 0x3c]
mov r9, rbx
mov r10d, dword [rsp + 0x5c]
mov r11, r12
mov rsi, qword [rsp + 0x48]
jne 0x18001671c
jmp 0x180016a34
mov r12, r11
mov rbx, r9
cmp edx, 4
jne 0x180017f50
mov rdx, qword [rsp + 0x68]
mov rbp, qword [rdx]
lea rdx, [rsp + 0xc0]
mov qword [rdx], rbp
add rax, rcx
inc rax
mov qword [rdx + 8], rax
mov dword [rdx + 0x10], 0
mov rcx, qword [rsp + 0x70]
xor r8d, r8d
call fcn.180073b10
test eax, eax
mov r14, qword [rsp + 0x30]
js 0x180016a34
lea ebp, [rax + 1]
cmp qword [r14], 0
mov ecx, dword [r14 + 0x20]
lea eax, [rcx + rax + 1]
je 0x1800181bc
cmp eax, dword [rbx]
jbe 0x180018380
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x1800181c3
mov dword [r15], ebp
jmp 0x180016c81
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180016c81
add rdx, rbp
lea rax, [r8 + rdx]
add rax, 4
mov r11, r12
mov rdx, qword [r12]
mov ecx, ecx
mov qword [rdx + rcx], rax
mov r15, qword [rsp + 0x28]
add dword [r15], 8
mov r13d, dword [rsp + 0x3c]
mov r9, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x5c]
jmp 0x180017a53
add rdx, r8
mov rax, qword [r11]
mov bl, byte [rdx + 2]
mov byte [rax + rcx + 2], bl
movzx edx, word [rdx]
mov word [rax + rcx], dx
mov rax, qword [rsp + 0x28]
add dword [rax], 3
jmp 0x180017a8d
inc ebp
add ebp, 8
inc ebp
inc ebp
inc ebp
mov r15, qword [rsp + 0x28]
mov dword [r15], ebp
mov r13d, dword [rsp + 0x3c]
jmp 0x180017a53
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdx, qword [rsp + 0x68]
add dword [rdx + 0x10], 2
jmp 0x180017398
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdi, qword [rsp + 0x40]
add dword [rdi], 4
jmp 0x1800173e2
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
lea eax, [rbp + 8]
cmp eax, ecx
jbe 0x180017e5c
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ebp, ecx
jae 0x180017fa5
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x10]
mov ecx, ebp
mov byte [rax + rcx], 0x48
mov ebp, dword [rdx + 0x20]
inc ebp
mov dword [rdx + 0x20], ebp
cmp qword [rdx], 0
je 0x180017d9c
mov ecx, dword [r9]
jmp 0x180017fad
mov rbp, qword [r12]
movzx eax, word [rax + rcx]
mov word [rbp + rdx], ax
mov rax, qword [rsp + 0x28]
add dword [rax], 2
jmp 0x180017db9
mov rdx, qword [r12]
mov eax, dword [rax]
mov dword [rdx + rcx], eax
mov rax, qword [rsp + 0x28]
add dword [rax], 4
jmp 0x180017dce
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdi, qword [rsp + 0x40]
inc dword [rdi]
jmp 0x180017119
mov rsi, qword [rsp + 0x30]
mov rax, qword [rsi + 0x10]
mov ecx, ebp
mov qword [rax + rcx], rdx
mov ebp, dword [rsi + 0x20]
add ebp, 8
mov dword [rsi + 0x20], ebp
cmp qword [rsi], 0
je 0x180017d9a
mov ecx, dword [r9]
jmp 0x180017df2
cmp edx, 0x83
mov r14, qword [rsp + 0x30]
jne 0x180016a34
mov dl, byte [rcx + rax + 1]
and dl, 0xf8
cmp dl, 0x60
mov r9, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x5c]
mov r14, qword [rsp + 0x30]
jne 0x180016a34
mov r11, r12
mov edx, dword [r14 + 0x20]
lea ebp, [rdx + 5]
cmp qword [r14], 0
je 0x180017ee6
cmp ebp, dword [r9]
ja 0x180017469
add rcx, rax
mov rax, qword [r11]
mov bl, byte [rcx + 4]
mov byte [rax + rdx + 4], bl
mov ecx, dword [rcx]
mov dword [rax + rdx], ecx
jmp 0x1800179ac
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
jmp 0x1800179b4
cmp dl, 4
mov r14, qword [rsp + 0x30]
jne 0x180016a34
cmp bpl, 5
jne 0x180017cc2
lea edx, [rax + 2]
mov rdi, qword [rsp + 0x40]
mov dword [rdi], edx
lea rbp, [rcx + rdx]
movsxd rcx, dword [rcx + rdx]
add eax, 6
mov dword [rdi], eax
mov rdx, qword [rcx + rbp + 4]
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 3
call fcn.1800189f0
mov r10b, 1
test al, al
mov r15, qword [rsp + 0x28]
mov r13d, dword [rsp + 0x3c]
mov r9, rbx
jmp 0x180017ca0
cmp edx, 2
mov r15, qword [rsp + 0x28]
mov r13d, dword [rsp + 0x3c]
mov r9, rbx
mov r11, r12
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x30]
ja 0x180016a34
jmp 0x180016c57
mov rbp, qword [r11]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x180017e50
inc eax
add eax, 8
mov r15, qword [rsp + 0x28]
mov dword [r15], eax
jmp 0x180017da8
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ebp, ecx
jae 0x1800180db
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x10]
mov ecx, ebp
mov byte [rax + rcx], 0x8b
mov ebp, dword [rdx + 0x20]
inc ebp
mov dword [rdx + 0x20], ebp
cmp qword [rdx], 0
je 0x180017d9e
mov ecx, dword [r9]
jmp 0x1800180e3
mov rbp, qword [rsp + 0x50]
mov byte [rbp], 0
lea ebp, [rax + 8]
cmp ebp, ecx
jbe 0x180018107
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
mov r15, qword [rsp + 0x28]
jmp 0x180017da8
inc eax
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x40]
mov edx, dword [rcx]
mov rax, qword [rsp + 0x48]
mov rbp, qword [rax]
movsxd r8, dword [rbp + rdx]
lea eax, [rdx + 4]
mov dword [rcx], eax
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
mov eax, dword [rax + 0x20]
je 0x180018064
mov ecx, dword [r9]
cmp eax, ecx
jae 0x180018143
mov rsi, qword [rsp + 0x30]
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x180018066
mov ecx, dword [r9]
jmp 0x18001814b
inc eax
inc eax
add eax, 8
inc eax
inc eax
inc eax
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rax, qword [rsp + 0x40]
inc dword [rax]
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
mov eax, dword [rax + 0x20]
je 0x1800180bd
mov ecx, dword [r9]
cmp eax, ecx
jae 0x18001817c
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rdx + 0x20]
inc eax
mov dword [rdx + 0x20], eax
cmp qword [rdx], 0
je 0x1800180bf
mov ecx, dword [r9]
jmp 0x180018184
inc eax
inc eax
jmp 0x180017f98
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdx, qword [rsp + 0x68]
add dword [rdx + 0x10], 3
jmp 0x180017398
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ebp, ecx
jae 0x180017ff2
movzx eax, r8b
lea eax, [rax + rax*8]
mov rcx, qword [r11]
mov edx, ebp
mov byte [rcx + rdx], al
mov r15, qword [rsp + 0x28]
inc dword [r15]
jmp 0x180017da8
mov rcx, qword [r11]
mov eax, eax
mov qword [rcx + rax], rdx
mov r15, qword [rsp + 0x28]
add dword [r15], 8
jmp 0x180017da8
mov rdx, qword [rsp + 0x50]
mov byte [rdx], 0
cmp eax, ecx
jae 0x18001832e
mov rcx, qword [r11]
mov eax, eax
mov byte [rcx + rax], 0x53
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x18001800f
mov rbx, qword [rsp + 0x50]
mov byte [rbx], 0
cmp eax, ecx
jae 0x18001833b
mov rsi, qword [rsp + 0x30]
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0xbb
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x180018068
mov ecx, dword [r9]
jmp 0x180018343
mov rdx, qword [rsp + 0x50]
mov byte [rdx], 0
cmp eax, ecx
jae 0x180017ff2
mov rcx, qword [r11]
mov eax, eax
mov byte [rcx + rax], 0x5b
jmp 0x1800180fa
add rcx, rax
mov rax, qword [r12]
mov bl, byte [rcx + 2]
mov byte [rax + rdx + 2], bl
movzx ecx, word [rcx]
mov word [rax + rdx], cx
mov rax, qword [rsp + 0x28]
add dword [rax], 3
jmp 0x1800180cd
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rdi, qword [rsp + 0x40]
add dword [rdi], ebp
mov r10b, 1
mov r15, qword [rsp + 0x28]
mov r13d, dword [rsp + 0x3c]
mov r9, rbx
jmp 0x180016e0f
mov rdx, qword [rsp + 0x68]
mov rbp, qword [rdx]
lea rdx, [rsp + 0xc0]
mov qword [rdx], rbp
add rax, rcx
inc rax
mov qword [rdx + 8], rax
mov dword [rdx + 0x10], 0
mov rcx, qword [rsp + 0x70]
xor r8d, r8d
mov rbx, r9
mov r12d, r10d
mov rbp, r11
call fcn.180073b10
test eax, eax
js 0x180016a34
lea esi, [rax + 1]
cmp qword [r14], 0
mov ecx, dword [r14 + 0x20]
lea eax, [rcx + rax + 1]
je 0x18001847c
cmp eax, dword [rbx]
jbe 0x1800184cb
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x180018483
xor ebp, ebp
cmp dl, 0xe9
sete bpl
lea rdx, [rax + 1]
mov dword [rdi], edx
mov r8d, 4
sub r8d, ebp
lea rdx, [rcx + rax]
inc rdx
movsxd rcx, dword [rcx + rax + 1]
lea rdx, [rcx + rdx + 4]
add eax, 5
mov dword [rdi], eax
mov rcx, r14
mov r14, r9
mov rbx, r11
call fcn.1800189f0
mov r11, rbx
mov r10d, ebp
mov r9, r14
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
jmp 0x1800172da
mov r12, r11
mov dword [rsp + 0x5c], r10d
mov rbx, r9
lea r8, [rsp + 0x90]
mov byte [r8], 0
mov rdx, qword [rsp + 0x68]
mov rbp, qword [rdx]
lea rdx, [rsp + 0xc0]
mov qword [rdx], rbp
lea rax, [rax + rcx + 1]
mov qword [rdx + 8], rax
mov dword [rdx + 0x10], 0
mov rcx, qword [rsp + 0x70]
call fcn.180073b10
test eax, eax
js 0x180018324
cmp byte [rsp + 0x90], 0
jne 0x180018324
lea ebp, [rax + 2]
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
lea eax, [rcx + rax + 2]
je 0x1800184a2
cmp eax, dword [rbx]
jbe 0x1800184ef
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x1800184a9
mov r14, qword [rsp + 0x30]
jmp 0x180016a34
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x18001800f
mov rbx, qword [rsp + 0x50]
mov byte [rbx], 0
lea ebx, [rax + 8]
cmp ebx, ecx
jbe 0x1800183a7
mov rdx, qword [rsp + 0x50]
mov byte [rdx], 0
cmp eax, ecx
jae 0x1800183dd
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x41
mov eax, dword [rdx + 0x20]
inc eax
mov dword [rdx + 0x20], eax
cmp qword [rdx], 0
je 0x18001806d
mov ecx, dword [r9]
jmp 0x1800183e5
mov rax, qword [rsp + 0x40]
mov edx, dword [rax]
mov rax, qword [rsp + 0x48]
add rdx, qword [rax]
mov r8d, ebp
add rcx, qword [r12]
call fcn.180091e30
mov rax, qword [rsp + 0x28]
add dword [rax], ebp
jmp 0x1800181c3
add rbp, rdx
lea rcx, [r8 + rbp]
add rcx, 4
mov rbp, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x10]
mov eax, eax
mov qword [rdx + rax], rcx
mov eax, dword [rbp + 0x20]
add eax, 8
mov dword [rbp + 0x20], eax
cmp qword [rbp], 0
je 0x18001806b
mov ecx, dword [r9]
jmp 0x180018352
mov rdx, qword [rsp + 0x50]
mov byte [rdx], 0
cmp eax, ecx
jae 0x18001840f
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x80
mov eax, dword [rdx + 0x20]
inc eax
mov dword [rdx + 0x20], eax
cmp qword [rdx], 0
je 0x18001806f
mov ecx, dword [r9]
jmp 0x180018417
mov rdx, qword [rsp + 0x50]
mov byte [rdx], 0
cmp eax, ecx
jae 0x180018450
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x3b
mov eax, dword [rdx + 0x20]
inc eax
mov dword [rdx + 0x20], eax
cmp qword [rdx], 0
je 0x180018071
mov rcx, qword [rsp + 0x40]
mov edx, dword [rcx]
mov rcx, qword [rsp + 0x48]
add rdx, qword [rcx]
mov ecx, dword [r9]
jmp 0x180018468
mov rdx, qword [rsp + 0x50]
mov byte [rdx], 0
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
mov rbp, qword [rsp + 0x48]
add rdx, qword [rbp]
lea ebp, [rax + 1]
cmp ebp, ecx
jbe 0x1800184b5
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x18001807a
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rdi, qword [rsp + 0x40]
add dword [rdi], esi
mov r15, qword [rsp + 0x28]
mov r13d, dword [rsp + 0x3c]
mov r9, rbx
mov r10d, r12d
mov r11, rbp
jmp 0x180016712
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rdi, qword [rsp + 0x40]
add dword [rdi], ebp
jmp 0x180016dfd
mov rcx, qword [r11]
mov eax, eax
mov dl, byte [rdx]
mov byte [rcx + rax], dl
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x18001807a
mov rax, qword [rsp + 0x40]
mov edx, dword [rax]
mov rax, qword [rsp + 0x48]
add rdx, qword [rax]
mov r8d, esi
add rcx, qword [rbp]
call fcn.180091e30
mov rax, qword [rsp + 0x28]
add dword [rax], esi
jmp 0x180018483
mov rax, qword [rsp + 0x40]
mov edx, dword [rax]
mov rax, qword [rsp + 0x48]
add rdx, qword [rax]
mov r8d, ebp
add rcx, qword [r12]
call fcn.180091e30
mov rax, qword [rsp + 0x28]
add dword [rax], ebp
jmp 0x1800184a9