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.0041c290
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 0x402d38
and dword [ebp - 0x4e40], 0
push esi
call fcn.00407ae7
pop ecx
push eax
mov dword [ebp - 0x4e38], eax
call fcn.00416f40
test eax, eax
pop ecx
jne 0x402872
or eax, 0xffffffff
jmp 0x402d38
push dword [ebp - 0x4e38]
call fcn.004186fe
pop ecx
push esi
mov dword [ebp - 0x4e38], eax
call fcn.00407ae7
pop ecx
mov esi, eax
call fcn.00408244
push dword [ebp - 0x4e38]
push esi
push str._ExtractArchiveFile__Extracting__s__::_ld__n
call fcn.00408291
add esp, 0xc
push esi
push edi
lea eax, [ebp - 0x1394]
call fcn.00408255
cmp dword [ebp - 0x4e38], 2
pop ecx
pop ecx
jne 0x4028d1
lea eax, [ebp - 0x1394]
push 0x430564
push eax
call fcn.00416fe0
pop ecx
pop ecx
push esi
push edi
lea eax, [ebp - 0x3aa4]
call fcn.00408255
push 0x430568
push edi
lea eax, [ebp - 0x4e2c]
call fcn.00408255
lea eax, [ebp - 0x4e2c]
push eax
call fcn.00416f40
add esp, 0x14
push esi
mov dword [ebp - 0x4e30], eax
call fcn.00416f40
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.004081f0
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.004081f0
pop ecx
lea eax, [ebp - 0x1394]
push eax
push str._t_ExtractArchiveFile__Created_folder__s_n
call fcn.00408291
pop ecx
pop ecx
jmp 0x402d36
push dword [ebp - 0x4e3c]
call fcn.00407af8
pop ecx
mov edi, str.jwArcSpBlock_
push edi
mov dword [ebp - 0x4e34], eax
call fcn.00416f40
pop ecx
push esi
mov dword [ebp - 0x4e30], eax
call fcn.00416f40
cmp eax, dword [ebp - 0x4e30]
pop ecx
jb 0x402a42
push dword [ebp - 0x4e30]
push esi
push edi
call fcn.00417e09
add esp, 0xc
test eax, eax
jne 0x402a42
push esi
push str._ExtractArchiveFile__Found_special_block__s_n
call fcn.00408291
mov eax, dword [ebp - 0x4e30]
lea edi, [eax + esi]
push str.DigitalSignature1
push edi
call fcn.00418f50
add esp, 0x10
test eax, eax
jne 0x402a42
push edi
push str._ExtractArchiveFile__Found_signature_block__s_n
call fcn.00408291
push dword [ebp - 0x4e3c]
call fcn.00407af8
add esp, 0xc
push 0x2000
push dword [ebp - 0x4e3c]
mov dword [ebx], eax
call fcn.00407a7b
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.00418939
mov dword [ebp - 0x4e30], eax
lea eax, [ebp - 0x1394]
push eax
push str._t_ExtractArchiveFile__Extracting_to__s_n
call fcn.00408291
add esp, 0x10
cmp dword [ebp - 0x4e30], 0
jne 0x402a91
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.00408291
add esp, 0xc
push 1
call fcn.00417d7d
cmp dword [ebp - 0x4e34], 0
jle 0x402af1
mov edi, 0xf4240
mov esi, 0x439a50
mov eax, dword [ebp - 0x4e34]
sub eax, dword [ebp - 0x4e40]
push dword [ebp - 0x4e3c]
cmp eax, edi
jb 0x402abd
push edi
jmp 0x402abe
push eax
push 1
push esi
call fcn.00418f27
add esp, 0x10
push dword [ebp - 0x4e30]
mov ebx, eax
push ebx
push 1
push esi
call fcn.00419cec
add dword [ebp - 0x4e40], ebx
mov eax, dword [ebp - 0x4e40]
add esp, 0x10
cmp eax, dword [ebp - 0x4e34]
jl 0x402aa4
push dword [ebp - 0x4e30]
call fcn.004186a2
pop ecx
push dword [ebp - 0x4e30]
call fcn.0041a6b5
cmp dword [ebp - 0x4e38], 2
pop ecx
jne 0x402bc0
cmp byte [0x539ff8], 0
jne 0x402b31
mov eax, dword [ebp - 0x4e44]
call fcn.00401626
mov byte [0x539ff8], 1
call fcn.00406abe
push dword [ebp - 0x4e44]
mov edi, eax
push edi
call fcn.00406b17
lea edx, [ebp - 0x1394]
mov ecx, edi
call fcn.00406aec
lea edx, [ebp - 0x3aa4]
mov ecx, edi
call fcn.00406aec
call fcn.00406b46
push edi
call fcn.00416cd3
lea eax, [ebp - 0x3aa4]
add esp, 0xc
push eax
call fcn.00407e96
test eax, eax
pop ecx
jne 0x402b97
lea eax, [ebp - 0x3aa4]
push eax
push str._t_ExtractArchiveFile__ERROR:_unpack200___s__does_not_exist__n
call fcn.00408291
pop ecx
pop ecx
push 0x65
jmp 0x402a8c
lea eax, [ebp - 0x1394]
push eax
call fcn.0041884b
pop ecx
lea eax, [ebp - 0x3aa4]
push eax
lea eax, [ebp - 0x1394]
push eax
mov byte [ebp - 0x1394], 0
call fcn.00416fe0
pop ecx
pop ecx
cmp dword [ebp - 0x4e48], 0
je 0x402d36
lea eax, [ebp - 0x1394]
push eax
call fcn.00416f40
mov esi, eax
cmp esi, 4
pop ecx
jl 0x402cca
cmp byte [ebp + esi - 0x1397], 0x2e
jne 0x402cd5
cmp byte [ebp + esi - 0x1396], 0x6c
jne 0x402cd5
cmp byte [ebp + esi - 0x1395], 0x32
jne 0x402cd5
push str._t_ExtractArchiveFile__Requires_un_LZMA_n
call fcn.00408291
pop ecx
call fcn.00406abe
push dword [ebp - 0x4e48]
mov edi, eax
push edi
call fcn.00406b17
mov edx, 0x43072c
mov ecx, edi
call fcn.00406aec
lea edx, [ebp - 0x1394]
mov ecx, edi
call fcn.00406aec
lea eax, [ebp - 0x1394]
push eax
lea eax, [ebp - 0x271c]
push eax
mov byte [ebp - 0x271c], 0
call fcn.00416fe0
lea eax, [ebp - 0x271c]
push eax
push str._t_ExtractArchiveFile__Created_outpath__s_and_spawning_n
mov byte [ebp + esi - 0x271f], 0
call fcn.00408291
lea edx, [ebp - 0x271c]
mov ecx, edi
call fcn.00406aec
call fcn.00406b46
push edi
call fcn.00416cd3
lea eax, [ebp - 0x1394]
add esp, 0x1c
push eax
call fcn.0041884b
pop ecx
lea eax, [ebp - 0x271c]
push eax
lea eax, [ebp - 0x1394]
push eax
mov byte [ebp - 0x1394], 0
call fcn.00416fe0
push str._t_ExtractArchiveFile__Finished_decompressing_n
call fcn.00408291
add esp, 0xc
jmp 0x402cd5
push str._t_ExtractArchiveFile__Path_to_file_too_short_to_check_for_LZMA_n
call fcn.00408291
pop ecx
lea eax, [ebp - 0x1394]
push eax
call fcn.00416f40
cmp eax, 4
pop ecx
jl 0x402d36
lea eax, [ebp + eax - 0x1394]
cmp byte [eax - 3], 0x2e
jne 0x402d36
cmp byte [eax - 2], 0x70
jne 0x402d36
cmp byte [eax - 1], 0x32
jne 0x402d36
push str._t_ExtractArchiveFile__Starting_un_p2Archiving_n
call fcn.00408291
pop ecx
push dword [ebp - 0x4e50]
lea eax, [ebp - 0x1394]
push dword [ebp - 0x4e4c]
push eax
push dword [ebp - 0x4e44]
call fcn.00402d47
push str._t_ExtractArchiveFile__Finished_un_archiving_n
call fcn.00408291
add esp, 0x14
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00416cc4
leave
ret