Function at 0x42e622
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2dc
mov eax, dword [0x5c2460]
xor eax, esp
mov dword [esp + 0x2d8], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
push 0x42dcfc
mov dword [esp + 0x14], ebx
call fcn.00501eaa
mov dword [esp], 0x42dcfc
call fcn.00502676
mov dword [esp], fcn.0042dd10
call fcn.00520655
pop ecx
push 1
call fcn.0050541c
mov dword [esp], 0x5d8e60
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x409d6c
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
push str.setup_process
lea ecx, [esp + 0x4c]
call fcn.0040503c
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x50]
mov ecx, 0x5c92dc
push eax
call fcn.0040528b
push ebx
push 1
lea ecx, [esp + 0x50]
call fcn.00405320
push 0x7d0
lea eax, [esp + 0x1c]
mov dword [0x5d73f0], 0x42dd15
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
push 8
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
call fcn.005026c6
pop ecx
test eax, eax
je 0x42ea46
mov dword [esp + 0x30], eax
lea ecx, [esp + 0x30]
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov eax, dword [esp + 0x30]
push 2
push ebx
mov byte [esp + 0x17], bl
mov dword [eax], ecx
mov eax, dword [0x768f08]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x20]
mov dword [0x768f08], eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
je 0x42e731
call fcn.0043242a
jmp 0x42e736
mov byte [esp + 0xf], 1
mov esi, dword [0x768cd0]
mov dword [0x768ca0], 3
test esi, esi
jne 0x42e755
call fcn.0045ebf0
mov esi, dword [0x768cd0]
push str.fast
mov ecx, esi
mov dword [0x768ca0], 3
call fcn.0045f070
test al, al
je 0x42e77b
call fcn.0042e3e7
mov esi, eax
jmp 0x42e9e7
call fcn.0042eea1
push 0x191
push 0x1c
call fcn.0042f55d
xor eax, eax
push 0x206
mov word [esp + 0xdc], ax
lea eax, [esp + 0xde]
push ebx
push eax
call fcn.005091d0
add esp, 0xc
lea eax, [esp + 0xd8]
push 0x103
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x42e7e4
lea ecx, [esp + 0xd8]
call fcn.00431d19
test al, al
jne 0x42e7e4
call fcn.0042eea1
mov esi, dword [0x7689d8]
jmp 0x42e9e7
mov eax, str.exe_path
push eax
mov dword [esp + 0x14], eax
call fcn.00404a2a
pop ecx
mov dword [esp + 0x14], eax
mov ecx, esi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.0045f170
cmp dword [esp + 0x88], ebx
je 0x42e83d
cmp dword [esp + 0x8c], 8
mov ecx, dword [esp + 0x78]
jae 0x42e824
lea ecx, [esp + 0x78]
call fcn.00431d19
test al, al
jne 0x42e83d
call fcn.0042eea1
mov esi, dword [0x7689d8]
jmp 0x42e9d8
call fcn.0042eea1
push 0x192
push 0x1c
call fcn.0042f55d
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [esp + 0xac]
call fcn.004058f0
lea ebx, [esp + 0xd8]
mov eax, ebx
push eax
call fcn.004049e1
lea ecx, [esp + 0x64]
mov dword [esp], 0x53fc30
mov esi, eax
call fcn.004058f0
push eax
lea ecx, [esp + 0x14]
call fcn.004050d6
push dword [esp + 0x14]
push dword [esp + 0x14]
push esi
push ebx
push ecx
lea ecx, [esp + 0xbc]
call fcn.0045ae40
add esp, 0x14
lea ecx, [esp + 0x60]
xor ebx, ebx
push ebx
push 1
call fcn.0040536f
cmp dword [esp + 0xb8], 3
ja 0x42e8ce
call fcn.0042eea1
mov esi, dword [0x7689d8]
jmp 0x42e9c9
call fcn.0042eea1
push 0x193
push 0x1c
call fcn.0042f55d
call fcn.004446f9
test al, al
jne 0x42e963
mov edx, 0x138a
lea ecx, [esp + 0x60]
call fcn.0044506f
mov edx, 0x1388
lea ecx, [esp + 0x90]
call fcn.0044506f
call fcn.004211f0
cmp dword [eax + 0x1c], ebx
ja 0x42e943
cmp dword [esp + 0x74], 8
mov ecx, dword [esp + 0x60]
jae 0x42e920
lea ecx, [esp + 0x60]
cmp dword [esp + 0xa4], 8
mov eax, dword [esp + 0x90]
jae 0x42e938
lea eax, [esp + 0x90]
push 0x10
push ecx
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.0042eea1
mov esi, dword [0x7689d8]
lea ecx, [esp + 0x90]
push ebx
push 1
call fcn.0040536f
lea ecx, [esp + 0x60]
jmp 0x42e9c1
call fcn.0041fa7f
mov ecx, eax
call fcn.0041fc77
call fcn.0042e588
call fcn.004213c1
mov ecx, eax
call fcn.004213e8
call fcn.00420ae1
call fcn.00420cd4
mov ecx, eax
call fcn.00420cf2
mov ecx, edi
call fcn.0042de4a
mov esi, eax
lea eax, [esp + 0xc0]
push eax
call fcn.0041fa7f
mov ecx, eax
call fcn.004202a2
lea ecx, [esp + 0xc0]
call fcn.00432e3e
lea ecx, [esp + 0xc0]
push ebx
push 1
call fcn.0040536f
push ebx
push 1
lea ecx, [esp + 0xb0]
call fcn.0040536f
push ebx
push 1
lea ecx, [esp + 0x80]
call fcn.0040536f
cmp byte [esp + 0xf], 0
je 0x42e9f4
call dword [sym.imp.ole32.dll_CoUninitialize]
cmp dword [0x768f08], 0
je 0x42ea0b
call fcn.0046c6e0
mov eax, dword [esp + 0x44]
mov dword [0x768f08], eax
lea ecx, [esp + 0x30]
call fcn.0046c8a0
push dword [esp + 0x30]
call fcn.0050269b
pop ecx
lea eax, [esp + 0x18]
mov dword [esp + 0x30], ebx
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov ecx, dword [esp + 0x2e4]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00501d03
mov esp, ebp
pop ebp
ret 0x10
call fcn.0051fe84
int3