Function at 0x480fb8
Capabilities:
Set current directory

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x350
mov qword [rsp + 0x340], 0xfffffffffffffffe
mov r13, r9
mov rsi, r8
mov r15, rcx
xor ebx, ebx
cmp byte [r8 + 0xf8], bl
je 0x481007
cmp byte [r8 + 0xf9], bl
je 0x481007
mov eax, 0x80004005
jmp 0x4831d4
cmp dword [r8 + 0x12c], ebx
jle 0x48102c
cmp byte [r8 + 0xf9], bl
jne 0x481022
cmp byte [r8 + 0xc8], bl
je 0x48102c
mov eax, 0x80004001
jmp 0x4831d4
cmp byte [r8 + 0xc8], bl
je 0x48133e
lea rcx, [rsp + 0x158]
call fcn.0046df14
nop
mov dword [rsp + 0x160], ebx
mov rax, qword [rsp + 0x158]
mov word [rax], bx
lea r14, str.rsfx
mov rax, r14
mov edi, 2
lea r12d, [rdi - 1]
add ebx, r12d
add rax, rdi
cmp word [rax], 0
jne 0x48106c
mov edx, ebx
lea rcx, [rsp + 0x158]
call fcn.00401ce0
mov r11, qword [rsp + 0x158]
xor ecx, ecx
movzx eax, word [r14]
mov word [r11], ax
add r11, rdi
add r14, rdi
cmp ax, cx
jne 0x481091
mov dword [rsp + 0x160], ebx
mov dword [rsp + 0x170], ecx
mov rax, qword [rsp + 0x168]
mov word [rax], cx
mov ebx, ecx
lea r14, [0x004a6ecc]
mov rax, r14
add ebx, r12d
add rax, rdi
cmp word [rax], cx
jne 0x4810c9
mov edx, ebx
lea rcx, [rsp + 0x168]
call fcn.00401ce0
mov r11, qword [rsp + 0x168]
movzx eax, word [r14]
mov word [r11], ax
add r11, rdi
add r14, rdi
test ax, ax
jne 0x4810eb
mov dword [rsp + 0x170], ebx
mov ecx, 0x20
call fcn.0040bb54
mov qword [rsp + 0x3a0], rax
test rax, rax
je 0x481131
lea rdx, [rsp + 0x158]
mov rcx, rax
call fcn.004054f0
mov r14, rax
jmp 0x481134
xor r14d, r14d
lea rcx, [rsi + 8]
call fcn.0040baac
movsxd rcx, dword [rsi + 0x14]
mov rax, qword [rsi + 0x18]
mov qword [rax + rcx*8], r14
add dword [rsi + 0x14], r12d
xor r14d, r14d
cmp dword [rsi + 0xd8], r14d
jne 0x4811c8
mov dword [r13 + 0x30], r14d
mov rax, qword [r13 + 0x28]
mov word [rax], r14w
mov ebx, r14d
lea rsi, str.SFX
mov rax, rsi
add ebx, r12d
add rax, rdi
cmp word [rax], r14w
jne 0x481172
mov edx, ebx
lea rcx, [r13 + 0x28]
call fcn.00401ce0
mov r11, qword [r13 + 0x28]
movzx eax, word [rsi]
mov word [r11], ax
add r11, rdi
add rsi, rdi
cmp ax, r14w
jne 0x48118d
mov dword [r13 + 0x30], ebx
mov rcx, qword [rsp + 0x168]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x158]
call sub.msvcrt.dll_free
mov eax, 0x80004005
jmp 0x4831d4
mov qword [rsp + 0xb0], r14
mov dword [rsp + 0xb8], r14d
mov dword [rsp + 0xbc], r14d
mov edx, dword [rsi + 0xd8]
lea rcx, [rsp + 0xb0]
call fcn.00401ce0
mov r14, qword [rsp + 0xb0]
mov rcx, r14
mov rdx, qword [rsi + 0xd0]
movzx eax, word [rdx]
mov word [rcx], ax
add rcx, rdi
add rdx, rdi
test ax, ax
jne 0x481205
mov eax, dword [rsi + 0xd8]
mov dword [rsp + 0xb8], eax
lea rax, [rsp + 0x3a0]
mov qword [rsp + 0x20], rax
lea r9, [rsi + 0xd0]
xor r8d, r8d
mov rdx, r14
xor ecx, ecx
call fcn.0040e4b4
xor ebx, ebx
cmp al, bl
jne 0x481319
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r13], eax
xor ecx, ecx
mov dword [r13 + 0x30], ecx
mov rax, qword [r13 + 0x28]
mov word [rax], cx
mov esi, ecx
lea r15, str.7_Zip
mov rax, r15
add esi, r12d
add rax, rdi
cmp word [rax], cx
jne 0x481271
mov edx, esi
lea rcx, [r13 + 0x28]
call fcn.00401ce0
mov r11, qword [r13 + 0x28]
movzx eax, word [r15]
mov word [r11], ax
add r11, rdi
add r15, rdi
test ax, ax
jne 0x48128b
mov dword [r13 + 0x30], esi
add r13, 8
lea rax, [rsp + 0xb0]
cmp rax, r13
je 0x4812ec
mov dword [r13 + 8], ebx
mov rax, qword [r13]
mov word [rax], bx
mov ebx, dword [rsp + 0xb8]
mov edx, ebx
mov rcx, r13
call fcn.00401ce0
mov r11, qword [r13]
mov rcx, r14
movzx eax, word [rcx]
mov word [r11], ax
add r11, rdi
add rcx, rdi
test ax, ax
jne 0x4812d6
mov dword [r13 + 8], ebx
mov rcx, r14
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x168]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x158]
call sub.msvcrt.dll_free
mov eax, 0x80004005
jmp 0x4831d4
mov rcx, r14
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x168]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x158]
call sub.msvcrt.dll_free
jmp 0x481347
mov edi, 2
lea r12d, [rdi - 1]
mov dword [rsp + 0x1e8], ebx
mov dword [rsp + 0x1ec], ebx
mov qword [rsp + 0x1f0], rbx
mov ecx, 8
mov qword [rsp + 0x1f8], rcx
lea rax, [0x0049d110]
mov qword [rsp + 0x1e0], rax
mov dword [rsp + 0x208], ebx
mov dword [rsp + 0x20c], ebx
mov qword [rsp + 0x210], rbx
mov qword [rsp + 0x218], rcx
lea rax, [0x0049d0e0]
mov qword [rsp + 0x200], rax
mov qword [rsp + 0x220], rbx
mov byte [rsp + 0x228], bl
lea rdx, [rsp + 0x88]
lea rcx, [rsi + 0x50]
call fcn.0047e7e4
nop
cmp dword [rsi + 0x58], ebx
je 0x4816d5
mov qword [rsp + 0x320], rbx
mov dword [rsp + 0x328], ebx
mov dword [rsp + 0x32c], ebx
mov edx, 3
lea rcx, [rsp + 0x320]
call fcn.00401ce0
nop
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x2f8]
call fcn.0040f360
cmp al, bl
je 0x4816ba
mov eax, dword [rsp + 0x318]
shr eax, 4
test r12b, al
je 0x481449
lea rax, [0x004a6e70]
mov qword [rsp + 0x2c0], rax
lea rdx, [0x004cbb90]
lea rcx, [rsp + 0x2c0]
call sub.msvcrt.dll__CxxThrowException
int3
cmp dword [rsi + 0x12c], ebx
jle 0x481477
mov rcx, qword [rsp + 0x320]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
mov ebx, 0x80004001
jmp 0x48256d
mov dword [rsp + 0x140], ebx
mov dword [rsp + 0x144], ebx
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x150], 4
lea r14, [0x0049da38]
mov qword [rsp + 0x138], r14
mov ebx, dword [rsi]
test ebx, ebx
js 0x4814d7
lea rcx, [rsp + 0x138]
call fcn.0040baac
movsxd r11, dword [rsp + 0x144]
mov rax, qword [rsp + 0x148]
mov dword [rax + r11*4], ebx
add dword [rsp + 0x144], r12d
mov rax, qword [rsp + 0x3b0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rsp + 0x138]
mov rdx, r15
lea rcx, [rsp + 0x1e0]
call fcn.0047d1d4
mov r15d, eax
mov ebx, 0x80004004
cmp eax, ebx
jne 0x481550
lea rcx, [rsp + 0x138]
call fcn.0040bb44
nop
mov rcx, qword [rsp + 0x320]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
jmp 0x48256d
mov r9, qword [rsp + 0x3b8]
mov rax, qword [r9]
mov r8d, r15d
mov rdx, qword [rsp + 0x88]
mov rcx, r9
call qword [rax + 0x58]
mov dword [rsp + 0x3a0], eax
xor r8d, r8d
cmp eax, r8d
je 0x4815b1
lea rcx, [rsp + 0x138]
call fcn.0040bb44
nop
mov rcx, qword [rsp + 0x320]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
mov ebx, dword [rsp + 0x3a0]
jmp 0x48256d
cmp r15d, r8d
je 0x4815e8
invalid
invalid
invalid