Function at 0x47a940
Capabilities:
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4d3c56
mov eax, dword fs:[0]
push eax
mov eax, 0x3074
call fcn.004bfc70
mov eax, dword [0x4ea93c]
xor eax, esp
mov dword [esp + 0x3070], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ea93c]
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.0043acd0
mov dword [esp + 0x3090], 0
push 0x800
lea eax, [esp + 0x1088]
push eax
lea ecx, [esp + 0x208c]
push ecx
mov ecx, 0x543850
mov byte [ebx + 0x3028], 0
call fcn.0047fd30
cmp word [esi + 0x83be], 0
lea eax, [esi + 0x83be]
je 0x47a9ef
lea edx, [esp + 0x2084]
sub edx, eax
nop
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x47a9e0
cmp word [esi + 0x93be], 0
lea eax, [esi + 0x93be]
je 0x47aa1f
lea edx, [esp + 0x1084]
sub edx, eax
jmp 0x47aa10
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x47aa10
push 6
lea ebp, [esi + 0x1010]
push str.WinCon
push ebp
mov dword [esp + 0x3c], ebp
call fcn.0045f900
push eax
call fcn.00485e20
test eax, eax
jne 0x47aa4a
xor edx, edx
mov word [esp + 0x1084], dx
xor eax, eax
mov word [ebx + 0x1024], ax
cmp word [ebp], ax
je 0x47ad69
cmp word [esp + 0x2084], ax
jne 0x47aa7d
cmp word [esp + 0x1084], ax
jne 0x47aa7d
cmp byte [esi + 0xa3be], al
je 0x47ad69
push ebp
call fcn.0043c780
test al, al
je 0x47ad69
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 0x47aa95
push 0x800
lea edi, [ebx + 0x1024]
push edi
push str.Rar_SF
mov dword [ebx + 0x3024], ebp
call fcn.0049dbf0
mov esi, eax
test esi, esi
je 0x47ad4f
push ebp
mov ecx, ebx
call fcn.00478410
test al, al
je 0x47aafa
push 0x5f5
call fcn.004744a0
push eax
call fcn.004ab990
add esp, 4
push 1
mov ecx, 0x51e7a8
call fcn.00433290
jmp 0x47ad4f
push esi
push ebp
mov ecx, ebx
call fcn.004784c0
test al, al
je 0x47ad69
push esi
call fcn.004c2398
add esp, 4
push 0x10000
lea ecx, [esp + 0x24]
call fcn.0040bfe0
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.00478570
push 0
push edi
mov dword [esp + 0x20], eax
call dword [sym.imp.KERNEL32.dll_BeginUpdateResourceW]
mov esi, eax
test esi, esi
je 0x47acb7
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 0x47abf8
cmp word [esp + 0x2084], 0
mov ebp, dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
je 0x47abaf
push esi
push 0x4783e0
push 3
push edi
call ebp
push esi
push 0x4783e0
push 0xe
push edi
call ebp
push 0x64
lea eax, [esp + 0x2088]
push eax
push esi
mov ecx, ebx
call fcn.004780a0
mov byte [esp + 0x16], al
cmp word [esp + 0x1084], 0
je 0x47abed
cmp word [esp + 0x2084], 0
je 0x47abcc
cmp byte [esp + 0x16], 0
je 0x47abed
push esi
push 0x4783e0
push 2
push edi
call ebp
push 0x65
lea ecx, [esp + 0x1088]
push ecx
push esi
mov ecx, ebx
call fcn.004782a0
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 0x47acb7
cmp word [esp + 0x1084], 0
je 0x47ac1f
cmp byte [esp + 0x17], 0
je 0x47acb7
cmp byte [esp + 0x16], 0
jne 0x47ac3e
cmp byte [esp + 0x17], 0
jne 0x47ac3e
mov edx, dword [esp + 0x1c]
cmp byte [edx + 0xa3be], 0
je 0x47ace5
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0xa3be], 0
je 0x47ac59
lea eax, [ebx + 0x1024]
push eax
mov ecx, ebx
call fcn.00478730
lea ecx, [esp + 0x3c]
call fcn.00401400
push 0
lea ecx, [esp + 0x40]
push ecx
lea esi, [ebx + 0x1024]
push esi
call fcn.00441010
test al, al
je 0x47acd9
mov eax, dword [esp + 0x18]
xor edx, edx
add eax, dword [esp + 0x103c]
adc edx, dword [esp + 0x1040]
mov dword [esp + 0x34], edx
jne 0x47ac9a
cmp eax, 0x100000
jbe 0x47acd9
push 0x100000
push 0x5a0
call fcn.004744a0
push eax
push 0x54fd12
call fcn.004abfe0
add esp, 0xc
mov byte [esp + 0x3090], 0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x47ad69
push eax
call fcn.004bff04
add esp, 4
jmp 0x47ad69
push 0x800
push esi
push ebp
call fcn.0047e340
cmp dword [esp + 0x18], 0
mov edi, dword [esp + 0x20]
je 0x47ad3a
mov eax, dword [esp + 0x24]
push eax
push edi
lea esi, [ebx + 0x1024]
push esi
mov ecx, ebx
call fcn.00478570
test eax, eax
jne 0x47ad3a
push 0x4da9dc
push esi
call fcn.0049dbc0
mov esi, eax
test esi, esi
je 0x47ad3a
push 2
push 0
push esi
call fcn.004c36f1
mov ecx, dword [esp + 0x24]
push esi
push ecx
push 1
push edi
call fcn.004c2576
push esi
call fcn.004c2398
add esp, 0x20
mov byte [esp + 0x3090], 0
test edi, edi
je 0x47ad4f
push edi
call fcn.004bff04
add esp, 4
cmp word [ebx + 0x1024], 0
lea eax, [ebx + 0x1024]
je 0x47ad69
push 4
push eax
mov ecx, ebx
call fcn.0043ad10
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.004bfc52
add esp, 0x3080
ret 4