Function at 0x14000ec10
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, 0x148
mov rsi, r9
mov rdi, r8
mov rbx, rdx
mov r15, rcx
mov rcx, qword [rsp + 0x1b8]
mov rax, qword [0x140042028]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov qword [rcx], 0
cmp qword [r9], 0
je 0x14000ec80
cmp qword [rsi + 0x10], 0
je 0x1400112c3
cmp qword [rsi + 0x18], 0
je 0x1400112c3
cmp dword [rsi + 8], 0
je 0x1400112c3
cmp byte [rsi + 0x34], 0
je 0x1400112c3
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea r8, [rsi + 0x20]
mov ecx, dword [rsi + 0x20]
lea edx, [rcx + 8]
cmp qword [rsi], 0
je 0x14000ff18
cmp edx, dword [rsi + 0x30]
ja 0x14000ff20
mov rdx, qword [rsi + 0x10]
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x14000ece3
mov al, byte [rsi + 0x34]
cmp qword [rsi + 0x10], 0
je 0x1400112c3
cmp qword [rsi + 0x18], 0
je 0x1400112c3
cmp dword [rsi + 8], 0
je 0x1400112c3
test al, al
je 0x1400112c3
mov qword [rsp + 0x20], r8
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 + 0x58], rdi
je 0x14000ff2b
cmp ecx, dword [rsi + 0x30]
ja 0x14000ff38
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
mov r10, qword [rsp + 0x20]
je 0x14000ed5a
mov al, byte [rsi + 0x34]
cmp qword [rsi + 0x10], 0
je 0x1400112b5
cmp qword [rsi + 0x18], 0
je 0x1400112b5
cmp dword [rsi + 8], 0
je 0x1400112b5
test al, al
je 0x1400112b5
lea rdi, [rbx + 8]
mov qword [rsp + 0x60], rbx
add rbx, 0x10
mov eax, dword [rbx]
mov rdx, qword [rdi]
cmp byte [rdx + rax], 0x48
jne 0x14000ed7d
cmp byte [rdx + rax + 1], 0xb8
je 0x140010151
mov dword [rsi + 0x24], ecx
mov dword [rsi + 0x28], ecx
cmp byte [r15 + 0x1c], 0
je 0x14000ff4a
lea r11, [rsi + 0x28]
mov eax, dword [r15 + 0x18]
and eax, 2
mov ecx, eax
shr ecx, 1
mov dword [rsp + 0x54], ecx
xor ecx, ecx
test eax, eax
sete cl
lea r13d, [rcx + rcx*2]
add r13d, 0xa
mov r12d, dword [rbx]
cmp r12d, r13d
mov qword [rsp + 0x28], r11
jae 0x14000f288
lea r14, [rsi + 0x30]
lea rax, [rsi + 0x10]
mov qword [rsp + 0x48], rax
lea rax, [rsi + 0x34]
mov qword [rsp + 0x40], rax
mov eax, r13d
mov qword [rsp + 0x68], rax
xor ebp, ebp
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x3c], r13d
mov r15, qword [rdi]
mov eax, r12d
mov r12, rax
test bpl, 1
jne 0x14000f927
movzx ecx, byte [r15 + rax]
cmp rcx, 0xf
je 0x14000f99c
mov edx, ecx
and dl, 0xfc
cmp dl, 0x88
je 0x14000f9d4
lea edx, [rcx - 0x40]
cmp edx, 2
jb 0x14000f0bf
cmp ecx, 0x44
je 0x14000fa13
cmp ecx, 0x45
je 0x14000fa4b
mov edx, ecx
and dl, 0xfa
cmp dl, 0x48
je 0x14000eef4
cmp cl, 0x66
je 0x14000fa83
mov edx, ecx
and dl, 0xf0
cmp dl, 0x50
je 0x14000ef56
cmp cl, 0x90
je 0x14000f80c
cmp ecx, 0x80
je 0x14000fd53
cmp ecx, 0x65
je 0x14000fda6
mov edx, ecx
and dl, 0xf8
cmp dl, 0xb8
je 0x14000fdfb
cmp ecx, 0xd0
jle 0x14000f04a
lea edx, [rcx - 0xe8]
cmp edx, 2
jae 0x14000f225
xor ebp, ebp
cmp cl, 0xe9
sete bpl
lea rcx, [rax + 1]
mov dword [rbx], 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], eax
mov rcx, rsi
call fcn.1400116f0
mov r11, qword [rsp + 0x28]
mov r10, qword [rsp + 0x20]
test al, al
jne 0x14000ef8b
jmp 0x1400112b5
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x14000ef02
mov dword [r11], edx
cmp qword [rsi], 0
je 0x14000fabb
cmp edx, dword [r14]
ja 0x14000fac3
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [r10]
mov ecx, dword [rbx]
lea r12d, [rcx + 1]
mov dword [rbx], r12d
mov r15, qword [rdi]
movzx eax, byte [r15 + r12]
cmp eax, 0x82
jle 0x14000ef9c
cmp eax, 0x83
je 0x14000f146
cmp eax, 0x85
jne 0x14000efb0
jmp 0x14000fe6a
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x14000ef64
mov dword [r11], edx
cmp qword [rsi], 0
je 0x14000ff10
cmp edx, dword [r14]
ja 0x14000fce3
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [r10]
inc dword [rbx]
mov r12d, dword [rbx]
cmp r12d, r13d
jb 0x14000edeb
jmp 0x14000f28a
cmp eax, 0x81
je 0x14000f1a2
cmp eax, 0x2b
je 0x14000fe6a
mov edx, eax
and dl, 0xfd
cmp dl, 0x89
jne case.default.0x14000efe7
lea edx, [rcx + 2]
movzx r9d, byte [r15 + rdx]
mov eax, 2
mov r14d, 1
mov r8, r9
shr r8, 6
lea r13, [0x1400114ec]
sub eax, 0x250d
sub eax, 0x250d
movsxd r8, dword [r13 + r8*4]
add r8, r13
jmp r8
mov ecx, dword [r10]
lea eax, [rcx + r14]
inc eax
cmp ecx, dword [r11]
jne 0x14000effb
mov dword [r11], eax
inc r14d
cmp qword [rsi], 0
mov r13d, dword [rsp + 0x3c]
je 0x14000ff08
mov rdx, qword [rsp + 0x30]
cmp eax, dword [rdx]
ja 0x14000fd0b
add r15, r12
mov r8d, r14d
mov rax, qword [rsp + 0x48]
add rcx, qword [rax]
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
mov r10, qword [rsp + 0x20]
add dword [r10], r14d
add dword [rbx], r14d
mov r11, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
jmp 0x14000ef8b
cmp ecx, 0x84
jle 0x14000f781
cmp ecx, 0x85
jne case.default.0x14000f088
movzx ecx, byte [rax + r15 + 1]
mov edx, 2
mov r14d, 1
mov r8, rcx
shr r8, 6
lea r9, [0x1400114dc]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
mov ecx, dword [r10]
lea edx, [rcx + r14]
inc edx
cmp ecx, dword [r11]
jne 0x14000f09c
mov dword [r11], edx
inc r14d
cmp qword [rsi], 0
je 0x1400105f9
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
ja 0x14000fd0b
add r15, rax
jmp 0x14000f01d
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x14000f0cd
mov dword [r11], edx
cmp qword [rsi], 0
je 0x140010312
cmp edx, dword [r14]
ja 0x14001031a
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [r10]
mov ecx, dword [rbx]
inc ecx
mov dword [rbx], ecx
mov rax, qword [rdi]
movzx edx, byte [rax + rcx]
mov r8d, edx
and r8b, 0xf0
cmp r8b, 0x50
jne 0x140010327
mov edx, dword [r10]
lea r8d, [rdx + 1]
cmp edx, dword [r11]
jne 0x14000f11f
mov dword [r11], r8d
cmp qword [rsi], 0
je 0x14001038b
cmp r8d, dword [r14]
ja 0x14000fce3
mov r8, qword [rsp + 0x48]
mov r8, qword [r8]
mov al, byte [rax + rcx]
mov byte [r8 + rdx], al
jmp 0x14000ef86
movzx eax, byte [r15 + r12 + 1]
and eax, 0xfffffff8
cmp eax, 0xe8
jne 0x14001041c
mov eax, dword [r10]
lea ecx, [rax + 3]
cmp eax, dword [r11]
jne 0x14000f168
mov dword [r11], ecx
cmp qword [rsi], 0
je 0x140010474
cmp ecx, dword [r14]
ja 0x14001047c
add r15, r12
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov dl, byte [r15 + 2]
mov byte [rcx + rax + 2], dl
movzx edx, word [r15]
mov word [rcx + rax], dx
add dword [r10], 3
add dword [rbx], 3
jmp 0x14000ef8b
mov al, byte [r15 + r12 + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x1400112b5
mov eax, dword [r10]
lea ecx, [rax + 6]
cmp eax, dword [r11]
jne 0x14000f1bf
mov dword [r11], ecx
cmp qword [rsi], 0
je 0x1400105d8
cmp ecx, dword [r14]
ja 0x1400105e0
add r15, r12
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
movzx edx, word [r15 + 4]
mov word [rcx + rax + 4], dx
mov edx, dword [r15]
invalid
mov dword [rcx + rax], edx
add dword [r10], 6
invalid
add dword [rbx], 6
jmp 0x14000ef8b
and r9b, 7
xor r14d, r14d
cmp r9b, 4
sete r14b
add r14d, eax
jmp case.0x14000efe7.3
and cl, 7
xor r14d, r14d
cmp cl, 4
sete r14b
add r14d, edx
jmp case.0x14000f088.3
cmp ecx, 0xd1
je 0x140010b3b
cmp ecx, 0xf6
je 0x140010b88
lea edx, [rcx - 0x73]
cmp dl, 2
ja 0x14001088a
lea rdx, [0x14003a078]
mov r8d, dword [rdx + rcx*4 - 0x1cc]
movzx ecx, byte [r15 + rax + 1]
lea edx, [rax + 2]
mov dword [rbx], edx
add rdx, r15
add rdx, rcx
mov rcx, rsi
call fcn.1400116f0
test al, al
mov r10, qword [rsp + 0x20]
mov r11, qword [rsp + 0x28]
jne 0x14000ef8b
jmp 0x1400112b5
xor ebp, ebp
cmp r12d, 0x64
ja 0x1400112b5
test bpl, 1
jne 0x14000f2b6
mov edx, r12d
add rdx, qword [rdi]
mov rcx, rsi
mov r8d, 3
call fcn.1400116f0
test al, al
je 0x1400112b5
cmp byte [rsi + 0x34], 0
je 0x1400112b5
cmp qword [rsi], 0
je 0x1400112b5
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 0x1400112b5
mov r14d, dword [rbx]
mov r13, qword [rdi]
lea rdx, [rsp + 0xa0]
mov qword [rdx], 0
mov rcx, r13
xor r8d, r8d
call qword [sym.imp.ntdll.dll_RtlLookupFunctionEntry]
test rax, rax
je 0x14000f5a4
mov rcx, qword [rsp + 0xa0]
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 + rax]
add rdi, 4
mov rcx, rdi
call qword [sym.imp.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 0x14000f59b
movzx eax, byte [r12 + 2]
test eax, eax
mov r11, qword [rsp + 0x28]
je case.default.0x14000f38e
movzx edx, byte [r12 + 5]
mov r8d, edx
and r8d, 0xf
cmp r8d, 0xa
ja case.default.0x14000f38e
mov r9b, 1
mov cl, 3
lea r10, [0x1400114fc]
lea edx, [0x1400114fc]
lea edx, [0x1400114fc]
movsxd r8, dword [r10 + r8*4]
add r8, r10
jmp r8
mov ecx, dword [r11]
mov r8b, byte [r12 + 1]
cmp ecx, r14d
jae 0x14000f3aa
movzx edx, r8b
cmp ecx, edx
jb 0x14000f59b
lea rcx, [r12 + 1]
xor edx, edx
lea r10, [0x140011528]
add dword [rcx], esi
ror byte [rbp + rcx*4 + 0x15], cl
jo 0x14000f3d7
add byte [rax], al
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 0x14000f415
add dl, r9b
cmp dl, al
jae case.default.0x14000f3f7
movzx r11d, dl
movzx ebp, byte [r12 + r11*2 + 5]
movzx ebp, byte [rsp + rbx*2 + 5]
mov r13d, ebp
and r13d, 0xf
cmp r13d, 0xa
ja case.default.0x14000f3f7
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 0x14000f3b8
jmp case.default.0x14000f3f7
sub al, dl
mov r10b, byte [r12]
test r10b, 0x20
jne 0x14000f59b
mov edi, dword [rsi + 0x20]
mov r9d, dword [rsi + 0x30]
add edi, 3
and edi, 0xfffffffc
cmp edi, r9d
ja 0x14000f91e
mov dword [rsi + 0x20], edi
cmp byte [rsi + 0x34], 0
je 0x14000f59b
and r10b, 0xc7
mov byte [r12], r10b
mov byte [r12 + 2], al
movzx r8d, r8b
cmp r14d, r8d
jae 0x14000f461
mov byte [rcx], r14b
cmp qword [rsi], 0
je 0x14000ffa2
lea rcx, [rdi + 4]
cmp rcx, r9
ja 0x14000f91e
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 0x14000f59b
movzx r13d, al
add r13, r13
cmp qword [rsi], 0
je 0x14000ffac
mov ecx, ecx
lea rax, [rcx + r13]
mov r8d, dword [rsi + 0x30]
cmp rax, r8
ja 0x14000f91e
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 0x14000f59b
add r13d, 3
and r13d, 0xfffffffc
mov ecx, dword [rsi + 0x30]
cmp r13d, ecx
ja 0x14000f91e
mov dword [rsi + 0x20], r13d
lea eax, [r13 + 4]
cmp qword [rsi], 0
je 0x14000fad0
cmp eax, ecx
ja 0x14000f91e
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 0x14000f59b
cmp qword [rsi], 0
je 0x14000fad0
add ecx, 8
cmp ecx, dword [rsi + 0x30]
ja 0x14000f91e
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 0x14000f59b
cmp qword [rsi], 0
je 0x14000fada
add ecx, 8
cmp ecx, dword [rsi + 0x30]
ja 0x14000f91e
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov dword [rcx + rax], edi
add dword [rsi + 0x20], 4
cmp byte [rsi + 0x34], 0
je 0x14000f59b
mov r8, qword [rsi + 0x18]
add r13, r8
mov rcx, r13
mov edx, 1
call qword [sym.imp.ntdll.dll_RtlAddFunctionTable]
mov rcx, r12
call qword [sym.imp.mozglue.dll_free]
mov r9d, dword [rbx]
test r9, r9
je 0x14000ffbc
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
mov r8, qword [rax + 8]
lea r12, [rsp + 0xd8]
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 + 0x100]
mov rcx, rdi
call fcn.140011560
cmp qword [rdi + 0x10], rbx
je 0x140011375
cmp byte [rsp + 0xf8], 0
je 0x140011375
cmp byte [rsp + 0x54], 0
jne 0x14000ffc7
lea rdi, [rsp + 0xc0]
mov rax, qword [rdi + 8]
cmp rax, qword [rdi + 0x10]
je 0x14000fff3
mov rcx, qword [rsp + 0xc0]
mov byte [rcx + rax], 0x49
mov rax, qword [rsp + 0xc8]
inc rax
mov qword [rsp + 0xc8], rax
inc dword [rsp + 0xb8]
cmp rax, qword [rsp + 0xd0]
je 0x140010015
mov rcx, qword [rsp + 0xc0]
mov byte [rcx + rax], 0xbb
mov rax, qword [rsp + 0xc8]
inc rax
mov qword [rsp + 0xc8], rax
inc dword [rsp + 0xb8]
lea rcx, [rax + 8]
cmp rcx, qword [rsp + 0xd0]
ja 0x140010037
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x1b0]
mov qword [rcx + rax], rdx
mov rax, qword [rsp + 0xc8]
add rax, 8
mov qword [rsp + 0xc8], rax
add dword [rsp + 0xb8], 8
cmp rax, qword [rsp + 0xd0]
je 0x140010059
mov rcx, qword [rsp + 0xc0]
mov byte [rcx + rax], 0x41
mov rax, qword [rsp + 0xc8]
inc rax
mov qword [rsp + 0xc8], rax
inc dword [rsp + 0xb8]
cmp rax, qword [rsp + 0xd0]
je 0x14001007b
mov rcx, qword [rsp + 0xc0]
mov byte [rcx + rax], 0xff
dec dword [rax - 0x75]
test byte [rax + rcx*8], ah
add byte [rax], al
add byte [rax - 1], cl
ror byte [rax - 0x77], 0x84
and al, 0xc8
enter 0, 0
dec dword [rax - 0x75]
test byte [rax + rcx*8], ah
add byte [rax], al
add byte [rax - 1], cl
ror byte [rax - 0x77], 0x84
and al, 0xc8
enter 0, 0
invalid
test byte [rax + rdi*4], ah
enter 0, 0
inc dword [rsp + 0xb8]
add byte [rax], al
add byte [rax + 0x3b], cl
test byte [rax + rdx*8], ah
add byte [rax], al
add byte [rdi], cl
test byte [rdi + 9], cl
add byte [rax], al
cmp rax, qword [rsp + 0xd0]
cmp eax, dword [rsp + 0xd0]
rol byte [rax], 1
add byte [rax], al
je 0x14001009d
mov rcx, qword [rsp + 0xc0]
mov ecx, dword [rsp + 0xc0]
and al, 0xc0
add byte [rax], al
add dh, al
add al, 1
jrcxz 0x14000f744
mov byte [rcx + rax], 0xe3
jmp 0x140011466
invalid
mov cl, 2
mov r9d, ecx
cmp al, cl
jae case.0x14000f38e.0
jmp case.default.0x14000f38e
mov dil, 1
jmp case.0x14000f3f7.5
mov dil, 2
jmp case.0x14000f3f7.5
cmp ecx, 0x33
je 0x140010b47
cmp ecx, 0x83
jne 0x14000f23d
mov cl, byte [r15 + rax + 1]
cmp cl, 0xc0
jb 0x1400108b0
mov rcx, qword [rsp + 0x20]
mov ecx, dword [rcx]
lea edx, [rcx + 3]
mov r8, qword [rsp + 0x28]
cmp ecx, dword [r8]
jne 0x14000f7c0
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140010cf7
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
ja 0x140010725
add r15, rax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov dl, byte [r15 + 2]
mov byte [rax + rcx + 2], dl
movzx edx, word [r15]
mov word [rax + rcx], dx
jmp 0x1400108f4
cmp ecx, 0xc3
je 0x14000f80c
cmp ecx, 0xcc
jne 0x14000f23d
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x14000f81f
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1400102fa
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x140010588
invalid
add byte [rax], al
or eax, 0x8b480000
and al, 0x40
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14001059e
mov r8d, r9d
and r8d, 7
cmp r8d, 5
jne 0x140010f8b
shr r9b, 3
lea eax, [rcx + 3]
lea r8, [r15 + rax]
add ecx, 7
mov edx, r9d
mov dword [rbx], eax
movsxd rax, dword [r15 + rax]
add r8, rax
add r8, 4
mov dword [rbx], ecx
and dl, 7
mov r14, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x3c]
jne 0x140010fb4
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140010ebc
mov ecx, dword [r14]
cmp eax, ecx
jae 0x140010ffa
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 0x140010ebe
mov ecx, dword [r14]
lea edx, [rax + 8]
cmp edx, ecx
ja 0x140011007
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov eax, eax
mov qword [rcx + rax], r8
add dword [r10], 8
jmp 0x14000ef8b
mov r8d, ecx
and r8d, 7
cmp r8d, 5
je 0x1400112b5
mov edx, 1
cmp r8d, 4
jne case.0x14000f088.1
mov dl, byte [r15 + rax + 2]
and dl, 7
xor r8d, r8d
cmp dl, 5
sete r8b
lea edx, [r8*4 + 1]
jmp case.0x14000f088.1
mov byte [rsi + 0x34], 0
jmp 0x14000f59b
movzx ecx, byte [r15 + r12]
cmp ecx, 0xcc
je 0x14000f93c
cmp ecx, 0x90
jne 0x14000f966
inc r12
mov dword [rbx], r12d
cmp r12, qword [rsp + 0x68]
mov r10, qword [rsp + 0x20]
mov r11, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x3c]
jb 0x14000edf4
jmp 0x14000f28a
cmp qword [rsp + 0x58], 0
je 0x1400112b5
mov rcx, qword [rsp + 0x58]
call fcn.140037730
test al, al
je 0x1400112b5
mov r12d, dword [rbx]
mov al, 1
mov dword [rsp + 0x54], eax
cmp r12d, 9
ja 0x14000f28a
jmp 0x1400112b5
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x14000f9af
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x14000fae9
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x14000fcf0
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000faf0
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x14000f9e7
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x14000fb71
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
ja 0x14000fbc1
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
jmp 0x14000fbe4
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x14000fa26
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x14000fb7a
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x14000fd1d
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000fb81
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x14000fa5e
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x14000fc87
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x14000fd38
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000fc8e
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x14000fa96
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140010178
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x140010290
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14001017f
mov dword [r10], edx
jmp 0x14000ef27
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000ef27
add eax, 4
mov rcx, qword [rsp + 0x20]
mov dword [rcx], eax
add eax, 4
mov rcx, qword [rsp + 0x20]
mov dword [rcx], eax
jmp 0x14000f586
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
mov edx, dword [rbx]
lea eax, [rdx + 1]
mov dword [rbx], eax
mov rcx, qword [rdi]
movzx r8d, byte [rcx + rax]
lea r9d, [r8 - 0x10]
cmp r9d, 2
jb 0x14000fb5f
cmp r8d, 5
je 0x1400100bf
cmp r8d, 0x1f
jne 0x140010108
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx]
lea r8d, [rdx + 1]
mov r9, qword [rsp + 0x28]
cmp edx, dword [r9]
jne 0x14000fb3a
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x1400106d4
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
jbe 0x14001086f
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400106dc
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx]
lea r8d, [rdx + 1]
mov r9, qword [rsp + 0x28]
jmp 0x14000fba4
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
jmp 0x14000fbeb
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
mov rcx, qword [rdi]
cmp byte [rcx + rax], 0x89
mov rdx, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
jne 0x1400112b5
mov edx, dword [rdx]
lea r8d, [rdx + 1]
cmp edx, dword [r9]
jne 0x14000fbb1
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x14000fbcb
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
jbe 0x14000fbd5
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000fbeb
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
jmp 0x14000fbeb
mov r8, qword [rsp + 0x48]
mov r8, qword [r8]
mov al, byte [rcx + rax]
mov byte [r8 + rdx], al
mov rax, qword [rsp + 0x20]
inc dword [rax]
mov r12d, dword [rbx]
inc r12d
mov dword [rbx], r12d
mov r14, qword [rdi]
mov rcx, r14
mov edx, r12d
xor r8d, r8d
call fcn.140037780
mov r15d, eax
test eax, eax
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
js 0x1400112b5
mov ecx, dword [rax]
lea eax, [rcx + r15]
cmp ecx, dword [rdx]
jne 0x14000fc2b
mov rdx, qword [rsp + 0x28]
mov dword [rdx], eax
cmp qword [rsi], 0
je 0x14000fc44
mov rdx, qword [rsp + 0x30]
cmp eax, dword [rdx]
jbe 0x14000fc67
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000fc4b
mov rcx, qword [rsp + 0x20]
mov dword [rcx], eax
add dword [rbx], r15d
mov r10, qword [rsp + 0x20]
mov r11, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x3c]
jmp 0x14000ef8b
mov edx, r12d
add rdx, r14
mov r8d, r15d
mov rax, qword [rsp + 0x48]
add rcx, qword [rax]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x20]
add dword [rax], r15d
jmp 0x14000fc4b
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
mov rcx, qword [rdi]
cmp byte [rcx + rax], 0x33
mov rdx, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
jne 0x1400112b5
mov edx, dword [rdx]
lea r8d, [rdx + 2]
cmp edx, dword [r9]
jne 0x14000fcbe
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x1400102ed
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
jbe 0x14000fe33
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000fe4c
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000ef89
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
mov rax, qword [rsp + 0x20]
inc dword [rax]
jmp 0x14000faf0
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
mov r10, qword [rsp + 0x20]
jmp 0x14000f038
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
mov rax, qword [rsp + 0x20]
inc dword [rax]
jmp 0x14000fb81
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
mov rax, qword [rsp + 0x20]
inc dword [rax]
jmp 0x14000fc8e
cmp byte [r15 + rax + 1], 0x3d
jne 0x1400112b5
add eax, 2
mov dword [rbx], eax
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140010489
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140010601
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 0x14001048b
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140010609
cmp byte [r15 + rax + 1], 0x48
jne 0x1400112b5
mov cl, byte [r15 + rax + 2]
and cl, 0xfc
cmp cl, 0x88
jne 0x1400112b5
mov ecx, dword [r10]
lea edx, [rcx + 3]
cmp ecx, dword [r11]
jne 0x14000fdd6
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140010575
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x1400106ac
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14001057c
mov ecx, dword [r10]
lea edx, [rcx + 5]
cmp ecx, dword [r11]
jne 0x14000fe0e
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140010306
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x1400105a5
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400105c6
mov r8, qword [rsp + 0x48]
mov eax, dword [rsp + 0x48]
mov r8, qword [r8]
movzx eax, word [rcx + rax]
mov word [r8 + rdx], ax
mov rax, qword [rsp + 0x20]
add dword [rax], 2
add dword [rbx], 2
jmp 0x14000fc4e
cmp dl, 0x1f
ja case.default.0x14000f38e
shr dl, 4
add dl, 2
mov ecx, edx
jmp case.0x14000f38e.5
cmp byte [r15 + r12 + 1], 0xc0
jb 0x1400112b5
mov eax, dword [r10]
lea ecx, [rax + 2]
cmp eax, dword [r11]
jne 0x14000fe88
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x1400105ed
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx]
ja 0x14000fcd6
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
movzx edx, word [r15 + r12]
mov word [rcx + rax], dx
jmp case.0x14000efe7.5
mov edx, eax
and dl, 0xf8
cmp dl, 0xb8
jne 0x140010393
mov rax, qword [rsp + 0x20]
mov eax, dword [rax]
lea ecx, [rax + 9]
mov rdx, qword [rsp + 0x28]
cmp eax, dword [rdx]
jne 0x14000feda
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x140010adc
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx]
jbe 0x140010b17
or al, 0
invalid
or al, 0
add byte [rax - 0x75], cl
and al, 0x40
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140010ae3
mov eax, 5
jmp case.0x14000efe7.1
mov dword [r10], eax
jmp 0x14000f038
mov dword [r10], edx
jmp 0x14000ef89
mov dword [r8], edx
jmp 0x14000ece3
mov byte [rsi + 0x34], 0
xor eax, eax
jmp 0x14000ecbb
mov r10, qword [rsp + 0x20]
mov dword [r10], ecx
jmp 0x14000ed5a
out dx, al
invalid
invalid
out dx, al
invalid
mov byte [rsi + 0x34], 0
xor eax, eax
mov ecx, edx
mov r10, qword [rsp + 0x20]
jmp 0x14000ed32
int3
call fcn.14003770d
mov dl, byte [r12]
and dl, 7
mov cl, 2
jmp 0x14000ff67
mov dl, byte [r12]
and dl, 7
cmp dl, 2
je case.0x14000f38e.5
mov r9d, dword [r11]
lea rcx, [r12 + 1]
xor edx, edx
mov r8b, byte [r12 + 1]
cmp r9d, r14d
jae case.default.0x14000f3f7
movzx r10d, r8b
cmp r9d, r10d
jb 0x14000f59b
cmp al, dl
ja 0x14000f59b
xor edx, edx
xor eax, eax
jmp 0x14000f417
lea ecx, [rdi + 4]
movzx r13d, al
add r13, r13
add r13d, ecx
mov rax, qword [rsp + 0x20]
mov dword [rax], r13d
jmp 0x14000f4e4
int3
lea r8, [rsp + 0xa0]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x1b0]
call fcn.140037820
test al, al
jne 0x1400112f9
jmp 0x140011375
mov edx, 1
mov rcx, rdi
call fcn.140037ca0
test al, al
je 0x14001124c
mov rax, qword [rsp + 0xc8]
jmp 0x14000f63c
mov edx, 1
mov rcx, rdi
call fcn.140037ca0
test al, al
je 0x140011261
mov rax, qword [rsp + 0xc8]
jmp 0x14000f670
mov edx, 8
mov rcx, rdi
call fcn.140037ca0
test al, al
je 0x140011276
mov rax, qword [rsp + 0xc8]
jmp 0x14000f6a8
mov edx, 1
mov rcx, rdi
call fcn.140037ca0
test al, al
je 0x14001128b
mov rax, qword [rsp + 0xc8]
jmp 0x14000f6e6
mov edx, 1
mov rcx, rdi
call fcn.140037ca0
test al, al
je 0x1400112a0
mov rax, qword [rsp + 0xc8]
jmp 0x14000f71a
mov edx, 1
mov rcx, rdi
call fcn.140037ca0
test al, al
je 0x1400114c9
mov rax, qword [rsp + 0xc8]
jmp 0x14000f74e
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx]
lea r8d, [rdx + 1]
mov r9, qword [rsp + 0x28]
cmp edx, dword [r9]
jne 0x1400100dc
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140010732
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
ja 0x14000f837
mov r8, qword [rsp + 0x48]
mov r8, qword [r8]
mov al, byte [rcx + rax]
mov byte [r8 + rdx], al
jmp 0x140010597
lea eax, [r8 + 0x7d]
cmp al, 2
mov r14, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x3c]
ja 0x1400112b5
lea rax, [0x14003a078]
mov r8d, dword [rax + r8*4 - 0x20c]
add edx, 2
mov dword [rbx], edx
dec dword [rsi + 0x20]
mov eax, dword [rbx]
mov rcx, qword [rdi]
lea rdx, [rcx + rax]
movsxd rcx, dword [rcx + rax]
add rdx, rcx
add rdx, 4
add eax, 4
jmp 0x14000eed3
movzx r8d, byte [rdx + rax + 0xa]
cmp r8d, 0x50
je 0x1400107a7
cmp r8d, 0xff
jne 0x140010865
cmp byte [rdx + rax + 0xb], 0xe0
jmp 0x1400107ac
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
mov ecx, dword [rbx]
inc ecx
mov dword [rbx], ecx
mov rax, qword [rdi]
mov dl, byte [rax + rcx]
mov r8d, edx
and r8b, 0xfc
cmp r8b, 0x88
jne 0x14001023a
movzx edx, byte [rax + rcx + 1]
mov r8d, edx
and r8d, 0xffffffc0
cmp r8b, 0xc0
je 0x1400102ab
cmp r8d, 0x40
mov r9, qword [rsp + 0x20]
mov r10, qword [rsp + 0x28]
je 0x1400101f0
test r8d, r8d
jne 0x1400112b5
mov r9d, edx
and r9d, 6
cmp r9d, 4
jne 0x1400102ab
cmp r8d, 0x40
mov r9, qword [rsp + 0x20]
mov r10, qword [rsp + 0x28]
jne 0x1400112b5
and edx, 7
add rax, rcx
mov ecx, dword [r9]
mov r8d, dword [r10]
cmp edx, 4
jne 0x14001091d
lea edx, [rcx + 4]
cmp ecx, r8d
jne 0x140010215
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140010d17
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x140010dda
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140010d1e
cmp dl, 0x44
jne 0x14000fc4e
cmp byte [rax + rcx + 1], 0x89
jne 0x14000fc4e
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx]
lea r8d, [rdx + 2]
mov r9, qword [rsp + 0x28]
cmp edx, dword [r9]
jne 0x14001026b
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140010d03
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
jbe 0x140010db0
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140010d0b
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
mov rax, qword [rsp + 0x20]
inc dword [rax]
jmp 0x14001017f
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx]
lea r8d, [rdx + 2]
mov r9, qword [rsp + 0x28]
cmp edx, dword [r9]
jne 0x1400102c8
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x1400102ed
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
ja 0x14000fcd6
mov r8, qword [rsp + 0x48]
mov r8, qword [r8]
movzx eax, word [rax + rcx]
jmp 0x14000fe3f
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
jmp 0x14000fe4c
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
jmp 0x14001059e
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
jmp 0x1400105c6
mov dword [r10], edx
jmp 0x14000f0f2
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000f0f2
mov r8d, edx
and r8b, 0xf8
cmp r8b, 0xb8
jne 0x140010993
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx]
lea r8d, [rdx + 5]
mov r9, qword [rsp + 0x28]
cmp edx, dword [r9]
jne 0x140010355
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140010d26
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
ja 0x14000fe26
add rax, rcx
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov r8b, byte [rax + 4]
mov byte [rcx + rdx + 4], r8b
mov eax, dword [rax]
mov dword [rcx + rdx], eax
jmp 0x1400105be
mov dword [r10], r8d
jmp 0x14000ef89
cmp eax, 0xc6
jg 0x1400109cb
cmp eax, 0x63
je 0x140010c0e
cmp eax, 0x8d
jne 0x1400112b5
mov r9b, byte [r15 + r12 + 1]
mov eax, r9d
and al, 0xc7
cmp al, 5
jne 0x140010e54
lea edx, [rcx + 3]
mov dword [rbx], edx
movsxd r8, dword [r15 + rdx]
add ecx, 7
mov dword [rbx], ecx
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140010ebc
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140011083
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 0x140010ebe
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x14001108c
cmp eax, 0x60
jne 0x140010a4f
mov rax, qword [rsp + 0x20]
mov eax, dword [rax]
lea ecx, [rax + 5]
mov rdx, qword [rsp + 0x28]
cmp eax, dword [rdx]
jne 0x14001043f
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x140010dce
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx]
ja 0x14000fe26
add r15, r12
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov dl, byte [r15 + 4]
mov byte [rcx + rax + 4], dl
mov edx, dword [r15]
mov dword [rcx + rax], edx
jmp 0x1400105be
mov dword [r10], ecx
jmp 0x14000f19a
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000f19a
inc eax
inc eax
mov rcx, qword [rsp + 0x20]
mov dword [rcx], eax
mov edx, dword [rbx]
mov r8, qword [rdi]
movsxd r9, dword [r8 + rdx]
lea eax, [rdx + 4]
mov dword [rbx], eax
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x1400104dc
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x14001062b
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 0x1400104de
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140010634
inc eax
inc eax
add eax, 8
inc eax
inc eax
inc eax
mov rcx, qword [rsp + 0x20]
mov dword [rcx], eax
mov rcx, qword [rdi]
mov edx, dword [rbx]
lea r8d, [rax + 1]
mov r9, qword [rsp + 0x28]
cmp eax, dword [r9]
jne 0x14001050b
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140010529
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
jbe 0x140010664
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140010531
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
inc dword [rbx]
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x14001114e
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140010681
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 0x140011150
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140010689
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
mov r12d, dword [rbx]
add r12d, 3
jmp 0x14000fbf1
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
mov rax, qword [rsp + 0x20]
inc dword [rax]
inc dword [rbx]
jmp 0x14000fc4e
add r15, rax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov dl, byte [r15 + 4]
mov byte [rax + rcx + 4], dl
mov edx, dword [r15]
mov dword [rax + rcx], edx
mov rax, qword [rsp + 0x20]
add dword [rax], 5
add dword [rbx], 5
jmp 0x14000fc4e
mov edx, 5
jmp case.0x14000f088.1
mov dword [r10], ecx
jmp 0x14000f1f1
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000f1f1
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
jmp 0x14000fe4c
mov dword [r10], edx
jmp 0x14000f038
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x14001074c
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov eax, eax
mov byte [rcx + rax], 0x53
mov rax, qword [rsp + 0x20]
inc dword [rax]
jmp 0x140010494
mov r10, qword [rsp + 0x40]
mov byte [r10], 0
cmp eax, ecx
jae 0x140010759
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 0x1400104e0
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140010762
mov r8, qword [rsp + 0x48]
mov r8, qword [r8]
mov eax, eax
mov cl, byte [rcx + rdx]
mov byte [r8 + rax], cl
mov rax, qword [rsp + 0x20]
inc dword [rax]
jmp 0x140010531
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140011099
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov eax, eax
mov byte [rcx + rax], 0x5b
mov r10, qword [rsp + 0x20]
inc dword [r10]
jmp 0x14000fc53
add r15, rax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov dl, byte [r15 + 2]
mov byte [rax + rcx + 2], dl
movzx edx, word [r15]
mov word [rax + rcx], dx
mov rax, qword [rsp + 0x20]
add dword [rax], 3
jmp 0x14001057c
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
mov ecx, dword [rbx]
inc ecx
mov dword [rbx], ecx
mov rax, qword [rdi]
mov dl, byte [rax + rcx]
and dl, 0xc7
cmp dl, 0x44
mov rdx, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
jne 0x1400112b5
mov edx, dword [rdx]
lea r8d, [rdx + 3]
cmp edx, dword [r9]
jne 0x140010711
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x14001073f
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
jbe 0x1400108d9
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400108fc
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
jmp 0x14001059e
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
jmp 0x1400108fc
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140010494
mov r10, qword [rsp + 0x40]
mov byte [r10], 0
lea r10d, [rax + 8]
cmp r10d, ecx
jbe 0x14001095f
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140010aab
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 0x1400104e5
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140010ab3
cmp byte [rdx + rax + 0xb], 0xc3
mov r10, qword [rsp + 0x20]
jne 0x14000ed7d
add eax, 2
mov r14, qword [rdx + rax]
lea r12, [rsp + 0xa0]
mov rcx, qword [rsp + 0x60]
mov rdx, r12
call fcn.140038160
xor ebp, ebp
cmp qword [r12 + 0x70], 0
je 0x140010df6
cmp byte [rsp + 0xf8], 0
je 0x140010df6
lea r12, [rsp + 0xa0]
mov rcx, r12
mov rdx, qword [rsp + 0x1b0]
call fcn.140038250
mov rcx, r12
call fcn.1400382a0
test al, al
je 0x140010df4
mov eax, dword [rsi + 0x20]
lea ecx, [rax + 8]
cmp qword [rsi], 0
je 0x140011014
cmp ecx, dword [rsi + 0x30]
jbe 0x14001102e
mov byte [rsi + 0x34], 0
xor eax, eax
xor ebp, ebp
cmp qword [rsi + 0x10], 0
je 0x140010df6
cmp qword [rsi + 0x18], 0
je 0x140010df6
cmp dword [rsi + 8], 0
je 0x140010df6
test al, al
jne 0x14001101b
jmp 0x140010df6
mov r10, qword [rsp + 0x20]
jmp 0x14000ed7d
mov r8, qword [rsp + 0x48]
mov r8, qword [r8]
mov al, byte [rcx + rax]
mov byte [r8 + rdx], al
mov rax, qword [rsp + 0x20]
inc dword [rax]
jmp 0x1400106dc
cmp cl, 0xff
je 0x140010d33
cmp ecx, 0xc6
je 0x140010d70
cmp ecx, 0x83
jne 0x1400112b5
mov cl, byte [r15 + rax + 1]
and cl, 0xf8
cmp cl, 0x60
mov rcx, qword [rsp + 0x20]
and al, 0x20
and al, 0x20
mov r8, qword [rsp + 0x28]
jne 0x1400112b5
mov ecx, dword [rcx]
lea edx, [rcx + 5]
cmp ecx, dword [r8]
je 0x14000fe06
jmp 0x14000fe0e
add rax, rcx
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov r8b, byte [rax + 2]
mov byte [rcx + rdx + 2], r8b
movzx eax, word [rax]
mov word [rcx + rdx], ax
mov rax, qword [rsp + 0x20]
add dword [rax], 3
add dword [rbx], 3
jmp 0x14000fc4e
cmp bpl, 0x1f
ja case.default.0x14000f3f7
shr bpl, 4
add bpl, 2
mov edi, ebp
jmp case.0x14000f3f7.5
lea edx, [rcx + 3]
cmp ecx, r8d
jne 0x14001092d
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140010cf7
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
ja 0x140010725
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov r8b, byte [rax + 2]
mov byte [rdx + rcx + 2], r8b
movzx eax, word [rax]
mov word [rdx + rcx], ax
jmp 0x1400108f4
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 0x1400104e3
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140010777
cmp edx, 0xf7
je 0x140010ca5
cmp edx, 0x8b
mov rdx, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
jne 0x1400112b5
cmp byte [rax + rcx + 1], 0xc0
jb 0x1400112b5
mov edx, dword [rdx]
lea r8d, [rdx + 2]
jmp 0x1400102bb
cmp eax, 0xff
je 0x140010c36
cmp eax, 0xc7
mov rax, qword [rsp + 0x20]
and byte [rax - 0x75], cl
push rsp
and al, 0x28
and byte [rax - 0x75], cl
push rsp
and al, 0x28
jne 0x1400112b5
cmp byte [r15 + r12 + 1], 0x44
cmp byte [rdi + riz + 1], 0x44
add dword [rdi + rcx - 0x7b], eax
mov esi, 0x8b000008
add byte [rbp + 0x23b0848], cl
cmp eax, dword [rdx]
jne 0x1400112b5
mov eax, dword [rax]
lea ecx, [rax + 8]
cmp eax, dword [rdx]
jne 0x140010a07
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x140010f21
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx]
jbe 0x140010f4c
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140010f28
mov bpl, byte [r12]
and bpl, 7
mov dil, 2
jmp 0x140010a40
mov bpl, byte [r12]
and bpl, 7
cmp bpl, 2
je case.0x14000f3f7.5
jmp case.default.0x14000f3f7
cmp eax, 0xc0
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
jne 0x1400112b5
mov eax, dword [rax]
lea ecx, [rax + 3]
cmp eax, dword [rdx]
jne 0x140010a74
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x140010f40
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx]
ja 0x140010725
add r15, r12
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov dl, byte [r15 + 2]
mov byte [rcx + rax + 2], dl
movzx edx, word [r15]
mov word [rcx + rax], dx
jmp 0x1400108f4
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140010aeb
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 0x1400104e7
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140010af3
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
add dword [rbx], 9
jmp 0x14000fc4e
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140010c01
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov eax, eax
mov byte [rcx + rax], 0x3b
mov rcx, qword [rsp + 0x20]
mov eax, dword [rcx]
inc eax
jmp 0x1400104ee
add r15, r12
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov dl, byte [r15 + 8]
mov byte [rcx + rax + 8], dl
mov rdx, qword [r15]
mov qword [rcx + rax], rdx
mov rax, qword [rsp + 0x20]
add dword [rax], 9
jmp 0x140010ae3
cmp byte [r15 + rax + 1], 0xc0
jb 0x1400112b5
mov ecx, dword [r10]
lea edx, [rcx + 2]
cmp ecx, dword [r11]
jne 0x140010b5a
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140010da4
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
ja 0x14000fcd6
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
movzx eax, word [r15 + rax]
mov word [rdx + rcx], ax
jmp case.0x14000efe7.5
lea r8, [rsp + 0xa0]
mov byte [r8], 0
lea rcx, [rax + r15]
inc rcx
xor edx, edx
call fcn.140037780
test eax, eax
js 0x1400112b5
cmp byte [rsp + 0xa0], 0
jne 0x1400112b5
mov r14d, eax
mov rax, qword [rsp + 0x20]
mov ecx, dword [rax]
lea eax, [rcx + r14]
add eax, 2
mov rdx, qword [rsp + 0x28]
cmp ecx, dword [rdx]
jne 0x140010bd9
mov rdx, qword [rsp + 0x28]
mov dword [rdx], eax
add r14d, 2
cmp qword [rsi], 0
je 0x140010ead
mov rdx, qword [rsp + 0x30]
cmp eax, dword [rdx]
jbe 0x140010e34
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140010eb4
mov rcx, qword [rsp + 0x40]
mov byte [rcx], 0
jmp 0x1400104f0
cmp byte [r15 + r12 + 1], 0xc0
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
jb 0x1400112b5
mov eax, dword [rax]
lea ecx, [rax + 2]
cmp eax, dword [rdx]
je 0x14000fe81
jmp 0x14000fe88
movzx eax, byte [r15 + r12 + 1]
mov edx, eax
and dl, 0xc7
cmp dl, 5
mov r14, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x3c]
jne 0x1400112b5
and eax, 0x38
cmp eax, 0x20
je 0x140010c65
cmp eax, 0x10
jne 0x1400112b5
add ecx, 3
mov dword [rbx], ecx
dec dword [rsi + 0x20]
mov eax, dword [rbx]
mov rcx, qword [rdi]
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], eax
mov rdx, qword [rcx + rdx + 4]
jmp 0x14000eed5
mov dl, byte [rax + rcx + 1]
and dl, 0xf8
cmp dl, 0xc0
mov rdx, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
jne 0x1400112b5
mov edx, dword [rdx]
lea r8d, [rdx + 6]
cmp edx, dword [r9]
jne 0x140010cd2
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140010f30
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
jbe 0x140010f66
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140010f38
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
jmp 0x1400108fc
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
mov r12d, dword [rbx]
add r12d, 2
jmp 0x14000fbf1
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
add dword [rbx], 4
jmp 0x14000fc4e
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
jmp 0x1400105c6
movzx edx, byte [r15 + rax + 1]
mov ecx, edx
shr ecx, 3
and ecx, 7
cmp dl, 0xc0
jb 0x140010ec6
cmp ecx, 3
mov rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x28]
jae 0x1400110a6
mov ecx, dword [rdx]
lea edx, [rcx + 2]
cmp ecx, dword [r8]
je 0x140010b52
jmp 0x140010b5a
lea rcx, [rax + r15]
inc rcx
xor edx, edx
xor r8d, r8d
call fcn.140037780
mov r14d, eax
test eax, eax
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
js 0x1400112b5
mov ecx, dword [rax]
lea eax, [rcx + r14]
add eax, 2
jmp 0x140010bce
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
jmp 0x14000fe4c
mov r8, qword [rsp + 0x48]
mov r8, qword [r8]
movzx eax, word [rax + rcx]
mov word [r8 + rdx], ax
mov rax, qword [rsp + 0x20]
add dword [rax], 2
jmp 0x140010d0b
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
jmp 0x1400105c6
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov eax, dword [rax]
mov dword [rdx + rcx], eax
mov rax, qword [rsp + 0x20]
add dword [rax], 4
jmp 0x140010d1e
xor ebp, ebp
lea r12, [rsp + 0x100]
mov rcx, r12
call fcn.140038310
mov rcx, qword [r12 - 0x40]
lea rax, [rsp + 0xd8]
cmp rcx, rax
je 0x140010e1e
call qword [sym.imp.mozglue.dll_free]
test bpl, bpl
mov r10, qword [rsp + 0x20]
jne 0x1400112b5
mov ecx, dword [r10]
jmp 0x14000ed7d
mov edx, r12d
add rdx, r15
mov r8d, r14d
mov rax, qword [rsp + 0x48]
add rcx, qword [rax]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x20]
add dword [rax], r14d
jmp 0x140010eb4
add ecx, 2
add rcx, r15
xor edx, edx
xor r8d, r8d
call fcn.140037780
mov r14d, eax
mov rax, qword [rsp + 0x20]
mov ecx, dword [rax]
lea eax, [rcx + r14]
inc eax
mov rdx, qword [rsp + 0x28]
cmp ecx, dword [rdx]
jne 0x140010e84
mov rdx, qword [rsp + 0x28]
mov dword [rdx], eax
inc r14d
cmp qword [rsi], 0
je 0x140010ead
mov rdx, qword [rsp + 0x30]
cmp eax, dword [rdx]
ja 0x140010bf4
add r12, r15
mov r8d, r14d
mov rax, qword [rsp + 0x48]
add rcx, qword [rax]
mov rdx, r12
jmp 0x140010e45
mov rcx, qword [rsp + 0x20]
mov dword [rcx], eax
add dword [rbx], r14d
jmp 0x14000fc4e
inc eax
add eax, 8
jmp 0x140011152
and dl, 0xc7
cmp dl, 5
jne 0x140011048
cmp cl, 2
jne 0x140011048
lea ecx, [rax + 2]
mov dword [rbx], ecx
lea rdx, [r15 + rcx]
movsxd rcx, dword [r15 + rcx]
add eax, 6
mov dword [rbx], eax
mov rdx, qword [rcx + rdx + 4]
mov rcx, rsi
mov r8d, 4
call fcn.1400116f0
test al, al
mov r10, qword [rsp + 0x20]
mov r11, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x3c]
jne 0x14000ef8b
jmp 0x1400112b5
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
add dword [rbx], 8
jmp 0x14000fc4e
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
add dword [rbx], 6
jmp 0x14000fc4e
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
jmp 0x1400108fc
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov rdx, qword [r15 + r12]
mov qword [rcx + rax], rdx
mov rax, qword [rsp + 0x20]
add dword [rax], 8
jmp 0x140010f28
add rax, rcx
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
movzx r8d, word [rax + 4]
mov word [rcx + rdx + 4], r8w
mov eax, dword [rax]
mov dword [rcx + rdx], eax
mov rax, qword [rsp + 0x20]
add dword [rax], 6
jmp 0x140010f38
mov eax, 1
cmp r8d, 4
jne case.0x14000efe7.1
mov al, byte [r15 + rdx + 1]
and al, 7
xor ecx, ecx
cmp al, 5
sete cl
lea eax, [rcx*4 + 1]
jmp case.0x14000efe7.1
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140011147
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x14001115f
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 0x140011149
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140011168
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
jmp 0x14000f8bd
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000ef8b
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1b8]
mov qword [rax], r14
mov bpl, 1
jmp 0x140010df6
mov rcx, qword [rsi + 0x10]
mov qword [rcx + rax], r14
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x14001101b
mov al, byte [rsi + 0x34]
jmp 0x140010836
cmp cl, 4
jne 0x1400112b5
cmp dl, 5
jne 0x1400110c3
lea ecx, [rax + 2]
mov dword [rbx], ecx
lea rdx, [r15 + rcx]
movsxd rcx, dword [r15 + rcx]
add eax, 6
mov dword [rbx], eax
mov rdx, qword [rcx + rdx + 4]
mov rcx, rsi
mov r8d, 3
call fcn.1400116f0
mov bpl, 1
jmp 0x140010f00
mov r9, qword [rsp + 0x40]
mov byte [r9], 0
lea r9d, [rax + 8]
cmp r9d, ecx
jbe 0x140011120
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000fc4e
cmp ecx, 4
je 0x1400110c3
cmp ecx, 6
mov rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x28]
je 0x140010d5d
jmp 0x1400112b5
lea rcx, [rax + r15]
inc rcx
xor edx, edx
xor r8d, r8d
call fcn.140037780
mov ebp, eax
test eax, eax
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
js 0x1400112b5
mov ecx, dword [rax]
lea eax, [rcx + rbp]
inc eax
cmp ecx, dword [rdx]
jne 0x1400110fa
mov rdx, qword [rsp + 0x28]
mov dword [rdx], eax
inc ebp
cmp qword [rsi], 0
je 0x14001119f
mov rdx, qword [rsp + 0x30]
cmp eax, dword [rdx]
jbe 0x1400111d2
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400111a6
add r15, rdx
lea rcx, [r8 + r15]
add rcx, 4
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov eax, eax
mov qword [rdx + rax], rcx
mov r10, qword [rsp + 0x20]
add dword [r10], 8
jmp 0x14000fc53
inc eax
add eax, 8
inc eax
inc eax
inc eax
mov r10, qword [rsp + 0x20]
mov dword [r10], eax
jmp 0x14000fc53
mov r9, qword [rsp + 0x40]
mov byte [r9], 0
lea r9d, [rax + 8]
cmp r9d, ecx
jbe 0x1400111b0
mov r8, qword [rsp + 0x40]
mov byte [r8], 0
cmp eax, ecx
jae 0x1400111f1
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 0x14001114e
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x1400111fa
mov rcx, qword [rsp + 0x20]
mov dword [rcx], eax
add dword [rbx], ebp
mov bpl, 1
jmp 0x14000fc4e
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 0x14001114c
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x14001117a
mov edx, r12d
add rdx, r15
mov r8d, ebp
mov rax, qword [rsp + 0x48]
add rcx, qword [rax]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x20]
add dword [rax], ebp
jmp 0x1400111a6
mov r8, qword [rsp + 0x40]
mov byte [r8], 0
cmp eax, ecx
jae 0x140011223
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 0x140011150
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x14001122c
mov r8, qword [rsp + 0x40]
mov byte [r8], 0
cmp eax, ecx
jae 0x140011099
movzx ecx, dl
lea ecx, [rcx + rcx*8]
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov eax, eax
mov byte [rdx + rax], cl
jmp 0x14001069f
mov byte [rsp + 0xf8], 0
mov rax, qword [rsp + 0xc8]
jmp 0x14000f662
mov byte [rsp + 0xf8], 0
mov rax, qword [rsp + 0xc8]
jmp 0x14000f696
mov byte [rsp + 0xf8], 0
mov rax, qword [rsp + 0xc8]
jmp 0x14000f6d8
mov byte [rsp + 0xf8], 0
mov rax, qword [rsp + 0xc8]
jmp 0x14000f70c
mov byte [rsp + 0xf8], 0
mov rax, qword [rsp + 0xc8]
jmp 0x14000f740
mov rax, qword [rsp + 0x1b8]
cmp qword [rax], 0
je 0x1400112e8
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.14001c1c0
nop
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsi + 0x20], 0
mov rcx, rsi
call fcn.140037c60
jmp 0x1400112c3
cmp qword [rsp + 0x110], 0
je 0x140011375
cmp byte [rsp + 0xf8], 0
je 0x140011375
mov r8, qword [rsp + 0xc8]
test r8, r8
je 0x140011365
mov rdx, qword [rsp + 0xc0]
mov ecx, dword [rsp + 0xbc]
add rcx, qword [rsp + 0xa8]
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 + 0xc8]
add dword [rsp + 0xbc], eax
mov qword [rsp + 0xc8], 0
mov rax, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
mov eax, dword [0x140043f34]
mov ecx, dword [0x1400421a8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14001141a
mov rdi, qword [rsp + 0x108]
mov r15, qword [rsp + 0x110]
test r15, r15
je 0x1400113e9
shl r15, 4
add r15, rdi
mov ebx, dword [0x140043f30]
lea r14, [rsp + 0x70]
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 0x1400113c8
mov rdi, qword [rsp + 0x108]
lea rax, [rsp + 0x120]
mov qword [rax - 0x10], 0
cmp rdi, rax
jne 0x14001145b
mov rcx, qword [rsp + 0xc0]
cmp rcx, r12
je 0x1400112b5
call qword [sym.imp.mozglue.dll_free]
jmp 0x1400112b5
lea rcx, [0x140043f34]
call fcn.14001af18
cmp dword [0x140043f34], 0xffffffff
jne 0x14001139a
lea rdi, [rsp + 0x70]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rdi + 4]
mov dword [0x140043f30], eax
lea rcx, [0x140043f34]
call fcn.14001aeb8
jmp 0x14001139a
mov rcx, rdi
call qword [sym.imp.mozglue.dll_free]
jmp 0x1400113fe
inc qword [rsp + 0xc8]
mov eax, dword [rsp + 0xb8]
inc eax
mov dword [rsp + 0xb8], eax
mov eax, eax
cmp qword [rsp + 0xb0], rax
jbe 0x1400112f9
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
je 0x1400114ae
mov rcx, qword [rsp + 0xc0]
mov byte [rcx + rax], 0x90
jmp 0x140011466
mov edx, 1
mov rcx, rdi
call fcn.140037ca0
test al, al
je 0x1400114c9
mov rax, qword [rsp + 0xc8]
jmp 0x1400114a0
mov byte [rsp + 0xf8], 0
mov eax, dword [rsp + 0xb8]
jmp 0x14001147e