Function at 0x4b1560
Capabilities:
Create thread

Disassembly:
push ebp
lea ebp, [esp - 0x2018]
mov eax, 0x2018
call fcn.004bfc70
push 0xffffffffffffffff
push 0x4d4ab8
mov eax, dword fs:[0]
push eax
sub esp, 0x14
mov eax, dword [0x4ea93c]
xor eax, ebp
mov dword [ebp + 0x2014], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [ebp + 0x2020]
push 1
call fcn.0047efe0
push 0x8005
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov ecx, 0x5448f8
call fcn.00420d00
mov byte [0x5344c1], 0
xor edi, edi
mov dword [0x5323e8], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x534540], eax
push edi
push edi
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [0x5344a8], eax
push str.WMUser_DisplayError
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov dword [0x5323f4], eax
push str.General
call fcn.0046bbc0
test al, al
sete byte [ebp - 0x12]
push 0x800
lea eax, [ebp]
push eax
call fcn.0045fce0
push 0x800
lea ecx, [ebp]
push ecx
call fcn.0045f4a0
push 0x800
lea edx, [ebp]
push edx
push 0x5323f8
call fcn.0047e340
push 0x800
push 0x4d72c4
push 0x5323f8
call fcn.0047e380
push edi
push esi
mov ecx, 0x51e7e8
call fcn.00474560
push str.winrar.lng
mov ecx, 0x51e7c4
call fcn.00474310
push esi
call fcn.004b1080
test eax, eax
je 0x4b1c91
lea ecx, [ebp - 0x20]
call fcn.004a3f40
mov dword [ebp - 4], edi
mov dword [0x51e7a0], esi
mov ecx, 0x540eb0
call fcn.004183b0
call fcn.0049a440
call fcn.00498f20
call fcn.004af3f0
call fcn.004af560
push str.WinRAR_Busy
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [0x53453c], eax
push edi
push str.WinRarWindow
mov ebx, dword [sym.imp.USER32.dll_FindWindowW]
call ebx
mov dword [ebp - 0x18], eax
push edi
push esi
push edi
push edi
push 0x80000000
push 0x80000000
push 0x80000000
push 0x80000000
push 0x6cf0000
push 0x4d8bf4
push str.WinRarWindow
push 0x10
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x534544], eax
cmp eax, edi
je 0x4b1c82
push eax
mov ecx, 0x51e7c4
call fcn.00473380
push edi
call fcn.004aefe0
call fcn.004af340
cmp byte [ebp - 0x12], 0
je 0x4b1732
push 1
push edi
call fcn.004275c0
test al, al
mov byte [ebp - 0x11], 1
je 0x4b1736
mov byte [ebp - 0x11], 0
lea eax, [ebp + 0x2000]
push eax
call fcn.00422ef0
movzx ecx, word [ebp + 0x2000]
push ecx
call fcn.00485f10
movzx esi, ax
push 0x8c
push edi
push 0x5437c0
call fcn.004c05a0
add esp, 0xc
push edi
push edi
push 1
mov ecx, 0x5448f8
call fcn.00422d90
cmp si, di
je 0x4b17e1
cmp byte [0x54690c], 0
jne 0x4b17e1
push esi
push str.AFUMD
call fcn.004c10b7
add esp, 8
test eax, eax
jne 0x4b17a2
cmp si, 0x43
jne 0x4b17be
cmp word [ebp + 0x2002], di
jne 0x4b17be
call fcn.0049b3d0
cmp si, 0x44
je 0x4b17b3
cmp si, 0x43
jne 0x4b17e7
xor edx, edx
mov word [0x545908], dx
jmp 0x4b17e7
cmp byte [0x54690c], 0
jne 0x4b17e1
push esi
push 0x4de6a4
call fcn.004c10b7
add esp, 8
test eax, eax
je 0x4b17e1
push edi
call fcn.004a1870
jmp 0x4b17e7
push edi
call fcn.00498e30
push edi
push edi
push 1
mov ecx, 0x5448f8
call fcn.00422d90
push 0x5448f8
mov ecx, 0x534978
call fcn.00424700
xor eax, eax
jmp 0x4b1810
movzx ecx, word [eax + 0x54fd12]
mov word [eax + 0x5334a8], cx
add eax, 2
cmp cx, di
jne 0x4b1810
xor eax, eax
mov word [0x54fd12], ax
mov dword [0x53340c], edi
mov byte [ebp - 4], 1
call fcn.00424fb0
mov dword [ebp - 4], edi
cmp byte [0x54ecba], 0
jne 0x4b1c82
mov ecx, dword [0x534544]
push ecx
call fcn.004af090
cmp word [0x549a1c], di
je 0x4b18a4
push 0x549a1c
call fcn.0045f900
cmp eax, 0x549a1c
jne 0x4b1889
push 0x800
push 0x549a1c
push 0x5323f8
call fcn.0045fad0
jmp 0x4b18a4
mov ecx, 0x549a1c
mov edx, 0x5323f8
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, di
jne 0x4b1893
push edi
push edi
push 0x8003
mov edx, dword [0x534544]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x534544], edi
je 0x4b1a43
cmp word [0x54ecf2], di
jne 0x4b1c04
xor bl, bl
cmp word [0x54fd12], di
je 0x4b1bea
push 0x54fd12
call fcn.0043bf00
cmp eax, 0xffffffff
je 0x4b18f5
test al, 0x10
je 0x4b18f5
mov bl, 1
cmp word [0x54fd12], di
je 0x4b1bcd
test bl, bl
jne 0x4b1bd1
push edi
push str.ReuseWindow
push str.General
call fcn.0046bce0
test eax, eax
je 0x4b1a0d
cmp dword [ebp - 0x18], edi
je 0x4b1a0d
push 0x800
lea eax, [ebp + 0x1000]
push eax
call fcn.0049d390
push 0x800
lea ecx, [ebp + 0x1000]
push ecx
call fcn.0045f4a0
push 0x800
push str.Rar_
lea edx, [ebp + 0x1000]
push edx
call fcn.0047e380
lea eax, [ebp + 0x1000]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x4b1970
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp + 0x1000]
push eax
push 0x54fd12
call fcn.00485e20
test eax, eax
je 0x4b1a0d
push str.RarArchiveWideName
push 0x1000
push edi
push 0x8000004
push edi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov esi, eax
push 0x1000
push edi
push edi
push 2
push esi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov edi, eax
push 0x800
push edi
push 0x54fd12
mov ecx, 0x53ed88
call fcn.0044b4e0
push edi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push 0x7ae964f1
push 0xd489ac5e
push 0x8001
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
setne bl
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test bl, bl
jne 0x4b1baf
xor edi, edi
push 0x54fd12
mov ecx, 0x53ed88
call fcn.00450300
test al, al
je 0x4b1baf
cmp byte [0x5323f1], 0
jne 0x4b1a43
cmp dword [0x533498], edi
je 0x4b1b9d
mov ecx, 0x53ed88
call fcn.00450a10
mov esi, dword [ebp - 0x18]
push esi
push 0x10000
push 0x4ac360
call fcn.004c16f2
add esp, 0xc
mov edx, dword [0x534544]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4b1a78
cmp esi, edi
setne al
movzx ecx, al
push ecx
call fcn.004af0e0
mov edx, dword [0x534544]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp byte [ebp - 0x11], 0
je 0x4b1ab4
cmp byte [ebp - 0x12], 0
je 0x4b1ab4
push str.Setup
call fcn.0046bbc0
test al, al
jne 0x4b1ab4
push 0x4d7490
call fcn.00448950
test al, al
jne 0x4b1ab4
push 6
call fcn.004273b0
push edi
push str.ExportedSettings
push 0x4d69fc
call fcn.0046bce0
test eax, eax
je 0x4b1acd
call fcn.004272b0
push edi
push 1
call fcn.0046c130
push edi
push str.WizardMode
push str.General
call fcn.0046bce0
test eax, eax
je 0x4b1b10
mov eax, dword [0x534544]
push eax
call fcn.004b5ec0
test al, al
je 0x4b1b10
cmp dword [0x533498], edi
jne 0x4b1b10
mov ecx, dword [0x534544]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
lea ecx, [ecx]
push edi
push edi
call fcn.004b11e0
test al, al
jne 0x4b1b10
mov ecx, 0x53ed84
call fcn.004b1d60
call fcn.004a5160
mov edx, dword [0x5344a8]
push edx
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov byte [0x5344c1], 1
xor esi, esi
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x5323e8], 0
jle 0x4b1b5c
push 0x64
call edi
dec esi
cmp esi, 0xc8
jl 0x4b1b46
mov eax, dword [0x5344a8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x533408], 0
je 0x4b1c5b
mov dword [0x533408], 0xffffffff
xor esi, esi
cmp dword [0x533408], 0
je 0x4b1c78
push 0x64
call edi
inc esi
cmp esi, 0xa
jl 0x4b1b81
jmp 0x4b1c78
mov edx, dword [0x534544]
push edx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x4b1a43
call fcn.004a52e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004a3fb0
mov eax, 1
jmp 0x4b1cc1
test bl, bl
je 0x4b1bea
push 0x54fd12
call fcn.004af190
push 0x54fd12
mov ecx, 0x53ed88
call fcn.004503d0
push edi
mov ecx, 0x53ed88
call fcn.0044ee30
mov ecx, 0x53ed78
call fcn.00407760
jmp 0x4b1a43
push 0x5437c0
call fcn.00425310
call fcn.004a52e0
cmp dword [0x53340c], 1
jne 0x4b1a43
push edi
push str.WinRarWindow
call ebx
test eax, eax
sete al
movzx ecx, al
push ecx
push 1
call fcn.004ab7c0
mov ecx, 0x51e7b4
call fcn.004209f0
mov esi, dword [0x51e7a8]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004a3fb0
mov eax, esi
jmp 0x4b1cc1
push 0
push str.WinRarWindow
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
sete cl
movzx edx, cl
push edx
push 1
call fcn.004ab7c0
mov ecx, 0x51e7b4
call fcn.004209f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004a3fb0
xor eax, eax
jmp 0x4b1cc1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x2014]
xor ecx, ebp
call fcn.004bfc52
add ebp, 0x2018
mov esp, ebp
pop ebp
ret 0x10