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

Disassembly:
mov eax, 0x56e972
call fcn.00566548
sub esp, 0x16c
mov ecx, 0x5b2868
call fcn.0040b2ca
mov byte [0x5b2866], al
lea eax, [ebp - 0x178]
push eax
mov dword [ebp - 0x178], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x4505ff
cmp dword [ebp - 0x168], 2
jne 0x4505ff
push esi
call fcn.005429d0
call fcn.00454321
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
call fcn.0045037f
mov ecx, 0xc8
xor esi, esi
push esi
mov edx, ecx
call fcn.0040eb98
xor al, 1
push esi
mov byte [0x5b2864], al
call dword [sym.imp.ole32.dll_OleInitialize]
lea ecx, [ebp - 0x30]
call fcn.0040260e
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], esi
call fcn.0040260e
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x3c]
call fcn.004025d8
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 2
push eax
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0x3c]
call fcn.0046b5e8
push dword [ebp - 0x3c]
mov byte [ebp - 4], 1
call fcn.0056651e
pop ecx
lea ecx, [ebp - 0x30]
call fcn.00403fb9
lea ecx, [ebp - 0x30]
call fcn.00403f50
lea ecx, [ebp - 0x24]
call fcn.0040260e
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.0040260e
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 4
push eax
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x30]
call fcn.0046b5e8
lea ecx, [ebp - 0x24]
call fcn.00403fb9
lea ecx, [ebp - 0x24]
call fcn.00403f50
lea ecx, [ebp - 0x18]
call fcn.00403fb9
lea ecx, [ebp - 0x18]
call fcn.00403f50
mov ecx, dword [ebp - 0x18]
mov edx, 0x57cb40
call fcn.00403402
test al, al
je 0x450504
mov eax, dword [ebp - 0x18]
mov ecx, 0x5b2884
add eax, 4
push eax
call fcn.00402804
cmp dword [ebp - 0x20], 0
je 0x450518
lea eax, [ebp - 0x24]
mov ecx, 0x5b2878
push eax
call fcn.0040272f
call fcn.004500e8
test al, al
je 0x450549
call fcn.0040bb51
call fcn.0046a715
test al, al
je 0x450549
call fcn.0040ca79
test eax, eax
jne 0x450549
mov dl, 1
mov ecx, str.SeLockMemoryPrivilege
call fcn.0040ca02
mov byte [0x5b2867], al
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 6
jb 0x45055f
mov byte [0x5b2875], 1
call fcn.0044fe30
mov ecx, 0x5b2890
call fcn.00447ca0
mov ecx, dword [ebp + 8]
call fcn.0044ff22
test eax, eax
je 0x4505d7
push ebx
push 0x48
push dword [0x5b2870]
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
mov ebx, eax
jmp 0x4505b1
lea eax, [ebp - 0x64]
push eax
push ebx
push dword [0x5b2860]
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x4505b1
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 0x450588
call fcn.0043c683
mov dword [0x5b2860], esi
call dword [sym.imp.ole32.dll_OleUninitialize]
mov esi, dword [ebp - 0x5c]
pop ebx
push dword [ebp - 0x18]
call fcn.0056651e
push dword [ebp - 0x24]
call fcn.0056651e
push dword [ebp - 0x48]
call fcn.0056651e
push dword [ebp - 0x30]
call fcn.0056651e
add esp, 0x10
mov eax, esi
pop esi
jmp 0x45060c
mov ecx, str.Unsupported_Windows_version
call fcn.0044fe48
xor eax, eax
inc eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
leave
ret 4