Function at 0x140081320
Capabilities:
Accept command line arguments
Check if file exists
Check mutex on windows
Create process on windows
Delete file
Enumerate gui resources
Get common file path
Link many functions at runtime

Disassembly:
push rbp
push r14
push r15
lea rbp, [rsp - 0x29c0]
mov eax, 0x2ac0
call fcn.1401722d0
sub rsp, rax
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x2ae8], rbx
mov qword [rsp + 0x2af0], rsi
mov qword [rsp + 0x2af8], rdi
movaps xmmword [rsp + 0x2ab0], xmm6
mov rax, qword [0x1403b8c08]
xor rax, rsp
mov qword [rbp + 0x29a0], rax
mov rbx, rcx
lea r8, str.halo_desktop_run_mutex
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
test rax, rax
je 0x1400817ba
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1400817ba
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
movdqa xmm0, xmmword [0x1402ecd10]
movdqu xmmword [rbp + 0xf0], xmm0
xor esi, esi
mov word [rbp + 0xe0], si
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], si
jne 0x1400813d0
mov rdx, rax
lea rcx, [rbp + 0xe0]
call fcn.1400810d0
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x140]
call fcn.1400e3140
mov rdx, qword [rbp + 0xf8]
cmp rdx, 8
jb 0x140081442
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008143d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400823d5
call fcn.140171af0
movdqa xmm0, xmmword [0x1402ecd10]
movdqu xmmword [rbp + 0xa0], xmm0
mov word [rbp + 0x90], si
movdqu xmmword [rbp + 0x110], xmm0
mov word [rbp + 0x100], si
mov r8d, 4
lea rdx, [0x1402faa40]
lea rcx, [rbp + 0x100]
call fcn.1400810d0
lea r8, [rbp + 0x90]
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x140]
call fcn.1400e39a0
mov rdx, qword [rbp + 0x118]
cmp rdx, 8
jb 0x1400814e1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400814dc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400823db
call fcn.140171af0
lea rcx, [rbp + 0x90]
cmp qword [rbp + 0xa8], 8
cmovae rcx, qword [rbp + 0x90]
lea rdx, str.desktop
call fcn.140299718
test eax, eax
je 0x140081581
lea rcx, [rbp + 0x90]
cmp qword [rbp + 0xa8], 8
cmovae rcx, qword [rbp + 0x90]
lea rdx, str.startmenu
call fcn.140299718
test eax, eax
je 0x140081581
lea rcx, [rbp + 0x90]
cmp qword [rbp + 0xa8], 8
cmovae rcx, qword [rbp + 0x90]
lea rdx, str.rmenu
call fcn.140299718
test eax, eax
je 0x140081581
lea rcx, [rbp + 0x90]
cmp qword [rbp + 0xa8], 8
cmovae rcx, qword [rbp + 0x90]
lea rdx, str.rmenu_theme
call fcn.140299718
test eax, eax
jne 0x14008174c
mov qword [rbp + 0xd0], rsi
mov qword [rbp + 0xd8], 7
mov word [rbp + 0xc0], si
movdqa xmm0, xmmword [0x1402ecd10]
movdqu xmmword [rbp + 0x130], xmm0
mov word [rbp + 0x120], si
mov r8d, 0xa
lea rdx, str.mirrorPath
lea rcx, [rbp + 0x120]
call fcn.1400810d0
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x140]
call fcn.1400e39a0
mov rdx, qword [rbp + 0x138]
cmp rdx, 8
jb 0x14008162a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140081625
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400823e1
call fcn.140171af0
xor edx, edx
lea rcx, str.Halo_Desktop_Wnd_class
call qword [sym.imp.USER32.dll_FindWindowW]
mov rbx, rax
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x140081706
lea rcx, [rbp + 0x90]
cmp qword [rbp + 0xa8], 8
cmovae rcx, qword [rbp + 0x90]
lea rdx, str.rmenu_theme
call fcn.140299718
mov edx, 0x40e
mov ecx, 0x444
test eax, eax
cmove edx, ecx
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call qword [sym.imp.USER32.dll_SendMessageW]
cmp qword [rbp + 0xd0], rsi
je 0x140081706
mov edx, 2
mov r9d, edx
lea r8d, [rdx + 0x14]
lea rcx, [rbp - 0x10]
call fcn.1400e5dd0
lea rdx, [rbp + 0xc0]
lea rcx, [rbp - 0x10]
call fcn.1400e5d30
mov qword [rbp - 0x50], 0x2711
mov rdx, qword [rbp - 8]
mov ecx, dword [rdx]
add ecx, dword [rbp]
mov dword [rbp - 0x48], ecx
mov qword [rbp - 0x40], rdx
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x1388
mov dword [rsp + 0x20], 1
lea r9, [rbp - 0x50]
xor r8d, r8d
lea edx, [r8 + 0x4a]
mov rcx, rbx
call qword [sym.imp.USER32.dll_SendMessageTimeoutW]
lea rcx, [rbp - 0x10]
call fcn.1400e5ef0
mov rdx, qword [rbp + 0xd8]
cmp rdx, 8
jb 0x14008174c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140081747
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400823e7
call fcn.140171af0
mov rdx, qword [rbp + 0xa8]
cmp rdx, 8
jb 0x140081792
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008178d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400823cf
call fcn.140171af0
movdqa xmm0, xmmword [0x1402ecd10]
movdqu xmmword [rbp + 0xa0], xmm0
mov word [rbp + 0x90], si
lea rcx, [rbp + 0x140]
call fcn.1400e31f0
jmp 0x14008239c
lea rcx, [rsp + 0x58]
call fcn.14007fc00
xor esi, esi
mov dword [0x1403d4ff8], esi
xor edx, edx
mov r8d, 0x208
lea rcx, [0x1403d4df0]
call fcn.140289490
xor edx, edx
mov r8d, 0x208
lea rcx, [0x1403d5000]
call fcn.140289490
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x1790]
call fcn.140289490
mov r8d, 0x104
lea rdx, [rbp + 0x1790]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov r8d, 0x104
lea rdx, [0x1403d4df0]
lea rcx, [rbp + 0x1790]
call fcn.14007d860
lea r8, str.halodesktop
mov edx, 0x104
lea rcx, [0x1403d5000]
call fcn.14029aea4
xor ecx, ecx
call qword [sym.imp.ole32.dll_OleInitialize]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_DefWindowProcW]
mov dword [rsp + 0x70], 8
mov r15d, 4
mov dword [rsp + 0x74], r15d
lea rcx, [rsp + 0x70]
call qword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
xor r9d, r9d
mov r8, rbx
xor edx, edx
lea rcx, [0x1403d5210]
call fcn.14007d9f0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x1370]
call fcn.140289490
lea rax, [rbp + 0x1370]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi + 0x1a]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea rdx, str.HaloDesktopLogHaloDesktop.log
lea rcx, [rbp + 0x1370]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rcx, [rbp + 0x1370]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rbp + 0x1370]
call fcn.1400e9b60
lea rcx, str.HaloTray.exe
call fcn.1400d04a0
test al, al
jne 0x140081a2a
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0xf50]
call fcn.140289490
mov r8d, 0x104
lea rdx, [rbp + 0xf50]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rbp + 0xf50]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea rdx, str.HaloTray.exe
lea rcx, [rbp + 0xf50]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rcx, [rbp + 0xf50]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140081a2a
xor edx, edx
lea r8d, [rsi + 0x64]
lea rcx, [rbp + 0x24]
call fcn.140289490
mov dword [rbp + 0x20], 0x68
lea rcx, [rbp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetStartupInfoW]
mov dword [rbp + 0x5c], 1
mov word [rbp + 0x60], r15w
xor eax, eax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp + 0x19a0]
call fcn.140289490
lea r8, [rbp + 0xf50]
lea rdx, str.__s____fromdesktop
lea rcx, [rbp + 0x19a0]
call fcn.14007c9f0
lea rax, [rbp - 0x80]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x19a0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x140081a2a
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
call fcn.1400f4c40
lea rcx, [rbp + 0x190]
call fcn.1400f01d0
lea rdx, str.skin
lea rcx, [rbp + 0x190]
call fcn.1400ece00
lea rcx, [rbp + 0x190]
call fcn.14009af50
mov rcx, rax
call fcn.1400f4eb0
mov dl, 1
lea rcx, str.desktop.uiz
call fcn.1400f4fa0
mov r14, rsi
mov rdi, rsi
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x1580]
call fcn.140289490
mov edx, 0x104
lea rcx, [rbp + 0x1580]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea rdx, str.Shcore.dll
lea rcx, [rbp + 0x1580]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rcx, [rbp + 0x1580]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140081b0c
lea rcx, [rbp + 0x1580]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbx, rax
test rax, rax
je 0x140081b0c
lea rdx, str.SetProcessDpiAwareness
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
lea rdx, str.GetProcessDpiAwareness
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.GetDpiForMonitor
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, str.User32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rbx, rax
test rax, rax
je 0x140081b64
lea rdx, str.SetProcessDPIAware
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
lea rdx, str.IsProcessDPIAware
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.LogicalToPhysicalPoint
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.PhysicalToLogicalPoint
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test r14, r14
je 0x140081b75
mov ecx, 2
call r14
test eax, eax
jns 0x140081b7c
test rdi, rdi
je 0x140081b7c
call rdi
xor ecx, ecx
call fcn.1400bd710
mov rbx, qword [0x1403d53a8]
test rbx, rbx
jne 0x140081bbb
mov ecx, 0x218
call fcn.140171ab4
test rax, rax
je 0x140081baf
mov rcx, rax
call fcn.1400aef30
mov qword [0x1403d53a8], rax
jmp 0x140081bd7
mov rax, rsi
mov qword [0x1403d53a8], rax
jmp 0x140081bd7
mov rcx, rbx
call fcn.1400afa30
mov edx, 0x218
mov rcx, rbx
call fcn.140171af0
mov qword [0x1403d53a8], rsi
mov dword [rbp - 0x68], 1
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], rsi
xor r8d, r8d
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x30]
call sub.gdiplus.dll_GdiplusStartup
mov rdi, qword [0x1403d4da8]
lea rcx, [rdi + 0x18]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r14d, eax
mov rbx, qword [0x1403d5268]
mov ecx, dword [rbx + 0x10]
inc ecx
movsxd rdx, ecx
mov r8, r15
mov rcx, qword [rbx]
call fcn.14028ff88
lea r15, [0x1403b8240]
test rax, rax
je 0x140081c7f
mov qword [rbx], rax
mov eax, dword [rbx + 0x10]
inc eax
movsxd rdx, eax
mov r8d, 8
mov rcx, qword [rbx + 8]
call fcn.14028ff88
test rax, rax
je 0x140081c7f
mov qword [rbx + 8], rax
movsxd rdx, dword [rbx + 0x10]
mov rcx, qword [rbx]
lea r8, [rcx + rdx*4]
test r8, r8
je 0x140081c70
mov dword [r8], r14d
mov rax, qword [rbx + 8]
lea rcx, [rax + rdx*8]
test rcx, rcx
je 0x140081c7c
mov qword [rcx], r15
inc dword [rbx + 0x10]
lea rcx, [rdi + 0x18]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [reloc.WS2_32.dll_accept], esi
je 0x140081d1b
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x64], esi
mov dword [rsp + 0x5c], esi
mov edi, esi
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbx, rax
test rax, rax
je 0x140081d15
lea rdx, str.RtlGetNtVersionNumbers
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140081cec
lea r8, [rsp + 0x5c]
lea rdx, [rsp + 0x64]
lea rcx, [rsp + 0x60]
call rax
movzx eax, word [rsp + 0x5c]
mov dword [rsp + 0x5c], eax
mov edi, 1
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x140081d15
cmp dword [rsp + 0x60], 6
jne 0x140081d09
cmp dword [rsp + 0x64], 1
jae 0x140081d0b
jmp 0x140081d15
jbe 0x140081d15
mov dword [0x1403d52d8], 1
mov dword [reloc.WS2_32.dll_accept], esi
cmp dword [0x1403d52d8], esi
je 0x140081d4b
lea rdx, str.Program_Manager
lea rcx, str.Progman
call qword [sym.imp.USER32.dll_FindWindowW]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x52c
mov rcx, rax
call qword [sym.imp.USER32.dll_SendMessageW]
lea rdx, str.Program_Manager
lea rcx, str.Progman
call qword [sym.imp.USER32.dll_FindWindowW]
mov rdi, rax
xor r9d, r9d
lea r8, str.SHELLDLL_DefView
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_FindWindowExW]
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x140081da0
mov qword [rsp + 0x78], rsi
lea rdx, [rsp + 0x78]
lea rcx, [0x14007d760]
call qword [sym.imp.USER32.dll_EnumWindows]
mov rdi, qword [rsp + 0x78]
mov rbx, qword [0x1403d4b98]
test rbx, rbx
jne 0x140081e0e
lea rcx, [0x1403b8008]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [0x1403d4b98], rsi
jne 0x140081dfa
lea ecx, [rbx + 0x38]
call fcn.140171ab4
test rax, rax
je 0x140081dec
mov qword [rax + 0x20], rsi
mov qword [rax + 0x28], rsi
mov qword [rax + 0x30], rsi
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x140081def
mov rax, rsi
lock or dword [rsp], esi
mov qword [0x1403d4b98], rax
lea rcx, [0x1403b8008]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [0x1403d4b98]
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x1160]
call fcn.140289490
mov r8d, 0x104
lea rdx, [rbp + 0x1160]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rbp + 0x1160]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea rdx, str.netul64.dll
lea rcx, [rbp + 0x1160]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rcx, [rbp + 0x1160]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140081f03
cmp qword [rbx], rsi
jne 0x140081f03
lea rcx, [rbp + 0x1160]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbx], rax
test rax, rax
je 0x140081f03
lea rdx, str.HttpInit
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 8], rax
lea rdx, str.HttpUninit
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x10], rax
lea rdx, str.zlib_uncompress
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x20], rax
lea rdx, str.zlib_compress
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x28], rax
lea rdx, str.zlib_compressBound
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x30], rax
mov rax, qword [rbx + 8]
test rax, rax
je 0x140081f03
call rax
mov qword [rbx + 0x18], rax
mov rdx, rdi
lea rcx, [rbp + 0x220]
call fcn.140085620
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rsp + 0x30], rsi
lea rax, [rbp - 0x20]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x80
mov r9d, 0x80000000
lea r8, [0x1402fab70]
mov rdx, rdi
lea rcx, [rbp + 0x220]
call fcn.1400f5ec0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xb0], xmm0
xor r9d, r9d
lea r8, [rbp + 0xb0]
xor edx, edx
lea ecx, [rdx + 0x30]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
call fcn.1400ffb70
movd xmm6, eax
cvtdq2pd xmm6, xmm6
divsd xmm6, qword [0x1402fab88]
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x50], esi
call fcn.1400666d0
mov rcx, rax
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x54]
call fcn.14007a430
mov edi, 0x1a0
cmp dword [rsp + 0x54], 0xffffffff
je 0x140081fdd
mov eax, dword [rsp + 0x50]
cmp eax, 0xffffffff
je 0x140081fdd
mulsd xmm6, qword [0x1402fab80]
movd xmm0, dword [rbp + 0xb4]
cvtdq2pd xmm0, xmm0
addsd xmm6, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm6, xmm0
jbe 0x14008202b
jmp 0x140082023
mov edx, edi
lea rcx, [rbp + 0x220]
call fcn.140095250
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
mov eax, dword [rbp + 0xb8]
add eax, dword [rbp + 0xb0]
cdq
sub eax, edx
sar eax, 1
sub eax, r8d
mov dword [rsp + 0x54], eax
mulsd xmm6, qword [0x1402fab80]
movd xmm0, dword [rbp + 0xb4]
cvtdq2pd xmm0, xmm0
addsd xmm6, xmm0
cvttsd2si eax, xmm6
mov dword [rsp + 0x50], eax
call fcn.1400666d0
mov rcx, rax
call fcn.140079550
mov ebx, eax
mov edx, 0x1e5
test eax, eax
cmovne edx, edi
lea rcx, [rbp + 0x220]
call fcn.140095250
mov edi, eax
mov edx, 0xc2
mov eax, 0xa0
test ebx, ebx
cmovne edx, eax
lea rcx, [rbp + 0x220]
call fcn.140095250
mov ebx, eax
lea rcx, [rbp + 0x220]
call fcn.1400f5ac0
mov rcx, rax
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], ebx
mov r9d, edi
mov r8d, dword [rsp + 0x50]
mov edx, dword [rsp + 0x54]
call qword [sym.imp.USER32.dll_MoveWindow]
call fcn.1400666d0
mov rcx, rax
mov r8d, dword [rsp + 0x50]
mov edx, dword [rsp + 0x54]
call fcn.14007c4f0
mov edi, 1
mov ebx, esi
test edi, edi
je 0x1400820f4
nop dword [rax]
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [0x1403b8268]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x1400820f4
mov edx, ebx
mov rcx, r15
mov rax, qword [0x1403b8240]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc ebx
test eax, eax
jne 0x1400820c0
mov edi, esi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [0x1403b8268]
call qword [sym.imp.USER32.dll_GetMessageW]
cmp eax, 0xffffffff
je 0x1400820b5
test eax, eax
je 0x140082186
lea rdx, [0x1403b8268]
mov rcx, r15
mov rax, qword [0x1403b8240]
call qword [rax]
test eax, eax
jne 0x140082143
lea rcx, [0x1403b8268]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [0x1403b8268]
call qword [sym.imp.USER32.dll_DispatchMessageW]
mov eax, dword [0x1403b8270]
sub eax, 0xf
je 0x140082176
sub eax, 0x91
je 0x140082176
sub eax, 0x78
je 0x140082176
cmp eax, 0xe8
je 0x140082176
mov ecx, 1
mov edi, ecx
mov eax, esi
test ecx, ecx
cmove eax, ebx
mov ebx, eax
jmp 0x1400820b5
mov ecx, esi
mov eax, esi
test ecx, ecx
cmove eax, ebx
mov ebx, eax
jmp 0x1400820b5
lea rcx, [rbp + 0x220]
call fcn.140095d00
call fcn.1400c00c0
mov rbx, qword [0x1403d53a8]
test rbx, rbx
je 0x1400821bf
mov rcx, rbx
call fcn.1400afa30
mov edx, 0x218
mov rcx, rbx
call fcn.140171af0
mov qword [0x1403d53a8], rsi
cmp qword [0x1403d4b98], rsi
je 0x14008222e
lea rcx, [0x1403b8008]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x1403d4b98]
test rbx, rbx
je 0x140082221
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1400821f0
mov rcx, qword [rbx + 0x18]
call rax
mov rcx, qword [rbx]
test rcx, rcx
je 0x14008220d
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [rbx], rsi
mov edx, 0x38
mov rcx, rbx
call fcn.140171af0
mov qword [0x1403d4b98], rsi
lea rcx, [0x1403b8008]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [0x1403d4da8]
lea rcx, [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rsp + 0x68], eax
lea rdx, [rsp + 0x68]
mov rcx, qword [0x1403d5268]
call fcn.14007f790
lea rcx, [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rdi, qword [0x1403d4da8]
lea rcx, [rdi + 0x18]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x1403d5270]
test rbx, rbx
je 0x1400822c0
cmp dword [rbx + 8], 0
jle 0x14008229a
mov rcx, qword [rbx]
mov rcx, qword [rcx]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rbx, qword [0x1403d5270]
test rbx, rbx
je 0x1400822c0
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400822af
call fcn.14028fcf4
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
mov edx, InitCommonControls
mov rcx, rbx
call fcn.140171af0
mov qword [0x1403d5270], rsi
lea rcx, [rdi + 0x18]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [0x1403d5268]
test rbx, rbx
je 0x14008230f
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400822ed
call fcn.14028fcf4
mov qword [rbx], rsi
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400822ff
call fcn.14028fcf4
mov qword [rbx + 8], rsi
mov dword [rbx + 0x10], esi
mov edx, SafeArrayCopy
mov rcx, rbx
call fcn.140171af0
mov rbx, qword [0x1403d5258]
test rbx, rbx
je 0x140082343
cmp qword [rbx], 0
je 0x140082343
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140082330
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov qword [rbx + 0x20], rsi
xor ecx, ecx
call qword [rbx + 0x40]
add rbx, 0x48
cmp qword [rbx], 0
jne 0x140082321
mov rbx, qword [0x1403d5290]
mov rdx, qword [0x1403d5298]
cmp rbx, rdx
jae 0x140082373
mov rax, qword [rbx]
test rax, rax
je 0x14008236a
xor ecx, ecx
call qword [rax + 0x38]
mov rdx, qword [0x1403d5298]
add rbx, 8
cmp rbx, rdx
jb 0x140082356
lea rcx, [0x1403d5210]
call fcn.14007ff00
call fcn.1400e9ea0
lea rcx, [rbp + 0x220]
call fcn.140086050
lea rcx, [rbp + 0x190]
call fcn.140067dc0
xor eax, eax
mov rcx, qword [rbp + 0x29a0]
xor rcx, rsp
call fcn.140172190
lea r11, [rsp + 0x2ac0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.14028c66c
int3
call fcn.14028c66c
int3
call fcn.14028c66c
int3
call fcn.14028c66c
int3
call fcn.14028c66c
int3