Function at 0x402ce8
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.004376b0
sub rsp, rax
mov rax, qword [rsp + 0x4ed0]
mov edi, 0xffffffff
mov rbp, r9
cmp dword [rax], edi
mov rsi, r8
je 0x402d2e
mov eax, edi
jmp 0x40327f
mov r15d, 0x400
lea rdx, str.Archive_File_Type
xor r14d, r14d
mov r8d, r15d
mov rcx, r9
mov r12d, r14d
call fcn.00409828
mov rcx, rax
mov rbx, rax
call fcn.00415600
cmp rax, r14
je 0x402d27
mov rcx, rbx
call fcn.00416ea0
lea rdx, str.Archive_File_Path
mov r8d, r15d
mov rcx, rbp
mov r13d, eax
call fcn.00409828
mov rdi, rax
mov rcx, rax
movsx edx, byte [rcx]
cmp edx, 0x2f
jne 0x402d8a
mov byte [rcx], 0x5c
add rcx, 1
cmp edx, r14d
jne 0x402d7f
lea rcx, str._ExtractArchiveFile__Extracting__s__::_ld__n
mov r8d, r13d
mov rdx, rax
call fcn.0040a274
lea rcx, [rsp + 0x20]
mov rdx, rsi
mov byte [rsp + 0x20], r14b
call fcn.004156c0
lea rcx, [rsp + 0x20]
mov rdx, rdi
call fcn.0040a1c8
cmp r13d, 2
jne 0x402ddb
lea rdx, [0x0043cf3c]
lea rcx, [rsp + 0x20]
call fcn.004156c0
lea rcx, [rsp + 0x2740]
mov rdx, rsi
mov byte [rsp + 0x2740], r14b
call fcn.004156c0
lea rcx, [rsp + 0x2740]
mov rdx, rdi
call fcn.0040a1c8
lea rcx, [rsp + 0x13b0]
mov rdx, rsi
mov byte [rsp + 0x13b0], r14b
call fcn.004156c0
lea rdx, [0x0043cf40]
lea rcx, [rsp + 0x13b0]
call fcn.0040a1c8
lea rcx, [rsp + 0x13b0]
call fcn.00415600
mov rcx, rdi
movsxd r15, eax
call fcn.00415600
mov rsi, r14
test eax, eax
movsxd r14, eax
jle 0x402e7f
lea rbx, [rsp + r15 + 0x13b0]
cmp byte [rsi + rdi], 0x5c
jne 0x402e70
lea rcx, [rsp + 0x13b0]
mov byte [rbx + rsi], r12b
call fcn.0040a184
mov al, byte [rsi + rdi]
mov byte [rbx + rsi], al
add rsi, 1
cmp rsi, r14
jl 0x402e59
lea rax, [r14 + r15]
xor r14d, r14d
lea r15d, [r14 + 1]
mov byte [rsp + rax + 0x13b0], r14b
cmp r13d, r15d
jne 0x402eb7
lea rcx, [rsp + 0x20]
call fcn.0040a184
lea rdx, [rsp + 0x20]
lea rcx, str._t_ExtractArchiveFile__Created_folder__s_n
call fcn.0040a274
jmp 0x40327d
lea rdx, str.Archive_File_Length
mov r8d, 0x28
mov rcx, rbp
call fcn.00409828
mov rcx, rax
call fcn.00416ea0
cmp eax, r14d
mov ebx, eax
jne 0x402ee7
lea rcx, str._ExtractArchiveFile__Skipping_empty_file_n
jmp 0x403278
lea rcx, str.jwArcSpBlock_
call fcn.00415600
mov rcx, rdi
mov rsi, rax
call fcn.00415600
cmp rax, rsi
jb 0x402fa8
lea rcx, str.jwArcSpBlock_
mov r8, rsi
mov rdx, rdi
call fcn.00416a90
cmp eax, r14d
jne 0x402fa8
lea rcx, str._ExtractArchiveFile__Found_special_block__s_n
mov rdx, rdi
call fcn.0040a274
add rsi, rdi
lea rdx, str.DigitalSignature1
mov rcx, rsi
call fcn.00417900
cmp eax, r14d
jne 0x402fa8
lea rcx, str._ExtractArchiveFile__Found_signature_block__s_n
mov rdx, rsi
call fcn.0040a274
lea rdx, str.Signature_Length
mov r8d, 0x28
mov rcx, rbp
call fcn.00409828
mov rcx, rax
call fcn.00416ea0
mov rcx, qword [rsp + 0x4ed0]
lea rdx, str.Signature_Hex
mov dword [rcx], eax
mov rcx, rbp
mov r8d, 0x2000
call fcn.00409828
mov rcx, qword [rsp + 0x4ed8]
mov qword [rcx], rax
mov eax, 0xffffffff
jmp 0x40327f
lea rdx, [0x0043c320]
lea rcx, [rsp + 0x20]
call fcn.004171f0
lea rdx, [rsp + 0x20]
lea rcx, str._t_ExtractArchiveFile__Extracting_to__s_n
mov rsi, rax
call fcn.0040a274
cmp rsi, r14
jne 0x402fed
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.0040a274
mov ecx, r15d
call fcn.004169d0
int3
cmp ebx, r14d
jle 0x403040
mov eax, ebx
mov r9, rbp
mov rdx, r15
sub eax, r12d
lea rcx, [0x0044bcd0]
cmp eax, 0xf4240
jb 0x403013
mov r8d, 0xf4240
jmp 0x40301b
mov eax, ebx
sub eax, r12d
movsxd r8, eax
call fcn.004178d0
lea rcx, [0x0044bcd0]
mov r9, rsi
mov r8, rax
mov rdx, r15
mov rdi, rax
call fcn.00418f80
add r12d, edi
cmp r12d, ebx
jl 0x402ff2
mov rcx, rsi
call fcn.00416e20
mov rcx, rsi
call fcn.00419c90
cmp r13d, 2
mov rsi, qword [rsp + 0x4eb8]
jne 0x403111
cmp byte [0x0054c284], r14b
jne 0x40307d
mov dl, r15b
mov rcx, rsi
call fcn.004016d8
mov byte [0x0054c284], r15b
call fcn.00408324
mov rdx, rsi
mov rcx, rax
mov rbx, rax
call fcn.00408394
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.0040835c
lea rdx, [rsp + 0x2740]
mov rcx, rbx
call fcn.0040835c
xor edx, edx
mov rcx, rbx
call fcn.004083cc
mov rcx, rbx
call fcn.004153b0
lea rcx, [rsp + 0x2740]
call fcn.00409d40
cmp eax, r14d
jne 0x4030f0
lea rdx, [rsp + 0x2740]
lea rcx, str._t_ExtractArchiveFile__ERROR:_unpack200___s__does_not_exist__n
call fcn.0040a274
mov ecx, 0x65
call fcn.004169d0
int3
lea rcx, [rsp + 0x20]
call fcn.00417060
lea rdx, [rsp + 0x2740]
lea rcx, [rsp + 0x20]
mov byte [rsp + 0x20], r14b
call fcn.004156c0
mov rbp, qword [rsp + 0x4eb0]
cmp rbp, r14
je 0x40327d
lea rcx, [rsp + 0x20]
call fcn.00415600
cmp eax, 4
jl 0x403216
movsxd rdi, eax
cmp byte [rsp + rdi + 0x1d], 0x2e
jne 0x403222
cmp byte [rsp + rdi + 0x1e], 0x6c
jne 0x403222
cmp byte [rsp + rdi + 0x1f], 0x32
jne 0x403222
lea rcx, str._t_ExtractArchiveFile__Requires_un_LZMA_n
call fcn.0040a274
call fcn.00408324
mov rdx, rbp
mov rcx, rax
mov rbx, rax
call fcn.00408394
lea rdx, [0x0043d188]
mov rcx, rbx
call fcn.0040835c
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.0040835c
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x3ad0]
mov byte [rsp + 0x3ad0], r14b
call fcn.004156c0
lea rdx, [rsp + 0x3ad0]
lea rcx, str._t_ExtractArchiveFile__Created_outpath__s_and_spawning_n
mov byte [rsp + rdi + 0x3acd], r14b
call fcn.0040a274
lea rdx, [rsp + 0x3ad0]
mov rcx, rbx
call fcn.0040835c
xor edx, edx
mov rcx, rbx
call fcn.004083cc
mov rcx, rbx
call fcn.004153b0
lea rcx, [rsp + 0x20]
call fcn.00417060
lea rdx, [rsp + 0x3ad0]
lea rcx, [rsp + 0x20]
mov byte [rsp + 0x20], r14b
call fcn.004156c0
lea rcx, str._t_ExtractArchiveFile__Finished_decompressing_n
jmp 0x40321d
lea rcx, str._t_ExtractArchiveFile__Path_to_file_too_short_to_check_for_LZMA_n
call fcn.0040a274
lea rcx, [rsp + 0x20]
call fcn.00415600
cmp eax, 4
jl 0x40327d
cdqe
cmp byte [rsp + rax + 0x1d], 0x2e
jne 0x40327d
cmp byte [rsp + rax + 0x1e], 0x70
jne 0x40327d
cmp byte [rsp + rax + 0x1f], 0x32
jne 0x40327d
lea rcx, str._t_ExtractArchiveFile__Starting_un_p2Archiving_n
call fcn.0040a274
mov r9, qword [rsp + 0x4ee0]
mov r8, qword [rsp + 0x4ec0]
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.00403294
lea rcx, str._t_ExtractArchiveFile__Finished_un_archiving_n
call fcn.0040a274
xor eax, eax
add rsp, 0x4e68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret