Function at 0x4027f4
Capabilities:
Read file on windows
Terminate process
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4e58
call fcn.0041bc70
mov eax, dword [0x436504]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x4e48], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x4e44], eax
mov eax, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x4e54], eax
mov eax, dword [ebp + 0x18]
push esi
mov dword [ebp - 0x4e50], eax
push edi
or eax, 0xffffffff
cmp dword [ebx], eax
mov edi, ecx
mov esi, edx
mov dword [ebp - 0x4e4c], edi
mov dword [ebp - 0x4e3c], esi
jne 0x402d4d
and dword [ebp - 0x4e40], 0
push esi
call fcn.00407d3e
pop ecx
push eax
mov dword [ebp - 0x4e38], eax
call fcn.00417220
test eax, eax
pop ecx
jne 0x402877
or eax, 0xffffffff
jmp 0x402d4d
push dword [ebp - 0x4e38]
call fcn.00418345
pop ecx
push esi
mov dword [ebp - 0x4e38], eax
call fcn.00407d3e
pop ecx
mov esi, eax
call fcn.0040850f
push dword [ebp - 0x4e38]
push esi
push str._ExtractArchiveFile__Extracting__s__::_ld__n
call fcn.0040855c
add esp, 0xc
push esi
push edi
lea eax, [ebp - 0x1394]
call fcn.00408520
cmp dword [ebp - 0x4e38], 2
pop ecx
pop ecx
jne 0x4028d6
lea eax, [ebp - 0x1394]
push 0x42f554
push eax
call fcn.004172c0
pop ecx
pop ecx
push esi
push edi
lea eax, [ebp - 0x3aa4]
call fcn.00408520
push 0x42f558
push edi
lea eax, [ebp - 0x4e2c]
call fcn.00408520
lea eax, [ebp - 0x4e2c]
push eax
call fcn.00417220
add esp, 0x14
push esi
mov dword [ebp - 0x4e30], eax
call fcn.00417220
xor edi, edi
test eax, eax
pop ecx
mov dword [ebp - 0x4e34], eax
jle 0x40295c
mov eax, dword [ebp - 0x4e30]
lea eax, [ebp + eax - 0x4e2c]
cmp byte [edi + esi], 0x5c
jne 0x402940
mov byte [eax + edi], 0
lea eax, [ebp - 0x4e2c]
push eax
call fcn.004084bb
pop ecx
mov eax, dword [ebp - 0x4e30]
mov cl, byte [edi + esi]
lea eax, [ebp + eax - 0x4e2c]
mov byte [eax + edi], cl
inc edi
cmp edi, dword [ebp - 0x4e34]
jl 0x402929
mov eax, dword [ebp - 0x4e30]
mov ecx, dword [ebp - 0x4e34]
add ecx, eax
cmp dword [ebp - 0x4e38], 1
mov byte [ebp + ecx - 0x4e2c], 0
jne 0x4029a0
lea eax, [ebp - 0x1394]
push eax
call fcn.004084bb
pop ecx
lea eax, [ebp - 0x1394]
push eax
push str._t_ExtractArchiveFile__Created_folder__s_n
call fcn.0040855c
pop ecx
pop ecx
jmp 0x402d4b
push dword [ebp - 0x4e3c]
call fcn.00407d4f
test eax, eax
pop ecx
mov dword [ebp - 0x4e34], eax
jne 0x4029c2
push str._ExtractArchiveFile__Skipping_empty_file_n
call fcn.0040855c
jmp 0x40299a
mov edi, str.jwArcSpBlock_
push edi
call fcn.00417220
pop ecx
push esi
mov dword [ebp - 0x4e30], eax
call fcn.00417220
cmp eax, dword [ebp - 0x4e30]
pop ecx
jb 0x402a57
push dword [ebp - 0x4e30]
push esi
push edi
call fcn.004180ad
add esp, 0xc
test eax, eax
jne 0x402a57
push esi
push str._ExtractArchiveFile__Found_special_block__s_n
call fcn.0040855c
mov eax, dword [ebp - 0x4e30]
lea edi, [eax + esi]
push str.DigitalSignature1
push edi
call fcn.00418a20
add esp, 0x10
test eax, eax
jne 0x402a57
push edi
push str._ExtractArchiveFile__Found_signature_block__s_n
call fcn.0040855c
push dword [ebp - 0x4e3c]
call fcn.00407d4f
add esp, 0xc
push 0x2000
push dword [ebp - 0x4e3c]
mov dword [ebx], eax
call fcn.00407cd2
pop ecx
pop ecx
mov ecx, dword [ebp - 0x4e54]
mov dword [ecx], eax
jmp 0x40286f
lea eax, [ebp - 0x1394]
push 0x42eb60
push eax
call fcn.00418580
mov dword [ebp - 0x4e30], eax
lea eax, [ebp - 0x1394]
push eax
push str._t_ExtractArchiveFile__Extracting_to__s_n
call fcn.0040855c
add esp, 0x10
cmp dword [ebp - 0x4e30], 0
jne 0x402aa6
push dword [ebp - 0x4e34]
push esi
push str._t_ExtractArchiveFile___Unable_to_extract_archive_file__s___ld___unable_to_open_file_for_writing_n
call fcn.0040855c
add esp, 0xc
push 1
call fcn.00418021
cmp dword [ebp - 0x4e34], 0
jle 0x402b06
mov ebx, 0xf4240
mov esi, 0x439a50
mov eax, dword [ebp - 0x4e34]
sub eax, dword [ebp - 0x4e40]
push dword [ebp - 0x4e3c]
cmp eax, ebx
jb 0x402ad2
push ebx
jmp 0x402ad3
push eax
push 1
push esi
call fcn.004189f7
add esp, 0x10
push dword [ebp - 0x4e30]
mov edi, eax
push edi
push 1
push esi
call fcn.004197bc
add dword [ebp - 0x4e40], edi
mov eax, dword [ebp - 0x4e40]
add esp, 0x10
cmp eax, dword [ebp - 0x4e34]
jl 0x402ab9
push dword [ebp - 0x4e30]
call fcn.004182e9
pop ecx
push dword [ebp - 0x4e30]
call fcn.0041a09f
cmp dword [ebp - 0x4e38], 2
pop ecx
jne 0x402bd5
cmp byte [0x539ff8], 0
jne 0x402b46
mov eax, dword [ebp - 0x4e44]
call fcn.0040162b
mov byte [0x539ff8], 1
call fcn.00406d15
push dword [ebp - 0x4e44]
mov edi, eax
push edi
call fcn.00406d6e
lea edx, [ebp - 0x1394]
mov ecx, edi
call fcn.00406d43
lea edx, [ebp - 0x3aa4]
mov ecx, edi
call fcn.00406d43
call fcn.00406d9d
push edi
call fcn.00416fb3
lea eax, [ebp - 0x3aa4]
add esp, 0xc
push eax
call fcn.00408161
test eax, eax
pop ecx
jne 0x402bac
lea eax, [ebp - 0x3aa4]
push eax
push str._t_ExtractArchiveFile__ERROR:_unpack200___s__does_not_exist__n
call fcn.0040855c
pop ecx
pop ecx
push 0x65
jmp 0x402aa1
lea eax, [ebp - 0x1394]
push eax
call fcn.00418492
pop ecx
lea eax, [ebp - 0x3aa4]
push eax
lea eax, [ebp - 0x1394]
push eax
mov byte [ebp - 0x1394], 0
call fcn.004172c0
pop ecx
pop ecx
cmp dword [ebp - 0x4e48], 0
je 0x402d4b
lea eax, [ebp - 0x1394]
push eax
call fcn.00417220
mov esi, eax
cmp esi, 4
pop ecx
jl 0x402cdf
cmp byte [ebp + esi - 0x1397], 0x2e
jne 0x402cea
cmp byte [ebp + esi - 0x1396], 0x6c
jne 0x402cea
cmp byte [ebp + esi - 0x1395], 0x32
jne 0x402cea
push str._t_ExtractArchiveFile__Requires_un_LZMA_n
call fcn.0040855c
pop ecx
call fcn.00406d15
push dword [ebp - 0x4e48]
mov edi, eax
push edi
call fcn.00406d6e
mov edx, 0x42f744
mov ecx, edi
call fcn.00406d43
lea edx, [ebp - 0x1394]
mov ecx, edi
call fcn.00406d43
lea eax, [ebp - 0x1394]
push eax
lea eax, [ebp - 0x271c]
push eax
mov byte [ebp - 0x271c], 0
call fcn.004172c0
lea eax, [ebp - 0x271c]
push eax
push str._t_ExtractArchiveFile__Created_outpath__s_and_spawning_n
mov byte [ebp + esi - 0x271f], 0
call fcn.0040855c
lea edx, [ebp - 0x271c]
mov ecx, edi
call fcn.00406d43
call fcn.00406d9d
push edi
call fcn.00416fb3
lea eax, [ebp - 0x1394]
add esp, 0x1c
push eax
call fcn.00418492
pop ecx
lea eax, [ebp - 0x271c]
push eax
lea eax, [ebp - 0x1394]
push eax
mov byte [ebp - 0x1394], 0
call fcn.004172c0
push str._t_ExtractArchiveFile__Finished_decompressing_n
call fcn.0040855c
add esp, 0xc
jmp 0x402cea
push str._t_ExtractArchiveFile__Path_to_file_too_short_to_check_for_LZMA_n
call fcn.0040855c
pop ecx
lea eax, [ebp - 0x1394]
push eax
call fcn.00417220
cmp eax, 4
pop ecx
jl 0x402d4b
lea eax, [ebp + eax - 0x1394]
cmp byte [eax - 3], 0x2e
jne 0x402d4b
cmp byte [eax - 2], 0x70
jne 0x402d4b
cmp byte [eax - 1], 0x32
jne 0x402d4b
push str._t_ExtractArchiveFile__Starting_un_p2Archiving_n
call fcn.0040855c
pop ecx
push dword [ebp - 0x4e50]
lea eax, [ebp - 0x1394]
push dword [ebp - 0x4e4c]
push eax
push dword [ebp - 0x4e44]
call fcn.00402d5c
push str._t_ExtractArchiveFile__Finished_un_archiving_n
call fcn.0040855c
add esp, 0x14
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00416fa4
leave
ret