Function at 0x506380
Capabilities:
Create thread

Disassembly:
push ebp
lea ebp, [esp - 0x3044]
mov eax, 0x3044
call fcn.0051dcc0
push 0xffffffffffffffff
push 0x53fd0d
mov eax, dword fs:[0]
push eax
sub esp, 0x14
mov eax, dword [0x572844]
xor eax, ebp
mov dword [ebp + 0x3040], 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 + 0x304c]
push 1
call fcn.004b0e30
push 0x8005
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov ecx, 0x588ac0
call fcn.00473550
mov byte [0x57a0f1], 0
mov dword [0x57b10c], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x57b110], eax
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [0x57b114], eax
push str.WMUser_DisplayError
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov dword [0x57b11c], eax
push 0x542a58
call fcn.004c0ad0
test al, al
sete bl
mov byte [ebp - 0x12], bl
push 1
push 0x800
lea eax, [ebp + 0x102c]
push eax
call fcn.004949d0
push 0x800
lea eax, [ebp + 0x102c]
push eax
call fcn.00493970
push 0x800
lea eax, [ebp + 0x102c]
push eax
push 0x57a0f8
call fcn.004b0360
push 0x800
push str.rar.log
push 0x57a0f8
call fcn.004b0300
push 0
push esi
mov ecx, 0x5b6820
call fcn.004a9b70
push str.winrar.lng
mov ecx, 0x5b6880
call fcn.004a8520
mov dword [ebp + 4], 0
mov dword [ebp + 0xc], 0
mov dword [ebp + 0x10], 0
mov dword [ebp + 8], 0x503eb0
mov dword [ebp + 0x14], esi
push 0x65
push dword [0x5b6818]
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [ebp + 0x18], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x20], 0x10
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x28], str.WinRarWindow
lea eax, [ebp + 4]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
je 0x506d5f
mov dword [ebp + 8], 0x4d1910
mov dword [ebp + 0x20], 6
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x28], str.RarTreeWindow
lea eax, [ebp + 4]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
je 0x506d5f
mov dword [ebp + 8], 0x4c43c0
mov dword [ebp + 0x20], 0x10
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x28], str.RarReminder
lea eax, [ebp + 4]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
je 0x506d5f
mov dword [ebp + 8], 0x50a650
mov dword [ebp + 0x20], 6
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x10], 0x10
mov dword [ebp + 0x28], str.RarViewWindow
lea eax, [ebp + 4]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
je 0x506d5f
mov dword [ebp + 8], 0x4f7de0
mov dword [ebp + 0x20], 6
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x10], 0
mov dword [ebp + 0x28], str.RarCmtWindow
lea eax, [ebp + 4]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
je 0x506d5f
lea ecx, [ebp - 0x20]
call fcn.004f69c0
mov dword [ebp - 4], 0
mov dword [0x5b681c], esi
mov ecx, 0x5a57a8
call fcn.00407d90
call fcn.004e77d0
call fcn.004e2030
call fcn.00506020
push str.WinRAR_Busy
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [0x57a0ec], eax
push 0
push str.WinRarWindow
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [ebp - 0x18], eax
push 0
push esi
push 0
push 0
push SysReAllocString
push SysReAllocString
push SysReAllocString
push SysReAllocString
push 0x6cf0000
push 0x545f9c
push str.WinRarWindow
push 0x10
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x57a0c8], eax
test eax, eax
je 0x506d50
push eax
mov ecx, 0x5b6880
call fcn.004a92e0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov edi, eax
cmp byte [0x5e77a0], 0
jne 0x5066a3
push esi
call dword [sym.imp.KERNEL32.dll_GetPriorityClass]
mov dword [0x5e77a8], eax
push edi
call dword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov dword [0x5e77a4], eax
mov byte [0x5e77a0], 1
push 1
push str.Priority
push 0x542a58
call fcn.004c2f20
sub eax, 0
je 0x5066d3
sub eax, 1
jne 0x5066e5
push dword [0x5e77a8]
push esi
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
push dword [0x5e77a4]
jmp 0x5066de
push 0x40
push esi
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
push 0
push edi
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
call fcn.00505d00
call fcn.00402c70
test bl, bl
je 0x50670d
call fcn.004c3aa0
test al, al
jne 0x50670d
push 1
push 0
call fcn.0040d4e0
test al, al
mov byte [ebp - 0x11], 1
je 0x506711
mov byte [ebp - 0x11], 0
lea eax, [ebp + 0x302c]
push eax
call fcn.0040c6b0
movzx eax, word [ebp + 0x302c]
push eax
call fcn.004b4390
movzx esi, ax
push 0x434
push 0
push 0x57b158
call fcn.005201d0
add esp, 0xc
push 0
push 0
push 1
mov ecx, 0x588ac0
call fcn.00473be0
call fcn.004139e0
test si, si
je 0x5067c1
mov al, byte [0x58aad4]
test al, al
jne 0x5067c1
push esi
push str.AFUMD
call fcn.0051f225
add esp, 8
test eax, eax
jne 0x5067a8
cmp esi, 0x43
jne 0x506784
cmp word [ebp + 0x302e], ax
je 0x5067a8
mov al, byte [0x58aad4]
test al, al
jne 0x5067c1
push esi
push 0x5575e0
call fcn.0051f225
add esp, 8
test eax, eax
je 0x5067c1
push 0
call fcn.004f6210
jmp 0x5067c8
call fcn.004eb250
cmp esi, 0x44
je 0x5067b7
cmp esi, 0x43
jne 0x5067c8
xor eax, eax
mov word [0x589ad0], ax
jmp 0x5067c8
push 0
call fcn.004e7810
push 0
push 0
push 1
mov ecx, 0x588ac0
call fcn.00473be0
push 0x588ac0
mov ecx, 0x598200
call fcn.0040a6b0
push 0x800
push 0x59701a
push 0x5790c8
call fcn.004b0360
xor eax, eax
mov word [0x59701a], ax
push 0x800
lea eax, [ebp + 0x2c]
push eax
call fcn.004ed8e0
lea eax, [ebp + 0x2c]
push eax
mov ecx, 0x5a84b0
call fcn.00457230
mov dword [0x57a0e4], 0
mov byte [ebp - 4], 1
call fcn.0040c2f0
mov dword [ebp - 4], 0
mov esi, dword [0x57a0c8]
cmp dword [0x57a0e4], 1
je 0x506875
push 0
push str.OnTop
push 0x542a58
call fcn.004c2f20
push 3
push 0
push 0
push 0
push 0
xor ecx, ecx
test eax, eax
setne cl
add ecx, 0xfffffffe
push ecx
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
cmp word [0x58ebee], 0
je 0x5068ab
push 0x58ebee
call fcn.00495850
push 0x800
push 0x58ebee
push 0x57a0f8
cmp eax, 0x58ebee
jne 0x5068a6
call fcn.00495960
jmp 0x5068ab
call fcn.004b0360
push 0
push 0
push 0x8003
push dword [0x57a0c8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x57a0c8]
test eax, eax
je 0x506ad6
cmp word [0x595ffa], 0
jne 0x506b69
cmp byte [0x58fc80], 0
je 0x5068ed
push 6
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
xor bl, bl
cmp word [0x59701a], 0
je 0x506ab6
push 0x59701a
call fcn.00483890
cmp eax, 0xffffffff
je 0x506912
test al, 0x10
je 0x506912
mov bl, 1
cmp word [0x59701a], 0
je 0x506a8a
test bl, bl
jne 0x506a8e
push 0
push str.ReuseWindow
push 0x542a58
call fcn.004c2f20
mov ebx, dword [ebp - 0x18]
test eax, eax
je 0x506a29
test ebx, ebx
je 0x506a29
push 0
push 0x800
lea eax, [ebp + 0x202c]
push eax
call fcn.004ec500
push 0x800
lea eax, [ebp + 0x202c]
push eax
call fcn.00493970
push 0x800
push str.Rar_
lea eax, [ebp + 0x202c]
push eax
call fcn.004b0300
lea ecx, [ebp + 0x202c]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x506990
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp + 0x202c]
push eax
push 0x59701a
call fcn.004b4460
test eax, eax
je 0x506a29
push str.RarArchiveWideName
push 0x1000
push 0
push 0x8000004
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov edi, eax
test edi, edi
je 0x506a29
push 0x1000
push 0
push 0
push 2
push edi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov esi, eax
push 0x800
push esi
push 0x59701a
mov ecx, 0x5a84b0
call fcn.00452e10
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push 0x7ae964f1
push 0xd489ac5e
push 0x8001
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
jne 0x506a6c
push 0x59701a
mov ecx, 0x5a84b0
call fcn.00453590
test al, al
je 0x506a6c
cmp byte [0x57a0e0], 0
jne 0x506ad9
cmp dword [0x57a0d8], 0
je 0x506a5e
mov ecx, 0x5a84b0
call fcn.00456a40
jmp 0x506ad9
push dword [0x57a0c8]
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x506ad9
call fcn.004f33d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004f6a40
mov eax, 1
jmp 0x506d61
test bl, bl
je 0x506ab6
push 0x800
push 0x59701a
push 0x59701a
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
push 1
push 0x59701a
mov ecx, 0x5a84b0
call fcn.004501b0
jmp 0x506ac0
mov ecx, 0x5a84b0
call fcn.00456c30
push 0
mov ecx, 0x5a84b0
call fcn.00455ed0
mov ecx, 0x5a8074
call fcn.004024b0
mov ebx, dword [ebp - 0x18]
push ebx
push 0x10000
push 0x4f7bd0
call fcn.0052713c
add esp, 0xc
push dword [0x57a0c8]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x506bff
push 0x2c
push eax
lea eax, [ebp]
push eax
push str.Placement
push str.InterfaceMainWin
call fcn.004c2fc0
test eax, eax
je 0x506be1
mov eax, dword [ebp + 8]
cmp eax, 2
jne 0x506b2e
mov eax, 1
mov dword [ebp + 8], eax
test ebx, ebx
je 0x506bc8
cmp eax, 3
je 0x506bc8
push 0x256
mov eax, dword [ebp + 0x28]
sub eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x24]
sub eax, dword [ebp + 0x1c]
push eax
push 0
push 0
push 0
push dword [0x57a0c8]
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x506bef
push 0x57b158
call fcn.0040c760
call fcn.004f33d0
cmp dword [0x57a0e4], 1
jne 0x506ad6
push 0
push str.WinRarWindow
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
sete al
movzx eax, al
push eax
push 1
call fcn.004f79a0
mov ecx, 0x5b68e8
call fcn.00488500
mov esi, dword [0x5b68fc]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004f6a40
mov eax, esi
jmp 0x506d61
mov dword [ebp], 0x2c
lea eax, [ebp]
push eax
push dword [0x57a0c8]
call dword [sym.imp.USER32.dll_SetWindowPlacement]
jmp 0x506bef
push 1
push dword [0x57a0c8]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x57a0d8]
test eax, eax
je 0x506bff
push eax
call dword [sym.imp.USER32.dll_SetFocus]
push dword [0x57a0c8]
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp byte [ebp - 0x11], 0
je 0x506c3a
cmp byte [ebp - 0x12], 0
je 0x506c3a
push 0x5429fc
call fcn.004c0ad0
test al, al
jne 0x506c3a
push 0x542b1c
call fcn.0044c830
test al, al
jne 0x506c3a
push 6
call fcn.0040ffe0
push 0
push str.ExportedSettings
push 0x54266c
call fcn.004c2f20
test eax, eax
je 0x506c54
call fcn.0040d430
push 0
push 1
call fcn.004c4a50
push 0
push str.WizardMode
push 0x542a58
call fcn.004c2f20
test eax, eax
je 0x506c96
push dword [0x57a0c8]
call fcn.0050b5b0
test al, al
je 0x506c96
cmp dword [0x57a0d8], 0
jne 0x506c96
push dword [0x57a0c8]
call dword [sym.imp.USER32.dll_DestroyWindow]
push 0
push 0
call fcn.00505810
test al, al
jne 0x506c96
push 1
push 0
push 0
call fcn.004ecef0
mov ecx, 0x57b58c
call fcn.005077c0
call fcn.004f7dc0
mov byte [0x57a0f1], 1
push dword [0x57b114]
call dword [sym.imp.KERNEL32.dll_SetEvent]
xor esi, esi
cmp dword [0x57b10c], 0
jle 0x506cec
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
dec esi
cmp esi, 0xc8
jl 0x506cd2
push dword [0x57b114]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x57a0e8], 0
je 0x506d29
or eax, 0xffffffff
mov dword [0x57a0e8], eax
xor esi, esi
jmp 0x506d10
test eax, eax
je 0x506d46
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 0xa
jge 0x506d46
mov eax, dword [0x57a0e8]
jmp 0x506d10
push 0
push str.WinRarWindow
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
sete al
movzx eax, al
push eax
push 1
call fcn.004f79a0
mov ecx, 0x5b68e8
call fcn.00488500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004f6a40
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x3040]
xor ecx, ebp
call fcn.0051dca8
lea esp, [ebp + 0x3044]
pop ebp
ret 0x10