Function at 0x47b570
Capabilities:
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4d4d26
mov eax, dword fs:[0]
push eax
mov eax, 0x3074
call fcn.004c0c80
mov eax, dword [0x4eb984]
xor eax, esp
mov dword [esp + 0x3070], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4eb984]
xor eax, esp
push eax
lea eax, [esp + 0x3088]
mov dword fs:[0], eax
mov esi, dword [esp + 0x3098]
mov ebx, ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x1c], esi
call fcn.0043b140
mov dword [esp + 0x3090], 0
push 0x800
lea eax, [esp + 0x1088]
push eax
lea ecx, [esp + 0x208c]
push ecx
mov ecx, 0x544890
mov byte [ebx + 0x3028], 0
call fcn.004808d0
cmp word [esi + 0x83c2], 0
lea eax, [esi + 0x83c2]
je 0x47b61f
lea edx, [esp + 0x2084]
sub edx, eax
nop
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x47b610
cmp word [esi + 0x93c2], 0
lea eax, [esi + 0x93c2]
je 0x47b64f
lea edx, [esp + 0x1084]
sub edx, eax
jmp 0x47b640
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x47b640
push 6
lea ebp, [esi + 0x1010]
push str.WinCon
push ebp
mov dword [esp + 0x3c], ebp
call fcn.00460330
push eax
call fcn.004869c0
test eax, eax
jne 0x47b67a
xor edx, edx
mov word [esp + 0x1084], dx
xor eax, eax
mov word [ebx + 0x1024], ax
cmp word [ebp], ax
je 0x47b999
cmp word [esp + 0x2084], ax
jne 0x47b6ad
cmp word [esp + 0x1084], ax
jne 0x47b6ad
cmp byte [esi + 0xa3c2], al
je 0x47b999
push ebp
call fcn.0043ca60
test al, al
je 0x47b999
lea edx, [ebx + 0x2024]
mov eax, ebp
sub edx, ebp
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x47b6c5
push 0x800
lea edi, [ebx + 0x1024]
push edi
push str.Rar_SF
mov dword [ebx + 0x3024], ebp
call fcn.0049ea90
mov esi, eax
test esi, esi
je 0x47b97f
push ebp
mov ecx, ebx
call fcn.00479040
test al, al
je 0x47b72a
push 0x5f5
call fcn.004750b0
push eax
call fcn.004ac840
add esp, 4
push 1
mov ecx, 0x51f7e8
call fcn.00433620
jmp 0x47b97f
push esi
push ebp
mov ecx, ebx
call fcn.004790f0
test al, al
je 0x47b999
push esi
call fcn.004c34b2
add esp, 4
push 0x10000
lea ecx, [esp + 0x24]
call fcn.0040c3b0
mov byte [esp + 0x3090], 1
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push ecx
push edx
push ebp
mov ecx, ebx
call fcn.004791a0
push 0
push edi
mov dword [esp + 0x20], eax
call dword [sym.imp.KERNEL32.dll_BeginUpdateResourceW]
mov esi, eax
test esi, esi
je 0x47b8e7
push 3
push 0
push edi
mov byte [esp + 0x22], 0
mov byte [esp + 0x23], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
test edi, edi
je 0x47b828
cmp word [esp + 0x2084], 0
mov ebp, dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
je 0x47b7df
push esi
push 0x479010
push 3
push edi
call ebp
push esi
push 0x479010
push 0xe
push edi
call ebp
push 0x64
lea eax, [esp + 0x2088]
push eax
push esi
mov ecx, ebx
call fcn.00478cd0
mov byte [esp + 0x16], al
cmp word [esp + 0x1084], 0
je 0x47b81d
cmp word [esp + 0x2084], 0
je 0x47b7fc
cmp byte [esp + 0x16], 0
je 0x47b81d
push esi
push 0x479010
push 2
push edi
call ebp
push 0x65
lea ecx, [esp + 0x1088]
push ecx
push esi
mov ecx, ebx
call fcn.00478ed0
mov byte [esp + 0x17], al
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ebp, dword [esp + 0x30]
push 0
push esi
call dword [sym.imp.KERNEL32.dll_EndUpdateResourceW]
test eax, eax
je 0x47b8e7
cmp word [esp + 0x1084], 0
je 0x47b84f
cmp byte [esp + 0x17], 0
je 0x47b8e7
cmp byte [esp + 0x16], 0
jne 0x47b86e
cmp byte [esp + 0x17], 0
jne 0x47b86e
mov edx, dword [esp + 0x1c]
cmp byte [edx + 0xa3c2], 0
je 0x47b915
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0xa3c2], 0
je 0x47b889
lea eax, [ebx + 0x1024]
push eax
mov ecx, ebx
call fcn.00479360
lea ecx, [esp + 0x3c]
call fcn.00401510
push 0
lea ecx, [esp + 0x40]
push ecx
lea esi, [ebx + 0x1024]
push esi
call fcn.00441530
test al, al
je 0x47b909
mov eax, dword [esp + 0x18]
xor edx, edx
add eax, dword [esp + 0x103c]
adc edx, dword [esp + 0x1040]
mov dword [esp + 0x34], edx
jne 0x47b8ca
cmp eax, 0x100000
jbe 0x47b909
push 0x100000
push 0x5a0
call fcn.004750b0
push eax
push 0x550d52
call fcn.004ace90
add esp, 0xc
mov byte [esp + 0x3090], 0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x47b999
push eax
call fcn.004c1404
add esp, 4
jmp 0x47b999
push 0x800
push esi
push ebp
call fcn.0047ef70
cmp dword [esp + 0x18], 0
mov edi, dword [esp + 0x20]
je 0x47b96a
mov eax, dword [esp + 0x24]
push eax
push edi
lea esi, [ebx + 0x1024]
push esi
mov ecx, ebx
call fcn.004791a0
test eax, eax
jne 0x47b96a
push 0x4dba34
push esi
call fcn.0049ea60
mov esi, eax
test esi, esi
je 0x47b96a
push 2
push 0
push esi
call fcn.004c47c1
mov ecx, dword [esp + 0x24]
push esi
push ecx
push 1
push edi
call fcn.004c3690
push esi
call fcn.004c34b2
add esp, 0x20
mov byte [esp + 0x3090], 0
test edi, edi
je 0x47b97f
push edi
call fcn.004c1404
add esp, 4
cmp word [ebx + 0x1024], 0
lea eax, [ebx + 0x1024]
je 0x47b999
push 4
push eax
mov ecx, ebx
call fcn.0043b180
mov dword [esp + 0x3090], 0xffffffff
mov eax, ebx
mov ecx, dword [esp + 0x3088]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3070]
xor ecx, esp
call fcn.004c0c62
add esp, 0x3080
ret 4