Function at 0x1800158f0
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, 0x128
mov rsi, r9
mov rdi, r8
mov rbx, rdx
mov r15, rcx
mov rcx, qword [rsp + 0x198]
mov rax, qword [0x1800cb028]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov qword [rcx], 0
cmp qword [r9], 0
je 0x180015960
cmp qword [rsi + 0x10], 0
je 0x180017df8
cmp qword [rsi + 0x18], 0
je 0x180017df8
cmp dword [rsi + 8], 0
je 0x180017df8
cmp byte [rsi + 0x34], 0
je 0x180017df8
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea r14, [rsi + 0x20]
mov ecx, dword [rsi + 0x20]
lea edx, [rcx + 8]
cmp qword [rsi], 0
je 0x180016ab4
cmp edx, dword [rsi + 0x30]
ja 0x180016abc
mov rdx, qword [rsi + 0x10]
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x1800159c3
mov al, byte [rsi + 0x34]
cmp qword [rsi + 0x10], 0
je 0x180017df8
cmp qword [rsi + 0x18], 0
je 0x180017df8
cmp dword [rsi + 8], 0
je 0x180017df8
test al, al
je 0x180017df8
mov ecx, dword [rbx + 0x10]
add rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov edx, dword [rsi + 0x20]
lea ecx, [rdx + 8]
cmp qword [rsi], 0
mov qword [rsp + 0x40], rdi
je 0x180016ac7
cmp ecx, dword [rsi + 0x30]
ja 0x180016acf
mov rcx, qword [rsi + 0x10]
mov qword [rcx + rdx], rax
mov ecx, dword [rsi + 0x20]
add ecx, 8
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x180015a30
mov al, byte [rsi + 0x34]
cmp qword [rsi + 0x10], 0
je 0x180017dea
cmp qword [rsi + 0x18], 0
je 0x180017dea
cmp dword [rsi + 8], 0
je 0x180017dea
test al, al
je 0x180017dea
mov eax, dword [rbx + 0x10]
mov rdx, qword [rbx + 8]
cmp byte [rdx + rax], 0x48
mov qword [rsp + 0x28], r14
jne 0x180015a4d
cmp byte [rdx + rax + 1], 0xb8
je 0x180016cfa
mov dword [rsi + 0x24], ecx
mov dword [rsi + 0x28], ecx
cmp byte [r15 + 0x1c], 0
je 0x180016adc
lea r10, [rsi + 0x28]
mov eax, dword [r15 + 0x18]
and eax, 2
mov ecx, eax
shr ecx, 1
mov dword [rsp + 0x3c], ecx
xor ecx, ecx
test eax, eax
sete cl
lea edi, [rcx + rcx*2]
add edi, 0xa
mov r12d, dword [rbx + 0x10]
cmp r12d, edi
mov qword [rsp + 0x30], r10
jae 0x180015f15
xor ebp, ebp
lea r13, [0x1800b9ed8]
mov r15, qword [rbx + 8]
mov eax, r12d
mov r12, rax
test bpl, 1
jne 0x180016595
movzx ecx, byte [r15 + rax]
cmp rcx, 0xf
je 0x180016606
mov edx, ecx
and dl, 0xfc
cmp dl, 0x88
je 0x180016635
lea edx, [rcx - 0x40]
cmp edx, 2
jb 0x180015d4b
cmp ecx, 0x44
je 0x18001666b
cmp ecx, 0x45
je 0x18001669a
mov edx, ecx
and dl, 0xfa
cmp dl, 0x48
je 0x180015ba6
cmp ecx, 0x66
je 0x1800166c9
mov edx, ecx
and dl, 0xf0
cmp dl, 0x50
je 0x180015c07
cmp ecx, 0x90
je 0x18001648c
cmp ecx, 0x80
je 0x180016927
cmp ecx, 0x65
je 0x180016973
mov edx, ecx
and dl, 0xf8
cmp dl, 0xb8
je 0x1800169bf
cmp ecx, 0xd0
jle 0x180015cdf
lea edx, [rcx - 0xe8]
cmp edx, 2
jae 0x180015eb1
xor ebp, ebp
cmp ecx, 0xe9
sete bpl
lea rcx, [rax + 1]
mov dword [rbx + 0x10], ecx
mov r8d, 4
sub r8d, ebp
lea rcx, [r15 + rax]
inc rcx
movsxd rdx, dword [r15 + rax + 1]
add rdx, rcx
add rdx, 4
add eax, 5
mov dword [rbx + 0x10], eax
mov rcx, rsi
call fcn.180018090
mov r10, qword [rsp + 0x30]
test al, al
jne 0x180015c39
jmp 0x180017dea
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x180015bb4
mov dword [r10], edx
cmp qword [rsi], 0
je 0x1800166f8
cmp edx, dword [rsi + 0x30]
ja 0x180016700
mov rdx, qword [rsi + 0x10]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [rsi + 0x20]
mov ecx, dword [rbx + 0x10]
lea r12d, [rcx + 1]
mov dword [rbx + 0x10], r12d
mov r15, qword [rbx + 8]
movzx eax, byte [r15 + r12]
cmp eax, 0x82
jle 0x180015c4b
cmp eax, 0x83
je 0x180015dce
cmp eax, 0x85
jne 0x180015c5f
jmp 0x180016a1e
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x180015c15
mov dword [r10], edx
cmp qword [rsi], 0
je 0x180016aac
cmp edx, dword [rsi + 0x30]
ja 0x1800168e5
mov rdx, qword [rsi + 0x10]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [rsi + 0x20]
inc dword [rbx + 0x10]
mov r12d, dword [rbx + 0x10]
cmp r12d, edi
jb 0x180015a99
jmp 0x180015f17
cmp eax, 0x81
je 0x180015e27
cmp eax, 0x2b
je 0x180016a1e
mov edx, eax
and dl, 0xfd
cmp dl, 0x89
jne case.default.0x180015c89
lea eax, [rcx + 2]
movzx r9d, byte [r15 + rax]
mov edx, r9d
shr edx, 6
mov r14d, 1
movsxd rdx, dword [r13 + rdx*4]
add rdx, r13
jmp rdx
mov rax, qword [rsp + 0x28]
mov ecx, dword [rax]
lea eax, [rcx + r14]
inc eax
cmp ecx, dword [r10]
jne 0x180015ca0
mov dword [r10], eax
inc r14d
cmp qword [rsi], 0
je 0x180017937
cmp eax, dword [rsi + 0x30]
ja 0x1800176b0
add r15, r12
mov r8d, r14d
add rcx, qword [rsi + 0x10]
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
add dword [rsi + 0x20], r14d
add dword [rbx + 0x10], r14d
mov r14, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
jmp 0x180015c39
cmp ecx, 0x84
jle 0x18001640a
cmp ecx, 0x85
jne case.default.0x180015d16
movzx ecx, byte [rax + r15 + 1]
mov edx, ecx
shr edx, 6
mov r14d, 1
lea r8, [0x1800b9ec8]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
mov rcx, qword [rsp + 0x28]
mov ecx, dword [rcx]
lea edx, [rcx + r14]
inc edx
cmp ecx, dword [r10]
jne 0x180015d2d
mov dword [r10], edx
inc r14d
cmp qword [rsi], 0
je 0x180017148
cmp edx, dword [rsi + 0x30]
ja 0x1800176b0
add r15, rax
jmp 0x180015cb9
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x180015d59
mov dword [r10], edx
cmp qword [rsi], 0
je 0x180016ea2
cmp edx, dword [rsi + 0x30]
ja 0x180016eaa
mov rdx, qword [rsi + 0x10]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [rsi + 0x20]
mov ecx, dword [rbx + 0x10]
inc ecx
mov dword [rbx + 0x10], ecx
mov rax, qword [rbx + 8]
movzx edx, byte [rax + rcx]
mov r8d, edx
and r8b, 0xf0
cmp r8b, 0x50
jne 0x180016eb3
mov edx, dword [r14]
lea r8d, [rdx + 1]
cmp edx, dword [r10]
jne 0x180015daa
mov dword [r10], r8d
cmp qword [rsi], 0
je 0x180016f0f
cmp r8d, dword [rsi + 0x30]
ja 0x1800168e5
mov r8, qword [rsi + 0x10]
mov al, byte [rax + rcx]
mov byte [r8 + rdx], al
jmp 0x180015c33
movzx eax, byte [r15 + r12 + 1]
and eax, 0xfffffff8
cmp eax, 0xe8
jne 0x180016f9a
mov eax, dword [r14]
lea ecx, [rax + 3]
cmp eax, dword [r10]
jne 0x180015df0
mov dword [r10], ecx
cmp qword [rsi], 0
je 0x180016fea
cmp ecx, dword [rsi + 0x30]
ja 0x180016ff2
add r15, r12
mov rcx, qword [rsi + 0x10]
mov dl, byte [r15 + 2]
mov byte [rcx + rax + 2], dl
movzx edx, word [r15]
mov word [rcx + rax], dx
add dword [rsi + 0x20], 3
add dword [rbx + 0x10], 3
jmp 0x180015c39
mov al, byte [r15 + r12 + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x180017dea
mov eax, dword [r14]
lea ecx, [rax + 6]
cmp eax, dword [r10]
jne 0x180015e44
mov dword [r10], ecx
cmp qword [rsi], 0
je 0x18001712b
cmp ecx, dword [rsi + 0x30]
ja 0x180017133
add r15, r12
mov rcx, qword [rsi + 0x10]
movzx edx, word [r15 + 4]
mov word [rcx + rax + 4], dx
mov edx, dword [r15]
mov dword [rcx + rax], edx
add dword [rsi + 0x20], 6
add dword [rbx + 0x10], 6
jmp 0x180015c39
mov ecx, 2
and r9b, 7
xor r14d, r14d
cmp r9b, 4
sete r14b
add r14d, ecx
jmp case.0x180015c89.3
mov edx, 2
and cl, 7
xor r14d, r14d
cmp cl, 4
sete r14b
add r14d, edx
jmp case.0x180015d16.3
cmp ecx, 0xd1
je 0x180017604
cmp ecx, 0xf6
je 0x180017648
lea edx, [rcx - 0x73]
cmp dl, 2
ja 0x18001738b
lea rdx, [0x1800b9030]
mov r8d, dword [rdx + rcx*4 - 0x1cc]
lea rcx, [r15 + rax]
movzx edx, byte [r15 + rax + 1]
add eax, 2
mov dword [rbx + 0x10], eax
add rdx, rcx
add rdx, 2
mov rcx, rsi
call fcn.180018090
test al, al
mov r10, qword [rsp + 0x30]
jne 0x180015c39
jmp 0x180017dea
xor ebp, ebp
cmp r12d, 0x64
ja 0x180017dea
test bpl, 1
jne 0x180015f44
mov edx, r12d
add rdx, qword [rbx + 8]
mov rcx, rsi
mov r8d, 3
call fcn.180018090
test al, al
je 0x180017dea
cmp byte [rsi + 0x34], 0
je 0x180017dea
cmp qword [rsi], 0
je 0x180017dea
mov eax, dword [rsi + 0x20]
mov ecx, dword [rsi + 0x24]
mov dword [rsi + 0x2c], eax
add rcx, qword [rsi + 0x18]
mov qword [rsp + 0x48], rcx
je 0x180017dea
mov r14d, dword [rbx + 0x10]
mov r13, qword [rbx + 8]
lea rdx, [rsp + 0x80]
mov qword [rdx], 0
mov rcx, r13
xor r8d, r8d
call qword [sym.imp.ntdll.dll_RtlLookupFunctionEntry]
test rax, rax
je 0x180016231
mov rcx, qword [rsp + 0x80]
mov r15d, dword [rax]
add r15d, ecx
mov eax, dword [rax + 8]
lea rbp, [rcx + rax]
movzx eax, byte [rcx + rax + 2]
lea rdi, [rax*2 + 4]
mov rcx, rdi
call sym.mozglue.dll_moz_xmalloc
mov r12, rax
mov rcx, rax
mov rdx, rbp
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
cmp r13d, r15d
jne 0x180016229
movzx eax, byte [r12 + 2]
test eax, eax
je case.default.0x180016018
movzx edx, byte [r12 + 5]
mov r8d, edx
and r8d, 0xf
cmp r8d, 0xa
ja case.default.0x180016018
mov r9b, 1
mov cl, 3
lea r10, [0x1800b9ee8]
lea edx, [0x1800b9ee8]
lea edx, [0x1800b9ee8]
movsxd r8, dword [r10 + r8*4]
add r8, r10
jmp r8
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
mov r8b, byte [r12 + 1]
cmp ecx, r14d
jae 0x180016038
movzx edx, r8b
cmp ecx, edx
jb 0x180016229
lea rcx, [r12 + 1]
xor edx, edx
lea r10, [0x1800b9f14]
add dword [rcx], esi
ror byte [rbp + rcx*4 + 0x15], cl
invalid
movzx r11d, dl
movzx r11d, byte [r12 + r11*2 + 4]
mov dh, 0x5c
pop rsp
add al, 0x45
cmp esi, ebx
mov dh, 0x5c
pop rsp
add al, 0x45
cmp esi, ebx
jae 0x1800160a3
add dl, r9b
cmp dl, al
jae case.default.0x180016085
movzx r11d, dl
movzx ebp, byte [rcx + r11*2 + 4]
mov r13d, ebp
and r13d, 0xf
cmp r13d, 0xa
ja case.default.0x180016085
mov dil, 3
movsxd r15, dword [r10 + r13*4]
add r15, r10
jmp r15
mov ebp, eax
sub ebp, r11d
movzx r11d, dil
movzx r9d, r9b
cmp ebp, r11d
cmovge r9d, r11d
jge 0x180016046
jmp case.default.0x180016085
sub al, dl
mov r10b, byte [r12]
test r10b, 0x20
jne 0x180016229
mov edi, dword [rsi + 0x20]
mov r9d, dword [rsi + 0x30]
add edi, 3
and edi, 0xfffffffc
cmp edi, r9d
ja 0x18001658c
mov dword [rsi + 0x20], edi
cmp byte [rsi + 0x34], 0
je 0x180016229
and r10b, 0xc7
mov byte [r12], r10b
mov byte [r12 + 2], al
movzx r8d, r8b
cmp r14d, r8d
jae 0x1800160ef
mov byte [rcx], r14b
cmp qword [rsi], 0
je 0x180016b47
lea rcx, [rdi + 4]
cmp rcx, r9
ja 0x18001658c
mov rcx, qword [rsi + 0x10]
mov r8d, dword [r12]
mov dword [rcx + rdi], r8d
mov ecx, dword [rsi + 0x20]
add ecx, 4
cmp byte [rsi + 0x34], 0
mov dword [rsi + 0x20], ecx
je 0x180016229
movzx r13d, al
add r13, r13
cmp qword [rsi], 0
je 0x180016b51
mov ecx, ecx
lea rax, [rcx + r13]
mov r8d, dword [rsi + 0x30]
cmp rax, r8
ja 0x18001658c
movzx eax, dl
lea rdx, [r12 + rax*2]
add rdx, 4
add rcx, qword [rsi + 0x10]
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
add r13d, dword [rsi + 0x20]
cmp byte [rsi + 0x34], 0
mov dword [rsi + 0x20], r13d
je 0x180016229
add r13d, 3
and r13d, 0xfffffffc
mov ecx, dword [rsi + 0x30]
cmp r13d, ecx
ja 0x18001658c
mov dword [rsi + 0x20], r13d
mov eax, r13d
add eax, 4
cmp qword [rsi], 0
je 0x180016709
cmp eax, ecx
ja 0x18001658c
mov eax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x10]
mov dword [rcx + r13], eax
mov ecx, dword [rsi + 0x20]
lea eax, [rcx + 4]
cmp byte [rsi + 0x34], 0
mov dword [rsi + 0x20], eax
je 0x180016229
cmp qword [rsi], 0
je 0x180016709
add ecx, 8
cmp ecx, dword [rsi + 0x30]
ja 0x18001658c
mov ecx, dword [rsi + 0x2c]
mov rdx, qword [rsi + 0x10]
mov eax, eax
mov dword [rdx + rax], ecx
mov ecx, dword [rsi + 0x20]
lea eax, [rcx + 4]
cmp byte [rsi + 0x34], 0
mov dword [rsi + 0x20], eax
je 0x180016229
cmp qword [rsi], 0
je 0x180016713
add ecx, 8
cmp ecx, dword [rsi + 0x30]
ja 0x18001658c
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov dword [rcx + rax], edi
add dword [rsi + 0x20], 4
cmp byte [rsi + 0x34], 0
je 0x180016229
mov r8, qword [rsi + 0x18]
lea rcx, [r8 + r13]
mov edx, 1
call qword [sym.imp.ntdll.dll_RtlAddFunctionTable]
mov rcx, r12
call sym.mozglue.dll__aligned_free
mov r9d, dword [rbx + 0x10]
test r9, r9
je 0x180016b61
mov rdx, qword [rbx]
mov r8, qword [rbx + 8]
lea r12, [rsp + 0xb8]
mov qword [r12 - 0x38], rdx
mov qword [r12 - 0x30], r8
mov qword [r12 - 0x28], r9
xor ebx, ebx
mov qword [r12 - 0x20], rbx
mov qword [r12 - 0x10], rbx
mov qword [r12 - 8], 0x20
mov qword [r12 - 0x18], r12
mov byte [r12 + 0x20], 1
lea rdi, [rsp + 0xe0]
mov rcx, rdi
call fcn.180017f10
cmp qword [rdi + 0x10], rbx
je 0x180017d4c
cmp byte [rsp + 0xd8], 0
je 0x180017d4c
cmp byte [rsp + 0x3c], 0
jne 0x180016b7a
lea rdi, [rsp + 0xa0]
mov rax, qword [rdi + 8]
cmp rax, qword [rdi + 0x10]
je 0x180016ba6
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0x49
mov rax, qword [rsp + 0xa8]
inc rax
mov qword [rsp + 0xa8], rax
inc dword [rsp + 0x98]
cmp rax, qword [rsp + 0xb0]
je 0x180016bc8
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0xbb
mov rax, qword [rsp + 0xa8]
inc rax
mov qword [rsp + 0xa8], rax
inc dword [rsp + 0x98]
lea rcx, [rax + 8]
cmp rcx, qword [rsp + 0xb0]
ja 0x180016bea
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x190]
mov qword [rcx + rax], rdx
mov rax, qword [rsp + 0xa8]
add rax, 8
mov qword [rsp + 0xa8], rax
add dword [rsp + 0x98], 8
cmp rax, qword [rsp + 0xb0]
je 0x180016c0c
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0x41
mov rax, qword [rsp + 0xa8]
inc rax
mov qword [rsp + 0xa8], rax
inc dword [rsp + 0x98]
cmp rax, qword [rsp + 0xb0]
je 0x180016c2e
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0xff
dec dword [rax - 0x75]
test byte [rax + rbp*4], ah
add byte [rax], al
add byte [rax - 1], cl
ror byte [rax - 0x77], 0x84
and al, 0xa8
test al, 0
add byte [rax], al
dec dword [rax - 0x75]
test byte [rax + rbp*4], ah
add byte [rax], al
add byte [rax - 1], cl
ror byte [rax - 0x77], 0x84
and al, 0xa8
test al, 0
add byte [rax], al
invalid
test byte [rax + rbx*4], ah
test al, 0
add byte [rax], al
inc dword [rsp + 0x98]
add byte [rax], al
add byte [rax + 0x3b], cl
test byte [rax + rsi*4], ah
add byte [rax], al
add byte [rdi], cl
test byte [rcx + 8], bh
add byte [rax], al
cmp rax, qword [rsp + 0xb0]
cmp eax, dword [rsp + 0xb0]
mov al, 0
add byte [rax], al
je 0x180016c50
mov rcx, qword [rsp + 0xa0]
mov ecx, dword [rsp + 0xa0]
and al, 0xa0
add byte [rax], al
add dh, al
add al, 1
jrcxz 0x1800163cd
mov byte [rcx + rax], 0xe3
jmp 0x180017e97
scasd eax, dword [rdi]
sbb al, byte [rax]
add byte [rcx - 0x3676befe], dh
mov cl, 2
mov r9d, ecx
mov cl, 2
mov r9d, ecx
cmp al, cl
jae case.0x180016018.0
jmp case.default.0x180016018
mov dil, 1
jmp case.0x180016085.5
mov dil, 2
jmp case.0x180016085.5
cmp ecx, 0x33
je 0x180017610
cmp ecx, 0x83
jne 0x180015ec9
mov cl, byte [r15 + rax + 1]
cmp cl, 0xc0
jb 0x1800173b5
mov rcx, qword [rsp + 0x28]
mov ecx, dword [rcx]
lea edx, [rcx + 3]
mov r8, qword [rsp + 0x30]
cmp ecx, dword [r8]
jne 0x180016449
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1800177a2
cmp edx, dword [rsi + 0x30]
ja 0x180017245
add r15, rax
mov rax, qword [rsi + 0x10]
mov dl, byte [r15 + 2]
mov byte [rax + rcx + 2], dl
movzx edx, word [r15]
mov word [rax + rcx], dx
jmp 0x1800173f5
cmp ecx, 0xc3
je 0x18001648c
cmp ecx, 0xcc
jne 0x180015ec9
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x18001649f
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x180016e8a
cmp edx, dword [rsi + 0x30]
jbe 0x1800170e9
xor byte [rdi], cl
xchg byte [rdi], dh
or al, 0
add dh, al
xor al, 0
mov byte [rsi + 0x34], 0
jmp 0x1800170f7
mov edx, r9d
and edx, 7
cmp edx, 5
jne 0x1800179f7
shr r9b, 3
lea eax, [rcx + 3]
lea r8, [r15 + rax]
add ecx, 7
mov edx, r9d
mov dword [rbx + 0x10], eax
movsxd rax, dword [r15 + rax]
add r8, rax
add r8, 4
mov dword [rbx + 0x10], ecx
and dl, 7
mov r14, qword [rsp + 0x28]
jne 0x180017a1f
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x180017943
mov ecx, dword [rsi + 0x30]
cmp eax, ecx
jae 0x180017a5d
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0xa1
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x180017945
mov ecx, dword [rsi + 0x30]
lea edx, [rax + 8]
cmp edx, ecx
ja 0x180017a66
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov qword [rcx + rax], r8
add dword [rsi + 0x20], 8
jmp 0x180015c39
mov r8d, ecx
and r8d, 7
cmp r8d, 5
je 0x180017dea
mov edx, 1
cmp r8d, 4
jne 0x180015e9c
mov dl, byte [r15 + rax + 2]
and dl, 7
xor r8d, r8d
cmp dl, 5
sete r8b
lea edx, [r8*4 + 1]
jmp 0x180015e9c
mov byte [rsi + 0x34], 0
jmp 0x180016229
movzx ecx, byte [r15 + r12]
cmp ecx, 0xcc
je 0x1800165aa
cmp ecx, 0x90
jne 0x1800165cf
mov ecx, r12d
mov edx, edi
inc r12
inc ecx
mov dword [rbx + 0x10], ecx
cmp r12, rdx
mov r14, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
jb 0x180015aa3
jmp 0x180015f17
cmp qword [rsp + 0x40], 0
je 0x180017dea
mov rcx, qword [rsp + 0x40]
call fcn.1800a2290
test al, al
je 0x180017dea
mov r12d, dword [rbx + 0x10]
mov al, 1
mov dword [rsp + 0x3c], eax
cmp r12d, 9
ja 0x180015f17
jmp 0x180017dea
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x180016619
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x180016722
cmp edx, dword [rsi + 0x30]
jbe 0x1800168ee
mov byte [rsi + 0x34], 0
jmp 0x180016729
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x180016648
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1800167a5
cmp edx, dword [rsi + 0x30]
ja 0x1800167f4
mov rdx, qword [rsi + 0x10]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
jmp 0x18001680f
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x18001667e
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1800167ae
cmp edx, dword [rsi + 0x30]
jbe 0x180016901
mov byte [rsi + 0x34], 0
jmp 0x1800167b5
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x1800166ad
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x18001688e
cmp edx, dword [rsi + 0x30]
jbe 0x180016914
mov byte [rsi + 0x34], 0
jmp 0x180016895
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x1800166dc
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x180016d21
cmp edx, dword [rsi + 0x30]
jbe 0x180016e30
mov byte [rsi + 0x34], 0
jmp 0x180016d28
mov dword [r14], edx
jmp 0x180015bd5
mov byte [rsi + 0x34], 0
jmp 0x180015bd5
add eax, 4
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
add eax, 4
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
jmp 0x180016216
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
mov edx, dword [rbx + 0x10]
lea eax, [rdx + 1]
mov dword [rbx + 0x10], eax
mov rcx, qword [rbx + 8]
movzx r8d, byte [rcx + rax]
lea r9d, [r8 - 0x10]
cmp r9d, 2
jb 0x180016793
cmp r8d, 5
je 0x180016c72
cmp r8d, 0x1f
jne 0x180016cb3
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea r8d, [rdx + 1]
mov r9, qword [rsp + 0x30]
cmp edx, dword [r9]
jne 0x180016776
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x1800171f5
cmp r8d, dword [rsi + 0x30]
jbe 0x180017378
mov byte [rsi + 0x34], 0
jmp 0x1800171fd
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea r8d, [rdx + 1]
mov r9, qword [rsp + 0x30]
jmp 0x1800167db
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
jmp 0x180016812
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
mov eax, dword [rbx + 0x10]
inc eax
mov dword [rbx + 0x10], eax
mov rcx, qword [rbx + 8]
cmp byte [rcx + rax], 0x89
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
jne 0x180017dea
mov edx, dword [rdx]
lea r8d, [rdx + 1]
cmp edx, dword [r9]
jne 0x1800167e8
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x1800167fa
cmp r8d, dword [rsi + 0x30]
jbe 0x180016804
mov byte [rsi + 0x34], 0
jmp 0x180016812
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
jmp 0x180016812
mov r8, qword [rsi + 0x10]
mov al, byte [rcx + rax]
mov byte [r8 + rdx], al
inc dword [rsi + 0x20]
mov r12d, dword [rbx + 0x10]
inc r12d
mov dword [rbx + 0x10], r12d
mov r14, qword [rbx + 8]
mov rcx, r14
mov edx, r12d
xor r8d, r8d
call fcn.1800a22e0
mov r15d, eax
test eax, eax
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
js 0x180017dea
mov ecx, dword [rax]
lea eax, [rcx + r15]
cmp ecx, dword [rdx]
jne 0x180016855
mov rdx, qword [rsp + 0x30]
mov dword [rdx], eax
cmp qword [rsi], 0
je 0x180016866
cmp eax, dword [rsi + 0x30]
jbe 0x180016876
mov byte [rsi + 0x34], 0
jmp 0x18001686d
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
add dword [rbx + 0x10], r15d
jmp 0x180015cd0
mov edx, r12d
add rdx, r14
mov r8d, r15d
add rcx, qword [rsi + 0x10]
call sub.VCRUNTIME140.dll_memcpy
add dword [rsi + 0x20], r15d
jmp 0x18001686d
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
mov eax, dword [rbx + 0x10]
inc eax
mov dword [rbx + 0x10], eax
mov rcx, qword [rbx + 8]
cmp byte [rcx + rax], 0x33
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
jne 0x180017dea
mov edx, dword [rdx]
lea r8d, [rdx + 2]
cmp edx, dword [r9]
jne 0x1800168c8
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x180016e7d
cmp r8d, dword [rsi + 0x30]
jbe 0x1800169ee
mov byte [rsi + 0x34], 0
jmp 0x1800169ff
mov byte [rsi + 0x34], 0
jmp 0x180015c36
mov rdx, qword [rsi + 0x10]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [rsi + 0x20]
jmp 0x180016729
mov rdx, qword [rsi + 0x10]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [rsi + 0x20]
jmp 0x1800167b5
mov rdx, qword [rsi + 0x10]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [rsi + 0x20]
jmp 0x180016895
cmp byte [r15 + rax + 1], 0x3d
jne 0x180017dea
add eax, 2
mov dword [rbx + 0x10], eax
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x180016ffb
mov ecx, dword [rsi + 0x30]
cmp eax, ecx
jae 0x180017154
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 0x180016ffd
mov ecx, dword [rsi + 0x30]
jmp 0x180017158
cmp byte [r15 + rax + 1], 0x48
jne 0x180017dea
mov cl, byte [r15 + rax + 2]
and cl, 0xfc
cmp cl, 0x88
jne 0x180017dea
mov ecx, dword [r14]
lea edx, [rcx + 3]
cmp ecx, dword [r10]
jne 0x1800169a3
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1800170d5
cmp edx, dword [rsi + 0x30]
jbe 0x1800171d5
mov byte [rsi + 0x34], 0
jmp 0x1800170dc
mov ecx, dword [r14]
lea edx, [rcx + 5]
cmp ecx, dword [r10]
jne 0x1800169d2
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x180016e96
cmp edx, dword [rsi + 0x30]
jbe 0x1800170ff
mov byte [rsi + 0x34], 0
jmp 0x180017118
add cl, ch
sub al, byte [rdi]
add byte [rax], al
mov r8, qword [rsi + 0x10]
movzx eax, word [rcx + rax]
mov word [r8 + rdx], ax
mov dword [rax + rdx], eax
add dword [rsi + 0x20], 2
add dword [rbx + 0x10], 2
jmp 0x180015cd0
cmp dl, 0x1f
ja case.default.0x180016018
shr dl, 4
add dl, 2
mov ecx, edx
jmp case.0x180016018.5
cmp byte [r15 + r12 + 1], 0xc0
jb 0x180017dea
mov eax, dword [r14]
lea ecx, [rax + 2]
cmp eax, dword [r10]
jne 0x180016a3c
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x18001713c
cmp ecx, dword [rsi + 0x30]
ja 0x1800168dc
mov rcx, qword [rsi + 0x10]
movzx edx, word [r15 + r12]
mov word [rcx + rax], dx
jmp 0x1800169fb
mov edx, eax
and dl, 0xf8
cmp dl, 0xb8
jne 0x180016f17
mov rax, qword [rsp + 0x28]
mov eax, dword [rax]
lea ecx, [rax + 9]
mov rdx, qword [rsp + 0x30]
cmp eax, dword [rdx]
jne 0x180016a86
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x1800175b5
cmp ecx, dword [rsi + 0x30]
jbe 0x1800175e8
xor byte [rdi], cl
xchg byte [rdi + 0xb], cl
add byte [rax], al
mov byte [rsi + 0x34], 0
jmp 0x1800175bc
mov ecx, 5
jmp 0x180015e80
mov dword [r14], edx
jmp 0x180015c36
mov dword [r14], edx
jmp 0x1800159c3
mov byte [rsi + 0x34], 0
xor eax, eax
jmp 0x18001599b
mov dword [r14], ecx
jmp 0x180015a30
mov byte [rsi + 0x34], 0
xor eax, eax
mov ecx, edx
jmp 0x180015a08
lea rax, str.MOZ_RELEASE_ASSERT_isSome___
mov qword [sym.mozglue.dll_gMozCrashReason], rax
add eax, 0xb6e46
jns 0x180016aec
add byte [rax - 0x77], cl
add eax, 0xb6e46
int3
int1
add al, byte [rax]
add al, ch
call fcn.180062835
mov dl, byte [r12]
call fcn.180062835
mov dl, byte [r12]
and dl, 7
mov cl, 2
jmp 0x180016b07
mov dl, byte [r12]
and dl, 7
cmp dl, 2
je case.0x180016018.5
mov rcx, qword [rsp + 0x30]
mov r9d, dword [rcx]
lea rcx, [r12 + 1]
xor edx, edx
mov r8b, byte [r12 + 1]
cmp r9d, r14d
jae case.default.0x180016085
movzx r10d, r8b
cmp r9d, r10d
jb 0x180016229
cmp dl, al
jb 0x180016229
xor edx, edx
xor eax, eax
jmp 0x1800160a5
lea ecx, [rdi + 4]
movzx r13d, al
add r13, r13
add r13d, ecx
mov rax, qword [rsp + 0x28]
mov dword [rax], r13d
jmp 0x180016172
lea rax, str.MOZ_RELEASE_ASSERT_effectiveLength___Cannot_Promote_a_zero_length_function_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
lea r8, [rsp + 0x80]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x190]
call fcn.1800a2370
test al, al
jne 0x180017cc8
jmp 0x180017d4c
mov edx, 1
mov rcx, rdi
call fcn.1800a27f0
test al, al
je 0x180017c5f
mov rax, qword [rsp + 0xa8]
jmp 0x1800162c5
mov edx, 1
mov rcx, rdi
call fcn.1800a27f0
test al, al
je 0x180017c74
mov rax, qword [rsp + 0xa8]
jmp 0x1800162f9
mov edx, 8
mov rcx, rdi
call fcn.1800a27f0
test al, al
je 0x180017c89
mov rax, qword [rsp + 0xa8]
jmp 0x180016331
mov edx, 1
mov rcx, rdi
call fcn.1800a27f0
test al, al
je 0x180017c9e
mov rax, qword [rsp + 0xa8]
jmp 0x18001636f
mov edx, 1
mov rcx, rdi
call fcn.1800a27f0
test al, al
je 0x180017cb3
mov rax, qword [rsp + 0xa8]
jmp 0x1800163a3
mov edx, 1
mov rcx, rdi
call fcn.1800a27f0
test al, al
je 0x180017efa
mov rax, qword [rsp + 0xa8]
jmp 0x1800163d7
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea r8d, [rdx + 1]
mov r9, qword [rsp + 0x30]
cmp edx, dword [r9]
jne 0x180016c8f
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x18001724e
cmp r8d, dword [rsi + 0x30]
ja 0x1800164b2
mov r8, qword [rsi + 0x10]
mov al, byte [rcx + rax]
mov byte [r8 + rdx], al
jmp 0x1800170f4
lea eax, [r8 + 0x7d]
cmp al, 2
mov r14, qword [rsp + 0x28]
ja 0x180017dea
lea rax, [0x1800b9030]
mov r8d, dword [rax + r8*4 - 0x20c]
add edx, 2
mov dword [rbx + 0x10], edx
dec dword [rsi + 0x20]
mov eax, dword [rbx + 0x10]
mov rcx, qword [rbx + 8]
lea rdx, [rcx + rax]
movsxd rcx, dword [rcx + rax]
add rdx, rcx
add rdx, 4
add eax, 4
jmp 0x180015b89
movzx r8d, byte [rdx + rax + 0xa]
cmp r8d, 0x50
je 0x1800172b2
cmp r8d, 0xff
jne 0x18001736e
cmp byte [rdx + rax + 0xb], 0xe0
jmp 0x1800172b7
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
mov ecx, dword [rbx + 0x10]
inc ecx
mov dword [rbx + 0x10], ecx
mov rax, qword [rbx + 8]
mov dl, byte [rax + rcx]
mov r8d, edx
and r8b, 0xfc
cmp r8b, 0x88
jne 0x180016de2
movzx edx, byte [rax + rcx + 1]
mov r8d, edx
and r8d, 0xffffffc0
mov r9d, 0xc0
cmp r8d, r9d
je 0x180016e43
cmp r8d, 0x40
mov r9, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
je 0x180016da1
test r8d, r8d
jne 0x180017dea
mov r9d, edx
and r9d, 6
cmp r9d, 4
jne 0x180016e43
cmp r8d, 0x40
mov r9, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
jne 0x180017dea
and edx, 7
add rax, rcx
mov ecx, dword [r9]
mov r8d, dword [r10]
cmp edx, 4
jne 0x18001741b
lea edx, [rcx + 4]
cmp ecx, r8d
jne 0x180016dc6
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1800177c3
cmp edx, dword [rsi + 0x30]
jbe 0x18001787f
mov byte [rsi + 0x34], 0
jmp 0x1800177ca
cmp dl, 0x44
jne 0x180015cd0
cmp byte [rax + rcx + 1], 0x89
jne 0x180015cd0
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea r8d, [rdx + 2]
mov r9, qword [rsp + 0x30]
cmp edx, dword [r9]
jne 0x180016e13
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x1800177ae
cmp r8d, dword [rsi + 0x30]
jbe 0x18001785d
mov byte [rsi + 0x34], 0
jmp 0x1800177b6
mov rdx, qword [rsi + 0x10]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [rsi + 0x20]
jmp 0x180016d28
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea r8d, [rdx + 2]
mov r9, qword [rsp + 0x30]
cmp edx, dword [r9]
jne 0x180016e60
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x180016e7d
cmp r8d, dword [rsi + 0x30]
ja 0x1800168dc
mov r8, qword [rsi + 0x10]
movzx eax, word [rax + rcx]
jmp 0x1800169f6
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
jmp 0x1800169ff
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
jmp 0x1800170f7
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
jmp 0x180017118
mov dword [r14], edx
jmp 0x180015d7a
mov byte [rsi + 0x34], 0
jmp 0x180015d7a
mov r8d, edx
and r8b, 0xf8
cmp r8b, 0xb8
jne 0x180017484
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea r8d, [rdx + 5]
mov r9, qword [rsp + 0x30]
cmp edx, dword [r9]
jne 0x180016ee1
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x1800177d3
cmp r8d, dword [rsi + 0x30]
ja 0x1800169e5
add rax, rcx
mov rcx, qword [rsi + 0x10]
mov r8b, byte [rax + 4]
mov byte [rcx + rdx + 4], r8b
mov eax, dword [rax]
mov dword [rcx + rdx], eax
jmp 0x180017114
mov dword [r14], r8d
jmp 0x180015c36
cmp eax, 0xc6
jg 0x1800174bc
cmp eax, 0x63
je 0x1800176c2
cmp eax, 0x8d
jne 0x180017dea
mov r9b, byte [r15 + r12 + 1]
mov eax, r9d
and al, 0xc7
cmp al, 5
jne 0x1800178e3
lea edx, [rcx + 3]
mov dword [rbx + 0x10], edx
movsxd r8, dword [r15 + rdx]
add ecx, 7
mov dword [rbx + 0x10], ecx
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x180017943
mov ecx, dword [rsi + 0x30]
cmp eax, ecx
jae 0x180017ae6
shr r9b, 3
or r9b, 0xb8
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], r9b
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x180017945
mov ecx, dword [rsi + 0x30]
jmp 0x180017aea
cmp eax, 0x60
jne 0x180017538
mov rax, qword [rsp + 0x28]
mov eax, dword [rax]
lea ecx, [rax + 5]
mov rdx, qword [rsp + 0x30]
cmp eax, dword [rdx]
jne 0x180016fbd
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x180017873
cmp ecx, dword [rsi + 0x30]
ja 0x1800169e5
add r15, r12
mov rcx, qword [rsi + 0x10]
mov dl, byte [r15 + 4]
mov byte [rcx + rax + 4], dl
mov edx, dword [r15]
mov dword [rcx + rax], edx
jmp 0x180017114
mov dword [r14], ecx
jmp 0x180015e1e
mov byte [rsi + 0x34], 0
jmp 0x180015e1e
inc eax
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov edx, dword [rbx + 0x10]
mov r8, qword [rbx + 8]
movsxd r9, dword [r8 + rdx]
lea eax, [rdx + 4]
mov dword [rbx + 0x10], eax
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x180017049
mov ecx, dword [rsi + 0x30]
cmp eax, ecx
jae 0x180017172
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 0x18001704b
mov ecx, dword [rsi + 0x30]
jmp 0x180017176
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 [rbx + 8]
mov edx, dword [rbx + 0x10]
lea r8d, [rax + 1]
mov r9, qword [rsp + 0x30]
cmp eax, dword [r9]
jne 0x18001707a
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x180017090
cmp r8d, dword [rsi + 0x30]
jbe 0x1800171a2
mov byte [rsi + 0x34], 0
jmp 0x180017098
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
inc dword [rbx + 0x10]
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x180017b8c
mov ecx, dword [rsi + 0x30]
cmp eax, ecx
jae 0x1800171b7
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 0x180017b8e
mov ecx, dword [rsi + 0x30]
jmp 0x1800171bb
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
mov r12d, dword [rbx + 0x10]
add r12d, 3
jmp 0x180016819
mov rdx, qword [rsi + 0x10]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [rsi + 0x20]
inc dword [rbx + 0x10]
jmp 0x180015cd0
add r15, rax
mov rax, qword [rsi + 0x10]
mov dl, byte [r15 + 4]
mov byte [rax + rcx + 4], dl
mov edx, dword [r15]
mov dword [rax + rcx], edx
add dword [rsi + 0x20], 5
add dword [rbx + 0x10], 5
jmp 0x180015cd0
mov edx, 5
jmp 0x180015e9c
mov dword [r14], ecx
jmp 0x180015e72
mov byte [rsi + 0x34], 0
jmp 0x180015e72
mov rax, qword [rsp + 0x28]
mov dword [rax], ecx
jmp 0x1800169ff
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
jmp 0x180015ccc
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x180017268
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x53
inc dword [rsi + 0x20]
jmp 0x180017006
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x180017271
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 0x18001704d
mov ecx, dword [rsi + 0x30]
jmp 0x180017275
mov r8, qword [rsi + 0x10]
mov eax, eax
mov cl, byte [rcx + rdx]
mov byte [r8 + rax], cl
inc dword [rsi + 0x20]
jmp 0x180017098
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x180017af3
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x5b
inc dword [rsi + 0x20]
jmp 0x180015cd0
add r15, rax
mov rax, qword [rsi + 0x10]
mov dl, byte [r15 + 2]
mov byte [rax + rcx + 2], dl
movzx edx, word [r15]
mov word [rax + rcx], dx
add dword [rsi + 0x20], 3
jmp 0x1800170dc
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
mov ecx, dword [rbx + 0x10]
inc ecx
mov dword [rbx + 0x10], ecx
mov rax, qword [rbx + 8]
mov dl, byte [rax + rcx]
and dl, 0xc7
cmp dl, 0x44
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
jne 0x180017dea
mov edx, dword [rdx]
lea r8d, [rdx + 3]
cmp edx, dword [r9]
jne 0x180017235
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x18001725b
cmp r8d, dword [rsi + 0x30]
jbe 0x1800173de
mov byte [rsi + 0x34], 0
jmp 0x1800173f9
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
jmp 0x1800170f7
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
jmp 0x1800173f9
mov byte [rsi + 0x34], 0
jmp 0x180017006
mov byte [rsi + 0x34], 0
lea r10d, [rax + 8]
cmp r10d, ecx
jbe 0x180017454
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x18001758c
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x41
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x180017052
mov ecx, dword [rsi + 0x30]
jmp 0x180017590
cmp byte [rdx + rax + 0xb], 0xc3
mov r14, qword [rsp + 0x28]
jne 0x180015a4d
add eax, 2
mov rdi, qword [rdx + rax]
lea r12, [rsp + 0x80]
mov rcx, rbx
mov rdx, r12
call fcn.1800a2ca0
xor ebp, ebp
cmp qword [r12 + 0x70], 0
je 0x180017893
cmp byte [rsp + 0xd8], 0
je 0x180017893
lea r12, [rsp + 0x80]
mov rcx, r12
mov rdx, qword [rsp + 0x190]
call fcn.1800a2d90
mov rcx, r12
call fcn.1800a2de0
test al, al
je 0x180017891
mov eax, dword [rsi + 0x20]
lea ecx, [rax + 8]
cmp qword [rsi], 0
je 0x180017a6f
cmp ecx, dword [rsi + 0x30]
jbe 0x180017a89
mov byte [rsi + 0x34], 0
xor eax, eax
xor ebp, ebp
cmp qword [rsi + 0x10], 0
je 0x180017893
cmp qword [rsi + 0x18], 0
je 0x180017893
cmp dword [rsi + 8], 0
je 0x180017893
test al, al
jne 0x180017a76
jmp 0x180017893
mov r14, qword [rsp + 0x28]
jmp 0x180015a4d
mov r8, qword [rsi + 0x10]
mov al, byte [rcx + rax]
mov byte [r8 + rdx], al
inc dword [rsi + 0x20]
jmp 0x1800171fd
cmp rcx, 0xff
je 0x1800177e0
cmp ecx, 0xc6
je 0x18001781d
cmp ecx, 0x83
jne 0x180017dea
mov cl, byte [r15 + rax + 1]
and cl, 0xf8
loope 0x1800173b0
cmp cl, 0x60
mov rcx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jne 0x180017dea
test dword [rdi], ebx
or al, byte [rax]
invalid
test dword [rdi], ebx
or al, byte [rax]
add byte [rbx + 0x5518d09], cl
mov ecx, dword [rcx]
lea edx, [rcx + 5]
cmp ecx, dword [r8]
je 0x1800169ca
jmp 0x1800169d2
add rax, rcx
mov rcx, qword [rsi + 0x10]
mov r8b, byte [rax + 2]
mov byte [rcx + rdx + 2], r8b
movzx eax, word [rax]
mov word [rcx + rdx], ax
add dword [rsi + 0x20], 3
add dword [rbx + 0x10], 3
jmp 0x180015cd0
cmp bpl, 0x1f
ja case.default.0x180016085
shr bpl, 4
add bpl, 2
mov edi, ebp
jmp case.0x180016085.5
lea edx, [rcx + 3]
cmp ecx, r8d
jne 0x18001742b
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1800177a2
cmp edx, dword [rsi + 0x30]
ja 0x180017245
mov rdx, qword [rsi + 0x10]
mov r8b, byte [rax + 2]
mov byte [rdx + rcx + 2], r8b
movzx eax, word [rax]
mov word [rdx + rcx], ax
jmp 0x1800173f5
add r8, rdx
lea rcx, [r9 + r8]
add rcx, 4
mov rdx, qword [rsi + 0x10]
mov eax, eax
mov qword [rdx + rax], rcx
mov eax, dword [rsi + 0x20]
add eax, 8
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x180017050
mov ecx, dword [rsi + 0x30]
jmp 0x180017286
cmp edx, 0xf7
je 0x180017758
cmp edx, 0x8b
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
jne 0x180017dea
cmp byte [rax + rcx + 1], 0xc0
jb 0x180017dea
mov edx, dword [rdx]
lea r8d, [rdx + 2]
jmp 0x180016e53
cmp eax, 0xff
je 0x1800176ea
cmp eax, 0xc7
mov rax, qword [rsp + 0x28]
mov dword [rax], 0x8b480000
and al, 0x28
mov rdx, qword [rsp + 0x30]
jne 0x180017dea
invalid
or dword [rax], eax
invalid
xor byte [rdi], cl
test dword [rsi], ecx
invalid
or dword [rax], eax
add byte [rbx - 0x80], al
jl 0x180017507
invalid
cmp byte [r15 + r12 + 1], 0x44
jne 0x180017dea
or dword [rax], eax
invalid
add dword [rdi + rcx - 0x7b], eax
add cl, byte [rcx]
or dword [rax], eax
invalid
or dword [rax], eax
add byte [rbx + 0x8488d00], cl
mov eax, dword [rax]
lea ecx, [rax + 8]
cmp eax, dword [rdx]
jne 0x1800174f8
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x18001799b
cmp ecx, dword [rsi + 0x30]
jbe 0x1800179c8
mov ebp, 0xc6000004
xor al, 0
mov byte [rsi + 0x34], 0
jmp 0x1800179a2
mov bpl, byte [r12]
and bpl, 7
mov dil, 2
jmp 0x180017529
mov bpl, byte [r12]
and bpl, 7
cmp bpl, 2
je case.0x180016085.5
jmp case.default.0x180016085
cmp eax, 0xc0
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
jne 0x180017dea
mov eax, dword [rax]
lea ecx, [rax + 3]
cmp eax, dword [rdx]
jne 0x18001755d
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x1800179bc
cmp ecx, dword [rsi + 0x30]
ja 0x180017245
add r15, r12
mov rcx, qword [rsi + 0x10]
mov dl, byte [r15 + 2]
mov byte [rcx + rax + 2], dl
movzx edx, word [r15]
mov word [rcx + rax], dx
jmp 0x1800173f5
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x1800175c5
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x80
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x180017054
mov ecx, dword [rsi + 0x30]
jmp 0x1800175c9
mov rax, qword [rsp + 0x28]
mov dword [rax], ecx
add dword [rbx + 0x10], 9
jmp 0x180015cd0
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x1800176b9
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x3b
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
jmp 0x18001705d
add r15, r12
mov rcx, qword [rsi + 0x10]
mov dl, byte [r15 + 8]
mov byte [rcx + rax + 8], dl
mov rdx, qword [r15]
mov qword [rcx + rax], rdx
add dword [rsi + 0x20], 9
jmp 0x1800175bc
cmp byte [r15 + rax + 1], 0xc0
jb 0x180017dea
mov ecx, dword [r14]
lea edx, [rcx + 2]
cmp ecx, dword [r10]
jne 0x180017623
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x180017851
cmp edx, dword [rsi + 0x30]
ja 0x1800168dc
mov rdx, qword [rsi + 0x10]
movzx eax, word [r15 + rax]
mov word [rdx + rcx], ax
jmp 0x1800169fb
lea r8, [rsp + 0x80]
mov byte [r8], 0
lea rcx, [rax + r15]
inc rcx
xor edx, edx
call fcn.1800a22e0
test eax, eax
js 0x180017dea
cmp byte [rsp + 0x80], 0
jne 0x180017dea
mov r14d, eax
mov rax, qword [rsp + 0x28]
mov ecx, dword [rax]
lea eax, [rcx + r14]
add eax, 2
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx]
jne 0x180017699
mov rdx, qword [rsp + 0x30]
mov dword [rdx], eax
add r14d, 2
cmp qword [rsi], 0
je 0x180017937
cmp eax, dword [rsi + 0x30]
jbe 0x1800178d1
mov byte [rsi + 0x34], 0
jmp 0x180015ccc
mov byte [rsi + 0x34], 0
jmp 0x18001705d
cmp byte [r15 + r12 + 1], 0xc0
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
jb 0x180017dea
mov eax, dword [rax]
lea ecx, [rax + 2]
cmp eax, dword [rdx]
je 0x180016a35
jmp 0x180016a3c
movzx eax, byte [r15 + r12 + 1]
mov edx, eax
and dl, 0xc7
cmp dl, 5
mov r14, qword [rsp + 0x28]
jne 0x180017dea
and eax, 0x38
cmp eax, 0x20
je 0x180017714
cmp eax, 0x10
jne 0x180017dea
add ecx, 3
mov dword [rbx + 0x10], ecx
dec dword [rsi + 0x20]
mov eax, dword [rbx + 0x10]
mov rcx, qword [rbx + 8]
lea rdx, [rcx + rax]
mov r8b, byte [rcx + rax + 1]
and r8b, 0x38
xor ebp, ebp
cmp r8b, 0x20
sete bpl
mov r8d, 4
sub r8d, ebp
movsxd rcx, dword [rcx + rax]
add eax, 4
mov dword [rbx + 0x10], eax
mov rdx, qword [rcx + rdx + 4]
jmp 0x180015b8c
mov dl, byte [rax + rcx + 1]
and dl, 0xf8
cmp dl, 0xc0
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
jne 0x180017dea
mov edx, dword [rdx]
lea r8d, [rdx + 6]
cmp edx, dword [r9]
jne 0x180017785
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x1800179ab
cmp r8d, dword [rsi + 0x30]
jbe 0x1800179da
mov byte [rsi + 0x34], 0
jmp 0x1800179b3
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
jmp 0x1800173f9
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
mov r12d, dword [rbx + 0x10]
add r12d, 2
jmp 0x180016819
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
add dword [rbx + 0x10], 4
jmp 0x180015cd0
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
jmp 0x180017118
movzx edx, byte [r15 + rax + 1]
mov ecx, edx
shr ecx, 3
and ecx, 7
cmp dl, 0xc0
jb 0x18001794d
cmp ecx, 3
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jae 0x180017afc
mov ecx, dword [rdx]
lea edx, [rcx + 2]
cmp ecx, dword [r8]
je 0x18001761b
jmp 0x180017623
lea rcx, [rax + r15]
inc rcx
xor edx, edx
xor r8d, r8d
call fcn.1800a22e0
mov r14d, eax
test eax, eax
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
js 0x180017dea
mov ecx, dword [rax]
lea eax, [rcx + r14]
add eax, 2
jmp 0x18001768e
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
jmp 0x1800169ff
mov r8, qword [rsi + 0x10]
movzx eax, word [rax + rcx]
mov word [r8 + rdx], ax
add dword [rsi + 0x20], 2
jmp 0x1800177b6
mov rax, qword [rsp + 0x28]
mov dword [rax], ecx
jmp 0x180017118
mov rdx, qword [rsi + 0x10]
mov eax, dword [rax]
mov dword [rdx + rcx], eax
add dword [rsi + 0x20], 4
jmp 0x1800177ca
xor ebp, ebp
lea r12, [rsp + 0xe0]
mov rcx, r12
call fcn.1800a2e50
mov rcx, qword [r12 - 0x40]
lea rax, [rsp + 0xb8]
cmp rcx, rax
je 0x1800178bb
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test bpl, bpl
mov r14, qword [rsp + 0x28]
jne 0x180017dea
mov ecx, dword [r14]
jmp 0x180015a4d
mov edx, r12d
add rdx, r15
mov r8d, r14d
add rcx, qword [rsi + 0x10]
jmp 0x180015cc3
add ecx, 2
add rcx, r15
xor edx, edx
xor r8d, r8d
call fcn.1800a22e0
mov r14d, eax
mov rax, qword [rsp + 0x28]
mov ecx, dword [rax]
lea eax, [rcx + r14]
inc eax
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx]
jne 0x180017913
mov rdx, qword [rsp + 0x30]
mov dword [rdx], eax
inc r14d
cmp qword [rsi], 0
je 0x180017937
cmp eax, dword [rsi + 0x30]
ja 0x1800176b0
add r12, r15
mov r8d, r14d
add rcx, qword [rsi + 0x10]
mov rdx, r12
jmp 0x180015cc3
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
jmp 0x180015ccc
inc eax
add eax, 8
jmp 0x180017b90
and dl, 0xc7
cmp dl, 5
jne 0x180017aa3
cmp cl, 2
jne 0x180017aa3
lea rcx, [rax + 2]
mov dword [rbx + 0x10], ecx
lea rcx, [r15 + rax]
add rcx, 2
movsxd rdx, dword [r15 + rax + 2]
add eax, 6
mov dword [rbx + 0x10], eax
mov rdx, qword [rdx + rcx + 4]
mov rcx, rsi
mov r8d, 4
call fcn.180018090
test al, al
mov r14, qword [rsp + 0x28]
jmp 0x180015f05
mov rax, qword [rsp + 0x28]
mov dword [rax], ecx
add dword [rbx + 0x10], 8
jmp 0x180015cd0
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
add dword [rbx + 0x10], 6
jmp 0x180015cd0
mov rax, qword [rsp + 0x28]
mov dword [rax], ecx
jmp 0x1800173f9
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r15 + r12]
mov qword [rcx + rax], rdx
add dword [rsi + 0x20], 8
jmp 0x1800179a2
add rax, rcx
mov rcx, qword [rsi + 0x10]
movzx r8d, word [rax + 4]
mov word [rcx + rdx + 4], r8w
mov eax, dword [rax]
mov dword [rcx + rdx], eax
add dword [rsi + 0x20], 6
jmp 0x1800179b3
mov ecx, 1
cmp edx, 4
jne 0x180015e80
mov al, byte [r15 + rax + 1]
and al, 7
xor ecx, ecx
cmp al, 5
sete cl
lea ecx, [rcx*4 + 1]
jmp 0x180015e80
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x180017b85
mov ecx, dword [rsi + 0x30]
cmp eax, ecx
jae 0x180017b9d
or r9b, 0xb8
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], r9b
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x180017b87
mov ecx, dword [rsi + 0x30]
jmp 0x180017ba1
mov byte [rsi + 0x34], 0
jmp 0x18001652f
mov byte [rsi + 0x34], 0
jmp 0x180015c39
mov rax, qword [rsp + 0x28]
mov dword [rax], ecx
mov rax, qword [rsp + 0x198]
mov qword [rax], rdi
mov bpl, 1
jmp 0x180017893
mov rcx, qword [rsi + 0x10]
mov qword [rcx + rax], rdi
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x180017a76
mov al, byte [rsi + 0x34]
jmp 0x18001733f
cmp cl, 4
jne 0x180017dea
cmp dl, 5
jne 0x180017b19
lea rcx, [rax + 2]
mov dword [rbx + 0x10], ecx
lea rcx, [r15 + rax]
add rcx, 2
movsxd rdx, dword [r15 + rax + 2]
add eax, 6
mov dword [rbx + 0x10], eax
mov rdx, qword [rdx + rcx + 4]
mov rcx, rsi
mov r8d, 3
call fcn.180018090
mov bpl, 1
jmp 0x18001798f
mov byte [rsi + 0x34], 0
lea r9d, [rax + 8]
cmp r9d, ecx
jbe 0x180017b67
mov byte [rsi + 0x34], 0
jmp 0x180015cd0
cmp ecx, 4
je 0x180017b19
cmp ecx, 6
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
je 0x18001780a
jmp 0x180017dea
lea rcx, [rax + r15]
inc rcx
xor edx, edx
xor r8d, r8d
call fcn.1800a22e0
mov ebp, eax
test eax, eax
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
js 0x180017dea
mov ecx, dword [rax]
lea eax, [rcx + rbp]
inc eax
cmp ecx, dword [rdx]
jne 0x180017b50
mov rdx, qword [rsp + 0x30]
mov dword [rdx], eax
inc ebp
cmp qword [rsi], 0
je 0x180017bcf
cmp eax, dword [rsi + 0x30]
jbe 0x180017bff
mov byte [rsi + 0x34], 0
jmp 0x180017bd6
add r15, rdx
lea rcx, [r8 + r15]
add rcx, 4
mov rdx, qword [rsi + 0x10]
mov eax, eax
mov qword [rdx + rax], rcx
add dword [rsi + 0x20], 8
jmp 0x180015cd0
inc eax
add eax, 8
inc eax
inc eax
inc eax
mov r14, qword [rsp + 0x28]
mov dword [r14], eax
jmp 0x180015cd5
mov byte [rsi + 0x34], 0
lea r9d, [rax + 8]
cmp r9d, ecx
jbe 0x180017be1
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x180017c16
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x48
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x180017b8c
mov ecx, dword [rsi + 0x30]
jmp 0x180017c1a
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
add dword [rbx + 0x10], ebp
mov bpl, 1
jmp 0x180015cd0
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov qword [rcx + rax], r8
mov eax, dword [rsi + 0x20]
add eax, 8
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x180017b8a
mov ecx, dword [rsi + 0x30]
jmp 0x180017bae
mov edx, r12d
add rdx, r15
mov r8d, ebp
add rcx, qword [rsi + 0x10]
call sub.VCRUNTIME140.dll_memcpy
add dword [rsi + 0x20], ebp
jmp 0x180017bd6
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x180017c3f
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x8b
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x180017b8e
mov ecx, dword [rsi + 0x30]
jmp 0x180017c43
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x180017af3
movzx ecx, dl
lea ecx, [rcx + rcx*8]
mov rdx, qword [rsi + 0x10]
mov eax, eax
mov byte [rdx + rax], cl
jmp 0x1800171cd
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
jmp 0x1800162eb
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
jmp 0x18001631f
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
jmp 0x180016361
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
jmp 0x180016395
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
jmp 0x1800163c9
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
cmp qword [rsp + 0xf0], 0
je 0x180017e5e
cmp byte [rsp + 0xd8], 0
je 0x180017e5e
mov r8, qword [rsp + 0xa8]
test r8, r8
je 0x180017d4c
mov rdx, qword [rsp + 0xa0]
mov ecx, dword [rsp + 0x9c]
add rcx, qword [rsp + 0x88]
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 + 0xa8]
add dword [rsp + 0x9c], eax
mov qword [rsp + 0xa8], 0
mov eax, dword [0x1800cd8c4]
mov ecx, dword [0x1800cb4e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x180017e1d
mov rdi, qword [rsp + 0xe8]
mov r15, qword [rsp + 0xf0]
test r15, r15
je 0x180017dc0
shl r15, 4
add r15, rdi
mov ebx, dword [0x1800cd8c0]
lea r14, [rsp + 0x50]
mov r13, qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rdi]
mov rcx, qword [rdi + 8]
mov rdx, rbx
mov r9, r14
call r13
add rdi, 0x10
cmp rdi, r15
jne 0x180017d9f
mov rdi, qword [rsp + 0xe8]
lea rax, [rsp + 0x100]
mov qword [rax - 0x10], 0
cmp rdi, rax
jne 0x180017e7e
mov rcx, qword [rsp + 0xa0]
cmp rcx, r12
jne 0x180017e8c
mov rax, qword [rsp + 0x198]
cmp qword [rax], 0
je 0x180017e6a
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.180062020
nop
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x1800cd8c4]
call fcn.180060ac0
cmp dword [0x1800cd8c4], 0xffffffff
jne 0x180017d71
lea rdi, [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rdi + 4]
mov dword [0x1800cd8c0], eax
lea rcx, [0x1800cd8c4]
call fcn.180060b40
jmp 0x180017d71
mov qword [rax], 0
jmp 0x180017d4c
mov dword [rsi + 0x20], 0
mov rcx, rsi
call fcn.1800a27b0
jmp 0x180017df8
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x180017dd9
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x180017dea
inc qword [rsp + 0xa8]
mov eax, dword [rsp + 0x98]
inc eax
mov dword [rsp + 0x98], eax
mov eax, eax
cmp qword [rsp + 0x90], rax
jbe 0x180017cc8
mov rax, qword [rsp + 0xa8]
cmp rax, qword [rsp + 0xb0]
je 0x180017edf
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0x90
jmp 0x180017e97
mov edx, 1
mov rcx, rdi
call fcn.1800a27f0
test al, al
je 0x180017efa
mov rax, qword [rsp + 0xa8]
jmp 0x180017ed1
mov byte [rsp + 0xd8], 0
mov eax, dword [rsp + 0x98]
jmp 0x180017eaf
mov edi, dword [0x1800cd8c0]
lea rax, [r14 + rbx]
dec rax
xor edx, edx
div rdi
mov rbx, rax
mov rax, r14
xor edx, edx
div rdi
inc rbx
sub rbx, rax
je 0x180018004
mov r14, rax
lea r15, [rsi + 8]
imul r14, rdi
cmp rbx, 1
adc rbx, 0
lea r12, [rsp + 0x20]
mov r13, qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rcx, r14
mov rdx, rdi
mov r8d, 0x40
mov r9, r12
call r13
test eax, eax
je 0x180018066
mov ebp, dword [rsp + 0x20]
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 0x18]
je 0x180018078
mov rcx, qword [rsi + 8]
shl rax, 4
mov dword [rcx + rax], ebp
mov qword [rcx + rax + 8], r14
inc qword [rsi + 0x10]
add r14, rdi
dec rbx
jne 0x180017fbc
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.180062020
mov rax, rsi
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop rsi
pop rsi
pop r15
ret
cmp dword [0x1800cd8c4], 0xffffffff
jne 0x180017f78
lea rdi, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rdi + 4]
mov dword [0x1800cd8c0], eax
lea rcx, [0x1800cd8c4]
call fcn.180060b40
jmp 0x180017f78
mov dword [rsp + 0x20], 0
mov rcx, rsi
call fcn.1800a2bc0
jmp 0x180018004
mov rcx, r15
call fcn.1800a2a90
test al, al
je 0x18001806e
mov rax, qword [rsi + 0x10]
jmp 0x180017fe8
cmp qword [rcx], 0
je 0x1800182e1
mov r8d, dword [rcx + 0x30]
cmp eax, r8d
jae 0x1800182f5
mov r8, qword [rcx + 0x10]
mov eax, eax
mov byte [r8 + rax], 0xff
mov eax, dword [rcx + 0x20]
inc eax
mov dword [rcx + 0x20], eax
cmp qword [rcx], 0
je 0x1800182e3
mov r8d, dword [rcx + 0x30]
cmp eax, r8d
jae 0x1800182fe
mov r8, qword [rcx + 0x10]
mov eax, eax
mov byte [r8 + rax], 0x25
mov eax, dword [rcx + 0x20]
inc eax
mov dword [rcx + 0x20], eax
cmp qword [rcx], 0
je 0x1800182e5
mov r8d, dword [rcx + 0x30]
mov eax, dword [rcx + 0x30]
lea r9d, [rax + 4]
cmp r9d, r8d
ja 0x1800182bb
mov r8, qword [rcx + 0x10]
mov eax, eax
mov dword [r8 + rax], 0
mov eax, dword [rcx + 0x20]
add eax, 4
mov dword [rcx + 0x20], eax
cmp qword [rcx], 0
je 0x1800182e8
mov r8d, dword [rcx + 0x30]
lea r9d, [rax + 8]
cmp r9d, r8d
ja 0x1800182b2
mov r8, qword [rcx + 0x10]
mov eax, eax
mov qword [r8 + rax], rdx
add dword [rcx + 0x20], 8
cmp qword [rcx], 0
je 0x1800182ee
xor eax, eax
cmp qword [rcx + 0x10], 0
je 0x180018182
cmp qword [rcx + 0x18], 0
je 0x180018182
cmp dword [rcx + 8], 0
je 0x180018182
cmp byte [rcx + 0x34], 0
setne al
ret
ror byte [rcx - 0x7cb7dfbf], 0x39
add byte [rdi], cl
test byte [rcx + 1], bl
add byte [rax], al
mov r8d, dword [rcx + 0x30]
xor byte [r13 + rcx*4 + 0x48], al
add al, 0x45
cmp ecx, eax
lea r9d, [rax + 4]
cmp r9d, r8d
ja 0x180018356
mov r8, qword [rcx + 0x10]
mov eax, eax
mov dword [r8 + rax], 2
mov eax, dword [rcx + 0x20]
add eax, 4
mov dword [rcx + 0x20], eax
cmp qword [rcx], 0
je 0x18001833e
mov r8d, dword [rcx + 0x30]
cmp eax, r8d
jae 0x18001835f
mov r8, qword [rcx + 0x10]
mov eax, eax
mov byte [r8 + rax], 0xeb
mov eax, dword [rcx + 0x20]
inc eax
mov dword [rcx + 0x20], eax
cmp qword [rcx], 0
je 0x180018340
add byte [rax], al
add byte [rax], al
mov r8d, dword [rcx + 0x30]
cmp eax, r8d
jae 0x1800182bb
mov r8, qword [rcx + 0x10]
mov eax, eax
rol byte [rcx - 0x3a], 4
add byte [rax], cl
rol byte [rcx - 0x3a], 4
add byte [rax], cl
mov eax, dword [rcx + 0x20]
inc eax
jmp 0x18001812f
mov eax, dword [rcx + 0x20]
inc eax
mov dword [rcx + 0x20], eax
cmp qword [rcx], 0
je 0x1800182a8
mov r8d, dword [rcx + 0x30]
xor byte [r9 + rdi - 0x40], al
cmp eax, r8d
jae 0x180018368
mov r8, qword [rcx + 0x10]
mov eax, eax
mov byte [r8 + rax], 0xe
mov eax, dword [rcx + 0x20]
inc eax
mov dword [rcx + 0x20], eax
jmp 0x1800180ac
mov byte [rcx + 0x34], 0
jmp 0x180018165
mov byte [rcx + 0x34], 0
jmp 0x180018140
inc eax
inc eax
add eax, 4
add eax, 8
mov dword [rcx + 0x20], eax
mov al, 1
jmp 0x180018182
mov byte [rcx + 0x34], 0
jmp 0x1800180e4
mov byte [rcx + 0x34], 0
jmp 0x18001810e
inc eax
inc eax
jmp 0x1800182e8
mov byte [rcx + 0x34], 0
jmp 0x180018218
mov byte [rcx + 0x34], 0
jmp 0x180018242
mov byte [rcx + 0x34], 0
jmp 0x1800180ac
mov edi, dword [rcx + 8]
or al, 0
add byte [rcx - 0x75], cl
xor byte [rax + 1], cl
fimul word [rdx + 0x44880841]
and al, 0x47
sub esi, ebx
mov dword [rdi + 0x88], esp
add edi, eax
inc byte [rax]
add byte [rax], al
add byte [rax], al
mov esi, 0xc0850004
or eax, 0xa1448
add byte [rax - 0x77], cl
call 0x1ccf9b484
mov esi, dword [rsp + 0x38]
push rax
invalid
or dword [rax - 0x7d], ecx
clc
add al, 0xf
invalid
in al, dx
add dword [rax], eax
add byte [rax - 0x77], cl
mov eax, edi
jo 0x180018c7c
mov dword [rdi + 0x44], 0xe
stc
invalid
mov dword [rdi + 0x68], esi
jo 0x180018cd0
mov eax, eax
stc
or eax, 0xa12b8
dec dword [rbp - 0x75]
jo 0x180018d09
mov ecx, edi
ror dword [rcx], 1
add byte [rcx + rax - 9], cl
push 0x4fe8349
inc byte [rdi + rcx]
invalid
fxch st(4)
int3
int3
invalid
add byte [rax], al
lea rdi, [0x1800cd8f0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [rsi + 8]
mov ecx, dword [rax + 0x10]
add rcx, qword [rax + 8]
mov eax, 0x80000001
cmp rcx, rax
setb bl
mov rcx, rdi
mov ecx, edi
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
int3