Function at 0x47d480
Capabilities:
Delete file
Get common file path
Write file on windows

Disassembly:
sub esp, 0xcf4
mov eax, dword [0x4c0390]
xor eax, esp
mov dword [esp + 0xcf0], eax
push ebx
xor ebx, ebx
push esi
push edi
cmp byte [esp + 0xd0c], bl
je 0x47d4ba
cmp byte [0x4e42c0], bl
je 0x47d523
cmp dword [0x4f6300], ebx
je 0x47d523
mov byte [0x4e42c0], bl
jmp 0x47d523
push 1
call fcn.0047af60
mov al, byte [esp + 0xd08]
mov dword [0x4e577c], 3
cmp al, bl
je 0x47d4db
mov byte [0x4e57b3], al
mov dword [0x4dbcb0], ebx
mov dword [0x4dbcb4], ebx
cmp dword [0x4dbc5c], ebx
jne 0x47d671
mov eax, dword [0x4e81ac]
push 1
push eax
mov ecx, 0x4dfef0
call fcn.0043ed70
cmp byte [0x4e0b0e], bl
je 0x47d523
mov ecx, dword [0x4e81ac]
cmp dword [ecx + 0x30], 1
jbe 0x47d523
mov dword [0x4e5778], 5
cmp dword [0x4dbc5c], ebx
jne 0x47d671
cmp byte [0x4e75ac], bl
jne 0x47d671
mov esi, 0x4e79ac
mov edi, 0x4e75ac
mov byte [esp + 0xd04], bl
call fcn.00478f70
push ebx
push edi
call fcn.0044e0c0
push 0x400
push 0x4b1914
lea edx, [esp + 0x104]
push edx
push str.DefFolder
push str.Compression
call fcn.004563a0
cmp byte [esp + 0xfc], bl
jne 0x47d5ae
cmp byte [0x4e0b0e], bl
je 0x47d64f
lea eax, [esp + 0xfc]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
cmp byte [esp + 0xfc], bl
je 0x47d64f
lea ecx, [esp + 0xfc]
push ecx
call fcn.0044d9b0
push 0x1000000
lea edx, [esp + 0x500]
push edx
lea eax, [esp + 0x104]
push eax
call fcn.0046d330
mov eax, 0x4e75ac
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x47d5e0
lea edi, [esp + 0xfc]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47d5f1
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor eax, eax
jmp 0x47d610
mov cl, byte [esp + eax + 0xfc]
mov byte [eax + 0x4e75ac], cl
inc eax
cmp cl, bl
jne 0x47d610
cmp word [0x4e79ac], bx
je 0x47d64f
push 0x4e79ac
lea ecx, [esp + 0x500]
push ecx
call fcn.0046d690
lea edx, [esp + 0x4fc]
push edx
push 0x4e79ac
call fcn.0046d630
cmp byte [0x4e32c0], bl
mov eax, dword [0x4e614c]
setne cl
push eax
movzx edx, cl
push edx
push 0x4e79ac
push 0x4e75ac
call fcn.00479110
cmp dword [0x4e5778], ebx
jne 0x47d683
mov dword [0x4e5778], 4
cmp dword [0x4dbc5c], ebx
je 0x47d779
mov esi, dword [0x4e0e20]
cmp esi, ebx
je 0x47d6c4
cmp esi, 1
je 0x47d6c4
push 0x30
push 0x65
call fcn.0045b8f0
push eax
push 0x1fd
call fcn.0045b8f0
push eax
mov eax, dword [0x4dc1c8]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x47d9a6
push 0x4e79ac
push 0x4e75ac
mov ecx, 0x4e0c18
call fcn.004134e0
push 0x4e4ac8
push 0x4e46c8
mov ecx, 0x4e0c18
call fcn.004134a0
cmp byte [0x4e46c8], bl
je 0x47d6fe
push 0x4e46c8
call fcn.0044d9b0
cmp word [0x4e4ac8], bx
je 0x47d72a
push 0x4e4ac8
call fcn.00464de0
test al, al
je 0x47d720
xor ecx, ecx
mov word [0x4e4ac8], cx
jmp 0x47d72a
push 0x4e4ac8
call fcn.0044d370
lea edx, [esp + 0xc]
push edx
mov ecx, 0x4e0c18
mov byte [0x4e57b7], bl
call fcn.00413530
mov eax, dword [esp + 0x1c]
mov dword [0x4e614c], eax
cmp esi, ebx
jne 0x47d752
cmp dword [esp + 0x64], ebx
je 0x47d75f
mov ecx, dword [esp + 0x90]
mov dword [0x4e5768], ecx
cmp dword [esp + 0x7c], ebx
je 0x47d773
mov edx, 0x2a
mov word [0x4e32c0], dx
jmp 0x47d779
mov byte [0x4e32c0], bl
mov eax, dword [0x4dc1c8]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov ecx, dword [esp + 0xd04]
neg eax
sbb eax, eax
and eax, dword [0x4dc1c8]
push ebx
push ecx
push eax
call fcn.0047d170
test al, al
je 0x47d987
mov eax, dword [0x4f6308]
cmp eax, 1
je 0x47d7b5
cmp eax, 2
jne 0x47d808
mov edx, dword [0x4f6314]
mov eax, dword [0x4f6310]
mov ecx, dword [0x4f630c]
push edx
push eax
push ecx
lea edx, [esp + 0xb8]
push str._dd_dh_dm
push edx
call fcn.0049e0d5
add esp, 0x14
cmp dword [0x4f6308], 1
jne 0x47d7f6
lea eax, [esp + 0xac]
push eax
mov ecx, 0x4e580c
jmp 0x47d803
lea ecx, [esp + 0xac]
push ecx
mov ecx, 0x4e5830
call fcn.00467ee0
mov edi, dword [0x4f6300]
cmp edi, ebx
je 0x47d84e
push 0x4e42c0
push str.Rar_CMXXXXXX
call fcn.0047eb20
mov esi, eax
cmp esi, ebx
je 0x47d86b
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x47d830
push esi
sub eax, edx
push eax
push 1
push edi
call fcn.0049f822
push esi
call fcn.0049f646
add esp, 0x14
jmp 0x47d86b
cmp dword [0x4dbc5c], ebx
je 0x47d86b
cmp dword [esp + 0x7c], ebx
je 0x47d86b
cmp byte [0x4e32c0], 0x2a
jne 0x47d86b
mov byte [0x4e32c0], bl
mov edx, dword [0x4e81ac]
cmp dword [edx + 0x30], ebx
jne 0x47d89c
push 0x30
push 0x65
call fcn.0045b8f0
push eax
push 0x14b
call fcn.0045b8f0
push eax
mov eax, dword [0x4dc1c8]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x47d987
cmp byte [0x4e52c8], bl
setne cl
mov byte [0x4dc1fc], cl
mov ecx, 0x4dc1d0
call fcn.00464ab0
cmp byte [0x4f631a], bl
je 0x47d8c4
call fcn.0047c940
jmp 0x47d8d6
movzx edx, byte [0x4e6952]
push edx
mov ecx, 0x4e0c18
call fcn.00415320
cmp dword [0x4f6300], ebx
je 0x47d8e9
push 0x4e42c0
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [0x4dbc60], 1
je 0x47d987
cmp dword [0x4dbc5c], ebx
je 0x47d90a
mov ecx, 0x4dfef0
call fcn.00442470
jmp 0x47d987
cmp byte [0x4e57b3], bl
je 0x47d91c
mov ecx, 0x4dfec8
call fcn.0046aee0
lea eax, [esp + 0xfc]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [esp + 0xfc]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x47d940
sub eax, edx
push eax
push 0x4e75ac
lea ecx, [esp + 0x104]
push ecx
call fcn.00464b90
push 0x4e79ac
test eax, eax
jne 0x47d978
call fcn.0044d5b0
push eax
push 0x4e75ac
call fcn.0044d530
push eax
jmp 0x47d97d
push 0x4e75ac
mov ecx, 0x4dfef0
call fcn.00440f30
mov edx, dword [0x4f6300]
push edx
call fcn.0049ea65
add esp, 4
mov ecx, 0x4dc1d0
mov byte [0x4dc1fc], bl
call fcn.00464ab0
mov ecx, dword [esp + 0xcfc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0049e0c6
add esp, 0xcf4
ret 0xc