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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4e58
call fcn.0041c400
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 0x402d48
and dword [ebp - 0x4e40], 0
push esi
call fcn.00407c54
pop ecx
push eax
mov dword [ebp - 0x4e38], eax
call fcn.004170b0
test eax, eax
pop ecx
jne 0x402872
or eax, 0xffffffff
jmp 0x402d48
push dword [ebp - 0x4e38]
call fcn.0041886e
pop ecx
push esi
mov dword [ebp - 0x4e38], eax
call fcn.00407c54
pop ecx
mov esi, eax
call fcn.004083b1
push dword [ebp - 0x4e38]
push esi
push str._ExtractArchiveFile__Extracting__s__::_ld__n
call fcn.004083fe
add esp, 0xc
push esi
push edi
lea eax, [ebp - 0x1394]
call fcn.004083c2
cmp dword [ebp - 0x4e38], 2
pop ecx
pop ecx
jne 0x4028d1
lea eax, [ebp - 0x1394]
push 0x430564
push eax
call fcn.00417150
pop ecx
pop ecx
push esi
push edi
lea eax, [ebp - 0x3aa4]
call fcn.004083c2
push 0x430568
push edi
lea eax, [ebp - 0x4e2c]
call fcn.004083c2
lea eax, [ebp - 0x4e2c]
push eax
call fcn.004170b0
add esp, 0x14
push esi
mov dword [ebp - 0x4e30], eax
call fcn.004170b0
xor edi, edi
test eax, eax
pop ecx
mov dword [ebp - 0x4e34], eax
jle 0x402957
mov eax, dword [ebp - 0x4e30]
lea eax, [ebp + eax - 0x4e2c]
cmp byte [edi + esi], 0x5c
jne 0x40293b
mov byte [eax + edi], 0
lea eax, [ebp - 0x4e2c]
push eax
call fcn.0040835d
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 0x402924
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 0x40299b
lea eax, [ebp - 0x1394]
push eax
call fcn.0040835d
pop ecx
lea eax, [ebp - 0x1394]
push eax
push str._t_ExtractArchiveFile__Created_folder__s_n
call fcn.004083fe
pop ecx
pop ecx
jmp 0x402d46
push dword [ebp - 0x4e3c]
call fcn.00407c65
test eax, eax
pop ecx
mov dword [ebp - 0x4e34], eax
jne 0x4029bd
push str._ExtractArchiveFile__Skipping_empty_file_n
call fcn.004083fe
jmp 0x402995
mov edi, str.jwArcSpBlock_
push edi
call fcn.004170b0
pop ecx
push esi
mov dword [ebp - 0x4e30], eax
call fcn.004170b0
cmp eax, dword [ebp - 0x4e30]
pop ecx
jb 0x402a52
push dword [ebp - 0x4e30]
push esi
push edi
call fcn.00417f79
add esp, 0xc
test eax, eax
jne 0x402a52
push esi
push str._ExtractArchiveFile__Found_special_block__s_n
call fcn.004083fe
mov eax, dword [ebp - 0x4e30]
lea edi, [eax + esi]
push str.DigitalSignature1
push edi
call fcn.004190c0
add esp, 0x10
test eax, eax
jne 0x402a52
push edi
push str._ExtractArchiveFile__Found_signature_block__s_n
call fcn.004083fe
push dword [ebp - 0x4e3c]
call fcn.00407c65
add esp, 0xc
push 0x2000
push dword [ebp - 0x4e3c]
mov dword [ebx], eax
call fcn.00407be8
pop ecx
pop ecx
mov ecx, dword [ebp - 0x4e54]
mov dword [ecx], eax
jmp 0x40286a
lea eax, [ebp - 0x1394]
push 0x42fb70
push eax
call fcn.00418aa9
mov dword [ebp - 0x4e30], eax
lea eax, [ebp - 0x1394]
push eax
push str._t_ExtractArchiveFile__Extracting_to__s_n
call fcn.004083fe
add esp, 0x10
cmp dword [ebp - 0x4e30], 0
jne 0x402aa1
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.004083fe
add esp, 0xc
push 1
call fcn.00417eed
cmp dword [ebp - 0x4e34], 0
jle 0x402b01
mov ebx, 0xf4240
mov esi, 0x439a50
mov eax, dword [ebp - 0x4e34]
sub eax, dword [ebp - 0x4e40]
push dword [ebp - 0x4e3c]
cmp eax, ebx
jb 0x402acd
push ebx
jmp 0x402ace
push eax
push 1
push esi
call fcn.00419097
add esp, 0x10
push dword [ebp - 0x4e30]
mov edi, eax
push edi
push 1
push esi
call fcn.00419e5c
add dword [ebp - 0x4e40], edi
mov eax, dword [ebp - 0x4e40]
add esp, 0x10
cmp eax, dword [ebp - 0x4e34]
jl 0x402ab4
push dword [ebp - 0x4e30]
call fcn.00418812
pop ecx
push dword [ebp - 0x4e30]
call fcn.0041a825
cmp dword [ebp - 0x4e38], 2
pop ecx
jne 0x402bd0
cmp byte [0x539ff8], 0
jne 0x402b41
mov eax, dword [ebp - 0x4e44]
call fcn.00401626
mov byte [0x539ff8], 1
call fcn.00406c2b
push dword [ebp - 0x4e44]
mov edi, eax
push edi
call fcn.00406c84
lea edx, [ebp - 0x1394]
mov ecx, edi
call fcn.00406c59
lea edx, [ebp - 0x3aa4]
mov ecx, edi
call fcn.00406c59
call fcn.00406cb3
push edi
call fcn.00416e43
lea eax, [ebp - 0x3aa4]
add esp, 0xc
push eax
call fcn.00408003
test eax, eax
pop ecx
jne 0x402ba7
lea eax, [ebp - 0x3aa4]
push eax
push str._t_ExtractArchiveFile__ERROR:_unpack200___s__does_not_exist__n
call fcn.004083fe
pop ecx
pop ecx
push 0x65
jmp 0x402a9c
lea eax, [ebp - 0x1394]
push eax
call fcn.004189bb
pop ecx
lea eax, [ebp - 0x3aa4]
push eax
lea eax, [ebp - 0x1394]
push eax
mov byte [ebp - 0x1394], 0
call fcn.00417150
pop ecx
pop ecx
cmp dword [ebp - 0x4e48], 0
je 0x402d46
lea eax, [ebp - 0x1394]
push eax
call fcn.004170b0
mov esi, eax
cmp esi, 4
pop ecx
jl 0x402cda
cmp byte [ebp + esi - 0x1397], 0x2e
jne 0x402ce5
cmp byte [ebp + esi - 0x1396], 0x6c
jne 0x402ce5
cmp byte [ebp + esi - 0x1395], 0x32
jne 0x402ce5
push str._t_ExtractArchiveFile__Requires_un_LZMA_n
call fcn.004083fe
pop ecx
call fcn.00406c2b
push dword [ebp - 0x4e48]
mov edi, eax
push edi
call fcn.00406c84
mov edx, 0x430754
mov ecx, edi
call fcn.00406c59
lea edx, [ebp - 0x1394]
mov ecx, edi
call fcn.00406c59
lea eax, [ebp - 0x1394]
push eax
lea eax, [ebp - 0x271c]
push eax
mov byte [ebp - 0x271c], 0
call fcn.00417150
lea eax, [ebp - 0x271c]
push eax
push str._t_ExtractArchiveFile__Created_outpath__s_and_spawning_n
mov byte [ebp + esi - 0x271f], 0
call fcn.004083fe
lea edx, [ebp - 0x271c]
mov ecx, edi
call fcn.00406c59
call fcn.00406cb3
push edi
call fcn.00416e43
lea eax, [ebp - 0x1394]
add esp, 0x1c
push eax
call fcn.004189bb
pop ecx
lea eax, [ebp - 0x271c]
push eax
lea eax, [ebp - 0x1394]
push eax
mov byte [ebp - 0x1394], 0
call fcn.00417150
push str._t_ExtractArchiveFile__Finished_decompressing_n
call fcn.004083fe
add esp, 0xc
jmp 0x402ce5
push str._t_ExtractArchiveFile__Path_to_file_too_short_to_check_for_LZMA_n
call fcn.004083fe
pop ecx
lea eax, [ebp - 0x1394]
push eax
call fcn.004170b0
cmp eax, 4
pop ecx
jl 0x402d46
lea eax, [ebp + eax - 0x1394]
cmp byte [eax - 3], 0x2e
jne 0x402d46
cmp byte [eax - 2], 0x70
jne 0x402d46
cmp byte [eax - 1], 0x32
jne 0x402d46
push str._t_ExtractArchiveFile__Starting_un_p2Archiving_n
call fcn.004083fe
pop ecx
push dword [ebp - 0x4e50]
lea eax, [ebp - 0x1394]
push dword [ebp - 0x4e4c]
push eax
push dword [ebp - 0x4e44]
call fcn.00402d57
push str._t_ExtractArchiveFile__Finished_un_archiving_n
call fcn.004083fe
add esp, 0x14
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00416e34
leave
ret