Function at 0x14000c4c0
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov ebp, dword [rsp + 0x90]
test ebp, ebp
je 0x14000c542
mov r15d, r9d
mov rdi, r8
mov r12, rdx
mov r14, rcx
mov ebx, ebp
and ebx, 0xff000000
test r8, r8
je 0x14000c549
mov ecx, 0x68
mov edx, 1
call qword [sym.imp.mozglue.dll_calloc]
mov rsi, rax
mov qword [rax + 0x58], rdi
mov rcx, qword [rdi + 0x78]
test rcx, rcx
je 0x14000c54d
nop word cs:[rax + rax]
nop
mov rax, rcx
mov rcx, qword [rcx + 0x60]
test rcx, rcx
jne 0x14000c520
add rax, 0x60
movdqu xmm0, xmmword [rdi + 0x80]
pcmpeqd xmm1, xmm1
psubq xmm0, xmm1
jmp 0x14000c559
xor eax, eax
jmp case.default.0x14000ce45
xor esi, esi
jmp 0x14000c564
lea rax, [rdi + 0x78]
movdqa xmm0, xmmword [0x140050360]
movdqu xmmword [rdi + 0x80], xmm0
mov qword [rax], rsi
mov eax, ebp
and eax, 7
mov dword [rsi + 8], eax
mov dword [rsi + 0xc], 0
cmp ebx, 0x9ffffff
jg 0x14000c5c1
mov ecx, 1
cmp ebx, 0x2ffffff
jle 0x14000c61c
cmp ebx, 0x5ffffff
jle 0x14000c690
cmp ebx, 0x7ffffff
jg 0x14000c751
cmp ebx, 0x6000000
je 0x14000c7ae
cmp ebx, 0x7000000
je 0x14000c769
jmp 0x14000c8ac
cmp ebx, 0xfffffff
jle 0x14000c65b
cmp ebx, 0x3fffffff
jle 0x14000c6c3
cmp ebx, 0x5fffffff
jg 0x14000c778
cmp ebx, 0x40000000
je 0x14000c7c7
cmp ebx, 0x50000000
jne 0x14000c8ac
xor ecx, ecx
cmp byte [rdi + 0x29], 4
sete cl
mov edx, 0x1c
mov eax, 0xe
cmove rax, rdx
or ecx, 0x14
jmp 0x14000c8bc
cmp ebx, 0xfeffffff
jg 0x14000c6f6
cmp ebx, 0x80000000
je 0x14000c7d6
cmp ebx, 0x90000000
je 0x14000c7e5
cmp ebx, 0xa0000000
jne 0x14000c8ac
mov eax, 0x10
mov ecx, 0xb
jmp 0x14000c8bc
cmp ebx, 0xcffffff
jg 0x14000c724
cmp ebx, 0xa000000
je 0x14000c7f4
cmp ebx, 0xb000000
je 0x14000c80a
cmp ebx, 0xc000000
je 0x14000c79f
jmp 0x14000c8ac
cmp ebx, 0x3000000
je 0x14000c819
cmp ebx, 0x4000000
je 0x14000c79f
cmp ebx, 0x5000000
jne 0x14000c8ac
mov eax, 0x10
mov ecx, 5
jmp 0x14000c8bc
cmp ebx, 0x10000000
je 0x14000c82b
cmp ebx, 0x20000000
je 0x14000c83a
cmp ebx, 0x30000000
jne 0x14000c8ac
mov eax, 0xa
mov ecx, 8
jmp 0x14000c8bc
cmp ebx, 0xff000000
je 0x14000c846
cmp ebx, 0x1000000
je 0x14000c84f
mov eax, 1
cmp ebx, 0x2000000
je 0x14000c8bc
jmp 0x14000c8ac
cmp ebx, 0xd000000
je 0x14000c865
cmp ebx, 0xe000000
je 0x14000c878
cmp ebx, 0xf000000
jne 0x14000c8ac
movzx eax, byte [rdi + 0x29]
jmp 0x14000c8b0
cmp ebx, 0x8000000
je 0x14000c884
cmp ebx, 0x9000000
jne 0x14000c8ac
mov eax, 8
mov ecx, 4
jmp 0x14000c8bc
cmp ebx, 0x60000000
je 0x14000c890
cmp ebx, 0x70000000
jne 0x14000c8ac
mov eax, 0x200
mov ecx, 0x18
jmp 0x14000c8bc
mov eax, 4
mov ecx, 3
jmp 0x14000c8bc
xor ecx, ecx
cmp byte [rdi + 0x29], 4
sete cl
lea rax, [rcx + rcx]
add rax, 4
or ecx, 0xe
jmp 0x14000c8bc
mov eax, 0xa
mov ecx, 9
jmp 0x14000c8bc
mov eax, 0xa
mov ecx, 0x19
jmp 0x14000c8bc
mov eax, 0x10
mov ecx, 0xd
jmp 0x14000c8bc
xor ecx, ecx
cmp byte [rdi + 0x29], 4
sete cl
xor ecx, 0x11
mov eax, 6
jmp 0x14000c8bc
mov eax, 0x10
mov ecx, 0xc
jmp 0x14000c8bc
xor eax, eax
cmp byte [rdi + 0x2a], 4
sete al
add rax, 1
jmp 0x14000c8bc
mov eax, 4
mov ecx, 6
jmp 0x14000c8bc
mov eax, 8
mov ecx, 7
jmp 0x14000c8bc
mov ecx, 0xff
xor eax, eax
jmp 0x14000c8bc
xor ecx, ecx
cmp byte [rdi + 0x2a], 4
sete cl
lea rax, [rcx*4 + 4]
xor ecx, 0x13
jmp 0x14000c8bc
xor ecx, ecx
cmp byte [rdi + 0x2a], 4
sete cl
lea rax, [rcx + rcx]
add rax, 2
jmp 0x14000c8b9
mov eax, 2
mov ecx, 2
jmp 0x14000c8bc
mov eax, 0x10
mov ecx, 0xa
jmp 0x14000c8bc
xor ecx, ecx
cmp byte [rdi + 0x29], 4
sete cl
mov edx, 0x6c
mov eax, 0x5e
cmove rax, rdx
or ecx, 0x16
jmp 0x14000c8bc
movzx eax, byte [rdi + 0x2a]
xor ecx, ecx
cmp rax, 4
sete cl
or ecx, 2
xor edx, edx
cmp eax, 2
sete dl
lea rdx, [rdx*8 + 1]
cmp eax, 1
mov ebx, 0x11
cmovne rbx, rdx
mov r13d, dword [rsp + 0x98]
mov dword [rsi + 4], ecx
shr ebp, 0x10
add bpl, 0xff
cmp bpl, 0x17
ja case.default.0x14000c90e
mov cl, byte [rsp + 0xa0]
movzx edx, bpl
lea rbp, [0x14000cf28]
movsxd rdx, dword [rbp + rdx*4]
add rdx, rbp
jmp rdx
mov qword [rsp + 0x20], rbx
jmp 0x14000c9cc
shr cl, 3
and cl, 7
mov dword [rsi], 1
add cl, 0x29
jmp 0x14000ca46
mov dword [rsi + 0xc], 1
cmp rax, 1
jne 0x14000ce7a
mov dword [rsi], 3
mov eax, 1
test r12, r12
jne case.0x14000cb0e.1
jmp 0x14000ce10
shr cl, 3
and cl, 7
mov dword [rsi], 1
movzx edi, cl
lea rax, [rdi + 0x18]
cmp rax, 0x5c
ja 0x14000ce0e
add rdi, 0x19
jmp 0x14000cb83
mov qword [rsp + 0x20], 0x19
jmp 0x14000c9cc
shr cl, 3
and cl, 7
mov dword [rsi], 1
movzx edi, cl
lea rax, [rdi + 0x38]
cmp rax, 0x5c
ja 0x14000ce0e
add rdi, 0x39
jmp 0x14000cb83
shr cl, 3
and cl, 7
mov dword [rsi], 1
add cl, 0x21
jmp 0x14000ca46
mov qword [rsp + 0x20], 0x21
mov rcx, r14
mov edx, r12d
mov r8, rsi
mov r9, rdi
call fcn.14000ba60
test r13d, r13d
jne 0x14000ce15
jmp case.default.0x14000ce45
mov dword [rsi], 0
jmp 0x14000ce0e
mov dword [rsi], 5
cmp r12, 2
jb 0x14000ca0a
movzx eax, word [r14]
mov word [rsi + 0x10], ax
cmp byte [rdi + 0x29], 4
jne 0x14000ceaf
mov eax, 6
cmp r12, 4
jb 0x14000ce10
mov ecx, dword [r14]
mov dword [rsi + 0x14], ecx
test r13d, r13d
jne 0x14000ce15
jmp case.default.0x14000ce45
shr cl, 3
and cl, 7
mov dword [rsi], 1
add cl, 0x31
movzx edi, cl
lea rcx, [rsi + 0x10]
pxor xmm0, xmm0
movdqu xmmword [rsi + 0x1c], xmm0
movdqu xmmword [rsi + 0x10], xmm0
jmp 0x14000cb94
mov dword [rsi], 1
mov dword [rsi + 0xc], 0x40
lea rcx, [rsi + 0x10]
pxor xmm0, xmm0
movdqu xmmword [rsi + 0x1c], xmm0
movdqu xmmword [rsi + 0x10], xmm0
lea rdx, str.eflags
mov r8d, 8
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, dword [0x14009caf8]
mov dword [rsi + 0x18], eax
mov eax, dword [0x14009caf4]
mov dword [rsi + 0x1c], eax
mov eax, dword [0x14009cafc]
test rax, rax
je 0x14000cac5
lea rcx, [0x1400508d0]
movzx edx, byte [rcx + rax*2]
mov dword [rsi + 0x24], edx
movzx eax, byte [rcx + rax*2 + 1]
mov dword [rsi + 0x28], eax
mov dword [rsi + 0x20], 0x51
jmp 0x14000ce0e
shr cl, 3
and cl, 7
mov dword [rsi], 1
movzx eax, cl
jmp 0x14000ccdd
mov dword [rsi], 2
cmp rax, r12
ja 0x14000ce10
lea ecx, [rax - 1]
cmp ecx, 7
ja case.0x14000cb0e.3
lea rdx, [0x14000cfc8]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov dword [rsi], 7
mov dword [rsi + 0xc], 8
movzx eax, byte [rdi + 0x29]
cmp rax, r12
ja 0x14000ce10
lea ecx, [rax - 1]
cmp cl, 7
ja case.0x14000cb0e.3
movzx ecx, cl
lea rdx, [0x14000cf88]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov al, byte [r14]
mov byte [rsi + 0x10], al
mov eax, 1
test r13d, r13d
jne 0x14000ce15
jmp case.default.0x14000ce45
shr cl, 3
and cl, 7
mov dword [rsi], 1
movzx edi, cl
lea rax, [rdi + 0x40]
cmp rax, 0x5c
ja 0x14000ce0e
add rdi, 0x41
lea rcx, [rsi + 0x10]
pxor xmm0, xmm0
movdqu xmmword [rcx + 0xc], xmm0
movdqu xmmword [rcx], xmm0
lea rbx, [rdi + rdi*4]
lea rbp, [0x14009c4a0]
lea rdx, [rbx*4 + 0xc]
add rdx, rbp
mov r8d, 8
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, dword [rbp + rbx*4 + 4]
mov dword [rsi + 0x18], eax
mov eax, dword [rbp + rbx*4]
mov dword [rsi + 0x1c], eax
mov eax, dword [rbp + rbx*4 + 8]
test rax, rax
je 0x14000cbe3
lea rcx, [0x1400508d0]
movzx edx, byte [rcx + rax*2]
mov dword [rsi + 0x24], edx
movzx eax, byte [rcx + rax*2 + 1]
mov dword [rsi + 0x28], eax
mov dword [rsi + 0x20], edi
jmp 0x14000ce0e
mov dword [rsi], 6
mov dword [rsi + 0xc], 0x44a
lea rcx, [rsi + 0x30]
pxor xmm0, xmm0
movdqu xmmword [rsi + 0x3c], xmm0
movdqu xmmword [rsi + 0x30], xmm0
lea rdx, [0x14009c538]
mov r8d, 8
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, dword [0x14009c530]
mov dword [rsi + 0x38], eax
mov eax, dword [0x14009c52c]
mov dword [rsi + 0x3c], eax
mov eax, dword [0x14009c534]
test rax, rax
je 0x14000cc50
lea rcx, [0x1400508d0]
movzx edx, byte [rcx + rax*2]
mov dword [rsi + 0x44], edx
movzx eax, byte [rcx + rax*2 + 1]
mov dword [rsi + 0x48], eax
mov dword [rsi + 0x40], 7
jmp 0x14000ce0e
mov dword [rsi], 6
mov dword [rsi + 0xc], 0x14a
lea rcx, [rsi + 0x30]
pxor xmm0, xmm0
movdqu xmmword [rsi + 0x3c], xmm0
movdqu xmmword [rsi + 0x30], xmm0
lea rdx, [0x14009c54c]
mov r8d, 8
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, dword [0x14009c544]
mov dword [rsi + 0x38], eax
mov eax, dword [0x14009c540]
mov dword [rsi + 0x3c], eax
mov eax, dword [0x14009c548]
test rax, rax
je 0x14000ccc1
lea rcx, [0x1400508d0]
movzx edx, byte [rcx + rax*2]
mov dword [rsi + 0x44], edx
movzx eax, byte [rcx + rax*2 + 1]
mov dword [rsi + 0x48], eax
mov dword [rsi + 0x40], 8
jmp 0x14000ce0e
mov dword [rsi], 1
mov dword [rsi + 0xc], 0x40
mov eax, r15d
lea rcx, [rbx + rax]
add rcx, 0xffffffffffffffff
cmp rcx, 0x5c
ja 0x14000ce0e
add rbx, rax
lea rcx, [rsi + 0x10]
pxor xmm0, xmm0
movdqu xmmword [rcx + 0xc], xmm0
movdqu xmmword [rcx], xmm0
lea rdi, [rbx + rbx*4]
lea rbp, [0x14009c4a0]
lea rdx, [rdi*4 + 0xc]
add rdx, rbp
mov r8d, 8
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, dword [rbp + rdi*4 + 4]
mov dword [rsi + 0x18], eax
mov eax, dword [rbp + rdi*4]
mov dword [rsi + 0x1c], eax
mov eax, dword [rbp + rdi*4 + 8]
test rax, rax
je 0x14000cd52
lea rcx, [0x1400508d0]
movzx edx, byte [rcx + rax*2]
mov dword [rsi + 0x24], edx
movzx eax, byte [rcx + rax*2 + 1]
mov dword [rsi + 0x28], eax
mov dword [rsi + 0x20], ebx
jmp 0x14000ce0e
mov dword [rsi], 1
mov dword [rsi + 0xc], 0x40
add r15d, 0x41
jmp 0x14000cd91
mov dword [rsi], 1
mov dword [rsi + 0xc], 0x40
add r15d, 0x39
jmp 0x14000cd91
mov dword [rsi], 1
mov dword [rsi + 0xc], 0x40
add r15d, 0x49
lea rax, [r15 - 1]
cmp rax, 0x5c
ja 0x14000ce0e
lea rcx, [rsi + 0x10]
pxor xmm0, xmm0
movdqu xmmword [rcx + 0xc], xmm0
movdqu xmmword [rcx], xmm0
lea rdi, [r15 + r15*4]
lea rbx, [0x14009c4a0]
lea rdx, [rbx + rdi*4]
add rdx, 0xc
mov r8d, 8
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, dword [rbx + rdi*4 + 4]
mov dword [rsi + 0x18], eax
mov eax, dword [rbx + rdi*4]
mov dword [rsi + 0x1c], eax
mov eax, dword [rbx + rdi*4 + 8]
test rax, rax
je 0x14000cdf7
lea rcx, [0x1400508d0]
movzx edx, byte [rcx + rax*2]
mov dword [rsi + 0x24], edx
movzx eax, byte [rcx + rax*2 + 1]
mov dword [rsi + 0x28], eax
mov dword [rsi + 0x20], r15d
jmp 0x14000ce0e
mov dword [rsi], 2
mov dword [rsi + 0x10], r15d
mov dword [rsi + 0xc], 0x40
xor eax, eax
test r13d, r13d
je case.default.0x14000ce45
mov ecx, dword [rsi]
and ecx, 0xfffffffe
cmp ecx, 6
jne case.default.0x14000ce45
and r13d, 0xf00
add r13d, 0xffffff00
shr r13d, 8
cmp r13d, 5
ja case.default.0x14000ce45
lea rcx, [0x14000cfe8]
movsxd rdx, dword [rcx + r13*4]
add rdx, rcx
jmp rdx
or byte [rsi + 0xd], 2
jmp case.default.0x14000ce45
or byte [rsi + 0xd], 3
jmp case.default.0x14000ce45
or byte [rsi + 0xd], 4
jmp case.default.0x14000ce45
or byte [rsi + 0xd], 1
jmp case.default.0x14000ce45
or byte [rsi + 0xd], 5
jmp case.default.0x14000ce45
or byte [rsi + 0xd], 6
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsi], 4
cmp rax, r12
ja 0x14000ce10
lea ecx, [rax - 1]
cmp ecx, 7
ja case.0x14000cb0e.3
lea rdx, [0x14000cfa8]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov rcx, qword [r14]
mov qword [rsi + 0x10], rcx
test r13d, r13d
jne 0x14000ce15
jmp case.default.0x14000ce45
mov eax, 4
cmp r12, 2
jb 0x14000ce10
movzx ecx, word [r14]
mov word [rsi + 0x14], cx
test r13d, r13d
jne 0x14000ce15
jmp case.default.0x14000ce45
mov cl, byte [r14]
mov byte [rsi + 0x10], cl
test r13d, r13d
jne 0x14000ce15
jmp case.default.0x14000ce45
mov ecx, dword [r14]
mov dword [rsi + 0x10], ecx
test r13d, r13d
jne 0x14000ce15
jmp case.default.0x14000ce45
movzx ecx, word [r14]
mov word [rsi + 0x10], cx
test r13d, r13d
jne 0x14000ce15
jmp case.default.0x14000ce45
movzx eax, word [r14]
mov word [rsi + 0x10], ax
mov eax, 2
test r13d, r13d
jne 0x14000ce15
jmp case.default.0x14000ce45