Function at 0x4c1620
Capabilities:
Create thread

Disassembly:
push ebp
lea ebp, [esp - 0x3018]
mov eax, 0x3018
call fcn.004df2e0
push 0xffffffffffffffff
push 0x4f7cb8
mov eax, dword fs:[0]
push eax
sub esp, 0x14
mov eax, dword [0x50fb70]
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.00467140
push 0x8005
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov ecx, 0x545770
call fcn.00436890
mov byte [0x535459], 0
xor edi, edi
mov dword [0x533380], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x5354d8], eax
push edi
push edi
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [0x535440], eax
push str.WMUser_DisplayError
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov dword [0x53338c], eax
push str.General
call fcn.00496400
test al, al
sete byte [ebp - 0x12]
push 1
push 0x800
lea eax, [ebp]
push eax
call fcn.00451310
push 0x800
lea ecx, [ebp]
push ecx
call fcn.00450a60
push 0x800
lea edx, [ebp]
push edx
push 0x533390
call fcn.00466930
push 0x800
push 0x4fabbc
push 0x533390
call fcn.004669b0
push edi
push esi
mov ecx, 0x5275fc
call fcn.00461180
push str.winrar.lng
mov ecx, 0x5275d8
call fcn.00460f20
push esi
call fcn.004c1140
test eax, eax
je 0x4c1d6e
lea ecx, [ebp - 0x20]
call fcn.004b4020
mov dword [ebp - 4], edi
mov dword [0x5275b0], esi
mov ecx, 0x541e38
call fcn.00477f30
call fcn.004aadb0
call fcn.004aa060
call fcn.004bf620
push str.WinRAR_Busy
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [0x5354d4], 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 0x4fafa0
push str.WinRarWindow
push 0x10
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x5354dc], eax
cmp eax, edi
je 0x4c1d5f
push eax
mov ecx, 0x5275d8
call fcn.0045ff10
push edi
call fcn.004bf210
call fcn.004bf570
cmp byte [ebp - 0x12], 0
je 0x4c17ef
push 1
push edi
call fcn.0047f800
test al, al
mov byte [ebp - 0x11], 1
je 0x4c17f3
mov byte [ebp - 0x11], 0
lea eax, [ebp + 0x3000]
push eax
call fcn.0047b720
movzx ecx, word [ebp + 0x3000]
push ecx
call fcn.00469db0
movzx esi, ax
push 0x8c
push edi
push 0x544638
call fcn.004e01d0
add esp, 0xc
push edi
push edi
push 1
mov ecx, 0x545770
call fcn.00438890
cmp si, di
je 0x4c189e
cmp byte [0x547784], 0
jne 0x4c189e
push esi
push str.AFUMD
call fcn.004e2365
add esp, 8
test eax, eax
jne 0x4c185f
cmp si, 0x43
jne 0x4c187b
cmp word [ebp + 0x3002], di
jne 0x4c187b
call fcn.004a9da0
cmp si, 0x44
je 0x4c1870
cmp si, 0x43
jne 0x4c18a4
xor edx, edx
mov word [0x546780], dx
jmp 0x4c18a4
cmp byte [0x547784], 0
jne 0x4c189e
push esi
push 0x501e8c
call fcn.004e2365
add esp, 8
test eax, eax
je 0x4c189e
push edi
call fcn.004b19c0
jmp 0x4c18a4
push edi
call fcn.004a9c20
push edi
push edi
push 1
mov ecx, 0x545770
call fcn.00438890
push 0x545770
mov ecx, 0x535910
call fcn.00419440
xor eax, eax
jmp 0x4c18d0
movzx ecx, word [eax + 0x550b7a]
mov word [eax + 0x534440], cx
add eax, 2
cmp cx, di
jne 0x4c18d0
xor eax, eax
mov word [0x550b7a], ax
push 0x800
lea ecx, [ebp + 0x1000]
push ecx
call fcn.004ae690
lea edx, [ebp + 0x1000]
push edx
mov ecx, 0x53fd10
call fcn.0048bac0
mov dword [0x5343a4], edi
mov byte [ebp - 4], 1
call fcn.0047ca00
mov dword [ebp - 4], edi
mov eax, dword [0x5354dc]
push eax
call fcn.004bf2c0
cmp word [0x54a898], di
je 0x4c1978
push 0x54a898
call fcn.00450f20
cmp eax, 0x54a898
jne 0x4c195d
push 0x800
push 0x54a898
push 0x533390
call fcn.004510f0
jmp 0x4c1978
mov ecx, 0x54a898
mov edx, 0x533390
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, di
jne 0x4c1967
push edi
push edi
push 0x8003
mov ecx, dword [0x5354dc]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x5354dc], edi
je 0x4c1b14
cmp word [0x54fb5a], di
jne 0x4c1ce1
xor bl, bl
cmp word [0x550b7a], di
je 0x4c1cbd
push 0x550b7a
call fcn.00442db0
cmp eax, 0xffffffff
je 0x4c19c9
test al, 0x10
je 0x4c19c9
mov bl, 1
cmp word [0x550b7a], di
je 0x4c1c9e
test bl, bl
jne 0x4c1ca2
push edi
push str.ReuseWindow
push str.General
call fcn.00496520
test eax, eax
je 0x4c1ade
cmp dword [ebp - 0x18], edi
je 0x4c1ade
push edi
push 0x800
lea edx, [ebp + 0x2000]
push edx
call fcn.004ad2b0
push 0x800
lea eax, [ebp + 0x2000]
push eax
call fcn.00450a60
push 0x800
push str.Rar_
lea ecx, [ebp + 0x2000]
push ecx
call fcn.004669b0
lea eax, [ebp + 0x2000]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x4c1a41
sub eax, edx
sar eax, 1
push eax
lea edx, [ebp + 0x2000]
push edx
push 0x550b7a
call fcn.00469c50
test eax, eax
je 0x4c1ade
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 0x550b7a
mov ecx, 0x53fd10
call fcn.0048bb10
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 0x4c1c80
xor edi, edi
push 0x550b7a
mov ecx, 0x53fd10
call fcn.00490eb0
test al, al
je 0x4c1c80
cmp byte [0x533389], 0
jne 0x4c1b14
cmp dword [0x534430], edi
je 0x4c1c6e
mov ecx, 0x53fd10
call fcn.00491600
mov esi, dword [ebp - 0x18]
push esi
push 0x10000
push 0x4bb610
call fcn.004e47a2
add esp, 0xc
mov ecx, dword [0x5354dc]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4c1b49
cmp esi, edi
setne dl
movzx eax, dl
push eax
call fcn.004bf310
mov ecx, dword [0x5354dc]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp byte [ebp - 0x11], 0
je 0x4c1b85
cmp byte [ebp - 0x12], 0
je 0x4c1b85
push str.Setup
call fcn.00496400
test al, al
jne 0x4c1b85
push str..rar
call fcn.00488fd0
test al, al
jne 0x4c1b85
push 6
call fcn.0047f5f0
push edi
push str.ExportedSettings
push 0x4f9a98
call fcn.00496520
test eax, eax
je 0x4c1b9e
call fcn.0047f4f0
push edi
push 1
call fcn.00496d90
push edi
push str.WizardMode
push str.General
call fcn.00496520
test eax, eax
je 0x4c1be0
mov edx, dword [0x5354dc]
push edx
call fcn.004c60b0
test al, al
je 0x4c1be0
cmp dword [0x534430], edi
jne 0x4c1be0
mov eax, dword [0x5354dc]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov edi, edi
push edi
push edi
call fcn.004c12a0
test al, al
jne 0x4c1be0
mov ecx, 0x53fd0c
call fcn.004c1e30
call fcn.004b5320
mov byte [0x535459], 1
mov ecx, dword [0x535440]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEvent]
xor esi, esi
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x533380], 0
jle 0x4c1c2c
push 0x64
call edi
dec esi
cmp esi, 0xc8
jl 0x4c1c16
mov edx, dword [0x535440]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x5343a0], 0
je 0x4c1d38
mov dword [0x5343a0], 0xffffffff
xor esi, esi
cmp dword [0x5343a0], 0
je 0x4c1d55
push 0x64
call edi
inc esi
cmp esi, 0xa
jl 0x4c1c52
jmp 0x4c1d55
mov ecx, dword [0x5354dc]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x4c1b14
call fcn.004b54a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004b4090
mov eax, 1
jmp 0x4c1d9f
test bl, bl
je 0x4c1cbd
push 0x550b7a
call fcn.004bf3c0
push 0x550b7a
mov ecx, 0x53fd10
call fcn.00490fd0
jmp 0x4c1cc7
mov ecx, 0x53fd10
call fcn.0048c6c0
push edi
mov ecx, 0x53fd10
call fcn.004903d0
mov ecx, 0x53fd00
call fcn.00476020
jmp 0x4c1b14
push 0x544638
call fcn.0047d550
call fcn.004b54a0
cmp dword [0x5343a4], 1
jne 0x4c1b14
push edi
push str.WinRarWindow
call ebx
test eax, eax
sete dl
movzx eax, dl
push eax
push 1
call fcn.004b8ad0
mov ecx, 0x5275c8
call fcn.00445e80
mov esi, dword [0x5275b8]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004b4090
mov eax, esi
jmp 0x4c1d9f
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.004b8ad0
mov ecx, 0x5275c8
call fcn.00445e80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004b4090
xor eax, eax
jmp 0x4c1d9f
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.004df2c4
add ebp, 0x3018
mov esp, ebp
pop ebp
ret 0x10