Function at 0x14000e6d0
Capabilities:
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, 0xa8
mov rax, qword [0x140084030]
xor rax, rsp
mov qword [rsp + 0xa0], rax
xor r13d, r13d
test edx, edx
je 0x14000ec9f
mov r14, rcx
test rcx, rcx
je 0x14000ec9f
mov rsi, qword [rsp + 0x110]
test rsi, rsi
je 0x14000ec9f
mov ebp, r9d
mov edi, r8d
mov ebx, edx
lea rcx, [rsi + 0x10]
xor r13d, r13d
mov r8d, 0x98
xor edx, edx
call sub.VCRUNTIME140.dll_memset
add edi, ebp
mov dword [rsi], edi
mov dword [rsi + 4], ebp
mov qword [rsi + 8], 0
sub ebx, ebp
jbe 0x14000e81e
mov eax, ebp
add r14, rax
cmp ebx, 0x14
mov eax, 0x14
cmovl eax, ebx
movsxd r15, eax
mov eax, 0x14
sub rax, r15
cmp r15d, 0x14
mov r8d, 0
cmovb r8, rax
lea rcx, [rsp + r15]
add rcx, 0x80
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0x80]
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x68], 0
mov dword [rsp + 0x64], 0
mov r14d, dword [0x140084d34]
cmp ebx, 4
jb 0x14000e842
mov eax, r14d
and eax, 1
je 0x14000e842
cmp byte [rsp + 0x80], 0
jne 0x14000e842
cmp byte [rsp + 0x81], 0
jne 0x14000e842
cmp byte [rsp + 0x82], 0
jne 0x14000e842
cmp byte [rsp + 0x83], 0
jne 0x14000e842
movabs rax, 0x64696c61766e69
mov qword [rsi + 0x68], rax
xorps xmm0, xmm0
movups xmmword [rsi + 0x78], xmm0
xor eax, eax
mov qword [rsi + 0x88], rax
mov byte [rsi + 0x28], 1
mov qword [rsi + 8], rax
mov byte [rsi + 0x14], 0
jmp 0x14000ec7b
mov rax, qword [0x1400b6d70]
test rax, rax
je 0x14000ec9f
movsxd rdx, edi
mov r8, qword [0x1400b6d78]
xor r13d, r13d
xor ecx, ecx
jmp 0x14000ec99
movsxd r12, ebx
lea rax, [rsp + 0x64]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x80]
lea r9, [rsp + 0x68]
mov rdx, r12
xor r8d, r8d
call fcn.14000d820
cmp rax, 0xffffffffffffffff
je 0x14000e8eb
mov r13, rax
cmp rax, r12
ja 0x14000e8eb
mov rbp, qword [rsp + 0x68]
cmp dword [rbp + 4], 0
je 0x14000e8eb
mov r15d, dword [rsp + 0x64]
mov eax, r15d
and eax, 0x10
mov ecx, eax
shr ecx, 4
test eax, eax
sete al
mov edx, r15d
and edx, 0x20
mov r8d, edx
shr r8d, 5
test edx, edx
sete dl
add al, al
add al, 2
add dl, dl
add dl, 2
add cl, cl
add cl, 2
add r8b, r8b
add r8b, 2
test r14b, 2
movzx eax, al
movzx ecx, cl
cmove ecx, eax
movzx eax, dl
movzx edx, r8b
cmove edx, eax
mov byte [rsi + 0x2a], cl
mov byte [rsi + 0x29], dl
test r14b, 4
je 0x14000e91d
cmp byte [rbp + 0x2c], 0
je 0x14000e91d
lea rdx, [rbp + 0x2c]
jmp 0x14000e921
movabs rax, 0x64696c61766e69
mov qword [rsi + 0x68], rax
mov al, byte [rsp + 0x80]
xor ecx, ecx
mov qword [rsi + 0x88], rcx
xorps xmm0, xmm0
movups xmmword [rsi + 0x78], xmm0
mov byte [rsi + 0x28], 1
mov qword [rsi + 8], rcx
jmp 0x14000ec78
lea rdx, [rbp + 0x1c]
lea rcx, [rsi + 0x68]
mov r8d, 0x10
mov qword [rsp + 0x40], rcx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
movzx eax, r15w
mov dword [rsp + 0x3c], r15d
and r15d, 0xf
cmovne r15d, eax
mov dword [rsi + 0x44], r15d
test r15b, 4
je 0x14000e976
lea r14, [rsi + 0x48]
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r8d, 0x20
sub r8, rax
lea rdx, str.lock
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
test r15b, 2
jne 0x14000e9a0
test r15b, 1
je 0x14000e9c5
lea r14, [rsi + 0x48]
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r8d, 0x20
sub r8, rax
lea rdx, str.repz
jmp 0x14000e9bc
lea r14, [rsi + 0x48]
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r8d, 0x20
sub r8, rax
lea rdx, str.repnz
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov r14, r12
sub r14, r13
lea r15, [rsp + r13]
add r15, 0x80
mov rcx, rsi
mov rdx, rbp
call fcn.14000ed20
cmp r13, r12
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x58], r13
jne 0x14000e9f4
xor ecx, ecx
jmp 0x14000e9f7
mov cl, byte [r15]
mov eax, dword [rbp + 0xc]
mov r9d, dword [rbp + 0x3c]
mov byte [rsp + 0x30], cl
mov r12d, dword [rsp + 0x3c]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
mov r13d, ecx
mov dword [rsp + 0x38], ecx
mov rcx, r15
mov rdx, r14
mov r8, rsi
call fcn.14000de70
add r15, rax
mov qword [rsp + 0x50], rax
sub r14, rax
mov eax, dword [rbp + 0x10]
mov r9d, dword [rbp + 0x40]
mov byte [rsp + 0x30], r13b
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, r14
mov r8, rsi
call fcn.14000de70
mov r13, rax
add r15, rax
sub r14, rax
mov eax, dword [rbp + 0x14]
mov r9d, dword [rbp + 0x44]
mov ecx, dword [rsp + 0x38]
mov byte [rsp + 0x30], cl
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, r14
mov r8, rsi
call fcn.14000de70
mov r14, rax
mov edx, dword [rbp + 0x4c]
mov rcx, rsi
call fcn.14000d690
test r12b, 3
je 0x14000eaa3
mov rcx, rsi
mov edx, 0x29
call fcn.14000d690
cmp byte [rsi + 0x2a], 2
jne 0x14000eadc
mov r15, qword [rsi + 0x78]
test r15, r15
je 0x14000eadc
cmp dword [r15], 1
jne 0x14000ead6
cmp dword [r15 + 0x1c], 4
jne 0x14000ead6
test byte [r15 + 0x18], 1
je 0x14000ead6
lea rcx, [r15 + 0x10]
mov edx, dword [r15 + 0x20]
add edx, 8
call fcn.14000d5e0
mov r15, qword [r15 + 0x60]
jmp 0x14000eaad
mov rax, qword [rsp + 0x50]
add rax, qword [rsp + 0x58]
add r13, r14
add r13, rax
mov rax, qword [rsp + 0x68]
test byte [rax + 7], 0x20
je 0x14000eb65
mov rdx, qword [rsp + 0x48]
sub rdx, r13
lea rcx, [rsp + r13]
add rcx, 0x80
lea r9, [rsp + 0x74]
mov dword [r9], 0
mov r8d, dword [rax]
mov qword [rsp + 0x20], r9
lea r9, [rsp + 0x78]
call fcn.14000d820
cmp rax, 0xffffffffffffffff
je 0x14000ebf9
mov r14, qword [rsp + 0x78]
cmp dword [r14 + 4], 0
je 0x14000ebf9
lea rdx, [r14 + 0x1c]
mov r8d, 0x10
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov rcx, rsi
mov rdx, r14
call fcn.14000ed20
inc r13
test r13, r13
je 0x14000ec2c
mov byte [rsi + 0x28], r13b
test r13d, r13d
je 0x14000ec7b
cmp ebx, r13d
jge 0x14000ecc6
mov rax, qword [0x1400b6d70]
test rax, rax
je 0x14000eba5
movsxd rdx, edi
mov r8, qword [0x1400b6d78]
mov ecx, 1
call qword [0x1400ba010]
movabs rax, 0x64696c61766e69
mov qword [rsi + 0x68], rax
lea rdi, [rsi + 0x78]
mov rcx, qword [rsi + 0x78]
test rcx, rcx
je 0x14000ebd5
mov rbx, qword [sym.imp.mozglue.dll_free]
mov r14, qword [rcx + 0x60]
call rbx
mov rcx, r14
test r14, r14
jne 0x14000ebc7
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
xor r13d, r13d
mov qword [rdi + 0x10], r13
mov byte [rsi + 0x28], 1
mov qword [rsi + 8], r13
mov al, byte [rsp + 0x80]
mov byte [rsi + 0x14], al
jmp 0x14000ec9f
movabs rax, 0x64696c61766e69
mov qword [rsi + 0x68], rax
lea rbx, [rsi + 0x78]
mov rcx, qword [rsi + 0x78]
test rcx, rcx
je 0x14000ec5d
mov r14, qword [sym.imp.mozglue.dll_free]
mov r15, qword [rcx + 0x60]
call r14
mov rcx, r15
test r15, r15
jne 0x14000ec1b
jmp 0x14000ec5d
movabs rax, 0x64696c61766e69
mov qword [rsi + 0x68], rax
lea rbx, [rsi + 0x78]
mov rcx, qword [rsi + 0x78]
test rcx, rcx
je 0x14000ec5d
mov r14, qword [sym.imp.mozglue.dll_free]
mov r15, qword [rcx + 0x60]
call r14
mov rcx, r15
test r15, r15
jne 0x14000ec4e
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
xor eax, eax
mov qword [rbx + 0x10], rax
mov byte [rsi + 0x28], 1
mov qword [rsi + 8], rax
mov al, byte [rsp + 0x80]
mov byte [rsi + 0x14], al
mov rax, qword [0x1400b6d70]
xor r13d, r13d
test rax, rax
je 0x14000ec9f
movsxd rdx, edi
mov r8, qword [0x1400b6d78]
mov ecx, 2
call qword [0x1400ba010]
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.14003b840
mov eax, r13d
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add rsi, 0x14
movsxd r8, r13d
lea rdx, [rsp + 0x80]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
jmp 0x14000ec9f