Function at 0x402cb8
Capabilities:
Read file on windows
Write file on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x4e68
call fcn.004379e0
sub rsp, rax
mov rax, qword [rsp + 0x4ed0]
mov edi, 0xffffffff
mov rbp, r9
cmp dword [rax], edi
mov rsi, r8
je 0x402cfe
mov eax, edi
jmp 0x40323e
mov r15d, 0x400
lea rdx, str.Archive_File_Type
xor r14d, r14d
mov r8d, r15d
mov rcx, r9
mov r12d, r14d
call fcn.00409394
mov rcx, rax
mov rbx, rax
call fcn.00415050
cmp rax, r14
je 0x402cf7
mov rcx, rbx
call fcn.00417300
lea rdx, str.Archive_File_Path
mov r8d, r15d
mov rcx, rbp
mov r13d, eax
call fcn.00409394
mov rdi, rax
mov rcx, rax
movsx edx, byte [rcx]
cmp edx, 0x2f
jne 0x402d5a
mov byte [rcx], 0x5c
add rcx, 1
cmp edx, r14d
jne 0x402d4f
lea rcx, str._ExtractArchiveFile__Extracting__s__::_ld__n
mov r8d, r13d
mov rdx, rax
call fcn.00409ce0
lea rcx, [rsp + 0x20]
mov rdx, rsi
mov byte [rsp + 0x20], r14b
call fcn.00415110
lea rcx, [rsp + 0x20]
mov rdx, rdi
call fcn.00409c78
cmp r13d, 2
jne 0x402dab
lea rdx, [0x0043cefc]
lea rcx, [rsp + 0x20]
call fcn.00415110
lea rcx, [rsp + 0x2740]
mov rdx, rsi
mov byte [rsp + 0x2740], r14b
call fcn.00415110
lea rcx, [rsp + 0x2740]
mov rdx, rdi
call fcn.00409c78
lea rcx, [rsp + 0x13b0]
mov rdx, rsi
mov byte [rsp + 0x13b0], r14b
call fcn.00415110
lea rdx, [0x0043cf00]
lea rcx, [rsp + 0x13b0]
call fcn.00409c78
lea rcx, [rsp + 0x13b0]
call fcn.00415050
mov rcx, rdi
movsxd r15, eax
call fcn.00415050
mov rsi, r14
test eax, eax
movsxd r14, eax
jle 0x402e4f
lea rbx, [rsp + r15 + 0x13b0]
cmp byte [rsi + rdi], 0x5c
jne 0x402e40
lea rcx, [rsp + 0x13b0]
mov byte [rbx + rsi], r12b
call fcn.00409c34
mov al, byte [rsi + rdi]
mov byte [rbx + rsi], al
add rsi, 1
cmp rsi, r14
jl 0x402e29
lea rax, [r14 + r15]
xor r14d, r14d
lea r15d, [r14 + 1]
mov byte [rsp + rax + 0x13b0], r14b
cmp r13d, r15d
jne 0x402e87
lea rcx, [rsp + 0x20]
call fcn.00409c34
lea rdx, [rsp + 0x20]
lea rcx, str._t_ExtractArchiveFile__Created_folder__s_n
call fcn.00409ce0
jmp 0x40323c
lea rdx, str.Archive_File_Length
mov r8d, 0x28
mov rcx, rbp
call fcn.00409394
mov rcx, rax
call fcn.00417300
lea rcx, str.jwArcSpBlock_
mov ebx, eax
call fcn.00415050
mov rcx, rdi
mov rsi, rax
call fcn.00415050
cmp rax, rsi
jb 0x402f67
lea rcx, str.jwArcSpBlock_
mov r8, rsi
mov rdx, rdi
call fcn.00416500
cmp eax, r14d
jne 0x402f67
lea rcx, str._ExtractArchiveFile__Found_special_block__s_n
mov rdx, rdi
call fcn.00409ce0
add rsi, rdi
lea rdx, str.DigitalSignature1
mov rcx, rsi
call fcn.00417fe0
cmp eax, r14d
jne 0x402f67
lea rcx, str._ExtractArchiveFile__Found_signature_block__s_n
mov rdx, rsi
call fcn.00409ce0
lea rdx, str.Signature_Length
mov r8d, 0x28
mov rcx, rbp
call fcn.00409394
mov rcx, rax
call fcn.00417300
mov rcx, qword [rsp + 0x4ed0]
lea rdx, str.Signature_Hex
mov dword [rcx], eax
mov rcx, rbp
mov r8d, 0x2000
call fcn.00409394
mov rcx, qword [rsp + 0x4ed8]
mov qword [rcx], rax
mov eax, 0xffffffff
jmp 0x40323e
lea rdx, [0x0043c2e0]
lea rcx, [rsp + 0x20]
call fcn.00417650
lea rdx, [rsp + 0x20]
lea rcx, str._t_ExtractArchiveFile__Extracting_to__s_n
mov rsi, rax
call fcn.00409ce0
cmp rsi, r14
jne 0x402fac
lea rcx, str._t_ExtractArchiveFile___Unable_to_extract_archive_file__s___ld___unable_to_open_file_for_writing_n
mov r8d, ebx
mov rdx, rdi
call fcn.00409ce0
mov ecx, r15d
call fcn.00416440
int3
cmp ebx, r14d
jle 0x402fff
mov eax, ebx
mov r9, rbp
mov rdx, r15
sub eax, r12d
lea rcx, [0x0044acd0]
cmp eax, 0xf4240
jb 0x402fd2
mov r8d, 0xf4240
jmp 0x402fda
mov eax, ebx
sub eax, r12d
movsxd r8, eax
call fcn.00417fb0
lea rcx, [0x0044acd0]
mov r9, rsi
mov r8, rax
mov rdx, r15
mov rdi, rax
call fcn.00419660
add r12d, edi
cmp r12d, ebx
jl 0x402fb1
mov rcx, rsi
call fcn.00417280
mov rcx, rsi
call fcn.0041a4e0
cmp r13d, 2
mov rsi, qword [rsp + 0x4eb8]
jne 0x4030d0
cmp byte [0x0054b284], r14b
jne 0x40303c
mov dl, r15b
mov rcx, rsi
call fcn.004016b4
mov byte [0x0054b284], r15b
call fcn.00407e90
mov rdx, rsi
mov rcx, rax
mov rbx, rax
call fcn.00407f00
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.00407ec8
lea rdx, [rsp + 0x2740]
mov rcx, rbx
call fcn.00407ec8
xor edx, edx
mov rcx, rbx
call fcn.00407f38
mov rcx, rbx
call fcn.00414e00
lea rcx, [rsp + 0x2740]
call fcn.004097f0
cmp eax, r14d
jne 0x4030af
lea rdx, [rsp + 0x2740]
lea rcx, str._t_ExtractArchiveFile__ERROR:_unpack200___s__does_not_exist__n
call fcn.00409ce0
mov ecx, 0x65
call fcn.00416440
int3
lea rcx, [rsp + 0x20]
call fcn.004174c0
lea rdx, [rsp + 0x2740]
lea rcx, [rsp + 0x20]
mov byte [rsp + 0x20], r14b
call fcn.00415110
mov rbp, qword [rsp + 0x4eb0]
cmp rbp, r14
je 0x40323c
lea rcx, [rsp + 0x20]
call fcn.00415050
cmp eax, 4
jl 0x4031d5
movsxd rdi, eax
cmp byte [rsp + rdi + 0x1d], 0x2e
jne 0x4031e1
cmp byte [rsp + rdi + 0x1e], 0x6c
jne 0x4031e1
cmp byte [rsp + rdi + 0x1f], 0x32
jne 0x4031e1
lea rcx, str._t_ExtractArchiveFile__Requires_un_LZMA_n
call fcn.00409ce0
call fcn.00407e90
mov rdx, rbp
mov rcx, rax
mov rbx, rax
call fcn.00407f00
lea rdx, [0x0043d118]
mov rcx, rbx
call fcn.00407ec8
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.00407ec8
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x3ad0]
mov byte [rsp + 0x3ad0], r14b
call fcn.00415110
lea rdx, [rsp + 0x3ad0]
lea rcx, str._t_ExtractArchiveFile__Created_outpath__s_and_spawning_n
mov byte [rsp + rdi + 0x3acd], r14b
call fcn.00409ce0
lea rdx, [rsp + 0x3ad0]
mov rcx, rbx
call fcn.00407ec8
xor edx, edx
mov rcx, rbx
call fcn.00407f38
mov rcx, rbx
call fcn.00414e00
lea rcx, [rsp + 0x20]
call fcn.004174c0
lea rdx, [rsp + 0x3ad0]
lea rcx, [rsp + 0x20]
mov byte [rsp + 0x20], r14b
call fcn.00415110
lea rcx, str._t_ExtractArchiveFile__Finished_decompressing_n
jmp 0x4031dc
lea rcx, str._t_ExtractArchiveFile__Path_to_file_too_short_to_check_for_LZMA_n
call fcn.00409ce0
lea rcx, [rsp + 0x20]
call fcn.00415050
cmp eax, 4
jl 0x40323c
cdqe
cmp byte [rsp + rax + 0x1d], 0x2e
jne 0x40323c
cmp byte [rsp + rax + 0x1e], 0x70
jne 0x40323c
cmp byte [rsp + rax + 0x1f], 0x32
jne 0x40323c
lea rcx, str._t_ExtractArchiveFile__Starting_un_p2Archiving_n
call fcn.00409ce0
mov r9, qword [rsp + 0x4ee0]
mov r8, qword [rsp + 0x4ec0]
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.00403254
lea rcx, str._t_ExtractArchiveFile__Finished_un_archiving_n
call fcn.00409ce0
xor eax, eax
add rsp, 0x4e68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret