Function at 0x4c5430
Capabilities:
Create thread

Disassembly:
push ebp
lea ebp, [esp - 0x3018]
mov eax, 0x3018
call fcn.004e3510
push 0xffffffffffffffff
push 0x4fbf48
mov eax, dword fs:[0]
push eax
sub esp, 0x14
mov eax, dword [0x514bc0]
xor eax, ebp
mov dword [ebp + 0x3014], 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 + 0x3020]
push 1
call fcn.00467d70
push 0x8005
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov ecx, 0x54a798
call fcn.00437080
mov byte [0x5393ca], 0
xor edi, edi
mov dword [0x538300], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x53a460], eax
push edi
push edi
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [0x53a3d0], eax
push str.WMUser_DisplayError
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov dword [0x53830c], eax
push str.General
call fcn.004999d0
test al, al
sete byte [ebp - 0x12]
push 1
push 0x800
lea eax, [ebp]
push eax
call fcn.00451d40
push 0x800
lea ecx, [ebp]
push ecx
call fcn.00451500
push 0x800
lea edx, [ebp]
push edx
push 0x538310
call fcn.00467570
push 0x800
push 0x4fec9c
push 0x538310
call fcn.004675f0
push edi
push esi
mov ecx, 0x52c17c
call fcn.00461be0
push str.winrar.lng
mov ecx, 0x52c158
call fcn.00461980
push esi
call fcn.004c4f40
test eax, eax
je 0x4c5b7e
lea ecx, [ebp - 0x20]
call fcn.004b7bb0
mov dword [ebp - 4], edi
mov dword [0x52c130], esi
mov ecx, 0x546dc0
call fcn.00478da0
call fcn.004ae690
call fcn.004ad930
call fcn.004c3390
push str.WinRAR_Busy
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [0x53a45c], 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 SysReAllocString
push SysReAllocString
push SysReAllocString
push SysReAllocString
push 0x6cf0000
push 0x4ff068
push str.WinRarWindow
push 0x10
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x53a464], eax
cmp eax, edi
je 0x4c5b6f
push eax
mov ecx, 0x52c158
call fcn.004609e0
push edi
call fcn.004c2f80
call fcn.004c32e0
cmp byte [ebp - 0x12], 0
je 0x4c5608
call fcn.004984d0
test al, al
jne 0x4c5608
push 1
push edi
call fcn.00480a20
test al, al
mov byte [ebp - 0x11], 1
je 0x4c560c
mov byte [ebp - 0x11], 0
lea eax, [ebp + 0x3000]
push eax
call fcn.0047c8d0
movzx ecx, word [ebp + 0x3000]
push ecx
call sub.USER32.dll_CharUpperW
movzx esi, ax
push 0x8c
push edi
push 0x549660
call fcn.004e4400
add esp, 0xc
push edi
push edi
push 1
mov ecx, 0x54a798
call fcn.004390d0
cmp si, di
je 0x4c56b7
cmp byte [0x54c7ac], 0
jne 0x4c56b7
push esi
push str.AFUMD
call fcn.004e66b5
add esp, 8
test eax, eax
jne 0x4c5678
cmp si, 0x43
jne 0x4c5694
cmp word [ebp + 0x3002], di
jne 0x4c5694
call fcn.004ad670
cmp si, 0x44
je 0x4c5689
cmp si, 0x43
jne 0x4c56bd
xor edx, edx
mov word [0x54b7a8], dx
jmp 0x4c56bd
cmp byte [0x54c7ac], 0
jne 0x4c56b7
push esi
push 0x50643c
call fcn.004e66b5
add esp, 8
test eax, eax
je 0x4c56b7
push edi
call fcn.004b5530
jmp 0x4c56bd
push edi
call fcn.004ad4e0
push edi
push edi
push 1
mov ecx, 0x54a798
call fcn.004390d0
push 0x54a798
mov ecx, 0x53a898
call fcn.00419620
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + 0x555ba2]
mov word [eax + 0x5393d0], cx
add eax, 2
cmp cx, di
jne 0x4c56e0
xor eax, eax
mov word [0x555ba2], ax
push 0x800
lea ecx, [ebp + 0x1000]
push ecx
call fcn.004b1ef0
lea edx, [ebp + 0x1000]
push edx
mov ecx, 0x544c98
call fcn.0048d8e0
mov dword [0x539324], edi
mov byte [ebp - 4], 1
call fcn.0047dbe0
mov dword [ebp - 4], edi
mov eax, dword [0x53a464]
push eax
call fcn.004c3030
cmp word [0x54f8c0], di
je 0x4c5788
push 0x54f8c0
call fcn.00451a10
cmp eax, 0x54f8c0
jne 0x4c576d
push 0x800
push 0x54f8c0
push 0x538310
call fcn.00451be0
jmp 0x4c5788
mov ecx, 0x54f8c0
mov edx, 0x538310
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, di
jne 0x4c5777
push edi
push edi
push 0x8003
mov ecx, dword [0x53a464]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x53a464], edi
je 0x4c5924
cmp word [0x554b82], di
jne 0x4c5af1
xor bl, bl
cmp word [0x555ba2], di
je 0x4c5acd
push 0x555ba2
call fcn.00443780
cmp eax, 0xffffffff
je 0x4c57d9
test al, 0x10
je 0x4c57d9
mov bl, 1
cmp word [0x555ba2], di
je 0x4c5aae
test bl, bl
jne 0x4c5ab2
push edi
push str.ReuseWindow
push str.General
call fcn.00499a90
test eax, eax
je 0x4c58ee
cmp dword [ebp - 0x18], edi
je 0x4c58ee
push edi
push 0x800
lea edx, [ebp + 0x2000]
push edx
call fcn.004b0c20
push 0x800
lea eax, [ebp + 0x2000]
push eax
call fcn.00451500
push 0x800
push str.Rar_
lea ecx, [ebp + 0x2000]
push ecx
call fcn.004675f0
lea eax, [ebp + 0x2000]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x4c5851
sub eax, edx
sar eax, 1
push eax
lea edx, [ebp + 0x2000]
push edx
push 0x555ba2
call fcn.0046a970
test eax, eax
je 0x4c58ee
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 0x555ba2
mov ecx, 0x544c98
call fcn.0048d930
push edi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push 0x7ae964f1
push 0xd489ac5e
push 0x8001
mov eax, dword [ebp - 0x18]
push eax
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 0x4c5a90
xor edi, edi
push 0x555ba2
mov ecx, 0x544c98
call fcn.00492e20
test al, al
je 0x4c5a90
cmp byte [0x538309], 0
jne 0x4c5924
cmp dword [0x5393b8], edi
je 0x4c5a7e
mov ecx, 0x544c98
call fcn.00493570
mov esi, dword [ebp - 0x18]
push esi
push 0x10000
push 0x4bf2f0
call fcn.004e8851
add esp, 0xc
mov ecx, dword [0x53a464]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4c5959
cmp esi, edi
setne dl
movzx eax, dl
push eax
call fcn.004c3080
mov ecx, dword [0x53a464]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp byte [ebp - 0x11], 0
je 0x4c5995
cmp byte [ebp - 0x12], 0
je 0x4c5995
push str.Setup
call fcn.004999d0
test al, al
jne 0x4c5995
push str..rar
call fcn.0048ad40
test al, al
jne 0x4c5995
push 6
call fcn.00480810
push edi
push str.ExportedSettings
push 0x4fdab8
call fcn.00499a90
test eax, eax
je 0x4c59ae
call fcn.00480710
push edi
push 1
call fcn.0049a4e0
push edi
push str.WizardMode
push str.General
call fcn.00499a90
test eax, eax
je 0x4c59f0
mov edx, dword [0x53a464]
push edx
call fcn.004c9ea0
test al, al
je 0x4c59f0
cmp dword [0x5393b8], edi
jne 0x4c59f0
mov eax, dword [0x53a464]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov edi, edi
push edi
push edi
call fcn.004c50a0
test al, al
jne 0x4c59f0
mov ecx, 0x544c94
call fcn.004c5c30
call fcn.004b8ed0
mov byte [0x5393ca], 1
mov ecx, dword [0x53a3d0]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEvent]
xor esi, esi
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x538300], 0
jle 0x4c5a3c
push 0x64
call edi
dec esi
cmp esi, 0xc8
jl 0x4c5a26
mov edx, dword [0x53a3d0]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x539320], 0
je 0x4c5b48
mov dword [0x539320], 0xffffffff
xor esi, esi
cmp dword [0x539320], 0
je 0x4c5b65
push 0x64
call edi
inc esi
cmp esi, 0xa
jl 0x4c5a62
jmp 0x4c5b65
mov ecx, dword [0x53a464]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x4c5924
call fcn.004b9050
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004b7c20
mov eax, 1
jmp 0x4c5baf
test bl, bl
je 0x4c5acd
push 0x555ba2
call fcn.004c3130
push 0x555ba2
mov ecx, 0x544c98
call fcn.00492f40
jmp 0x4c5ad7
mov ecx, 0x544c98
call fcn.0048e600
push edi
mov ecx, 0x544c98
call fcn.00492300
mov ecx, 0x544c88
call fcn.00476ec0
jmp 0x4c5924
push 0x549660
call fcn.0047e760
call fcn.004b9050
cmp dword [0x539324], 1
jne 0x4c5924
push edi
push str.WinRarWindow
call ebx
test eax, eax
sete dl
movzx eax, dl
push eax
push 1
call fcn.004bc760
mov ecx, 0x52c148
call fcn.00446880
mov esi, dword [0x52c138]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004b7c20
mov eax, esi
jmp 0x4c5baf
push 0
push str.WinRarWindow
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
sete al
movzx ecx, al
push ecx
push 1
call fcn.004bc760
mov ecx, 0x52c148
call fcn.00446880
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004b7c20
xor eax, eax
jmp 0x4c5baf
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x3014]
xor ecx, ebp
call fcn.004e34f4
add ebp, 0x3018
mov esp, ebp
pop ebp
ret 0x10