Function at 0x180016340
Capabilities:
Check for software breakpoints
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x178
mov r15, r9
mov rsi, r8
mov qword [rsp + 0x78], rdx
mov rdi, rcx
mov rcx, qword [rsp + 0x1e8]
mov rax, qword [0x1800a6010]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov qword [rcx], 0
cmp qword [r9], 0
je 0x1800163b4
cmp qword [r15 + 0x10], 0
je 0x180016a42
cmp qword [r15 + 0x18], 0
je 0x180016a42
cmp dword [r15 + 8], 0
je 0x180016a42
cmp byte [r15 + 0x34], 0
je 0x180016a42
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea rcx, [r15 + 0x20]
mov qword [rsp + 0x28], rcx
mov ecx, dword [r15 + 0x20]
lea edx, [rcx + 8]
cmp qword [r15], 0
je 0x18001726d
cmp edx, dword [r15 + 0x30]
ja 0x180017279
mov rdx, qword [r15 + 0x10]
mov qword [rdx + rcx], rax
add dword [r15 + 0x20], 8
cmp qword [r15], 0
je 0x180016421
mov al, byte [r15 + 0x34]
cmp qword [r15 + 0x10], 0
je 0x180016a42
cmp qword [r15 + 0x18], 0
je 0x180016a42
cmp dword [r15 + 8], 0
je 0x180016a42
test al, al
je 0x180016a42
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x10]
add rcx, qword [rax + 8]
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [r15 + 0x20]
lea edx, [rcx + 8]
cmp qword [r15], 0
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x90], rsi
je 0x180017285
cmp edx, dword [r15 + 0x30]
ja 0x180017291
mov rdx, qword [r15 + 0x10]
mov qword [rdx + rcx], rax
add dword [r15 + 0x20], 8
cmp qword [r15], 0
mov rsi, qword [rsp + 0x28]
je 0x1800164a3
mov al, byte [r15 + 0x34]
cmp qword [r15 + 0x10], 0
je 0x180016a30
cmp qword [r15 + 0x18], 0
je 0x180016a30
cmp dword [r15 + 8], 0
je 0x180016a30
test al, al
je 0x180016a30
mov r9, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x80]
mov rdx, r15
mov r8, qword [rsp + 0x78]
call fcn.180018880
test al, al
jne 0x180016a30
mov eax, dword [r15 + 0x20]
mov dword [r15 + 0x24], eax
mov dword [r15 + 0x28], eax
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x1c], 0
je 0x1800172a2
mov rcx, qword [rsp + 0x78]
lea r13, [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 r14d, [rcx + rcx*2]
add r14d, 0xa
mov eax, dword [rdi]
cmp eax, r14d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x8c], edx
jae 0x180016812
lea r12, [r15 + 0x28]
lea r9, [r15 + 0x30]
lea r10, [r15 + 0x10]
lea rcx, [r15 + 0x34]
mov qword [rsp + 0x58], rcx
mov ecx, r14d
mov qword [rsp + 0x98], rcx
xor r11d, r11d
mov qword [rsp + 0x60], r13
mov dword [rsp + 0x44], r14d
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x48], rdi
mov rcx, qword [r13]
mov eax, eax
test r11b, 1
jne 0x180016d63
movzx edx, byte [rcx + rax]
cmp rdx, 0xf
je 0x180016cd6
mov ebx, edx
and bl, 0xfc
cmp bl, 0x88
je 0x180016d20
lea ebp, [rdx - 0x40]
cmp ebp, 2
jb 0x18001679c
cmp edx, 0x44
je 0x180016da9
cmp edx, 0x45
je 0x180016dec
mov ebx, edx
and bl, 0xfa
cmp bl, 0x48
jne 0x1800166fd
mov edx, dword [rsi]
lea ebp, [rdx + 1]
cmp edx, dword [r12]
jne 0x1800165ce
mov dword [r12], ebp
cmp qword [r15], 0
je 0x180016e23
cmp ebp, dword [r9]
ja 0x180016e2a
mov rbp, qword [r10]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
inc dword [rsi]
mov ecx, dword [rdi]
lea r8d, [rcx + 1]
mov dword [rdi], r8d
mov rdx, qword [r13]
movzx ebx, byte [rdx + r8]
cmp ebx, 0x82
jle 0x180016620
cmp ebx, 0x83
je 0x180016746
cmp ebx, 0x85
jne 0x180016635
jmp 0x180016ee2
cmp ebx, 0x81
je 0x180016aab
cmp ebx, 0x2b
je 0x180016ee2
mov eax, ebx
and al, 0xfd
cmp al, 0x89
jne 0x180016f2a
lea edi, [rcx + 2]
movzx esi, byte [rdx + rdi]
mov ebx, esi
shr ebx, 6
mov ebp, 2
cmp ebx, 1
jne 0x1800166e9
and sil, 7
xor r14d, r14d
cmp sil, 4
sete r14b
add r14d, ebp
mov rsi, qword [rsp + 0x28]
mov ecx, dword [rsi]
lea ebp, [rcx + r14]
inc ebp
cmp ecx, dword [r12]
jne 0x180016684
mov dword [r12], ebp
inc r14d
cmp qword [r15], 0
mov r13, qword [rsp + 0x60]
mov r15d, r11d
je 0x180016f88
mov rbx, r9
cmp ebp, dword [r9]
ja 0x180016f95
add rdx, r8
mov r8d, r14d
mov r12, r10
add rcx, qword [r10]
call sub.VCRUNTIME140.dll_memcpy
add dword [rsi], r14d
mov rdi, qword [rsp + 0x48]
add dword [rdi], r14d
mov r14d, dword [rsp + 0x44]
mov r9, rbx
mov r10, r12
mov r12, qword [rsp + 0x38]
mov r11d, r15d
mov r15, qword [rsp + 0x30]
mov eax, dword [rdi]
cmp eax, r14d
jb 0x180016567
jmp 0x180016815
mov r14d, 1
cmp ebx, 3
je 0x18001666d
jmp 0x18001733e
cmp dl, 0x66
je 0x1800174c5
mov ebx, edx
and bl, 0xf0
cmp bl, 0x50
jne 0x180016afd
mov edx, dword [rsi]
lea ebp, [rdx + 1]
cmp edx, dword [r12]
jne 0x180016723
mov dword [r12], ebp
cmp qword [r15], 0
je 0x180017445
cmp ebp, dword [r9]
ja 0x18001744c
mov rbp, qword [r10]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
inc dword [rsi]
inc dword [rdi]
jmp 0x1800166d9
movzx ecx, byte [rdx + r8 + 1]
and ecx, 0xfffffff8
cmp ecx, 0xe8
jne 0x1800175f5
mov ecx, dword [rsi]
lea ebp, [rcx + 3]
cmp ecx, dword [r12]
jne 0x18001676a
mov dword [r12], ebp
cmp qword [r15], 0
je 0x18001763d
cmp ebp, dword [r9]
ja 0x180017644
add rdx, r8
mov rax, qword [r10]
mov bl, byte [rdx + 2]
mov byte [rax + rcx + 2], bl
movzx edx, word [rdx]
mov word [rax + rcx], dx
add dword [rsi], 3
add dword [rdi], 3
jmp 0x1800166d9
mov edx, dword [rsi]
lea ebp, [rdx + 1]
cmp edx, dword [r12]
jne 0x1800167ab
mov dword [r12], ebp
cmp qword [r15], 0
je 0x180017a0c
cmp ebp, dword [r9]
ja 0x180017a13
mov rbp, qword [r10]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
inc dword [rsi]
mov ecx, dword [rdi]
inc ecx
mov dword [rdi], ecx
mov rax, qword [r13]
mov bl, byte [rax + rcx]
mov edx, ebx
and dl, 0xf0
cmp dl, 0x50
jne 0x180017a20
mov edx, dword [rsi]
lea ebp, [rdx + 1]
cmp edx, dword [r12]
jne 0x1800167f4
mov dword [r12], ebp
cmp qword [r15], 0
je 0x180017445
cmp ebp, dword [r9]
ja 0x18001744c
mov rbp, qword [r10]
mov al, byte [rax + rcx]
jmp 0x18001673c
xor r11d, r11d
cmp eax, 0x64
ja 0x180016a30
test r11b, 1
jne 0x180016840
mov edx, eax
add rdx, qword [r13]
mov rcx, r15
mov r8d, 3
call fcn.180018d50
test al, al
je 0x180016a30
cmp byte [r15 + 0x34], 0
je 0x180016a30
cmp qword [r15], 0
je 0x180016a30
mov eax, dword [r15 + 0x20]
mov ebx, dword [r15 + 0x24]
mov dword [r15 + 0x2c], eax
add rbx, qword [r15 + 0x18]
je 0x180016a30
mov r8d, dword [rdi]
mov rdx, qword [r13]
mov rcx, r15
call fcn.180019060
mov r9d, dword [rdi]
test r9, r9
je 0x1800172bb
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax]
mov r8, qword [rax + 8]
lea rbp, [rsp + 0x108]
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 + 0x130]
mov dword [rsp + 0x20], 0x40
mov rcx, rsi
call fcn.1800189e0
cmp qword [rsi + 0x10], rdi
je 0x18001698a
cmp byte [rsp + 0x128], 0
je 0x18001698a
cmp byte [rsp + 0x8c], 0
jne 0x1800172d4
lea rcx, [rsp + 0xd0]
mov rdx, qword [rsp + 0x1e0]
call fcn.180018b80
cmp qword [rsp + 0x140], 0
je 0x18001698a
cmp byte [rsp + 0x128], 0
je 0x18001698a
mov r8, qword [rsp + 0xf8]
test r8, r8
je 0x18001697f
mov rdx, qword [rsp + 0xf0]
mov ecx, dword [rsp + 0xec]
add rcx, qword [rsp + 0xd8]
call sub.VCRUNTIME140.dll_memcpy
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 + 0xf8]
add dword [rsp + 0xec], eax
mov qword [rsp + 0xf8], 0
mov rax, qword [rsp + 0x1e8]
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 0x180016a67
mov rdi, qword [rsp + 0x138]
mov rsi, qword [rsp + 0x140]
test rsi, rsi
je 0x180016a06
shl rsi, 4
add rsi, rdi
mov ebx, dword [0x1800a80a0]
lea r14, [rsp + 0xa0]
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 0x1800169e0
mov rdi, qword [rsp + 0x138]
mov r15, qword [rsp + 0x30]
lea rax, [rsp + 0x150]
mov qword [rax - 0x10], 0
cmp rdi, rax
jne 0x18001730e
mov rcx, qword [rsp + 0xf0]
cmp rcx, rbp
jne 0x18001731c
mov rax, qword [rsp + 0x1e8]
cmp qword [rax], 0
je 0x180017327
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.18004bde0
nop
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x1800a80a4]
call fcn.18004a800
cmp dword [0x1800a80a4], 0xffffffff
jne 0x1800169af
lea rsi, [rsp + 0xa0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsi + 4]
mov dword [0x1800a80a0], eax
lea rcx, [0x1800a80a4]
call fcn.18004a7a0
jmp 0x1800169af
mov cl, byte [rdx + r8 + 1]
and cl, 0xf8
cmp cl, 0xe8
jne 0x180016a30
mov ecx, dword [rsi]
lea ebp, [rcx + 6]
cmp ecx, dword [r12]
jne 0x180016acb
mov dword [r12], ebp
cmp qword [r15], 0
je 0x180017d6c
cmp ebp, dword [r9]
ja 0x180017d73
add rdx, r8
mov rax, qword [r10]
movzx ebp, word [rdx + 4]
mov word [rax + rcx + 4], bp
mov edx, dword [rdx]
mov dword [rax + rcx], edx
add dword [rsi], 6
add dword [rdi], 6
jmp 0x1800166d9
cmp dl, 0x90
je 0x180016c15
cmp edx, 0x80
je 0x180017d80
cmp edx, 0x65
je 0x180017dd0
mov ebx, edx
and bl, 0xf8
cmp bl, 0xb8
je 0x180017e35
cmp edx, 0xcb
jg 0x180016bc6
cmp edx, 0x84
jg 0x180016c01
cmp edx, 0x33
je 0x180016bed
cmp edx, 0x83
jne 0x180016c67
mov dword [rsp + 0x6c], r11d
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x70], r9
mov dl, byte [rcx + rax + 1]
cmp dl, 0xc0
jb 0x18001822b
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea ebp, [rdx + 3]
mov rbx, qword [rsp + 0x38]
cmp edx, dword [rbx]
jne 0x180016b8c
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x180017c5a
mov rbx, qword [rsp + 0x70]
cmp ebp, dword [rbx]
ja 0x1800177b1
add rcx, rax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov bl, byte [rcx + 2]
mov byte [rax + rdx + 2], bl
movzx ecx, word [rcx]
mov word [rax + rdx], cx
jmp 0x1800179e3
cmp edx, 0xe7
jg 0x180016c4c
cmp edx, 0xcc
je 0x180016c15
cmp edx, 0xd1
jne 0x180016c67
cmp byte [rcx + rax + 1], 0xc0
jb 0x180016a30
mov edx, dword [rsi]
lea ebp, [rdx + 2]
cmp edx, dword [r12]
je 0x18001711d
jmp 0x180017124
cmp edx, 0x85
je 0x1800185d4
cmp edx, 0xc3
jne 0x180016c67
mov edx, dword [rsi]
lea ebp, [rdx + 1]
cmp edx, dword [r12]
jne 0x180016c27
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x1800181d9
cmp ebp, dword [r9]
jbe 0x180018312
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x1800181e0
lea ebp, [rdx - 0xe8]
cmp ebp, 2
jb 0x18001865f
cmp edx, 0xf6
je 0x1800186b2
lea ebp, [rdx - 0x73]
cmp bpl, 2
jbe 0x180017e86
cmp dl, 0xff
jne 0x180017ece
movzx ebp, byte [rcx + rax + 1]
mov edx, ebp
shr edx, 3
and edx, 7
cmp bpl, 0xc0
jb 0x180017f62
cmp edx, 6
jne 0x180017fe3
mov edx, dword [rsi]
lea ebp, [rdx + 2]
cmp edx, dword [r12]
jne 0x180016cac
mov dword [r12], ebp
cmp qword [r15], 0
je 0x18001809a
cmp ebp, dword [r9]
ja 0x1800180a1
mov rbp, qword [r10]
movzx eax, word [rcx + rax]
mov word [rbp + rdx], ax
add dword [rsi], 2
add dword [rdi], 2
jmp 0x1800166d9
mov dword [rsp + 0x6c], r11d
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x70], r9
mov edx, dword [rsi]
lea ebp, [rdx + 1]
cmp edx, dword [r12]
jne 0x180016cf7
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x180016fdd
mov rbx, qword [rsp + 0x70]
cmp ebp, dword [rbx]
jbe 0x180017206
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180016fe4
mov dword [rsp + 0x6c], r11d
mov qword [rsp + 0x50], r10
mov rbx, r9
mov edx, dword [rsi]
lea ebp, [rdx + 1]
cmp edx, dword [r12]
jne 0x180016d3f
mov rdi, qword [rsp + 0x38]
mov dword [rdi], ebp
mov rdi, qword [rsp + 0x30]
cmp qword [rdi], 0
je 0x180016e37
cmp ebp, dword [rbx]
jbe 0x180016fa5
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180016e3e
mov esi, r11d
movzx edx, byte [rcx + rax]
cmp edx, 0xcc
je 0x180016d7e
cmp edx, 0x90
jne 0x1800177d1
inc rax
mov rdx, qword [rsp + 0x48]
mov dword [rdx], eax
cmp rax, qword [rsp + 0x98]
jb 0x180016d66
mov r13, qword [rsp + 0x60]
mov r11d, esi
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
jmp 0x180016815
mov dword [rsp + 0x6c], r11d
mov qword [rsp + 0x50], r10
mov rbx, r9
mov edx, dword [rsi]
lea ebp, [rdx + 1]
cmp edx, dword [r12]
jne 0x180016dc8
mov rdi, qword [rsp + 0x38]
mov dword [rdi], ebp
mov rdi, qword [rsp + 0x30]
cmp qword [rdi], 0
je 0x18001709c
cmp ebp, dword [rbx]
jbe 0x180017222
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x1800170a3
mov edx, dword [rsi]
lea ebp, [rdx + 1]
cmp edx, dword [r12]
jne 0x180016dfe
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x1800170e1
cmp ebp, dword [r9]
jbe 0x18001723e
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x1800170e8
mov dword [rsi], ebp
jmp 0x1800165ed
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x1800165ed
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdx, qword [rsp + 0x78]
inc dword [rdx + 0x10]
mov rcx, qword [rsp + 0x80]
xor r8d, r8d
call fcn.180074110
mov esi, eax
test eax, eax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
js 0x180016a30
mov edx, dword [rdx]
add rdx, qword [rcx]
mov ecx, dword [rax]
lea eax, [rcx + rsi]
cmp ecx, dword [rbp]
jne 0x180016e90
mov rbp, qword [rsp + 0x38]
mov dword [rbp], eax
mov rbp, qword [rsp + 0x30]
cmp qword [rbp], 0
je 0x180016eae
cmp eax, dword [rbx]
jbe 0x180016fc1
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180016eb5
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rdi, qword [rsp + 0x48]
add dword [rdi], esi
mov rsi, qword [rsp + 0x28]
mov r13, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x44]
mov r9, rbx
mov r10, qword [rsp + 0x50]
mov r12, qword [rsp + 0x38]
mov r11d, dword [rsp + 0x6c]
jmp 0x1800166d4
cmp byte [rdx + r8 + 1], 0xc0
jb 0x180016a30
mov ecx, dword [rsi]
lea ebp, [rcx + 2]
cmp ecx, dword [r12]
jne 0x180016f00
mov rax, qword [rsp + 0x38]
mov dword [rax], ebp
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x180017142
cmp ebp, dword [r9]
ja 0x180017138
mov rbp, qword [r10]
movzx eax, word [rdx + r8]
mov word [rbp + rcx], ax
jmp 0x180017260
mov dword [rsp + 0x6c], r11d
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x70], r9
mov eax, ebx
and al, 0xf8
cmp al, 0xb8
jne 0x18001716a
mov rax, qword [rsp + 0x28]
mov ecx, dword [rax]
lea ebp, [rcx + 9]
mov rax, qword [rsp + 0x38]
cmp ecx, dword [rax]
jne 0x180016f5f
mov rax, qword [rsp + 0x38]
mov dword [rax], ebp
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x1800175e4
mov rax, qword [rsp + 0x70]
cmp ebp, dword [rax]
jbe 0x180017665
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x1800175eb
mov r12, r10
mov rbx, r9
mov dword [rsi], ebp
jmp 0x1800166b9
mov r12, r10
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x1800166b9
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x180016e3e
mov r8d, esi
mov rax, qword [rsp + 0x50]
add rcx, qword [rax]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x28]
add dword [rax], esi
jmp 0x180016eb5
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rcx, qword [rsp + 0x48]
mov edx, dword [rcx]
lea eax, [rdx + 1]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx]
movzx ebx, byte [rcx + rax]
lea ebp, [rbx - 0x10]
cmp ebp, 2
jb 0x180017059
cmp ebx, 5
je 0x180017385
cmp ebx, 0x1f
jne 0x1800173c8
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea ebp, [rdx + 1]
mov rbx, qword [rsp + 0x38]
cmp edx, dword [rbx]
jne 0x180017030
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x18001774d
mov rbx, qword [rsp + 0x70]
cmp ebp, dword [rbx]
jbe 0x180017820
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180017754
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea ebp, [rdx + 1]
mov rbx, qword [rsp + 0x38]
cmp edx, dword [rbx]
jne 0x180017073
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x18001750f
mov rbx, qword [rsp + 0x70]
cmp ebp, dword [rbx]
jbe 0x1800175c8
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180017516
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx]
inc eax
mov dword [rcx], eax
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx]
cmp byte [rcx + rax], 0x89
mov rdx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
jne 0x180016a30
mov edx, dword [rdx]
lea ebp, [rdx + 1]
cmp edx, dword [rdi]
je 0x180016d38
jmp 0x180016d3f
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx]
inc eax
mov dword [rcx], eax
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx]
cmp byte [rcx + rax], 0x33
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
jne 0x180016a30
mov edx, dword [rdx]
lea ebp, [rdx + 2]
cmp edx, dword [rbx]
jne 0x180017124
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x180017142
cmp ebp, dword [r9]
jbe 0x180017254
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180017149
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdi, qword [rsp + 0x48]
add dword [rdi], 2
mov rsi, qword [rsp + 0x28]
mov r13, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x38]
jmp 0x1800166d4
cmp ebx, 0xc6
jg 0x180017459
cmp ebx, 0x63
je 0x18001768b
cmp ebx, 0x8d
mov r15, qword [rsp + 0x30]
jne 0x180016a30
mov bl, byte [rdx + r8 + 1]
mov eax, ebx
and al, 0xc7
cmp al, 5
jne 0x180017a6d
lea edi, [rcx + 3]
mov rax, qword [rsp + 0x48]
mov dword [rax], edi
movsxd r8, dword [rdx + rdi]
add ecx, 7
mov dword [rax], ecx
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
mov eax, dword [rax + 0x20]
je 0x180017c8d
mov rcx, qword [rsp + 0x70]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x180017cf3
shr bl, 3
or bl, 0xb8
mov rbp, qword [rsp + 0x30]
mov rcx, qword [rbp + 0x10]
mov byte [rcx + rax], bl
mov eax, dword [rbp + 0x20]
inc eax
mov dword [rbp + 0x20], eax
cmp qword [rbp], 0
je 0x180017c8f
mov rcx, qword [rsp + 0x70]
mov ecx, dword [rcx]
jmp 0x180017cfc
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x180016fe4
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x1800170a3
mov rbp, qword [r10]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x1800170e8
mov rbp, qword [r10]
movzx eax, word [rcx + rax]
mov word [rbp + rdx], ax
mov rax, qword [rsp + 0x28]
add dword [rax], 2
jmp 0x180017149
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
jmp 0x180016421
mov byte [r15 + 0x34], 0
xor eax, eax
jmp 0x1800163f8
mov rsi, qword [rsp + 0x28]
mov dword [rsi], edx
jmp 0x1800164a3
mov byte [r15 + 0x34], 0
xor eax, eax
mov rsi, qword [rsp + 0x28]
jmp 0x18001647a
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 + 0x1e0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xd0]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x90]
mov r8, rbx
call fcn.1800742d0
test al, al
jne 0x180016913
jmp 0x18001698a
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x180016a1f
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x180016a30
mov dword [r15 + 0x20], 0
mov rcx, r15
xor edx, edx
call fcn.180073e80
jmp 0x180016a42
test ebx, ebx
jne 0x180017651
mov ebx, esi
and ebx, 7
cmp ebx, 5
je 0x180017b55
mov ebp, 1
cmp ebx, 4
mov r12, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
jne 0x18001665b
mov al, byte [rdx + rdi + 1]
and al, 7
xor ecx, ecx
cmp al, 5
sete cl
lea ebp, [rcx*4 + 1]
jmp 0x18001665b
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea ebp, [rdx + 1]
mov rbx, qword [rsp + 0x38]
cmp edx, dword [rbx]
jne 0x18001739f
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x1800177be
mov rbx, qword [rsp + 0x70]
cmp ebp, dword [rbx]
jbe 0x18001783c
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x1800177c5
lea eax, [rbx + 0x7d]
cmp al, 2
mov rsi, qword [rsp + 0x28]
mov r13, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
ja 0x180016a30
lea rax, [0x180093b58]
add edx, 2
mov dword [rdi], edx
dec dword [r15 + 0x20]
mov r8d, dword [rax + rbx*4 - 0x20c]
mov eax, dword [rdi]
mov rcx, qword [r13]
lea rdx, [rcx + rax]
movsxd rcx, dword [rcx + rax]
lea rdx, [rcx + rdx + 4]
add eax, 4
mov dword [rdi], eax
mov rcx, r15
call fcn.180018d50
mov r11d, dword [rsp + 0x6c]
mov r10, qword [rsp + 0x50]
mov r9, qword [rsp + 0x70]
test al, al
jne 0x1800166d9
jmp 0x180016a30
mov dword [rsi], ebp
jmp 0x180016742
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180016742
cmp ebx, 0xff
je 0x1800176df
cmp ebx, 0xc7
mov rax, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
jne 0x180016a30
cmp byte [rdx + r8 + 1], 0x44
jne 0x180016a30
mov ecx, dword [rax]
lea ebp, [rcx + 8]
cmp ecx, dword [rbx]
jne 0x18001749c
mov rax, qword [rsp + 0x38]
mov dword [rax], ebp
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x180017bcd
mov rax, qword [rsp + 0x70]
cmp ebp, dword [rax]
jbe 0x180017be1
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180017bd4
mov dword [rsp + 0x6c], r11d
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x70], r9
mov edx, dword [rsi]
lea ebp, [rdx + 1]
cmp edx, dword [r12]
jne 0x1800174e6
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x180017858
mov rbx, qword [rsp + 0x70]
cmp ebp, dword [rbx]
jbe 0x1800179f0
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x18001785f
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdx, qword [rsp + 0x78]
inc dword [rdx + 0x10]
mov rcx, qword [rsp + 0x80]
xor r8d, r8d
call fcn.180074110
mov esi, eax
test eax, eax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
js 0x180016a30
mov edx, dword [rdx]
add rdx, qword [rcx]
mov ecx, dword [rax]
lea eax, [rcx + rsi]
cmp ecx, dword [rbp]
jne 0x180017568
mov rbp, qword [rsp + 0x38]
mov dword [rbp], eax
mov rbp, qword [rsp + 0x30]
cmp qword [rbp], 0
je 0x180017588
mov rbp, qword [rsp + 0x70]
cmp eax, dword [rbp]
jbe 0x1800175af
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x18001758f
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rdi, qword [rsp + 0x48]
add dword [rdi], esi
mov rsi, qword [rsp + 0x28]
mov r13, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x70]
jmp 0x180016ece
mov r8d, esi
mov rax, qword [rsp + 0x50]
add rcx, qword [rax]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x28]
add dword [rax], esi
jmp 0x18001758f
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x180017516
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdi, qword [rsp + 0x48]
add dword [rdi], 9
jmp 0x180017596
cmp ecx, 0x60
jne 0x18001797a
mov rax, qword [rsp + 0x28]
mov ecx, dword [rax]
lea ebp, [rcx + 5]
mov rax, qword [rsp + 0x38]
cmp ecx, dword [rax]
jne 0x180017618
mov rax, qword [rsp + 0x38]
mov dword [rax], ebp
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x180017e72
cmp ebp, dword [r9]
jbe 0x180017c6e
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180017e79
mov dword [rsi], ebp
jmp 0x180016794
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180016794
mov ebp, 5
mov r12, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
jmp 0x18001665b
add rdx, r8
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
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 0x1800175eb
cmp byte [rdx + r8 + 1], 0xc0
mov rax, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
jb 0x180016a30
mov ecx, dword [rax]
lea ebp, [rcx + 2]
cmp ecx, dword [rbx]
jne 0x1800176b6
mov rax, qword [rsp + 0x38]
mov dword [rax], ebp
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x180017b41
mov rax, qword [rsp + 0x70]
cmp ebp, dword [rax]
jbe 0x180017bfb
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180017b48
mov al, byte [rdx + r8 + 1]
and al, 0xc7
cmp al, 5
mov rsi, qword [rsp + 0x28]
mov r13, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
jne 0x180016a30
add ecx, 3
mov dword [rdi], ecx
dec dword [r15 + 0x20]
mov eax, dword [rdi]
mov rcx, qword [r13]
lea rdx, [rcx + rax]
movsxd rcx, dword [rcx + rax]
add eax, 4
mov dword [rdi], eax
mov rdx, qword [rcx + rdx + 4]
mov rcx, r15
mov r8d, 3
call fcn.180018d50
mov r10, qword [rsp + 0x50]
mov r9, qword [rsp + 0x70]
mov r11b, 1
jmp 0x180017438
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax]
inc ecx
mov dword [rax], ecx
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov dl, byte [rax + rcx]
and dl, 0xc7
cmp dl, 0x44
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
jne 0x180016a30
mov edx, dword [rdx]
lea ebp, [rdx + 3]
cmp edx, dword [rbx]
jne 0x180017795
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x180017c5a
mov rbx, qword [rsp + 0x70]
cmp ebp, dword [rbx]
jbe 0x1800179ca
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180017c61
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdi, qword [rsp + 0x48]
inc dword [rdi]
jmp 0x180017596
cmp qword [rsp + 0x90], 0
mov r13, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
je 0x180016a30
mov rcx, qword [rsp + 0x90]
call fcn.1800740c0
test al, al
je 0x180016a30
mov r11d, esi
mov eax, dword [rdi]
mov cl, 1
mov dword [rsp + 0x8c], ecx
cmp eax, 9
ja 0x180016815
jmp 0x180016a30
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x180017754
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x1800177c5
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax]
inc ecx
mov dword [rax], ecx
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov bl, byte [rax + rcx]
mov edx, ebx
and dl, 0xfc
cmp dl, 0x88
jne 0x180017923
movzx ebx, byte [rax + rcx + 1]
mov edx, ebx
and edx, 0xffffffc0
cmp dl, 0xc0
je 0x180017af8
cmp edx, 0x40
mov rbp, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
je 0x1800178d8
test edx, edx
jne 0x180016a30
mov ebp, ebx
and ebp, 6
cmp ebp, 4
jne 0x180017af8
cmp edx, 0x40
mov rbp, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
jne 0x180016a30
and ebx, 7
add rax, rcx
mov ecx, dword [rbp]
mov edx, dword [rdi]
cmp ebx, 4
jne 0x180017c19
lea ebp, [rcx + 4]
cmp ecx, edx
jne 0x1800178fa
mov rdx, qword [rsp + 0x38]
mov dword [rdx], ebp
mov rdx, qword [rsp + 0x30]
cmp qword [rdx], 0
je 0x18001813f
mov rdx, qword [rsp + 0x70]
cmp ebp, dword [rdx]
jbe 0x1800181bf
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180018146
cmp bl, 0x44
jne 0x180017d0f
cmp byte [rax + rcx + 1], 0x89
jne 0x180017d0f
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea ebp, [rdx + 2]
mov rbx, qword [rsp + 0x38]
cmp edx, dword [rbx]
jne 0x180017951
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x18001812a
mov rbx, qword [rsp + 0x70]
cmp ebp, dword [rbx]
jbe 0x1800181a0
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180018131
cmp ecx, 0xc0
mov rax, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
jne 0x180016a30
mov ecx, dword [rax]
lea ebp, [rcx + 3]
cmp ecx, dword [rbx]
jne 0x1800179a5
mov rax, qword [rsp + 0x38]
mov dword [rax], ebp
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x180017d58
cmp ebp, dword [r9]
jbe 0x1800180e3
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180017d5f
add rax, rcx
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
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 0x180017c61
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x18001785f
mov dword [rsi], ebp
jmp 0x1800167ca
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x1800167ca
and bl, 0xf8
cmp bl, 0xb8
jne 0x180016a30
mov edx, dword [rsi]
lea ebp, [rdx + 5]
cmp edx, dword [r12]
jne 0x180017a3e
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x180017e72
cmp ebp, dword [r9]
ja 0x180017630
add rax, rcx
mov rcx, qword [r10]
mov bl, byte [rax + 4]
mov byte [rcx + rdx + 4], bl
mov eax, dword [rax]
mov dword [rcx + rdx], eax
jmp 0x180017c80
add ecx, 2
mov rsi, qword [rsp + 0x78]
mov rbp, qword [rsi]
lea rax, [rsp + 0xd0]
mov qword [rax], rbp
add rdx, rcx
mov qword [rax + 8], rdx
mov dword [rax + 0x10], 0
mov rcx, qword [rsp + 0x80]
mov rdx, rax
xor r8d, r8d
call fcn.180074110
mov ebx, eax
mov edx, dword [rsi + 0x10]
add rdx, qword [rsi + 8]
mov rax, qword [rsp + 0x28]
mov ecx, dword [rax]
lea eax, [rcx + rbx]
inc eax
mov rbp, qword [rsp + 0x38]
cmp ecx, dword [rbp]
jne 0x180017acb
mov rbp, qword [rsp + 0x38]
mov dword [rbp], eax
inc ebx
mov rbp, qword [rsp + 0x30]
cmp qword [rbp], 0
je 0x180017c9b
mov rbp, qword [rsp + 0x70]
cmp eax, dword [rbp]
jbe 0x180017d3c
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180017ca2
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea ebp, [rdx + 2]
mov rbx, qword [rsp + 0x38]
cmp edx, dword [rbx]
jne 0x180017b12
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x180017b41
mov rbx, qword [rsp + 0x70]
cmp ebp, dword [rbx]
ja 0x1800176d2
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
movzx eax, word [rax + rcx]
mov word [rbp + rdx], ax
jmp 0x180017c0c
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdi, qword [rsp + 0x48]
add dword [rdi], 2
jmp 0x180017596
shr sil, 3
lea eax, [rcx + 3]
lea rbp, [rdx + rax]
add ecx, 7
mov r8d, esi
mov rdi, qword [rsp + 0x48]
mov dword [rdi], eax
movsxd rax, dword [rdx + rax]
lea rdx, [rax + rbp]
add rdx, 4
mov dword [rdi], ecx
and r8b, 7
je 0x180017cae
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
mov eax, dword [rax + 0x20]
je 0x180018104
mov ecx, dword [r9]
cmp eax, ecx
jae 0x180018153
or sil, 0xb8
mov rdi, qword [rsp + 0x30]
mov rcx, qword [rdi + 0x10]
mov byte [rcx + rax], sil
mov eax, dword [rdi + 0x20]
inc eax
mov dword [rdi + 0x20], eax
cmp qword [rdi], 0
je 0x180018106
mov ecx, dword [r9]
jmp 0x18001815c
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdi, qword [rsp + 0x48]
add dword [rdi], 8
jmp 0x180017596
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov rdx, qword [rdx + r8]
mov qword [rax + rcx], rdx
mov rax, qword [rsp + 0x28]
add dword [rax], 8
jmp 0x180017bd4
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
movzx edx, word [rdx + r8]
mov word [rax + rcx], dx
mov rax, qword [rsp + 0x28]
add dword [rax], 2
jmp 0x180017b48
lea ebp, [rcx + 3]
cmp ecx, edx
jne 0x180017c27
mov rdx, qword [rsp + 0x38]
mov dword [rdx], ebp
mov rdx, qword [rsp + 0x30]
cmp qword [rdx], 0
je 0x180017c5a
mov rdx, qword [rsp + 0x70]
cmp ebp, dword [rdx]
ja 0x1800177b1
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
mov bl, byte [rax + 2]
mov byte [rdx + rcx + 2], bl
movzx eax, word [rax]
mov word [rdx + rcx], ax
jmp 0x1800179e3
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdi, qword [rsp + 0x48]
add dword [rdi], 3
jmp 0x180017596
add rdx, r8
mov rax, qword [r10]
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
jmp 0x180017e79
inc eax
add eax, 8
mov rsi, qword [rsp + 0x28]
mov dword [rsi], eax
jmp 0x180017d14
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rdi, qword [rsp + 0x48]
add dword [rdi], ebx
jmp 0x180017596
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
mov eax, dword [rax + 0x20]
je 0x180018328
mov ecx, dword [r9]
cmp eax, ecx
jae 0x18001836b
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 0x18001832a
mov ecx, dword [r9]
jmp 0x180018374
mov rbp, qword [rsp + 0x58]
mov byte [rbp], 0
lea ebp, [rax + 8]
cmp ebp, ecx
jbe 0x1800180ae
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
mov rsi, qword [rsp + 0x28]
mov r13, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x50]
mov r12, qword [rsp + 0x38]
mov r11d, dword [rsp + 0x6c]
mov rdi, qword [rsp + 0x48]
jmp 0x1800166d4
mov r8d, ebx
mov rax, qword [rsp + 0x50]
add rcx, qword [rax]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x28]
add dword [rax], ebx
jmp 0x180017ca2
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdi, qword [rsp + 0x48]
add dword [rdi], 3
jmp 0x180017151
mov dword [rsi], ebp
jmp 0x180016af5
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180016af5
cmp byte [rcx + rax + 1], 0x3d
jne 0x180016a30
add eax, 2
mov dword [rdi], eax
cmp qword [r15], 0
mov eax, dword [r15 + 0x20]
je 0x180018391
mov ecx, dword [r9]
cmp eax, ecx
jae 0x1800184ec
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 0x180018393
mov ecx, dword [r9]
jmp 0x1800184f4
cmp byte [rcx + rax + 1], 0x48
jne 0x180016a30
mov dl, byte [rcx + rax + 2]
and dl, 0xfc
cmp dl, 0x88
jne 0x180016a30
mov dword [rsp + 0x6c], r11d
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x70], r9
mov edx, dword [rsi]
lea ebp, [rdx + 3]
cmp edx, dword [r12]
jne 0x180017e0c
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x180018496
mov rbx, qword [rsp + 0x70]
cmp ebp, dword [rbx]
jbe 0x180018581
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x18001849d
mov edx, dword [rsi]
lea ebp, [rdx + 5]
cmp edx, dword [r12]
jne 0x180017e47
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x180017e72
cmp ebp, dword [r9]
ja 0x180017630
add rcx, rax
mov rax, qword [r10]
mov bl, byte [rcx + 4]
mov byte [rax + rdx + 4], bl
mov ecx, dword [rcx]
mov dword [rax + rdx], ecx
jmp 0x180017c80
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdi, qword [rsp + 0x48]
add dword [rdi], 5
jmp 0x180017151
lea rbp, [0x180093b58]
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, r15
mov rbx, r9
mov rbp, r10
mov r15d, r11d
call fcn.180018d50
mov r11d, r15d
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov r10, rbp
mov r9, rbx
jmp 0x180017438
mov dword [rsp + 0x6c], r11d
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x70], r9
cmp edx, 0xc6
jne 0x180018216
mov rdx, qword [rsp + 0x78]
mov rbp, qword [rdx]
lea rdx, [rsp + 0xd0]
mov qword [rdx], rbp
add rax, rcx
inc rax
mov qword [rdx + 8], rax
mov dword [rdx + 0x10], 0
mov rcx, qword [rsp + 0x80]
xor r8d, r8d
call fcn.180074110
mov esi, eax
test eax, eax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
js 0x180016a30
mov edx, dword [rdx]
add rdx, qword [rcx]
mov ecx, dword [rax]
lea eax, [rcx + rsi]
add eax, 2
cmp ecx, dword [rbp]
jne 0x180017f5a
mov rbp, qword [rsp + 0x38]
mov dword [rbp], eax
add esi, 2
jmp 0x180017568
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x70], r9
and bpl, 0xc7
cmp bpl, 5
jne 0x180018267
cmp dl, 2
jne 0x180018267
mov ebx, r11d
lea edx, [rax + 2]
mov rdi, qword [rsp + 0x48]
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 r15, qword [rsp + 0x30]
mov rcx, r15
mov r8d, 4
call fcn.180018d50
test al, al
mov rsi, qword [rsp + 0x28]
mov r13, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x50]
mov r12, qword [rsp + 0x38]
mov r11d, ebx
jne 0x1800166d9
jmp 0x180016a30
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x70], r9
cmp edx, 4
jne 0x1800182dc
mov rdx, qword [rsp + 0x78]
mov rbp, qword [rdx]
lea rdx, [rsp + 0xd0]
mov qword [rdx], rbp
add rax, rcx
inc rax
mov qword [rdx + 8], rax
mov dword [rdx + 0x10], 0
mov rcx, qword [rsp + 0x80]
xor r8d, r8d
call fcn.180074110
mov ebx, eax
test eax, eax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
js 0x180016a30
mov qword [rsp + 0x50], rdx
mov edx, dword [rsi]
add rdx, qword [rcx]
mov ecx, dword [rax]
lea eax, [rcx + rbx]
inc eax
cmp ecx, dword [rdi]
jne 0x180018073
mov rdi, qword [rsp + 0x38]
mov dword [rdi], eax
inc ebx
mov rdi, qword [rsp + 0x30]
cmp qword [rdi], 0
je 0x1800185a7
cmp eax, dword [rbp]
jbe 0x18001879a
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x1800185ae
mov dword [rsi], ebp
jmp 0x180016cce
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180016cce
add rdx, rdi
lea rcx, [r8 + rdx]
add rcx, 4
mov r10, qword [rsp + 0x50]
mov rdx, qword [r10]
mov eax, eax
mov qword [rdx + rax], rcx
mov rsi, qword [rsp + 0x28]
add dword [rsi], 8
mov r13, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x70]
jmp 0x180017d28
add rdx, r8
mov rax, qword [r10]
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 0x180017d5f
inc eax
add eax, 8
inc eax
inc eax
inc eax
mov rsi, qword [rsp + 0x28]
mov dword [rsi], eax
mov r13, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x38]
jmp 0x180017d32
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdx, qword [rsp + 0x78]
add dword [rdx + 0x10], 2
jmp 0x18001751e
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdi, qword [rsp + 0x48]
add dword [rdi], 4
jmp 0x180017596
mov rbp, qword [rsp + 0x58]
mov byte [rbp], 0
lea ebp, [rax + 8]
cmp ebp, ecx
jbe 0x1800181ec
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
cmp eax, ecx
jae 0x180018332
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x48
mov eax, dword [rdx + 0x20]
inc eax
mov dword [rdx + 0x20], eax
cmp qword [rdx], 0
je 0x18001810b
mov ecx, dword [r9]
jmp 0x18001833a
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
movzx eax, word [rax + rcx]
mov word [rbp + rdx], ax
mov rax, qword [rsp + 0x28]
add dword [rax], 2
jmp 0x180018131
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
mov eax, dword [rax]
mov dword [rdx + rcx], eax
mov rax, qword [rsp + 0x28]
add dword [rax], 4
jmp 0x180018146
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdi, qword [rsp + 0x48]
inc dword [rdi]
jmp 0x180017151
mov rsi, qword [rsp + 0x30]
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov qword [rcx + rax], rdx
mov eax, dword [rsi + 0x20]
add eax, 8
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x180018109
mov ecx, dword [r9]
jmp 0x18001816f
cmp edx, 0x83
mov r15, qword [rsp + 0x30]
jne 0x180016a30
mov dl, byte [rcx + rax + 1]
and dl, 0xf8
cmp dl, 0x60
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x38]
mov r11d, dword [rsp + 0x6c]
mov r15, qword [rsp + 0x30]
jne 0x180016a30
mov edx, dword [rdx]
lea ebp, [rdx + 5]
cmp edx, dword [rbx]
je 0x180017e40
jmp 0x180017e47
cmp dl, 4
mov r15, qword [rsp + 0x30]
jne 0x180016a30
cmp bpl, 5
jne 0x180017ff6
lea edx, [rax + 2]
mov rdi, qword [rsp + 0x48]
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 r15, qword [rsp + 0x30]
mov rcx, r15
mov r8d, 3
call fcn.180018d50
mov r11b, 1
test al, al
mov rsi, qword [rsp + 0x28]
mov r13, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x50]
mov r12, qword [rsp + 0x38]
jne 0x1800166d9
jmp 0x180016a30
cmp edx, 2
mov rsi, qword [rsp + 0x28]
mov r13, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x50]
mov r12, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
ja 0x180016a30
jmp 0x180016c9d
mov rbp, qword [r10]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x1800181e0
inc eax
add eax, 8
jmp 0x18001810f
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
cmp eax, ecx
jae 0x1800184ab
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x8b
mov eax, dword [rdx + 0x20]
inc eax
mov dword [rdx + 0x20], eax
cmp qword [rdx], 0
je 0x18001810d
mov ecx, dword [r9]
jmp 0x1800184b3
mov rbp, qword [rsp + 0x58]
mov byte [rbp], 0
lea ebp, [rax + 8]
cmp ebp, ecx
jbe 0x1800184d6
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
mov rsi, qword [rsp + 0x28]
jmp 0x180018116
inc eax
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x48]
mov edx, dword [rcx]
mov rax, qword [rsp + 0x60]
mov rbx, qword [rax]
movsxd r8, dword [rbx + rdx]
lea eax, [rdx + 4]
mov dword [rcx], eax
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
mov eax, dword [rax + 0x20]
je 0x1800183f0
mov ecx, dword [r9]
cmp eax, ecx
jae 0x180018511
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 0x1800183f2
mov ecx, dword [r9]
jmp 0x18001851a
inc eax
inc eax
add eax, 8
inc eax
inc eax
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx]
mov rdx, qword [rsp + 0x48]
mov edx, dword [rdx]
lea ebp, [rax + 1]
mov rbx, qword [rsp + 0x38]
cmp eax, dword [rbx]
jne 0x180018426
mov rbx, qword [rsp + 0x38]
mov dword [rbx], ebp
mov rbx, qword [rsp + 0x30]
cmp qword [rbx], 0
je 0x180018444
cmp ebp, dword [r9]
jbe 0x18001854b
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x18001844b
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rax, qword [rsp + 0x48]
inc dword [rax]
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
mov eax, dword [rax + 0x20]
je 0x18001810b
mov ecx, dword [r9]
cmp eax, ecx
jae 0x180018563
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 0x18001810d
mov ecx, dword [r9]
jmp 0x18001856b
mov rax, qword [rsp + 0x28]
mov dword [rax], ebp
mov rdx, qword [rsp + 0x78]
add dword [rdx + 0x10], 3
jmp 0x18001751e
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
cmp eax, ecx
jae 0x18001837f
movzx ecx, r8b
lea ecx, [rcx + rcx*8]
mov rdx, qword [r10]
mov eax, eax
mov byte [rdx + rax], cl
mov rsi, qword [rsp + 0x28]
inc dword [rsi]
jmp 0x180018116
mov rcx, qword [r10]
mov eax, eax
mov qword [rcx + rax], rdx
mov rsi, qword [rsp + 0x28]
add dword [rsi], 8
jmp 0x180018116
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
cmp eax, ecx
jae 0x18001874b
mov rcx, qword [r10]
mov eax, eax
mov byte [rcx + rax], 0x53
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x18001839c
mov rbp, qword [rsp + 0x58]
mov byte [rbp], 0
cmp eax, ecx
jae 0x180018758
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 0x1800183f4
mov ecx, dword [r9]
jmp 0x180018761
mov rbp, qword [r10]
mov eax, eax
mov cl, byte [rcx + rdx]
mov byte [rbp + rax], cl
mov rax, qword [rsp + 0x28]
inc dword [rax]
jmp 0x18001844b
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
cmp eax, ecx
jae 0x18001837f
mov rcx, qword [r10]
mov eax, eax
mov byte [rcx + rax], 0x5b
jmp 0x1800184ca
add rcx, rax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
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 0x18001849d
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rdi, qword [rsp + 0x48]
add dword [rdi], ebx
mov r11b, 1
mov rsi, qword [rsp + 0x28]
mov r13, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x44]
mov r9, rbp
mov r10, qword [rsp + 0x50]
jmp 0x180017160
mov rdx, qword [rsp + 0x78]
mov rbp, qword [rdx]
lea rdx, [rsp + 0xd0]
mov qword [rdx], rbp
add rax, rcx
inc rax
mov qword [rdx + 8], rax
mov dword [rdx + 0x10], 0
mov rcx, qword [rsp + 0x80]
xor r8d, r8d
mov rbx, r9
mov qword [rsp + 0x50], r10
mov dword [rsp + 0x6c], r11d
call fcn.180074110
test eax, eax
js 0x180016a30
mov ebp, eax
mov edx, dword [rdi]
add rdx, qword [r13]
mov ecx, dword [rsi]
lea eax, [rcx + rbp]
inc eax
cmp ecx, dword [r12]
jne 0x180018639
mov rdi, qword [rsp + 0x38]
mov dword [rdi], eax
inc ebp
mov rdi, qword [rsp + 0x30]
cmp qword [rdi], 0
je 0x18001884b
cmp eax, dword [rbx]
jbe 0x18001885e
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x180018852
xor ebx, ebx
cmp dl, 0xe9
sete bl
lea rdx, [rax + 1]
mov dword [rdi], edx
mov r8d, 4
sub r8d, ebx
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, r15
mov r15, r9
mov rbp, r10
call fcn.180018d50
mov r11d, ebx
mov r10, rbp
mov r9, r15
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
jmp 0x180017438
mov dword [rsp + 0x6c], r11d
mov qword [rsp + 0x50], r10
mov rbx, r9
lea r8, [rsp + 0xa0]
mov byte [r8], 0
mov rdx, qword [rsp + 0x78]
mov rbp, qword [rdx]
lea rdx, [rsp + 0xd0]
mov qword [rdx], rbp
lea rax, [rax + rcx + 1]
mov qword [rdx + 8], rax
mov dword [rdx + 0x10], 0
mov rcx, qword [rsp + 0x80]
call fcn.180074110
test eax, eax
js 0x180018741
cmp byte [rsp + 0xa0], 0
jne 0x180018741
mov esi, eax
mov rax, qword [rsp + 0x48]
mov edx, dword [rax]
mov rax, qword [rsp + 0x60]
add rdx, qword [rax]
mov rax, qword [rsp + 0x28]
mov ecx, dword [rax]
lea eax, [rcx + rsi]
add eax, 2
mov rbp, qword [rsp + 0x38]
cmp ecx, dword [rbp]
jne 0x180018739
mov rbp, qword [rsp + 0x38]
mov dword [rbp], eax
add esi, 2
jmp 0x180016e90
mov r15, qword [rsp + 0x30]
jmp 0x180016a30
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x18001839c
mov rbp, qword [rsp + 0x58]
mov byte [rbp], 0
lea ebp, [rax + 8]
cmp ebp, ecx
jbe 0x1800187b6
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
cmp eax, ecx
jae 0x1800187e9
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 0x1800183f9
mov ecx, dword [r9]
jmp 0x1800187f1
mov r8d, ebx
mov rax, qword [rsp + 0x50]
add rcx, qword [rax]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x28]
add dword [rax], ebx
jmp 0x1800185ae
add rbx, rdx
lea rcx, [r8 + rbx]
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 0x1800183f7
mov ecx, dword [r9]
jmp 0x180018770
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
cmp eax, ecx
jae 0x18001881b
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 0x1800183fb
mov ecx, dword [r9]
jmp 0x180018823
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
cmp eax, ecx
jae 0x18001883e
mov rcx, qword [r10]
mov eax, eax
mov byte [rcx + rax], 0x3b
mov rcx, qword [rsp + 0x28]
mov eax, dword [rcx]
inc eax
jmp 0x180018402
mov rcx, qword [rsp + 0x58]
mov byte [rcx], 0
jmp 0x180018404
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rdi, qword [rsp + 0x48]
add dword [rdi], ebp
jmp 0x180016ebc
mov r8d, ebp
mov rax, qword [rsp + 0x50]
add rcx, qword [rax]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x28]
add dword [rax], ebp
jmp 0x180018852