Function at 0x4502cd
Capabilities:
Accept command line arguments
Check os version

Disassembly:
mov eax, 0x56f37e
call fcn.00566e38
sub esp, 0x16c
mov ecx, 0x5b3868
call fcn.0040b26e
mov byte [0x5b3866], al
lea eax, [ebp - 0x178]
push eax
mov dword [ebp - 0x178], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x450505
cmp dword [ebp - 0x168], 2
jne 0x450505
push esi
call fcn.00543000
call fcn.0045421e
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
call fcn.00450285
mov ecx, 0xc8
xor esi, esi
push esi
mov edx, ecx
call fcn.0040eb3d
xor al, 1
push esi
mov byte [0x5b3864], al
call dword [sym.imp.ole32.dll_OleInitialize]
lea ecx, [ebp - 0x30]
call fcn.004025e6
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], esi
call fcn.004025e6
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x3c]
call fcn.004025b0
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 2
push eax
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0x3c]
call fcn.0046b4ca
push dword [ebp - 0x3c]
mov byte [ebp - 4], 1
call fcn.00566e0e
pop ecx
lea ecx, [ebp - 0x30]
call fcn.00403f60
lea ecx, [ebp - 0x30]
call fcn.00403ef7
lea ecx, [ebp - 0x24]
call fcn.004025e6
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.004025e6
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 4
push eax
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x30]
call fcn.0046b4ca
lea ecx, [ebp - 0x24]
call fcn.00403f60
lea ecx, [ebp - 0x24]
call fcn.00403ef7
lea ecx, [ebp - 0x18]
call fcn.00403f60
lea ecx, [ebp - 0x18]
call fcn.00403ef7
mov ecx, dword [ebp - 0x18]
mov edx, 0x57db40
call fcn.004033c2
test al, al
je 0x45040a
mov eax, dword [ebp - 0x18]
mov ecx, 0x5b3884
add eax, 4
push eax
call fcn.004027d6
cmp dword [ebp - 0x20], 0
je 0x45041e
lea eax, [ebp - 0x24]
mov ecx, 0x5b3878
push eax
call fcn.00402707
call fcn.0044ffee
test al, al
je 0x45044f
call fcn.0040baf5
call fcn.0046a5f7
test al, al
je 0x45044f
call fcn.0040ca1d
test eax, eax
jne 0x45044f
mov dl, 1
mov ecx, str.SeLockMemoryPrivilege
call fcn.0040c9a6
mov byte [0x5b3867], al
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 6
jb 0x450465
mov byte [0x5b3875], 1
call fcn.0044fd36
mov ecx, 0x5b3890
call fcn.00447ba0
mov ecx, dword [ebp + 8]
call fcn.0044fe28
test eax, eax
je 0x4504dd
push ebx
push 0x48
push dword [0x5b3870]
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
mov ebx, eax
jmp 0x4504b7
lea eax, [ebp - 0x64]
push eax
push ebx
push dword [0x5b3860]
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x4504b7
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push esi
push esi
push esi
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x45048e
call fcn.0043c5be
mov dword [0x5b3860], esi
call dword [sym.imp.ole32.dll_OleUninitialize]
mov esi, dword [ebp - 0x5c]
pop ebx
push dword [ebp - 0x18]
call fcn.00566e0e
push dword [ebp - 0x24]
call fcn.00566e0e
push dword [ebp - 0x48]
call fcn.00566e0e
push dword [ebp - 0x30]
call fcn.00566e0e
add esp, 0x10
mov eax, esi
pop esi
jmp 0x450512
mov ecx, str.Unsupported_Windows_version
call fcn.0044fd4e
xor eax, eax
inc eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
leave
ret 4