Function at 0x402cc8
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.00436460
sub rsp, rax
mov rax, qword [rsp + 0x4ed0]
mov edi, 0xffffffff
mov rbp, r9
cmp dword [rax], edi
mov rsi, r8
je 0x402d0e
mov eax, edi
jmp 0x40325f
mov r15d, 0x400
lea rdx, str.Archive_File_Type
xor r14d, r14d
mov r8d, r15d
mov rcx, r9
mov r12d, r14d
call fcn.0040964c
mov rcx, rax
mov rbx, rax
call fcn.004153e0
cmp rax, r14
je 0x402d07
mov rcx, rbx
call fcn.00416c50
lea rdx, str.Archive_File_Path
mov r8d, r15d
mov rcx, rbp
mov r13d, eax
call fcn.0040964c
mov rdi, rax
mov rcx, rax
movsx edx, byte [rcx]
cmp edx, 0x2f
jne 0x402d6a
mov byte [rcx], 0x5c
add rcx, 1
cmp edx, r14d
jne 0x402d5f
lea rcx, str._ExtractArchiveFile__Extracting__s__::_ld__n
mov r8d, r13d
mov rdx, rax
call fcn.0040a054
lea rcx, [rsp + 0x20]
mov rdx, rsi
mov byte [rsp + 0x20], r14b
call fcn.004154a0
lea rcx, [rsp + 0x20]
mov rdx, rdi
call fcn.00409fec
cmp r13d, 2
jne 0x402dbb
lea rdx, [0x0043befc]
lea rcx, [rsp + 0x20]
call fcn.004154a0
lea rcx, [rsp + 0x2740]
mov rdx, rsi
mov byte [rsp + 0x2740], r14b
call fcn.004154a0
lea rcx, [rsp + 0x2740]
mov rdx, rdi
call fcn.00409fec
lea rcx, [rsp + 0x13b0]
mov rdx, rsi
mov byte [rsp + 0x13b0], r14b
call fcn.004154a0
lea rdx, [0x0043bf00]
lea rcx, [rsp + 0x13b0]
call fcn.00409fec
lea rcx, [rsp + 0x13b0]
call fcn.004153e0
mov rcx, rdi
movsxd r15, eax
call fcn.004153e0
mov rsi, r14
test eax, eax
movsxd r14, eax
jle 0x402e5f
lea rbx, [rsp + r15 + 0x13b0]
cmp byte [rsi + rdi], 0x5c
jne 0x402e50
lea rcx, [rsp + 0x13b0]
mov byte [rbx + rsi], r12b
call fcn.00409fa8
mov al, byte [rsi + rdi]
mov byte [rbx + rsi], al
add rsi, 1
cmp rsi, r14
jl 0x402e39
lea rax, [r14 + r15]
xor r14d, r14d
lea r15d, [r14 + 1]
mov byte [rsp + rax + 0x13b0], r14b
cmp r13d, r15d
jne 0x402e97
lea rcx, [rsp + 0x20]
call fcn.00409fa8
lea rdx, [rsp + 0x20]
lea rcx, str._t_ExtractArchiveFile__Created_folder__s_n
call fcn.0040a054
jmp 0x40325d
lea rdx, str.Archive_File_Length
mov r8d, 0x28
mov rcx, rbp
call fcn.0040964c
mov rcx, rax
call fcn.00416c50
cmp eax, r14d
mov ebx, eax
jne 0x402ec7
lea rcx, str._ExtractArchiveFile__Skipping_empty_file_n
jmp 0x403258
lea rcx, str.jwArcSpBlock_
call fcn.004153e0
mov rcx, rdi
mov rsi, rax
call fcn.004153e0
cmp rax, rsi
jb 0x402f88
lea rcx, str.jwArcSpBlock_
mov r8, rsi
mov rdx, rdi
call fcn.00416840
cmp eax, r14d
jne 0x402f88
lea rcx, str._ExtractArchiveFile__Found_special_block__s_n
mov rdx, rdi
call fcn.0040a054
add rsi, rdi
lea rdx, str.DigitalSignature1
mov rcx, rsi
call fcn.004176b0
cmp eax, r14d
jne 0x402f88
lea rcx, str._ExtractArchiveFile__Found_signature_block__s_n
mov rdx, rsi
call fcn.0040a054
lea rdx, str.Signature_Length
mov r8d, 0x28
mov rcx, rbp
call fcn.0040964c
mov rcx, rax
call fcn.00416c50
mov rcx, qword [rsp + 0x4ed0]
lea rdx, str.Signature_Hex
mov dword [rcx], eax
mov rcx, rbp
mov r8d, 0x2000
call fcn.0040964c
mov rcx, qword [rsp + 0x4ed8]
mov qword [rcx], rax
mov eax, 0xffffffff
jmp 0x40325f
lea rdx, [0x0043b2e0]
lea rcx, [rsp + 0x20]
call fcn.00416fa0
lea rdx, [rsp + 0x20]
lea rcx, str._t_ExtractArchiveFile__Extracting_to__s_n
mov rsi, rax
call fcn.0040a054
cmp rsi, r14
jne 0x402fcd
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.0040a054
mov ecx, r15d
call fcn.00416780
int3
cmp ebx, r14d
jle 0x403020
mov eax, ebx
mov r9, rbp
mov rdx, r15
sub eax, r12d
lea rcx, [0x0044acd0]
cmp eax, 0xf4240
jb 0x402ff3
mov r8d, 0xf4240
jmp 0x402ffb
mov eax, ebx
sub eax, r12d
movsxd r8, eax
call fcn.00417680
lea rcx, [0x0044acd0]
mov r9, rsi
mov r8, rax
mov rdx, r15
mov rdi, rax
call fcn.00418d30
add r12d, edi
cmp r12d, ebx
jl 0x402fd2
mov rcx, rsi
call fcn.00416bd0
mov rcx, rsi
call fcn.00419a40
cmp r13d, 2
mov rsi, qword [rsp + 0x4eb8]
jne 0x4030f1
cmp byte [0x0054b284], r14b
jne 0x40305d
mov dl, r15b
mov rcx, rsi
call fcn.004016b8
mov byte [0x0054b284], r15b
call fcn.00408148
mov rdx, rsi
mov rcx, rax
mov rbx, rax
call fcn.004081b8
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.00408180
lea rdx, [rsp + 0x2740]
mov rcx, rbx
call fcn.00408180
xor edx, edx
mov rcx, rbx
call fcn.004081f0
mov rcx, rbx
call fcn.00415190
lea rcx, [rsp + 0x2740]
call fcn.00409b64
cmp eax, r14d
jne 0x4030d0
lea rdx, [rsp + 0x2740]
lea rcx, str._t_ExtractArchiveFile__ERROR:_unpack200___s__does_not_exist__n
call fcn.0040a054
mov ecx, 0x65
call fcn.00416780
int3
lea rcx, [rsp + 0x20]
call fcn.00416e10
lea rdx, [rsp + 0x2740]
lea rcx, [rsp + 0x20]
mov byte [rsp + 0x20], r14b
call fcn.004154a0
mov rbp, qword [rsp + 0x4eb0]
cmp rbp, r14
je 0x40325d
lea rcx, [rsp + 0x20]
call fcn.004153e0
cmp eax, 4
jl 0x4031f6
movsxd rdi, eax
cmp byte [rsp + rdi + 0x1d], 0x2e
jne 0x403202
cmp byte [rsp + rdi + 0x1e], 0x6c
jne 0x403202
cmp byte [rsp + rdi + 0x1f], 0x32
jne 0x403202
lea rcx, str._t_ExtractArchiveFile__Requires_un_LZMA_n
call fcn.0040a054
call fcn.00408148
mov rdx, rbp
mov rcx, rax
mov rbx, rax
call fcn.004081b8
lea rdx, [0x0043c148]
mov rcx, rbx
call fcn.00408180
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.00408180
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x3ad0]
mov byte [rsp + 0x3ad0], r14b
call fcn.004154a0
lea rdx, [rsp + 0x3ad0]
lea rcx, str._t_ExtractArchiveFile__Created_outpath__s_and_spawning_n
mov byte [rsp + rdi + 0x3acd], r14b
call fcn.0040a054
lea rdx, [rsp + 0x3ad0]
mov rcx, rbx
call fcn.00408180
xor edx, edx
mov rcx, rbx
call fcn.004081f0
mov rcx, rbx
call fcn.00415190
lea rcx, [rsp + 0x20]
call fcn.00416e10
lea rdx, [rsp + 0x3ad0]
lea rcx, [rsp + 0x20]
mov byte [rsp + 0x20], r14b
call fcn.004154a0
lea rcx, str._t_ExtractArchiveFile__Finished_decompressing_n
jmp 0x4031fd
lea rcx, str._t_ExtractArchiveFile__Path_to_file_too_short_to_check_for_LZMA_n
call fcn.0040a054
lea rcx, [rsp + 0x20]
call fcn.004153e0
cmp eax, 4
jl 0x40325d
cdqe
cmp byte [rsp + rax + 0x1d], 0x2e
jne 0x40325d
cmp byte [rsp + rax + 0x1e], 0x70
jne 0x40325d
cmp byte [rsp + rax + 0x1f], 0x32
jne 0x40325d
lea rcx, str._t_ExtractArchiveFile__Starting_un_p2Archiving_n
call fcn.0040a054
mov r9, qword [rsp + 0x4ee0]
mov r8, qword [rsp + 0x4ec0]
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.00403274
lea rcx, str._t_ExtractArchiveFile__Finished_un_archiving_n
call fcn.0040a054
xor eax, eax
add rsp, 0x4e68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret