Function at 0x46b660
Capabilities:
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4c3816
mov eax, dword fs:[0]
push eax
mov eax, 0x24c8
call fcn.004af740
mov eax, dword [0x4d88f0]
xor eax, esp
mov dword [esp + 0x24c4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d88f0]
xor eax, esp
push eax
lea eax, [esp + 0x24dc]
mov dword fs:[0], eax
mov esi, dword [esp + 0x24ec]
mov ebx, ecx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x20], esi
call fcn.004339f0
mov dword [esp + 0x24e4], 0
lea eax, [esp + 0x1cd8]
push eax
lea ecx, [esp + 0x14dc]
push ecx
mov ecx, 0x521fe0
mov byte [ebx + 0x1c2c], 0
call fcn.00470f40
cmp word [esi + 0x435a], 0
lea eax, [esi + 0x435a]
je 0x46b70f
lea edx, [esp + 0x14d8]
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x46b700
cmp word [esi + 0x4b5a], 0
lea eax, [esi + 0x4b5a]
je 0x46b73f
lea edx, [esp + 0x1cd8]
sub edx, eax
jmp 0x46b730
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x46b730
xor edx, edx
lea edi, [esi + 0x810]
mov word [ebx + 0xc28], dx
mov dword [esp + 0x1c], edi
cmp word [edi], dx
je 0x46ba78
cmp word [esp + 0x14d8], dx
jne 0x46b77b
cmp word [esp + 0x1cd8], dx
jne 0x46b77b
cmp byte [esi + 0x535a], dl
je 0x46ba78
push edi
call fcn.00434f20
test al, al
je 0x46ba78
lea edx, [ebx + 0x1428]
mov eax, edi
sub edx, edi
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x46b793
lea eax, [ebx + 0xc28]
push eax
push str.Rar_SF
mov dword [ebx + 0x1c28], edi
call fcn.0048af50
mov esi, eax
test esi, esi
je 0x46ba5c
push edi
mov ecx, ebx
call fcn.00469ce0
test al, al
je 0x46b7f3
push 0x5f5
call fcn.00465ff0
push eax
call fcn.00498f80
add esp, 4
push 1
mov ecx, 0x5062f4
call fcn.0042c280
jmp 0x46ba5c
push esi
push edi
mov ecx, ebx
call fcn.00469d90
test al, al
je 0x46ba78
push esi
call fcn.004b24ae
mov esi, 0x10000
push esi
call fcn.004af837
mov ebp, eax
add esp, 8
mov dword [esp + 0x28], ebp
test ebp, ebp
jne 0x46b82c
mov ecx, 0x5062f4
call fcn.0042c410
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov byte [esp + 0x24e4], 1
push esi
push ebp
push edi
mov ecx, ebx
call fcn.00469e40
push 0
lea edi, [ebx + 0xc28]
push edi
mov dword [esp + 0x20], eax
call dword [sym.imp.KERNEL32.dll_BeginUpdateResourceW]
mov esi, eax
test esi, esi
je 0x46b9cb
push 3
push 0
push edi
mov byte [esp + 0x23], 0
mov byte [esp + 0x22], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
test edi, edi
je 0x46b908
cmp word [esp + 0x14d8], 0
mov ebp, dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
je 0x46b8bf
push esi
push 0x469cb0
push 3
push edi
call ebp
push esi
push 0x469cb0
push 0xe
push edi
call ebp
push 0x64
lea eax, [esp + 0x14dc]
push eax
push esi
mov ecx, ebx
call fcn.00469970
mov byte [esp + 0x17], al
cmp word [esp + 0x1cd8], 0
je 0x46b8fd
cmp word [esp + 0x14d8], 0
je 0x46b8dc
cmp byte [esp + 0x17], 0
je 0x46b8fd
push esi
push 0x469cb0
push 2
push edi
call ebp
push 0x65
lea ecx, [esp + 0x1cdc]
push ecx
push esi
mov ecx, ebx
call fcn.00469b70
mov byte [esp + 0x16], al
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ebp, dword [esp + 0x28]
push 0
push esi
call dword [sym.imp.KERNEL32.dll_EndUpdateResourceW]
test eax, eax
je 0x46b9cb
cmp word [esp + 0x1cd8], 0
je 0x46b92f
cmp byte [esp + 0x16], 0
je 0x46b9cb
cmp byte [esp + 0x17], 0
jne 0x46b94e
cmp byte [esp + 0x16], 0
jne 0x46b94e
mov edx, dword [esp + 0x20]
cmp byte [edx + 0x535a], 0
je 0x46b9f9
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x535a], 0
je 0x46b969
lea eax, [ebx + 0xc28]
push eax
mov ecx, ebx
call fcn.0046a000
lea ecx, [esp + 0x38]
call fcn.00401190
push 0
lea ecx, [esp + 0x3c]
push ecx
lea esi, [ebx + 0xc28]
push esi
push 0
call fcn.0043a670
test al, al
je 0x46b9e9
mov eax, dword [esp + 0x18]
xor edx, edx
add eax, dword [esp + 0xc38]
adc edx, dword [esp + 0xc3c]
mov dword [esp + 0x24], edx
js 0x46b9e9
jg 0x46b9ae
cmp eax, 0x100000
jbe 0x46b9e9
push 0x100000
push 0x5a0
call fcn.00465ff0
push eax
push 0x528c92
call fcn.00499570
add esp, 0xc
mov byte [esp + 0x24e4], 0
test ebp, ebp
je 0x46ba78
push ebp
call fcn.004af901
add esp, 4
jmp 0x46ba78
mov eax, dword [esp + 0x1c]
push 0x400
push esi
push eax
call fcn.0046f3f0
mov edi, dword [esp + 0x18]
test edi, edi
je 0x46ba47
push 0x10000
push ebp
lea esi, [ebx + 0xc28]
push esi
mov ecx, ebx
call fcn.00469e40
test eax, eax
jne 0x46ba47
push 0x4c95e8
push esi
call fcn.0048af20
mov esi, eax
test esi, esi
je 0x46ba47
push 2
push 0
push esi
call fcn.004b2d11
push esi
push edi
push 1
push ebp
call fcn.004b20f8
push esi
call fcn.004b24ae
add esp, 0x20
mov byte [esp + 0x24e4], 0
test ebp, ebp
je 0x46ba5c
push ebp
call fcn.004af901
add esp, 4
cmp word [ebx + 0xc28], 0
lea eax, [ebx + 0xc28]
je 0x46ba78
push 4
push eax
push 0
mov ecx, ebx
call fcn.00433e30
mov dword [esp + 0x24e4], 0xffffffff
mov eax, ebx
mov ecx, dword [esp + 0x24dc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24c4]
xor ecx, esp
call fcn.004af72c
add esp, 0x24d4
ret 4