Function at 0x140004930
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 [0x140062030]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov qword [rcx], 0
cmp qword [r9], 0
je 0x1400049a0
cmp qword [rsi + 0x10], 0
je 0x140006e1e
cmp qword [rsi + 0x18], 0
je 0x140006e1e
cmp dword [rsi + 8], 0
je 0x140006e1e
cmp byte [rsi + 0x34], 0
je 0x140006e1e
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 0x140005af6
cmp edx, dword [rsi + 0x30]
ja 0x140005afe
mov rdx, qword [rsi + 0x10]
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x140004a03
mov al, byte [rsi + 0x34]
cmp qword [rsi + 0x10], 0
je 0x140006e1e
cmp qword [rsi + 0x18], 0
je 0x140006e1e
cmp dword [rsi + 8], 0
je 0x140006e1e
test al, al
je 0x140006e1e
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 case.0x140004d56.14
cmp ecx, dword [rsi + 0x30]
ja 0x140005b11
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 0x140004a70
mov al, byte [rsi + 0x34]
cmp qword [rsi + 0x10], 0
je 0x140006e10
cmp qword [rsi + 0x18], 0
je 0x140006e10
cmp dword [rsi + 8], 0
je 0x140006e10
test al, al
je 0x140006e10
mov eax, dword [rbx + 0x10]
mov rdx, qword [rbx + 8]
cmp byte [rdx + rax], 0x48
mov qword [rsp + 0x28], r14
jne 0x140004a8d
cmp byte [rdx + rax + 1], 0xb8
je 0x140005d20
mov dword [rsi + 0x24], ecx
mov dword [rsi + 0x28], ecx
cmp byte [r15 + 0x1c], 0
je 0x140005b1e
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 0x140004f55
xor ebp, ebp
lea r13, [0x140055d68]
mov r15, qword [rbx + 8]
mov eax, r12d
mov r12, rax
test bpl, 1
jne 0x1400055d7
movzx ecx, byte [r15 + rax]
cmp rcx, 0xf
je 0x140005648
mov edx, ecx
and dl, 0xfc
cmp dl, 0x88
je 0x140005677
lea edx, [rcx - 0x40]
cmp edx, 2
jb 0x140004d8b
cmp ecx, 0x44
je 0x1400056ad
cmp ecx, 0x45
je 0x1400056dc
mov edx, ecx
and dl, 0xfa
cmp dl, 0x48
je 0x140004be6
cmp ecx, 0x66
je 0x14000570b
mov edx, ecx
and dl, 0xf0
invalid
cmp dl, 0x50
je 0x140004c47
cmp ecx, 0x90
je 0x1400054ce
cmp ecx, 0x80
je 0x140005969
cmp ecx, 0x65
je case.0x14000bcc1.99
mov edx, ecx
and dl, 0xf8
cmp dl, 0xb8
je 0x140005a01
cmp ecx, 0xd0
jle 0x140004d1f
lea edx, [rcx - 0xe8]
cmp edx, 2
jae 0x140004ef1
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.1400070c0
mov r10, qword [rsp + 0x30]
test al, al
jne 0x140004c79
invalid
jmp 0x140006e10
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x140004bf4
invalid
mov dword [r10], edx
cmp qword [rsi], 0
je 0x14000573a
cmp edx, dword [rsi + 0x30]
ja 0x140005742
or eax, dword [rax]
invalid
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 0x140004c8b
cmp eax, 0x83
je 0x140004e0e
cmp eax, 0x85
jne 0x140004c9f
jmp 0x140005a60
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x140004c55
mov dword [r10], edx
cmp qword [rsi], 0
je 0x140005aee
cmp edx, dword [rsi + 0x30]
ja 0x140005927
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 0x140004ad9
jmp 0x140004f57
cmp eax, 0x81
je 0x140004e67
cmp eax, 0x2b
je 0x140005a60
mov edx, eax
and dl, 0xfd
cmp dl, 0x89
jne case.default.0x140004cc9
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 0x140004ce0
mov dword [r10], eax
inc r14d
cmp qword [rsi], 0
je 0x14000695d
cmp eax, dword [rsi + 0x30]
ja 0x1400066d6
add r15, r12
mov r8d, r14d
add rcx, qword [rsi + 0x10]
mov rdx, r15
call sub.ntdll.dll_memcpy
add dword [rsi + 0x20], r14d
add dword [rbx + 0x10], r14d
mov r14, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
jmp 0x140004c79
cmp ecx, 0x84
jle 0x14000544c
cmp ecx, 0x85
jne case.default.0x140004d56
add dword [rdi], 0
invalid
movzx ecx, byte [rax + r15 + 1]
mov edx, ecx
shr edx, 6
mov r14d, 1
mov esi, 1
lea r8, [0x140055d58]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
invalid
mov rcx, qword [rsp + 0x28]
mov ecx, dword [rcx]
lea edx, [rcx + r14]
inc edx
cmp ecx, dword [r10]
jne 0x140004d6d
mov dword [r10], edx
inc r14d
cmp qword [rsi], 0
je 0x14000616e
cmp edx, dword [rsi + 0x30]
ja 0x1400066d6
add r15, rax
jmp 0x140004cf9
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x140004d99
mov dword [r10], edx
cmp qword [rsi], 0
je 0x140005ec8
cmp edx, dword [rsi + 0x30]
ja 0x140005ed0
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 0x140005ed9
mov edx, dword [r14]
lea r8d, [rdx + 1]
cmp edx, dword [r10]
jne 0x140004dea
mov dword [r10], r8d
cmp qword [rsi], 0
je 0x140005f35
cmp r8d, dword [rsi + 0x30]
ja 0x140005927
mov r8, qword [rsi + 0x10]
mov al, byte [rax + rcx]
mov byte [r8 + rdx], al
jmp 0x140004c73
movzx eax, byte [r15 + r12 + 1]
and eax, 0xfffffff8
cmp eax, 0xe8
jne 0x140005fc0
mov eax, dword [r14]
lea ecx, [rax + 3]
cmp eax, dword [r10]
jne 0x140004e30
mov dword [r10], ecx
cmp qword [rsi], 0
je 0x140006010
cmp ecx, dword [rsi + 0x30]
ja 0x140006018
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 0x140004c79
mov al, byte [r15 + r12 + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x140006e10
mov eax, dword [r14]
lea ecx, [rax + 6]
cmp eax, dword [r10]
jne 0x140004e84
mov dword [r10], ecx
cmp qword [rsi], 0
je 0x140006151
cmp ecx, dword [rsi + 0x30]
ja 0x140006159
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 0x140004c79
mov ecx, 2
and r9b, 7
xor r14d, r14d
cmp r9b, 4
sete r14b
add r14d, ecx
jmp case.0x140004cc9.3
std
invalid
invalid
mov edx, 2
and cl, 7
xor r14d, r14d
cmp cl, 4
sete r14b
mov byte [rcx + 1], 0xd6
jmp case.0x140004d56.3
cmp ecx, 0xd1
je 0x14000662a
cmp ecx, 0xf6
je 0x14000666e
invalid
invalid
add byte [rax], al
lea edx, [rcx - 0x73]
cmp dl, 2
ja 0x1400063b1
lea rdx, [0x140055b38]
mov r8d, dword [rdx + rcx*4 - 0x1cc]
lea rcx, [r15 + rax]
movzx edx, byte [r15 + rax + 1]
movzx edx, byte [rdi + rax + 1]
add eax, 2
mov dword [rbx + 0x10], eax
add rdx, rcx
add rdx, 2
mov rcx, rsi
call fcn.1400070c0
test al, al
mov r10, qword [rsp + 0x30]
jne 0x140004c79
sub ebp, edi
invalid
invalid
jmp 0x140006e10
xor ebp, ebp
cmp r12d, 0x64
ja 0x140006e10
test bpl, 1
jne 0x140004f84
mov edx, r12d
add rdx, qword [rbx + 8]
mov rcx, rsi
mov r8d, 3
call fcn.1400070c0
test al, al
je 0x140006e10
cmp byte [rsi + 0x34], 0
je 0x140006e10
invalid
cmp qword [rsi], 0
je 0x140006e10
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 0x140006e10
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 0x140005273
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 qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r12, rax
mov rcx, rax
mov rdx, rbp
mov r8, rdi
call sub.ntdll.dll_memcpy
cmp r13d, r15d
jne 0x14000526a
movzx eax, byte [r12 + 2]
test eax, eax
je case.default.0x140005059
movzx edx, byte [r12 + 5]
mov r8d, edx
and r8d, 0xf
cmp r8d, 0xa
ja case.default.0x140005059
mov r9b, 1
mov cl, 3
lea r10, [0x140055d78]
lea edx, [0x140055d78]
lea edx, [0x140055d78]
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 0x140005079
movzx edx, r8b
cmp ecx, edx
jb 0x14000526a
lea rcx, [r12 + 1]
xor edx, edx
lea r10, [0x140055da4]
add dword [rcx], esi
ror byte [rbp + rcx*4 + 0x15], cl
sbb eax, 0x4400050d
movzx ebx, dl
movzx r11d, dl
movzx r11d, byte [r12 + r11*2 + 4]
cmp r14d, r11d
mov dh, 0x5c
pop rsp
add al, 0x45
cmp esi, ebx
jae 0x1400050e4
add dl, r9b
cmp dl, al
jae case.default.0x1400050c6
movzx r11d, dl
movzx ebp, byte [rcx + r11*2 + 4]
mov r13d, ebp
and r13d, 0xf
cmp r13d, 0xa
ja case.default.0x1400050c6
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 0x140005087
jmp case.default.0x1400050c6
sub al, dl
mov r10b, byte [r12]
test r10b, 0x20
jne 0x14000526a
mov edi, dword [rsi + 0x20]
mov r9d, dword [rsi + 0x30]
add edi, 3
and edi, 0xfffffffc
cmp edi, r9d
ja 0x1400055ce
mov dword [rsi + 0x20], edi
cmp byte [rsi + 0x34], 0
je 0x14000526a
and r10b, 0xc7
mov byte [r12], r10b
mov byte [r12 + 2], al
movzx r8d, r8b
cmp r14d, r8d
jae 0x140005130
mov byte [rcx], r14b
cmp qword [rsi], 0
je 0x140005b7b
lea rcx, [rdi + 4]
cmp rcx, r9
ja 0x1400055ce
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 0x14000526a
movzx r13d, al
add r13, r13
cmp qword [rsi], 0
je 0x140005b85
mov ecx, ecx
lea rax, [rcx + r13]
mov r8d, dword [rsi + 0x30]
cmp rax, r8
ja 0x1400055ce
movzx eax, dl
lea rdx, [r12 + rax*2]
add rdx, 4
add rcx, qword [rsi + 0x10]
mov r8, r13
call sub.ntdll.dll_memcpy
add r13d, dword [rsi + 0x20]
cmp byte [rsi + 0x34], 0
mov dword [rsi + 0x20], r13d
je 0x14000526a
add r13d, 3
and r13d, 0xfffffffc
mov ecx, dword [rsi + 0x30]
cmp r13d, ecx
ja 0x1400055ce
mov dword [rsi + 0x20], r13d
mov eax, r13d
add eax, 4
cmp qword [rsi], 0
je 0x14000574b
cmp eax, ecx
ja 0x1400055ce
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 0x14000526a
cmp qword [rsi], 0
je 0x14000574b
add ecx, 8
cmp ecx, dword [rsi + 0x30]
ja 0x1400055ce
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 0x14000526a
cmp qword [rsi], 0
je 0x140005755
add ecx, 8
cmp ecx, dword [rsi + 0x30]
ja 0x1400055ce
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov dword [rcx + rax], edi
add dword [rsi + 0x20], 4
cmp byte [rsi + 0x34], 0
je 0x14000526a
mov r8, qword [rsi + 0x18]
lea rcx, [r8 + 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 + 0x10]
test r9, r9
test ecx, ecx
je 0x140005b95
mov rdx, qword [rbx]
mov r8, qword [rbx + 8]
lea r12, [rsp + 0xb8]
lea esp, [rsp + 0xb8]
mov qword [r12 - 0x38], rdx
mov qword [r12 - 0x30], r8
mov qword [r12 - 0x28], r9
and al, 0xd8
xor ebx, ebx
mov qword [r12 - 0x20], rbx
pop rsp
and al, 0xe0
invalid
mov qword [r12 - 0x10], rbx
mov qword [r12 - 8], 0x20
mov qword [r12 - 0x18], r12
and al, 0xe8
mov byte [r12 + 0x20], 1
lea rdi, [rsp + 0xe0]
mov rcx, rdi
call fcn.140006f40
cmp qword [rdi + 0x10], rbx
je 0x140006d72
cmp byte [rsp + 0xd8], 0
je 0x140006d72
cmp byte [rsp + 0x3c], 0
jne 0x140005ba0
lea rdi, [rsp + 0xa0]
mov rax, qword [rdi + 8]
cmp rax, qword [rdi + 0x10]
adc byte [rdi], cl
test ch, al
or byte [rax], al
invalid
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0x49
mov rax, qword [rsp + 0xa8]
invalid
inc rax
mov qword [rsp + 0xa8], rax
inc dword [rsp + 0x98]
cmp rax, qword [rsp + 0xb0]
je 0x140005bee
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 0x140005c10
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x190]
mov qword [rcx + rax], rdx
adc al, 1
mov rax, qword [rsp + 0xa8]
add rax, 8
mov qword [rsp + 0xa8], rax
add byte [rax], al
add dword [rsp + 0x98], 8
cmp rax, qword [rsp + 0xb0]
je 0x140005c32
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 0x140005c54
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
mov dword [rsp + 0xa8], eax
dec dword [rax - 0x75]
test byte [rax + rbp*4], ah
add byte [rax], al
add byte [rax - 1], cl
ror byte [rax - 0x77], 0x84
mov dword [rsp + 0xa8], eax
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 [rbp + 8], bl
cmp rax, qword [rsp + 0xb0]
cmp eax, dword [rsp + 0xb0]
mov al, 0
add byte [rax], al
je 0x140005c76
add byte [rax], al
mov rcx, qword [rsp + 0xa0]
mov ecx, dword [rsp + 0xa0]
and al, 0xa0
add byte [rax], al
add dh, al
add al, 1
jrcxz 0x14000540f
mov byte [rcx + rax], 0xe3
jmp 0x140006ebd
sbb al, byte [rax]
invalid
xchg ebx, eax
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.0x140005059.0
jmp case.default.0x140005059
mov dil, 1
jmp case.0x1400050c6.5
mov dil, 2
jmp case.0x1400050c6.5
cmp ecx, 0x33
je 0x140006636
cmp ecx, 0x83
jne 0x140004f09
mov cl, byte [r15 + rax + 1]
cmp cl, 0xc0
jb 0x1400063db
mov rcx, qword [rsp + 0x28]
mov ecx, dword [rcx]
lea edx, [rcx + 3]
mov r8, qword [rsp + 0x30]
cmp ecx, dword [r8]
jne 0x14000548b
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1400067c8
cmp edx, dword [rsi + 0x30]
ja 0x14000626b
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 0x14000641b
cmp ecx, 0xc3
je 0x1400054ce
cmp ecx, 0xcc
jne 0x140004f09
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x1400054e1
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140005eb0
cmp edx, dword [rsi + 0x30]
jbe 0x14000610f
xor byte [rdi], cl
xchg byte [rbx], bl
or al, 0
add dh, al
xor al, 0
mov byte [rsi + 0x34], 0
jmp 0x14000611d
mov edx, r9d
and edx, 7
cmp edx, 5
jne 0x140006a1d
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 0x140006a45
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140006969
mov ecx, dword [rsi + 0x30]
cmp eax, ecx
jae 0x140006a83
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 0x14000696b
mov ecx, dword [rsi + 0x30]
lea edx, [rax + 8]
cmp edx, ecx
ja 0x140006a8c
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov qword [rcx + rax], r8
add dword [rsi + 0x20], 8
jmp 0x140004c79
mov r8d, ecx
and r8d, 7
cmp r8d, 5
je 0x140006e10
mov edx, 1
cmp r8d, 4
jne 0x140004edc
mov dl, byte [r15 + rax + 2]
and dl, 7
xor r8d, r8d
cmp dl, 5
sete r8b
lea edx, [r8*4 + 1]
jmp 0x140004edc
mov byte [rsi + 0x34], 0
jmp 0x14000526a
movzx ecx, byte [r15 + r12]
cmp ecx, 0xcc
je 0x1400055ec
cmp ecx, 0x90
jne 0x140005611
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 0x140004ae3
jmp 0x140004f57
cmp qword [rsp + 0x40], 0
je 0x140006e10
mov rcx, qword [rsp + 0x40]
call fcn.140050f10
test al, al
je 0x140006e10
mov r12d, dword [rbx + 0x10]
mov al, 1
mov dword [rsp + 0x3c], eax
cmp r12d, 9
ja 0x140004f57
jmp 0x140006e10
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x14000565b
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140005764
cmp edx, dword [rsi + 0x30]
jbe 0x140005930
mov byte [rsi + 0x34], 0
jmp 0x14000576b
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x14000568a
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1400057e7
cmp edx, dword [rsi + 0x30]
ja 0x140005836
mov rdx, qword [rsi + 0x10]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
jmp 0x140005851
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x1400056c0
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1400057f0
cmp edx, dword [rsi + 0x30]
jbe 0x140005943
mov byte [rsi + 0x34], 0
jmp 0x1400057f7
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x1400056ef
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1400058d0
cmp edx, dword [rsi + 0x30]
jbe 0x140005956
mov byte [rsi + 0x34], 0
jmp 0x1400058d7
mov ecx, dword [r14]
lea edx, [rcx + 1]
cmp ecx, dword [r10]
jne 0x14000571e
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140005d47
cmp edx, dword [rsi + 0x30]
jbe 0x140005e56
mov byte [rsi + 0x34], 0
jmp 0x140005d4e
mov dword [r14], edx
jmp 0x140004c15
mov byte [rsi + 0x34], 0
jmp 0x140004c15
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 0x140005257
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 0x1400057d5
cmp r8d, 5
je 0x140005c98
cmp r8d, 0x1f
jne 0x140005cd9
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea r8d, [rdx + 1]
mov r9, qword [rsp + 0x30]
cmp edx, dword [r9]
jne 0x1400057b8
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x14000621b
cmp r8d, dword [rsi + 0x30]
jbe 0x14000639e
mov byte [rsi + 0x34], 0
jmp 0x140006223
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea r8d, [rdx + 1]
mov r9, qword [rsp + 0x30]
jmp 0x14000581d
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
jmp 0x140005854
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 0x140006e10
mov edx, dword [rdx]
lea r8d, [rdx + 1]
cmp edx, dword [r9]
jne 0x14000582a
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x14000583c
cmp r8d, dword [rsi + 0x30]
jbe 0x140005846
mov byte [rsi + 0x34], 0
jmp 0x140005854
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
jmp 0x140005854
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.140050f60
mov r15d, eax
test eax, eax
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
js 0x140006e10
mov ecx, dword [rax]
lea eax, [rcx + r15]
cmp ecx, dword [rdx]
jne 0x140005897
mov rdx, qword [rsp + 0x30]
mov dword [rdx], eax
cmp qword [rsi], 0
je 0x1400058a8
cmp eax, dword [rsi + 0x30]
jbe 0x1400058b8
mov byte [rsi + 0x34], 0
jmp 0x1400058af
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
add dword [rbx + 0x10], r15d
jmp 0x140004d10
mov edx, r12d
add rdx, r14
mov r8d, r15d
add rcx, qword [rsi + 0x10]
add ecx, dword [rsi + 0x10]
call sub.ntdll.dll_memcpy
add dword [rsi + 0x20], r15d
jmp 0x1400058af
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
invalid
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 0x140006e10
mov edx, dword [rdx]
lea r8d, [rdx + 2]
cmp edx, dword [r9]
jne 0x14000590a
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140005ea3
cmp r8d, dword [rsi + 0x30]
jbe 0x140005a30
mov byte [rsi + 0x34], 0
jmp 0x140005a41
mov byte [rsi + 0x34], 0
jmp 0x140004c76
mov rdx, qword [rsi + 0x10]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
or bh, bh
and cl, r13b
sub dh, bh
invalid
invalid
mov rdx, qword [rsi + 0x10]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [rsi + 0x20]
jmp 0x1400057f7
mov rdx, qword [rsi + 0x10]
mov al, byte [r15 + rax]
add al, 7
mov byte [rdx + rcx], al
inc dword [rsi + 0x20]
jmp 0x1400058d7
cmp byte [r15 + rax + 1], 0x3d
jne 0x140006e10
add eax, 2
mov dword [rbx + 0x10], eax
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
and byte [rdi], r9b
invalid
cdq
invalid
add byte [rax], al
mov ecx, dword [rsi + 0x30]
cmp eax, ecx
jae 0x14000617a
add byte [rax], al
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rsi + 0x20]
and dil, r15b
ror byte [rcx - 0x7cb7dfba], 0x3e
and byte [rax - 0x7d], r9b
add byte ds:[rdi], cl
test byte [rsi + 6], dh
add byte [rax], al
invalid
mov ecx, dword [rsi + 0x30]
jmp 0x14000617e
cmp byte [r15 + rax + 1], 0x48
jne 0x140006e10
invalid
mov cl, byte [r15 + rax + 2]
and cl, 0xfc
cmp cl, 0x88
jne 0x140006e10
mov ecx, dword [r14]
lea edx, [rcx + 3]
cmp ecx, dword [r10]
jne 0x1400059e5
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
invalid
cmp qword [rsi], 0
je 0x1400060fb
cmp edx, dword [rsi + 0x30]
jbe 0x1400061fb
mov byte [rsi + 0x34], 0
jmp 0x140006102
mov ecx, dword [r14]
lea edx, [rcx + 5]
cmp ecx, dword [r10]
jne 0x140005a14
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140005ebc
invalid
sahf
add al, 0
invalid
cmp edx, dword [rsi + 0x30]
jbe 0x140006125
invalid
add byte [rax], al
mov byte [rsi + 0x34], 0
jmp 0x14000613e
add cl, ch
invalid
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 0x140004d10
cmp dl, 0x1f
ja case.default.0x140005059
shr dl, 4
add dl, 2
mov ecx, edx
jmp case.0x140005059.5
cmp byte [r15 + r12 + 1], 0xc0
jb 0x140006e10
mov eax, dword [r14]
lea ecx, [rax + 2]
cmp eax, dword [r10]
jne 0x140005a7e
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x140006162
cmp ecx, dword [rsi + 0x30]
ja 0x14000591e
mov rcx, qword [rsi + 0x10]
movzx edx, word [r15 + r12]
mov word [rcx + rax], dx
jmp 0x140005a3d
mov edx, eax
and dl, 0xf8
cmp dl, 0xb8
jne 0x140005f3d
mov rax, qword [rsp + 0x28]
mov eax, dword [rax]
lea ecx, [rax + 9]
mov rdx, qword [rsp + 0x30]
cmp eax, dword [rdx]
jne 0x140005ac8
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x1400065db
cmp ecx, dword [rsi + 0x30]
jbe 0x14000660e
xor byte [rdi], cl
xchg byte [rbx], dh
or eax, dword [rax]
add dh, al
xor al, 0
mov byte [rsi + 0x34], 0
jmp 0x1400065e2
mov ecx, 5
jmp 0x140004ec0
mov dword [r14], edx
jmp 0x140004c76
mov dword [r14], edx
jmp 0x140004a03
mov byte [rsi + 0x34], 0
xor eax, eax
jmp 0x1400049db
mov dword [r14], ecx
jmp 0x140004a70
mov byte [rsi + 0x34], 0
xor eax, eax
mov ecx, edx
add byte [rcx], dh
ror byte [rcx - 0x10d5162f], 0xff
jmp 0x140004a48
int3
mov ecx, 0x2f1
jmp 0x140004a48
int3
call fcn.1400337b2
mov dl, byte [r12]
and dl, 7
mov cl, 2
jmp 0x140005b3b
mov dl, byte [r12]
and dl, 7
cmp dl, 2
je case.0x140005059.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.0x1400050c6
movzx r10d, r8b
cmp r9d, r10d
jb 0x14000526a
cmp dl, al
jb 0x14000526a
xor edx, edx
xor eax, eax
jmp 0x1400050e6
lea ecx, [rdi + 4]
movzx r13d, al
add r13, r13
add r13d, ecx
mov rax, qword [rsp + 0x28]
mov dword [rax], r13d
jmp 0x1400051b3
int3
lea r8, [rsp + 0x80]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x190]
call fcn.140050ff0
test al, al
jne 0x140006cee
jmp 0x140006d72
mov edx, 1
mov rcx, rdi
call fcn.140014840
test al, al
je 0x140006c85
mov rax, qword [rsp + 0xa8]
jmp 0x140005307
mov edx, 1
mov rcx, rdi
call fcn.140014840
test al, al
je 0x140006c9a
mov rax, qword [rsp + 0xa8]
jmp 0x14000533b
mov edx, 8
mov rcx, rdi
call fcn.140014840
test al, al
je 0x140006caf
mov rax, qword [rsp + 0xa8]
jmp 0x140005373
mov edx, 1
mov rcx, rdi
call fcn.140014840
test al, al
je 0x140006cc4
mov rax, qword [rsp + 0xa8]
jmp 0x1400053b1
mov edx, 1
mov rcx, rdi
call fcn.140014840
test al, al
je 0x140006cd9
mov rax, qword [rsp + 0xa8]
jmp 0x1400053e5
mov edx, 1
mov rcx, rdi
call fcn.140014840
test al, al
je 0x140006f20
mov rax, qword [rsp + 0xa8]
jmp 0x140005419
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea r8d, [rdx + 1]
mov r9, qword [rsp + 0x30]
cmp edx, dword [r9]
jne 0x140005cb5
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je case.0x140018327.110
cmp r8d, dword [rsi + 0x30]
ja 0x1400054f4
mov r8, qword [rsi + 0x10]
mov al, byte [rcx + rax]
mov byte [r8 + rdx], al
jmp 0x14000611a
lea eax, [r8 + 0x7d]
cmp al, 2
mov r14, qword [rsp + 0x28]
ja 0x140006e10
lea rax, [0x140055b38]
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 0x140004bc9
movzx r8d, byte [rdx + rax + 0xa]
cmp r8d, 0x50
je 0x1400062d8
cmp r8d, 0xff
jne 0x140006394
cmp byte [rdx + rax + 0xb], 0xe0
jmp 0x1400062dd
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 0x140005e08
movzx edx, byte [rax + rcx + 1]
mov r8d, edx
and r8d, 0xffffffc0
mov r9d, 0xc0
cmp r8d, r9d
je 0x140005e69
cmp r8d, 0x40
mov r9, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
je 0x140005dc7
test r8d, r8d
jne 0x140006e10
mov r9d, edx
and r9d, 6
cmp r9d, 4
jne 0x140005e69
cmp r8d, 0x40
mov r9, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
jne 0x140006e10
and edx, 7
add rax, rcx
mov ecx, dword [r9]
mov r8d, dword [r10]
cmp edx, 4
jne 0x140006441
lea edx, [rcx + 4]
cmp ecx, r8d
jne 0x140005dec
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1400067e9
cmp edx, dword [rsi + 0x30]
jbe 0x1400068a5
mov byte [rsi + 0x34], 0
jmp 0x1400067f0
cmp dl, 0x44
jne 0x140004d10
cmp byte [rax + rcx + 1], 0x89
jne 0x140004d10
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea r8d, [rdx + 2]
mov r9, qword [rsp + 0x30]
cmp edx, dword [r9]
jne 0x140005e39
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x1400067d4
cmp r8d, dword [rsi + 0x30]
jbe 0x140006883
mov byte [rsi + 0x34], 0
jmp 0x1400067dc
mov rdx, qword [rsi + 0x10]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [rsi + 0x20]
jmp 0x140005d4e
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea r8d, [rdx + 2]
mov r9, qword [rsp + 0x30]
cmp edx, dword [r9]
jne 0x140005e86
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140005ea3
cmp r8d, dword [rsi + 0x30]
ja 0x14000591e
mov r8, qword [rsi + 0x10]
movzx eax, word [rax + rcx]
jmp 0x140005a38
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
jmp 0x140005a41
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
jmp 0x14000611d
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
jmp 0x14000613e
mov dword [r14], edx
jmp 0x140004dba
mov byte [rsi + 0x34], 0
jmp 0x140004dba
mov r8d, edx
and r8b, 0xf8
cmp r8b, 0xb8
jne 0x1400064aa
mov rdx, qword [rsp + 0x28]
mov edx, dword [rdx]
lea r8d, [rdx + 5]
mov r9, qword [rsp + 0x30]
cmp edx, dword [r9]
jne 0x140005f07
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x1400067f9
cmp r8d, dword [rsi + 0x30]
ja 0x140005a27
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 0x14000613a
mov dword [r14], r8d
jmp 0x140004c76
cmp eax, 0xc6
jg 0x1400064e2
cmp eax, 0x63
je 0x1400066e8
cmp eax, 0x8d
jne 0x140006e10
mov r9b, byte [r15 + r12 + 1]
mov eax, r9d
and al, 0xc7
cmp al, 5
jne 0x140006909
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 0x140006969
mov ecx, dword [rsi + 0x30]
cmp eax, ecx
jae 0x140006b0c
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 0x14000696b
mov ecx, dword [rsi + 0x30]
jmp 0x140006b10
cmp eax, 0x60
jne 0x14000655e
mov rax, qword [rsp + 0x28]
mov eax, dword [rax]
add byte [rbp - 0x74b7fab8], cl
push rsp
and al, 0x30
cmp eax, dword [rdx]
jne 0x140005fe3
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x140006899
cmp ecx, dword [rsi + 0x30]
ja 0x140005a27
cli
invalid
invalid
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 0x14000613a
mov dword [r14], ecx
jmp 0x140004e5e
mov byte [rsi + 0x34], 0
jmp 0x140004e5e
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 0x14000606f
mov ecx, dword [rsi + 0x30]
cmp eax, ecx
jae 0x140006198
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0x49
add dword [rcx - 0x75], ecx
and dil, r15b
ror byte [rcx - 0x7cb7dfba], 0x3e
invalid
je 0x140006071
mov ecx, dword [rsi + 0x30]
jmp 0x14000619c
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 0x1400060a0
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x1400060b6
cmp r8d, dword [rsi + 0x30]
jbe 0x1400061c8
mov byte [rsi + 0x34], 0
jmp 0x1400060be
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
inc dword [rbx + 0x10]
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140006bb2
mov ecx, dword [rsi + 0x30]
cmp eax, ecx
jae 0x1400061dd
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 0x140006bb4
mov ecx, dword [rsi + 0x30]
jmp 0x1400061e1
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
mov r12d, dword [rbx + 0x10]
add r12d, 3
jmp 0x14000585b
mov rdx, qword [rsi + 0x10]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [rsi + 0x20]
inc dword [rbx + 0x10]
jmp 0x140004d10
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 0x140004d10
mov edx, 5
jmp 0x140004edc
mov dword [r14], ecx
jmp 0x140004eb2
mov byte [rsi + 0x34], 0
jmp 0x140004eb2
mov rax, qword [rsp + 0x28]
mov dword [rax], ecx
jmp 0x140005a41
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
jmp 0x140004d0c
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x14000628e
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x53
inc dword [rsi + 0x20]
jmp 0x14000602c
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x140006297
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 0x140006073
mov ecx, dword [rsi + 0x30]
jmp 0x14000629b
mov r8, qword [rsi + 0x10]
mov eax, eax
mov cl, byte [rcx + rdx]
mov byte [r8 + rax], cl
inc dword [rsi + 0x20]
jmp 0x1400060be
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x140006b19
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x5b
inc dword [rsi + 0x20]
jmp 0x140004d10
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 0x140006102
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 0x140006e10
mov edx, dword [rdx]
lea r8d, [rdx + 3]
cmp edx, dword [r9]
jne 0x14000625b
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140006281
cmp r8d, dword [rsi + 0x30]
jbe 0x140006404
mov byte [rsi + 0x34], 0
jmp 0x14000641f
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
jmp 0x14000611d
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
add cl, ch
xchg ecx, eax
add dword [rax], eax
invalid
mov byte [rsi + 0x34], 0
jmp 0x14000602c
mov byte [rsi + 0x34], 0
lea r10d, [rax + 8]
cmp r10d, ecx
jbe 0x14000647a
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x1400065b2
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 0x140006078
mov ecx, dword [rsi + 0x30]
jmp 0x1400065b6
cmp byte [rdx + rax + 0xb], 0xc3
mov r14, qword [rsp + 0x28]
jne 0x140004a8d
add eax, 2
mov rdi, qword [rdx + rax]
mov edi, dword [rdx + rax]
lea r12, [rsp + 0x80]
mov rcx, rbx
mov rdx, r12
call fcn.140051580
xor ebp, ebp
cmp qword [r12 + 0x70], 0
je 0x1400068b9
cmp byte [rsp + 0xd8], 0
je 0x1400068b9
lea r12, [rsp + 0x80]
mov rcx, r12
mov rdx, qword [rsp + 0x190]
call fcn.140051670
mov rcx, r12
call fcn.1400516c0
test al, al
je 0x1400068b7
mov eax, dword [rsi + 0x20]
lea ecx, [rax + 8]
cmp qword [rsi], 0
je 0x140006a95
cmp ecx, dword [rsi + 0x30]
jbe 0x140006aaf
mov byte [rsi + 0x34], 0
xor eax, eax
xor ebp, ebp
cmp qword [rsi + 0x10], 0
je 0x1400068b9
cmp qword [rsi + 0x18], 0
je 0x1400068b9
cmp dword [rsi + 8], 0
je 0x1400068b9
test al, al
jne 0x140006a9c
jmp 0x1400068b9
mov r14, qword [rsp + 0x28]
jmp 0x140004a8d
mov r8, qword [rsi + 0x10]
mov al, byte [rcx + rax]
mov byte [r8 + rdx], al
add al, 0x10
inc dword [rsi + 0x20]
jmp 0x140006223
cmp rcx, 0xff
je 0x140006806
cmp ecx, 0xc6
je 0x140006843
cmp ecx, 0x83
jne 0x140006e10
mov cl, byte [r15 + rax + 1]
and cl, 0xf8
loope 0x1400063d6
cmp cl, 0x60
mov rcx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jne 0x140006e10
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 0x140005a0c
invalid
jmp 0x140005a14
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 0x140004d10
cmp bpl, 0x1f
ja case.default.0x1400050c6
shr bpl, 4
add bpl, 2
mov edi, ebp
jmp case.0x1400050c6.5
lea edx, [rcx + 3]
cmp ecx, r8d
jne 0x140006451
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1400067c8
cmp edx, dword [rsi + 0x30]
ja 0x14000626b
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 0x14000641b
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 0x140006076
mov ecx, dword [rsi + 0x30]
jmp 0x1400062ac
cmp edx, 0xf7
je 0x14000677e
cmp edx, 0x8b
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
jne 0x140006e10
cmp byte [rax + rcx + 1], 0xc0
jb 0x140006e10
mov edx, dword [rdx]
lea r8d, [rdx + 2]
jmp 0x140005e79
cmp eax, 0xff
je 0x140006710
cmp eax, 0xc7
mov rax, qword [rsp + 0x28]
mov dword [rax], 0x8b480000
and al, 0x28
mov rdx, qword [rsp + 0x30]
jne 0x140006e10
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 0x14000652d
invalid
cmp byte [r15 + r12 + 1], 0x44
jne 0x140006e10
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 0x14000651e
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x1400069c1
cmp ecx, dword [rsi + 0x30]
jbe 0x1400069ee
mov ebp, 0xc6000004
xor al, 0
mov byte [rsi + 0x34], 0
jmp 0x1400069c8
mov bpl, byte [r12]
and bpl, 7
mov dil, 2
jmp 0x14000654f
mov bpl, byte [r12]
and bpl, 7
cmp bpl, 2
je case.0x1400050c6.5
jmp case.default.0x1400050c6
cmp eax, 0xc0
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
jne 0x140006e10
mov eax, dword [rax]
lea ecx, [rax + 3]
cmp eax, dword [rdx]
jne 0x140006583
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x1400069e2
cmp ecx, dword [rsi + 0x30]
ja 0x14000626b
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 0x14000641b
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x1400065eb
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 0x14000607a
mov ecx, dword [rsi + 0x30]
jmp 0x1400065ef
mov rax, qword [rsp + 0x28]
mov dword [rax], ecx
add dword [rbx + 0x10], 9
jmp 0x140004d10
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x1400066df
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 0x140006083
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 0x1400065e2
cmp byte [r15 + rax + 1], 0xc0
jb 0x140006e10
mov ecx, dword [r14]
lea edx, [rcx + 2]
cmp ecx, dword [r10]
jne 0x140006649
mov r8, qword [rsp + 0x30]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140006877
cmp edx, dword [rsi + 0x30]
ja 0x14000591e
mov rdx, qword [rsi + 0x10]
movzx eax, word [r15 + rax]
mov word [rdx + rcx], ax
jmp 0x140005a3d
lea r8, [rsp + 0x80]
mov byte [r8], 0
lea rcx, [rax + r15]
inc rcx
xor edx, edx
call fcn.140050f60
test eax, eax
js 0x140006e10
cmp byte [rsp + 0x80], 0
jne 0x140006e10
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 0x1400066bf
mov rdx, qword [rsp + 0x30]
mov dword [rdx], eax
add r14d, 2
cmp qword [rsi], 0
je 0x14000695d
cmp eax, dword [rsi + 0x30]
jbe 0x1400068f7
mov byte [rsi + 0x34], 0
jmp 0x140004d0c
mov byte [rsi + 0x34], 0
jmp 0x140006083
cmp byte [r15 + r12 + 1], 0xc0
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
jb 0x140006e10
mov eax, dword [rax]
lea ecx, [rax + 2]
cmp eax, dword [rdx]
je 0x140005a77
jmp 0x140005a7e
movzx eax, byte [r15 + r12 + 1]
mov edx, eax
and dl, 0xc7
cmp dl, 5
mov r14, qword [rsp + 0x28]
jne 0x140006e10
and eax, 0x38
cmp eax, 0x20
je 0x14000673a
cmp eax, 0x10
jne 0x140006e10
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 0x140004bcc
mov dl, byte [rax + rcx + 1]
and dl, 0xf8
cmp dl, 0xc0
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
jne 0x140006e10
mov edx, dword [rdx]
lea r8d, [rdx + 6]
cmp edx, dword [r9]
jne 0x1400067ab
mov r9, qword [rsp + 0x30]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x1400069d1
cmp r8d, dword [rsi + 0x30]
jbe 0x140006a00
mov byte [rsi + 0x34], 0
jmp 0x1400069d9
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
jmp 0x14000641f
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
mov r12d, dword [rbx + 0x10]
add r12d, 2
jmp 0x14000585b
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
add dword [rbx + 0x10], 4
jmp 0x140004d10
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
jmp 0x14000613e
movzx edx, byte [r15 + rax + 1]
mov ecx, edx
shr ecx, 3
and ecx, 7
cmp dl, 0xc0
jb 0x140006973
cmp ecx, 3
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jae 0x140006b22
mov ecx, dword [rdx]
lea edx, [rcx + 2]
cmp ecx, dword [r8]
je 0x140006641
jmp 0x140006649
lea rcx, [rax + r15]
inc rcx
xor edx, edx
xor r8d, r8d
call fcn.140050f60
mov r14d, eax
test eax, eax
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
js 0x140006e10
mov ecx, dword [rax]
lea eax, [rcx + r14]
add eax, 2
jmp 0x1400066b4
mov rax, qword [rsp + 0x28]
mov dword [rax], edx
jmp 0x140005a41
mov r8, qword [rsi + 0x10]
movzx eax, word [rax + rcx]
mov word [r8 + rdx], ax
add dword [rsi + 0x20], 2
jmp 0x1400067dc
mov rax, qword [rsp + 0x28]
mov dword [rax], ecx
jmp 0x14000613e
mov rdx, qword [rsi + 0x10]
mov eax, dword [rax]
mov dword [rdx + rcx], eax
add dword [rsi + 0x20], 4
jmp 0x1400067f0
xor ebp, ebp
lea r12, [rsp + 0xe0]
mov rcx, r12
call fcn.140051730
mov rcx, qword [r12 - 0x40]
lea rax, [rsp + 0xb8]
cmp rcx, rax
je 0x1400068e1
call qword [sym.imp.mozglue.dll_free]
test bpl, bpl
mov r14, qword [rsp + 0x28]
jne 0x140006e10
mov ecx, dword [r14]
jmp 0x140004a8d
mov edx, r12d
add rdx, r15
mov r8d, r14d
add rcx, qword [rsi + 0x10]
jmp 0x140004d03
add ecx, 2
add rcx, r15
xor edx, edx
xor r8d, r8d
call fcn.140050f60
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 0x140006939
mov rdx, qword [rsp + 0x30]
mov dword [rdx], eax
inc r14d
cmp qword [rsi], 0
je 0x14000695d
cmp eax, dword [rsi + 0x30]
ja 0x1400066d6
add r12, r15
mov r8d, r14d
add rcx, qword [rsi + 0x10]
mov rdx, r12
jmp 0x140004d03
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
jmp 0x140004d0c
inc eax
add eax, 8
jmp 0x140006bb6
and dl, 0xc7
cmp dl, 5
jne 0x140006ac9
cmp cl, 2
jne 0x140006ac9
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.1400070c0
test al, al
mov r14, qword [rsp + 0x28]
jmp 0x140004f45
mov rax, qword [rsp + 0x28]
mov dword [rax], ecx
add dword [rbx + 0x10], 8
jmp 0x140004d10
mov rax, qword [rsp + 0x28]
mov dword [rax], r8d
add dword [rbx + 0x10], 6
jmp 0x140004d10
mov rax, qword [rsp + 0x28]
mov dword [rax], ecx
jmp 0x14000641f
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r15 + r12]
mov qword [rcx + rax], rdx
add dword [rsi + 0x20], 8
jmp 0x1400069c8
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 0x1400069d9
mov ecx, 1
cmp edx, 4
jne 0x140004ec0
mov al, byte [r15 + rax + 1]
and al, 7
xor ecx, ecx
cmp al, 5
sete cl
lea ecx, [rcx*4 + 1]
jmp 0x140004ec0
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140006bab
mov ecx, dword [rsi + 0x30]
cmp eax, ecx
jae 0x140006bc3
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 0x140006bad
mov ecx, dword [rsi + 0x30]
jmp 0x140006bc7
mov byte [rsi + 0x34], 0
jmp 0x140005571
mov byte [rsi + 0x34], 0
jmp 0x140004c79
mov rax, qword [rsp + 0x28]
mov dword [rax], ecx
mov rax, qword [rsp + 0x198]
mov qword [rax], rdi
mov bpl, 1
jmp 0x1400068b9
mov rcx, qword [rsi + 0x10]
mov qword [rcx + rax], rdi
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x140006a9c
mov al, byte [rsi + 0x34]
jmp 0x140006365
cmp cl, 4
jne 0x140006e10
cmp dl, 5
jne 0x140006b3f
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.1400070c0
mov bpl, 1
jmp 0x1400069b5
mov byte [rsi + 0x34], 0
lea r9d, [rax + 8]
cmp r9d, ecx
jbe 0x140006b8d
mov byte [rsi + 0x34], 0
jmp 0x140004d10
cmp ecx, 4
je 0x140006b3f
cmp ecx, 6
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
je 0x140006830
jmp 0x140006e10
lea rcx, [rax + r15]
inc rcx
xor edx, edx
xor r8d, r8d
call fcn.140050f60
mov ebp, eax
test eax, eax
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
js 0x140006e10
mov ecx, dword [rax]
lea eax, [rcx + rbp]
inc eax
cmp ecx, dword [rdx]
jne 0x140006b76
mov rdx, qword [rsp + 0x30]
mov dword [rdx], eax
inc ebp
cmp qword [rsi], 0
je 0x140006bf5
cmp eax, dword [rsi + 0x30]
jbe 0x140006c25
mov byte [rsi + 0x34], 0
jmp 0x140006bfc
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 0x140004d10
inc eax
add eax, 8
inc eax
inc eax
inc eax
mov r14, qword [rsp + 0x28]
mov dword [r14], eax
jmp 0x140004d15
mov byte [rsi + 0x34], 0
lea r9d, [rax + 8]
cmp r9d, ecx
jbe 0x140006c07
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x140006c3c
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 0x140006bb2
mov ecx, dword [rsi + 0x30]
jmp 0x140006c40
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
add dword [rbx + 0x10], ebp
mov bpl, 1
jmp 0x140004d10
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 0x140006bb0
mov ecx, dword [rsi + 0x30]
jmp 0x140006bd4
mov edx, r12d
add rdx, r15
mov r8d, ebp
add rcx, qword [rsi + 0x10]
call sub.ntdll.dll_memcpy
add dword [rsi + 0x20], ebp
jmp 0x140006bfc
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x140006c65
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 0x140006bb4
mov ecx, dword [rsi + 0x30]
jmp 0x140006c69
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x140006b19
movzx ecx, dl
lea ecx, [rcx + rcx*8]
mov rdx, qword [rsi + 0x10]
mov eax, eax
mov byte [rdx + rax], cl
jmp 0x1400061f3
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
jmp 0x14000532d
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
jmp 0x140005361
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
jmp 0x1400053a3
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
jmp 0x1400053d7
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
jmp 0x14000540b
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
cmp qword [rsp + 0xf0], 0
je 0x140006e84
cmp byte [rsp + 0xd8], 0
je 0x140006e84
mov r8, qword [rsp + 0xa8]
test r8, r8
je 0x140006d72
mov rdx, qword [rsp + 0xa0]
mov ecx, dword [rsp + 0x9c]
add rcx, qword [rsp + 0x88]
call sub.ntdll.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 [0x140064af4]
mov ecx, dword [0x1400624b8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140006e43
mov rdi, qword [rsp + 0xe8]
mov r15, qword [rsp + 0xf0]
test r15, r15
je 0x140006de6
shl r15, 4
add r15, rdi
mov ebx, dword [0x140064af0]
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 0x140006dc5
mov rdi, qword [rsp + 0xe8]
lea rax, [rsp + 0x100]
mov qword [rax - 0x10], 0
cmp rdi, rax
jne 0x140006ea4
mov rcx, qword [rsp + 0xa0]
cmp rcx, r12
jne 0x140006eb2
mov rax, qword [rsp + 0x198]
cmp qword [rax], 0
je 0x140006e90
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.14002ef70
nop
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x140064af4]
call fcn.14002de38
cmp dword [0x140064af4], 0xffffffff
jne 0x140006d97
lea rdi, [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rdi + 4]
mov dword [0x140064af0], eax
lea rcx, [0x140064af4]
call fcn.14002ddd8
jmp 0x140006d97
mov qword [rax], 0
jmp 0x140006d72
mov dword [rsi + 0x20], 0
mov rcx, rsi
call fcn.140033d30
jmp 0x140006e1e
mov rcx, rdi
call qword [sym.imp.mozglue.dll_free]
jmp 0x140006dff
call qword [sym.imp.mozglue.dll_free]
jmp 0x140006e10
inc qword [rsp + 0xa8]
mov eax, dword [rsp + 0x98]
inc eax
mov dword [rsp + 0x98], eax
mov eax, eax
cmp qword [rsp + 0x90], rax
test byte [rax + rdx*4], ah
add byte [rax], al
add byte [rdi], cl
xchg byte [rcx], cl
invalid
invalid
invalid
mov rax, qword [rsp + 0xa8]
cmp rax, qword [rsp + 0xb0]
je 0x140006f05
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0x90
jmp 0x140006ebd
mov edx, 1
mov rcx, rdi
call fcn.140014840
test al, al
je 0x140006f20
mov rax, qword [rsp + 0xa8]
jmp 0x140006ef7
mov byte [rsp + 0xd8], 0
mov eax, dword [rsp + 0x98]
jmp 0x140006ed5
mov edi, dword [0x140064af0]
lea rax, [r14 + rbx]
dec rax
dec eax
xor edx, edx
div rdi
mov rbx, rax
mov rax, r14
xor edx, edx
div rdi
div edi
inc rbx
sub rbx, rax
je 0x140007034
mov r14, rax
lea r15, [rsi + 8]
imul r14, rdi
test dword [rax - 0x7d], 0x834801fb
rol dword [rax], cl
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 0x140007096
mov ebp, dword [rsp + 0x20]
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 0x18]
je 0x1400070a8
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 0x140006fec
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
loope 0x140007025
invalid
jg 0x140007042
add byte [rax - 0x77], cl
invalid
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 [0x140064af4], 0xffffffff
jne 0x140006fa8
lea rdi, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rdi + 4]
mov dword [0x140064af0], eax
lea rcx, [0x140064af4]
call fcn.14002ddd8
jmp 0x140006fa8
mov dword [rsp + 0x20], 0
mov rcx, rsi
call fcn.1400514a0
jmp 0x140007034
mov rcx, r15
call fcn.140033e60
test al, al
je 0x14000709e
mov rax, qword [rsi + 0x10]
jmp 0x140007018
cmp qword [rcx], 0
je 0x140007311
mov r8d, dword [rcx + 0x30]
cmp eax, r8d
jae 0x140007325
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
and byte [r8 - 0x7d], cl
cmp dword [rax], eax
je 0x140007313
mov r8d, dword [rcx + 0x30]
cmp eax, r8d
jae 0x14000732e
adc dword [rcx], 2
add byte [rax], al
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 0x140007315
add dword [rax], eax
invalid
mov r8d, dword [rcx + 0x30]
mov eax, dword [rcx + 0x30]
lea r9d, [rax + 4]
cmp r9d, r8d
ja 0x1400072eb
mov r8, qword [rcx + 0x10]
mov eax, eax
mov dword [r8 + rax], 0
mov eax, dword [rcx + 0x20]
invalid
add eax, 4
mov dword [rcx + 0x20], eax
cmp qword [rcx], 0
je 0x140007318
mov r8d, dword [rcx + 0x30]
lea r9d, [rax + 8]
cmp r9d, r8d
ja 0x1400072e2
invalid
mov r8, qword [rcx + 0x10]
mov eax, eax
mov qword [r8 + rax], rdx
add dword [rcx + 0x20], 8
cmp qword [rcx], 0
je 0x14000731e
xor eax, eax
cmp qword [rcx + 0x10], 0
je 0x1400071b2
cmp qword [rcx + 0x18], 0
je 0x1400071b2
cmp dword [rcx + 8], 0
je 0x1400071b2
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 0x140007386
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 0x14000736e
mov r8d, dword [rcx + 0x30]
cmp eax, r8d
jae 0x14000738f
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 0x140007370
add byte [rax], al
add byte [rax], al
mov r8d, dword [rcx + 0x30]
cmp eax, r8d
jae 0x1400072eb
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 0x14000715f
mov eax, dword [rcx + 0x20]
inc eax
mov dword [rcx + 0x20], eax
cmp qword [rcx], 0
je 0x1400072d8
mov r8d, dword [rcx + 0x30]
xor byte [r9 + rdi - 0x40], al
cmp eax, r8d
jae 0x140007398
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 0x1400070dc
mov byte [rcx + 0x34], 0
jmp 0x140007195
mov byte [rcx + 0x34], 0
jmp 0x140007170
inc eax
inc eax
add eax, 4
add eax, 8
mov dword [rcx + 0x20], eax
mov al, 1
jmp 0x1400071b2
mov byte [rcx + 0x34], 0
jmp case.0x1400260f8.95
mov byte [rcx + 0x34], 0
jmp 0x14000713e
inc eax
inc eax
jmp 0x140007318
mov byte [rcx + 0x34], 0
jmp 0x140007248
mov byte [rcx + 0x34], 0
jmp 0x140007272
mov byte [rcx + 0x34], 0
jmp 0x1400070dc
fxch st(4)
int3
int3
add eax, 0x8d480000
cmp eax, 0x13bfa
add byte [rax], al
lea rdi, [0x140064b20]
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