Function at 0x14003ce4c
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf0
xor r14d, r14d
mov r13, rdx
mov rbp, rcx
mov r15b, r14b
call fcn.140015f14
mov rdx, qword [rsp + 0x138]
mov byte [0x1401178e2], r14b
movzx eax, word [rdx]
lea r8d, [r14 + 0x2a]
cmp r8w, ax
lea ecx, [r14 + 0x20]
lea r10d, [r14 + 9]
sete r12b
lea r9d, [r14 + 0xd]
jmp 0x14003cec5
cmp r10w, ax
ja 0x14003ceb1
cmp ax, r9w
jbe 0x14003cecb
cmp cx, ax
je 0x14003cecb
add rdx, 2
mov qword [rsp + 0x138], rdx
mov ax, word [rdx]
cmp ax, r14w
jne 0x14003cea5
lea rcx, [rsp + 0x138]
call fcn.1400157dc
mov rax, qword [rsp + 0x138]
mov ecx, 0x2d
mov qword [rsp + 0x58], rax
cmp cx, word [rax]
movzx ebx, r8b
mov edi, r14d
lea esi, [rcx - 0x2c]
cmove ebx, ecx
lea rdx, [rsp + 0x138]
lea rcx, [0x1400fe5c4]
mov r8d, 5
mov qword [rsp + 0x58], rax
call fcn.14005c928
cmp al, r14b
jne 0x14003cfd7
lea rdx, [rsp + 0x138]
lea rcx, [0x1400ff424]
mov r8d, 2
call fcn.14005c928
cmp al, r14b
jne 0x14003cfd7
mov rcx, qword [rsp + 0x58]
movsx edx, bl
movzx eax, word [rcx]
cmp edx, eax
jne 0x14003cfe6
movzx eax, word [rcx + 2]
cmp edx, eax
jne 0x14003cfe6
add rcx, 4
lea rdx, [rsp + 0x58]
mov r8d, 4
mov qword [rsp + 0x58], rcx
lea rcx, [0x1400ff41c]
call fcn.14005c928
cmp al, r14b
jne 0x14003cfc3
lea rdx, [rsp + 0x58]
lea rcx, [0x1400fe5cc]
mov r8d, esi
call fcn.14005c928
cmp al, r14b
jne 0x14003cfc3
lea rdx, [rsp + 0x58]
lea rcx, [0x1400fa8ac]
mov r8d, 4
call fcn.14005c928
cmp al, r14b
je 0x14003cfe6
mov r15b, sil
jmp 0x14003cfc5
mov edi, esi
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x138], rax
jmp 0x14003cefa
mov rax, qword [rsp + 0x138]
mov edi, esi
jmp 0x14003cefa
mov rsi, qword [0x140115258]
lea rax, [0x1400fb278]
cmp edi, r14d
cmovne rsi, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_SetLastError]
lea rax, [0x1400fd288]
lea r8, [0x1400ff408]
cmp edi, r14d
mov edx, 1
cmovne r8, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_CreateMutexA]
mov rbx, rax
call qword [sym.imp.KERNEL32.DLL_GetLastError]
cmp rbx, r14
je 0x14003d044
mov ecx, 0xb7
cmp eax, ecx
jne 0x14003d044
mov rax, rcx
jmp 0x14003d917
cmp edi, r14d
je 0x14003d052
mov byte [0x140122000], 0x20
jmp 0x14003d069
mov rax, qword [rsp + 0x138]
cmp word [rax], r14w
setne al
add al, 0x10
mov byte [0x140122000], al
lea rcx, [rsp + 0xb0]
lea rdx, [0x1400ff3d0]
mov r8d, 0x36
call fcn.1400de630
lea rbx, [0x140117fa0]
cmp qword [0x140117a58], r14
jne 0x14003d0b9
lea rcx, [rsp + 0xbe]
call fcn.1400dcf68
cmp eax, r14d
je 0x14003d0b9
lea rdx, [rsp + 0xb8]
or r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.1400285d0
movsx r9d, byte [0x140122000]
lea rdx, [0x1400ff3a8]
mov r8, r13
mov rcx, rbx
call fcn.140017190
mov r8, qword [0x140118238]
lea rdx, [0x1400ff360]
mov rcx, rbx
call fcn.140017190
call fcn.140023b94
movzx r11d, byte [0x140122003]
cmp r12b, r14b
mov r12d, 1
cmovne r11d, r12d
mov byte [0x140122003], r11b
cmp edi, r14d
jne 0x14003d1ce
mov rax, qword [rsp + 0x138]
cmp word [rax], r14w
je 0x14003d201
lea ecx, [r12 + 2]
call fcn.1400197ac
mov qword [rsp + 0x40], r14
lea rax, [rsp + 0x140]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
lea rdx, [0x1400fa5c8]
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x140], r14
mov dword [rsp + 0x20], r14d
call qword [sym.imp.ADVAPI32.DLL_RegCreateKeyExW]
mov rcx, qword [rsp + 0x140]
cmp rcx, r14
je 0x14003d185
call qword [sym.imp.ADVAPI32.DLL_RegCloseKey]
lea rdx, [0x1400fe5a0]
mov r8d, 0x2a68
mov rcx, rbx
call fcn.1400172b0
call fcn.140022b04
lea rdx, [0x1400fe5a0]
mov r8d, 0x2a6a
mov rcx, rbx
call fcn.1400172b0
call fcn.140015d54
lea rdx, [0x1400fe5a0]
mov r8d, 0x2a6c
mov rcx, rbx
call fcn.1400172b0
mov rax, qword [rsp + 0x138]
cmp word [rax], r14w
je 0x14003d201
lea rdx, [0x1400f9548]
mov r9d, 0x24
xor r8d, r8d
mov rcx, rbp
mov qword [rsp + 0x20], r14
call fcn.140030354
mov rax, qword [rsp + 0x138]
movzx ebx, word [rax]
mov ecx, 0x23
lea edx, [rcx + 7]
cmp bx, dx
jne 0x14003d22f
add rax, 2
cmp cx, word [rax]
je 0x14003d22f
lea rcx, [rsp + 0x138]
mov qword [rsp + 0x138], rax
call fcn.1400157dc
lea rdx, [0x1400f9548]
lea rcx, [0x1400f9548]
call sym.PECMD.exe_LoadEnvi
movzx r11d, byte [0x1401183fd]
mov rax, qword [rsp + 0x138]
cmp word [rax], r14w
cmove r11d, r12d
mov byte [0x1401183fd], r11b
call fcn.140052954
call fcn.14003cde4
call qword [sym.imp.KERNEL32.DLL_GetCurrentProcessId]
lea r8, [0x1400ff340]
lea rdx, [0x1400fa5c8]
mov dword [rsp + 0x148], eax
lea rax, [rsp + 0x148]
mov r9d, 4
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call fcn.14005349c
lea rdx, [0x1400fe5a0]
lea rcx, [0x140117fa0]
mov r8d, 0x2a76
call fcn.1400172b0
lea rcx, [0x140117fa0]
xor edx, edx
call fcn.1400ca7ac
cmp qword [rbp + 0x78], r14
jne 0x14003d37b
mov eax, dword [0x140118110]
test r12b, al
jne 0x14003d305
or eax, r12d
lea rcx, [0x1400f7a68]
mov qword [0x140118108], r14
mov dword [0x140118110], eax
call fcn.1400ddea0
lea r12, [0x140118108]
mov edx, 0x10000
mov rcx, rbp
mov qword [rbp + 0x78], r12
call fcn.140058128
lea rcx, [rsp + 0x140]
call fcn.14005a150
mov rdx, qword [rsp + 0x140]
mov rcx, r12
call fcn.140098d9c
mov rax, qword [0x140118108]
mov qword [rsp + 0x140], r14
mov rcx, qword [rax]
mov r12d, 1
mov rdx, r13
mov qword [rbp + 0x80], rcx
mov rcx, rbp
mov r8d, r12d
call fcn.1400683c0
lea rcx, [rsp + 0x140]
mov dword [rbp + 0x8c], r14d
call fcn.140052160
lea r13, [0x140117fa0]
lea rdx, [0x1400fe5a0]
mov r8d, 0x2a82
mov rcx, r13
call fcn.1400172b0
cmp edi, r14d
jne 0x14003d3db
mov al, byte [0x140122000]
lea r8, [0x1400ff330]
lea rdx, [0x1400fa5c8]
mov byte [rsp + 0x140], al
lea rax, [rsp + 0x140]
mov r9d, 3
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rax
call fcn.14005349c
lea r12, [0x1400fe5a0]
mov r8d, 0x2a86
mov rcx, r13
mov rdx, r12
call fcn.1400172b0
mov r11, qword [rsp + 0x138]
cmp word [r11], r14w
je 0x14003d406
call fcn.140019774
lea rax, [0x140117df8]
lea rdx, [0x1400fa5c8]
mov r9d, 0xb
mov r8, rsi
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 8
mov qword [rsp + 0x20], rax
call fcn.14005349c
cmp bx, r14w
jne 0x14003d441
cmp edi, r14d
je 0x14003d446
call fcn.140030e18
mov rcx, rbp
call fcn.1400230f0
mov ecx, 0x8000
call fcn.14006af08
mov r11, qword [rsp + 0x138]
cmp word [r11], r14w
jne 0x14003d46b
cmp edi, r14d
je 0x14003d4af
mov r8d, 0x2a91
mov rdx, r12
mov rcx, r13
call fcn.1400172b0
lea rax, [0x1401178e4]
lea rcx, [0x14003ce14]
xor edx, edx
mov r9d, 0x10000
mov r8d, 0x80000
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call fcn.140052234
mov r11, qword [rsp + 0x138]
mov r8d, 0x2a
cmp word [r11], r8w
jne 0x14003d4ec
lea r9d, [r8 - 7]
lea rax, [r11 + 2]
cmp r9w, word [rax]
je 0x14003d4ec
lea rcx, [rsp + 0x138]
mov qword [rsp + 0x138], rax
call fcn.1400157dc
mov r11, qword [rsp + 0x138]
cmp word [r11], r8w
je 0x14003d4bf
cmp word [r11], r14w
je 0x14003d8e7
mov r8d, 0x2a99
mov rdx, r12
mov rcx, r13
call fcn.1400172b0
mov rcx, qword [rsp + 0x138]
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
lea rcx, [rsp + 0x70]
add eax, 0x5c8
movsxd rdx, eax
call fcn.14005a1c4
mov r14, qword [rsp + 0x70]
xor ebx, ebx
mov word [r14], bx
mov r12, qword [rsp + 0x70]
mov r8d, 0x104
add r12, 0x280
xor ecx, ecx
mov rdx, r12
call qword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
lea r8d, [rbx + 0x5c]
xor edx, edx
mov rcx, r12
call qword [sym.imp.SHLWAPI.DLL_StrRChrW]
mov rsi, rax
cmp rax, rbx
jne 0x14003d56b
mov rsi, r12
jmp 0x14003d56f
add rsi, 2
mov rcx, qword [rsp + 0x138]
call fcn.140018aa8
cmp eax, ebx
je 0x14003d5f6
mov rdx, qword [rsp + 0x138]
lea rcx, [rsp + 0x140]
call fcn.140064d14
mov rdx, qword [rsp + 0x138]
lea rcx, [0x1400ff328]
mov r8d, 4
call fcn.140053674
movzx ecx, byte [0x140117ecc]
mov rdx, qword [rsp + 0x140]
xor r14d, r14d
cmp al, r14b
mov qword [rsp + 0x20], r14
lea eax, [r14 + 1]
cmovne ecx, eax
xor r9d, r9d
xor r8d, r8d
mov byte [0x140117ecc], cl
mov rcx, rbp
call fcn.1400422a0
lea rcx, [rsp + 0x140]
call fcn.140052160
jmp 0x14003d8bf
mov rax, qword [rsp + 0x138]
lea rcx, [rsp + 0x68]
mov r13b, bl
mov qword [rsp + 0x50], rax
call fcn.14005a150
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x50]
mov r9d, 0x1000
mov rcx, rbp
mov word [rsp + 0x20], bx
call fcn.14004ba2c
lea rcx, [rsp + 0x60]
mov edx, 0x400
call fcn.14005a1c4
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rbx
mov word [rax], bx
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0x30], ebx
lea rcx, [rsp + 0x78]
mov r9d, 7
mov r8d, 0x80000000
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x140], ebx
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x20], rbx
call fcn.1400037e4
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x20], rbx
mov rbx, qword [rsp + 0x78]
lea r9, [rsp + 0x140]
mov r8d, 0x7fe
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_ReadFile]
mov r11d, dword [rsp + 0x140]
mov rax, qword [rsp + 0x50]
shr r11, 1
xor ecx, ecx
mov word [rax + r11*2], cx
mov rdx, qword [rsp + 0x50]
mov eax, 0xfeff
cmp ax, word [rdx]
jne 0x14003d6e0
add rdx, 2
mov qword [rsp + 0x50], rdx
lea rcx, [0x1400ff318]
mov r8d, 7
call qword [sym.imp.SHLWAPI.DLL_StrCmpNIW]
xor edx, edx
cmp eax, edx
jne 0x14003d78d
mov rax, qword [rsp + 0x50]
add rax, 0xe
mov qword [rsp + 0x50], rax
movzx ecx, word [rax]
cmp cx, dx
je 0x14003d78d
mov r10d, 9
lea r8d, [r10 + 0x17]
mov r9d, 0xd
cmp r10w, cx
ja 0x14003d72f
cmp cx, r9w
jbe 0x14003d746
cmp r8w, cx
je 0x14003d746
add rax, 2
mov qword [rsp + 0x50], rax
mov cx, word [rax]
cmp cx, dx
jne 0x14003d71d
cmp r8w, word [rax]
je 0x14003d752
cmp r10w, word [rax]
jne 0x14003d75d
add rax, 2
mov qword [rsp + 0x50], rax
jmp 0x14003d746
cmp word [rax], 0xa
je 0x14003d78d
cmp word [rax], r9w
je 0x14003d78d
lea rdx, [rsp + 0x50]
lea rcx, [0x1400ff2f8]
mov r8d, r9d
call fcn.1400521b4
xor edx, edx
cmp eax, edx
jne 0x14003d78a
mov rax, qword [rsp + 0x50]
jmp 0x14003d70b
mov r13b, 1
cmp rbx, rdx
je 0x14003d7a1
cmp rbx, 0xffffffffffffffff
je 0x14003d7a1
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
lea rcx, [rsp + 0x60]
call fcn.140052160
lea rcx, [rsp + 0x68]
call fcn.140052160
xor ebx, ebx
lea rcx, [r12 + 0x488]
cmp r13b, bl
je 0x14003d804
mov r8, qword [rsp + 0x138]
lea rdx, [0x1400ff2d0]
call fcn.1400157b8
lea eax, [rbx + 1]
xor r14d, r14d
lea rdx, [r12 + 0x488]
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
mov byte [0x140117ecc], al
mov qword [rsp + 0x20], r14
call fcn.1400422a0
jmp 0x14003d8bf
lea rdx, [0x1400ff2a8]
mov r9, rsi
mov r8, r12
call fcn.1400157b8
lea rcx, [r12 + 0x488]
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
mov r8, qword [rsp + 0x138]
lea rdx, [0x1400ff2d0]
movsxd rcx, eax
lea rcx, [r12 + rcx*2 + 0x488]
call fcn.1400157b8
cmp word [r14], bx
je 0x14003d88f
mov ebx, 1
mov ecx, ebx
call fcn.1400197ac
lea rax, [rsp + 0x148]
lea r9d, [rbx + 3]
lea r8, [0x1400fd548]
lea rdx, [0x1400fb830]
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x148], ebx
mov qword [rsp + 0x20], rax
call fcn.14005349c
xor r14d, r14d
movsx eax, r15b
lea rdx, [r12 + 0x488]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
xor r9d, r9d
mov r8, rbp
mov rcx, rbp
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
call fcn.14000d03c
lea rcx, [rsp + 0x70]
call fcn.140052160
jmp 0x14003d8e7
lea rcx, [rsp + 0x80]
call qword [sym.imp.USER32.DLL_TranslateMessage]
lea rcx, [rsp + 0x80]
call qword [sym.imp.USER32.DLL_DispatchMessageW]
lea rcx, [rsp + 0x80]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.DLL_GetMessageW]
cmp eax, r14d
jne 0x14003d8cb
mov rcx, qword [0x140117dd8]
call qword [sym.imp.USER32.DLL_UnhookWindowsHookEx]
movsxd rax, dword [rsp + 0x90]
mov rbx, qword [rsp + 0x130]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret