Function at 0x402cc4
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.00437b90
sub rsp, rax
mov rax, qword [rsp + 0x4ed0]
mov edi, 0xffffffff
mov rbp, r9
cmp dword [rax], edi
mov rsi, r8
je 0x402d0a
mov eax, edi
jmp 0x40325b
mov r15d, 0x400
lea rdx, str.Archive_File_Type
xor r14d, r14d
mov r8d, r15d
mov rcx, r9
mov r12d, r14d
call fcn.00409548
mov rcx, rax
mov rbx, rax
call fcn.00415200
cmp rax, r14
je 0x402d03
mov rcx, rbx
call fcn.004174b0
lea rdx, str.Archive_File_Path
mov r8d, r15d
mov rcx, rbp
mov r13d, eax
call fcn.00409548
mov rdi, rax
mov rcx, rax
movsx edx, byte [rcx]
cmp edx, 0x2f
jne 0x402d66
mov byte [rcx], 0x5c
add rcx, 1
cmp edx, r14d
jne 0x402d5b
lea rcx, str._ExtractArchiveFile__Extracting__s__::_ld__n
mov r8d, r13d
mov rdx, rax
call fcn.00409e94
lea rcx, [rsp + 0x20]
mov rdx, rsi
mov byte [rsp + 0x20], r14b
call fcn.004152c0
lea rcx, [rsp + 0x20]
mov rdx, rdi
call fcn.00409e2c
cmp r13d, 2
jne 0x402db7
lea rdx, [0x0043cefc]
lea rcx, [rsp + 0x20]
call fcn.004152c0
lea rcx, [rsp + 0x2740]
mov rdx, rsi
mov byte [rsp + 0x2740], r14b
call fcn.004152c0
lea rcx, [rsp + 0x2740]
mov rdx, rdi
call fcn.00409e2c
lea rcx, [rsp + 0x13b0]
mov rdx, rsi
mov byte [rsp + 0x13b0], r14b
call fcn.004152c0
lea rdx, [0x0043cf00]
lea rcx, [rsp + 0x13b0]
call fcn.00409e2c
lea rcx, [rsp + 0x13b0]
call fcn.00415200
mov rcx, rdi
movsxd r15, eax
call fcn.00415200
mov rsi, r14
test eax, eax
movsxd r14, eax
jle 0x402e5b
lea rbx, [rsp + r15 + 0x13b0]
cmp byte [rsi + rdi], 0x5c
jne 0x402e4c
lea rcx, [rsp + 0x13b0]
mov byte [rbx + rsi], r12b
call fcn.00409de8
mov al, byte [rsi + rdi]
mov byte [rbx + rsi], al
add rsi, 1
cmp rsi, r14
jl 0x402e35
lea rax, [r14 + r15]
xor r14d, r14d
lea r15d, [r14 + 1]
mov byte [rsp + rax + 0x13b0], r14b
cmp r13d, r15d
jne 0x402e93
lea rcx, [rsp + 0x20]
call fcn.00409de8
lea rdx, [rsp + 0x20]
lea rcx, str._t_ExtractArchiveFile__Created_folder__s_n
call fcn.00409e94
jmp 0x403259
lea rdx, str.Archive_File_Length
mov r8d, 0x28
mov rcx, rbp
call fcn.00409548
mov rcx, rax
call fcn.004174b0
cmp eax, r14d
mov ebx, eax
jne 0x402ec3
lea rcx, str._ExtractArchiveFile__Skipping_empty_file_n
jmp 0x403254
lea rcx, str.jwArcSpBlock_
call fcn.00415200
mov rcx, rdi
mov rsi, rax
call fcn.00415200
cmp rax, rsi
jb 0x402f84
lea rcx, str.jwArcSpBlock_
mov r8, rsi
mov rdx, rdi
call fcn.004166b0
cmp eax, r14d
jne 0x402f84
lea rcx, str._ExtractArchiveFile__Found_special_block__s_n
mov rdx, rdi
call fcn.00409e94
add rsi, rdi
lea rdx, str.DigitalSignature1
mov rcx, rsi
call fcn.00418190
cmp eax, r14d
jne 0x402f84
lea rcx, str._ExtractArchiveFile__Found_signature_block__s_n
mov rdx, rsi
call fcn.00409e94
lea rdx, str.Signature_Length
mov r8d, 0x28
mov rcx, rbp
call fcn.00409548
mov rcx, rax
call fcn.004174b0
mov rcx, qword [rsp + 0x4ed0]
lea rdx, str.Signature_Hex
mov dword [rcx], eax
mov rcx, rbp
mov r8d, 0x2000
call fcn.00409548
mov rcx, qword [rsp + 0x4ed8]
mov qword [rcx], rax
mov eax, 0xffffffff
jmp 0x40325b
lea rdx, [0x0043c2e0]
lea rcx, [rsp + 0x20]
call fcn.00417800
lea rdx, [rsp + 0x20]
lea rcx, str._t_ExtractArchiveFile__Extracting_to__s_n
mov rsi, rax
call fcn.00409e94
cmp rsi, r14
jne 0x402fc9
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.00409e94
mov ecx, r15d
call fcn.004165f0
int3
cmp ebx, r14d
jle 0x40301c
mov eax, ebx
mov r9, rbp
mov rdx, r15
sub eax, r12d
lea rcx, [0x0044acd0]
cmp eax, 0xf4240
jb 0x402fef
mov r8d, 0xf4240
jmp 0x402ff7
mov eax, ebx
sub eax, r12d
movsxd r8, eax
call fcn.00418160
lea rcx, [0x0044acd0]
mov r9, rsi
mov r8, rax
mov rdx, r15
mov rdi, rax
call fcn.00419810
add r12d, edi
cmp r12d, ebx
jl 0x402fce
mov rcx, rsi
call fcn.00417430
mov rcx, rsi
call fcn.0041a690
cmp r13d, 2
mov rsi, qword [rsp + 0x4eb8]
jne 0x4030ed
cmp byte [0x0054b284], r14b
jne 0x403059
mov dl, r15b
mov rcx, rsi
call fcn.004016b4
mov byte [0x0054b284], r15b
call fcn.00408044
mov rdx, rsi
mov rcx, rax
mov rbx, rax
call fcn.004080b4
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.0040807c
lea rdx, [rsp + 0x2740]
mov rcx, rbx
call fcn.0040807c
xor edx, edx
mov rcx, rbx
call fcn.004080ec
mov rcx, rbx
call fcn.00414fb0
lea rcx, [rsp + 0x2740]
call fcn.004099a4
cmp eax, r14d
jne 0x4030cc
lea rdx, [rsp + 0x2740]
lea rcx, str._t_ExtractArchiveFile__ERROR:_unpack200___s__does_not_exist__n
call fcn.00409e94
mov ecx, 0x65
call fcn.004165f0
int3
lea rcx, [rsp + 0x20]
call fcn.00417670
lea rdx, [rsp + 0x2740]
lea rcx, [rsp + 0x20]
mov byte [rsp + 0x20], r14b
call fcn.004152c0
mov rbp, qword [rsp + 0x4eb0]
cmp rbp, r14
je 0x403259
lea rcx, [rsp + 0x20]
call fcn.00415200
cmp eax, 4
jl 0x4031f2
movsxd rdi, eax
cmp byte [rsp + rdi + 0x1d], 0x2e
jne 0x4031fe
cmp byte [rsp + rdi + 0x1e], 0x6c
jne 0x4031fe
cmp byte [rsp + rdi + 0x1f], 0x32
jne 0x4031fe
lea rcx, str._t_ExtractArchiveFile__Requires_un_LZMA_n
call fcn.00409e94
call fcn.00408044
mov rdx, rbp
mov rcx, rax
mov rbx, rax
call fcn.004080b4
lea rdx, [0x0043d148]
mov rcx, rbx
call fcn.0040807c
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.0040807c
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x3ad0]
mov byte [rsp + 0x3ad0], r14b
call fcn.004152c0
lea rdx, [rsp + 0x3ad0]
lea rcx, str._t_ExtractArchiveFile__Created_outpath__s_and_spawning_n
mov byte [rsp + rdi + 0x3acd], r14b
call fcn.00409e94
lea rdx, [rsp + 0x3ad0]
mov rcx, rbx
call fcn.0040807c
xor edx, edx
mov rcx, rbx
call fcn.004080ec
mov rcx, rbx
call fcn.00414fb0
lea rcx, [rsp + 0x20]
call fcn.00417670
lea rdx, [rsp + 0x3ad0]
lea rcx, [rsp + 0x20]
mov byte [rsp + 0x20], r14b
call fcn.004152c0
lea rcx, str._t_ExtractArchiveFile__Finished_decompressing_n
jmp 0x4031f9
lea rcx, str._t_ExtractArchiveFile__Path_to_file_too_short_to_check_for_LZMA_n
call fcn.00409e94
lea rcx, [rsp + 0x20]
call fcn.00415200
cmp eax, 4
jl 0x403259
cdqe
cmp byte [rsp + rax + 0x1d], 0x2e
jne 0x403259
cmp byte [rsp + rax + 0x1e], 0x70
jne 0x403259
cmp byte [rsp + rax + 0x1f], 0x32
jne 0x403259
lea rcx, str._t_ExtractArchiveFile__Starting_un_p2Archiving_n
call fcn.00409e94
mov r9, qword [rsp + 0x4ee0]
mov r8, qword [rsp + 0x4ec0]
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.00403270
lea rcx, str._t_ExtractArchiveFile__Finished_un_archiving_n
call fcn.00409e94
xor eax, eax
add rsp, 0x4e68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret