Function at 0x42161b
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1074
call fcn.00448890
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x1070], eax
push ebx
push esi
push edi
xor ebx, ebx
mov esi, ecx
push ebx
mov dword [esp + 0x30], esi
mov edi, edx
mov dword [esp + 0x20], ebx
call dword [sym.imp.ole32.dll_OleInitialize]
cmp edi, ebx
je 0x4217a6
cmp word [esi + 0x32], 0x18
jne 0x4217a6
push esi
lea edi, [esp + 0x54]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
call fcn.00412684
pop ecx
test eax, eax
js 0x421aa0
test dword [esp + 0x70], 0x100
je 0x4216b9
call fcn.004455d4
test dword [esp + 0x70], 0x200
push 2
pop esi
je 0x4216de
push 4
lea eax, [esp + 0x38]
push eax
push ebx
push dword [0x45283c]
mov dword [esp + 0x44], esi
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
call fcn.00410f7f
call fcn.004431eb
test eax, eax
je 0x421763
call fcn.0040b51c
test ax, ax
je 0x421763
call fcn.0043bbc3
test ax, ax
je 0x421763
call fcn.00442901
test ax, ax
je 0x421763
push ebx
call fcn.0043bb74
pop ecx
push 1
push 0x452784
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
cmp eax, esi
jne 0x421737
call fcn.0040f784
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_SetEvent]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [esp + 0x5c]
call dword [sym.imp.USER32.dll_AllowSetForegroundWindow]
lea ecx, [esp + 0x50]
call fcn.0040b94c
mov dword [esp + 0x1c], eax
cmp eax, 4
jne 0x421763
test byte [esp + 0x70], al
je 0x421763
push dword [esp + 0x5c]
call fcn.004246a7
pop ecx
call fcn.00410fd8
cmp byte [0x452778], bl
je 0x42178a
push 1
push 0x12
push 0x12
push ebx
lea eax, [esp + 0xc4]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
call fcn.00409b8c
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push 0x8052
push dword [esp + 0x6c]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x421aa0
call fcn.004431eb
test eax, eax
je 0x421aa0
lea eax, [esp + 0xd0]
push eax
call fcn.00415d36
lea eax, [esp + 0xd0]
mov dword [esp + 0x24], eax
push eax
mov eax, dword [esp + 0xd4]
mov esi, 0x44bf00
mov dword [esp + 0x24], esi
call dword [eax + 4]
lea eax, [esp + 0x30]
push eax
push 1
push 4
lea eax, [esp + 0x2c]
push eax
push 0x4497e0
call dword [sym.imp.ole32.dll_CoRegisterClassObject]
test eax, eax
jns 0x421823
push 0x10
push ebx
push str.register_class_object_failed
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ebx, [esp + 0xd0]
mov dword [esp + 0x20], esi
call fcn.004161f9
or eax, 0xffffffff
jmp 0x421aaa
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov esi, edi
cmp edi, ebx
je 0x42196d
movzx eax, word [edi]
push 0x2f
pop ecx
cmp cx, ax
je 0x42185d
push 0x22
pop ecx
cmp cx, ax
jne 0x42196d
push 0x2f
pop ecx
cmp cx, word [edi + 2]
jne 0x42196d
push 0x22
pop ecx
mov dword [esp + 0x28], 1
cmp cx, ax
jne 0x421885
lea eax, [esp + 0x28]
push eax
push edi
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [esp + 0x14], eax
cmp dword [esp + 0x28], ebx
je 0x421885
mov esi, dword [eax]
cmp esi, ebx
je 0x42196d
mov edi, dword [sym.imp.SHLWAPI.dll_StrCmpNW]
push 6
push 0x44d07c
push esi
call edi
test eax, eax
jne 0x4218cc
mov eax, dword [section.Shared]
add esi, 0xc
test eax, eax
je 0x42196d
mov eax, 0x4000
mov dword [esp + 0x10], 0x6000001b
mov word [esp + 0x38], ax
mov dword [esp + 0x40], esi
jmp 0x42196d
push 5
push str._cmd:
push esi
call edi
test eax, eax
jne 0x421912
lea eax, [esi + 0xa]
push eax
or eax, 0xffffffff
call fcn.0040c03d
pop ecx
mov dword [esp + 0x18], eax
cmp eax, ebx
je 0x42196d
mov eax, dword [section.Shared]
test eax, eax
je 0x42190e
push 3
pop eax
mov word [esp + 0x38], ax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], 0x60000019
jmp 0x42193f
xor eax, eax
jmp 0x42196a
push 8
push str._script:
push esi
call edi
test eax, eax
jne 0x42196d
mov ecx, dword [section.Shared]
lea eax, [esi + 0x10]
test ecx, ecx
je 0x421945
mov ecx, 0x4000
mov dword [esp + 0x10], 0x6000001a
mov word [esp + 0x38], cx
mov dword [esp + 0x40], eax
jmp 0x42196d
push ebx
push 0xffffffffffffffff
push eax
push 0x93ff
push 0x9000
lea ebx, [esp + 0x898]
call fcn.0040c5a6
mov dword [esp + 0x2c], eax
add esp, 0x14
xor eax, eax
xor ebx, ebx
mov word [esi], ax
lea eax, [esp + 0xe8]
call fcn.0042c735
push 8
pop edi
or dword [esp + 0x150], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [esp + 0x160], eax
lea eax, [esp + 0x2e0]
mov dword [esp + 0xfc], eax
cmp dword [esp + 0x10], ebx
je 0x4219c4
push ebx
push ebx
push ebx
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x20]
lea eax, [esp + 0xe4]
call fcn.0041520f
add esp, 0x14
jmp 0x421a60
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], 0x4404
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
call fcn.00410f7f
test al, al
je 0x421a20
lea edi, [esp + 0x2e0]
call fcn.00426128
test al, al
je 0x421a20
mov eax, dword [esp + 0x2c]
test byte [eax + 0x2c], 1
je 0x421a04
movzx eax, word [eax + 0x30]
jmp 0x421a07
push 0xa
pop eax
push eax
push dword [esp + 0x1c]
lea ecx, [esp + 0xd8]
push esi
call fcn.00420a15
add esp, 0xc
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xfb0]
call fcn.00407618
lea eax, [esp + 0x2e0]
call fcn.0042619e
call fcn.00410fd8
lea edi, [esp + 0xe8]
call fcn.00415d0d
mov eax, edi
call fcn.0042ec4a
cmp byte [esp + 0x167], 1
jb 0x421a60
call dword [sym.imp.UxTheme.dll_BufferedPaintUnInit]
push dword [esp + 0x30]
call dword [sym.imp.ole32.dll_CoRevokeClassObject]
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x421a7c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x14], ebx
je 0x421a8c
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ebx, [esp + 0xd0]
mov dword [esp + 0x20], 0x44bf00
call fcn.004161f9
call dword [sym.imp.ole32.dll_OleUninitialize]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x107c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00447d7e
mov esp, ebp
pop ebp
ret