Function at 0x40b8e9
Capabilities:
Accept command line arguments
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
call fcn.00403343
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor ebx, ebx
mov dword [0x4b0048], eax
mov byte [ebp - 1], bl
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004419bc
mov eax, dword [ebp - 0x1c]
mov dword [ebp + 0x10], eax
lea eax, [ebp + 0x10]
push eax
call fcn.00431c97
push dword [ebp + 0x14]
push dword [ebp + 8]
call fcn.0041a3f0
mov eax, dword [ebp + 0x10]
push 5
mov dword [ebp - 0x14], eax
lea eax, [ebp + 0x10]
push ebx
push eax
call fcn.00417571
add esp, 0x18
cmp eax, ebx
mov dword [ebp + 0x10], eax
je 0x40bb34
mov esi, 0x4afbf4
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
call fcn.00431c97
mov edi, dword [ebp - 8]
cmp word [edi], 0x22
pop ecx
jne 0x40b96e
add edi, 2
push 4
push edi
push 0x49896c
call fcn.00432c59
add esp, 0xc
test al, al
je 0x40b9f8
mov ax, word [edi + 8]
call fcn.00431c5f
test al, al
je 0x40b9f8
push 0x6592
mov ecx, esi
call fcn.004371c5
mov eax, dword [0x4afbf4]
push 0x6590
mov word [eax], bx
push dword [0x4afbf4]
push 0x2713
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_LoadStringW]
push dword [0x4afbf4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
inc eax
push eax
mov ecx, esi
call fcn.004371c5
push edi
lea ecx, [ebp - 0xc]
call fcn.004419bc
mov eax, dword [ebp - 0xc]
call fcn.00404c0b
lea ecx, [ebp - 0xc]
call fcn.00431c4c
mov ecx, esi
mov byte [0x4b3003], bl
call fcn.00431c4c
push 4
push dword [ebp - 8]
push 0x498964
call fcn.00432c59
add esp, 0xc
test al, al
je 0x40ba6b
mov ecx, dword [ebp - 8]
add ecx, 8
xor edx, edx
mov dx, word [ecx]
mov eax, edx
call fcn.00431c5f
test al, al
jne 0x40ba2a
cmp dx, 0x2a
jne 0x40ba6b
mov ax, word [ecx]
call fcn.00431c5f
mov byte [ebp - 2], al
lea eax, [ebp - 0x10]
push eax
mov byte [0x4afb92], bl
mov dword [ebp - 0x10], ecx
call fcn.00431c97
cmp byte [ebp - 2], bl
pop ecx
je 0x40bb39
push 3
push dword [ebp - 0x10]
push 0x498960
call fcn.00432c0f
add esp, 0xc
test al, al
je 0x40bb39
cmp byte [ebp - 1], 2
jge 0x40baa8
push 0x4afb78
mov eax, 0x10000
push eax
push 0x4afc0c
push 0x403126
push eax
push ebx
mov byte [0x4afc0c], 0x11
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, ebx
je 0x40baa2
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x40baa8
mov byte [0x4afc0c], bl
mov al, byte [0x4aff2c]
push dword [ebp - 0x14]
mov byte [0x4afb90], al
call fcn.004032b8
pop ecx
push ebx
mov ecx, 0x4aff28
call fcn.00429312
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x49895e
mov ecx, 0x4aff68
call fcn.0043723b
mov eax, dword [0x4afbcc]
cmp eax, ebx
mov dword [0x4aff60], ebx
mov dword [0x4aff64], ebx
mov byte [0x4b3003], bl
mov byte [0x4afc0d], 0x20
je 0x40bb5d
push dword [ebp + 0x14]
mov byte [0x4ae290], 1
push dword [ebp + 8]
mov dword [ebp + 0x10], eax
mov byte [ebp - 1], 2
call fcn.0041a3f0
mov eax, dword [ebp + 0x10]
push 5
mov dword [ebp - 0x14], eax
lea eax, [ebp + 0x10]
push ebx
push eax
call fcn.00417571
add esp, 0x14
cmp eax, ebx
mov dword [ebp + 0x10], eax
jne 0x40b955
or esi, 0xffffffff
jmp 0x40bb7d
mov eax, dword [ebp - 8]
add eax, 8
push eax
lea ecx, [ebp - 0x18]
call fcn.004419bc
push dword [ebp - 0x18]
mov ecx, 0x4aff28
call fcn.004265bb
lea ecx, [ebp - 0x18]
call fcn.00431c4c
cmp byte [0x4afd5e], bl
je 0x40bb6a
call fcn.0040e4e2
mov ecx, 0x4aff28
call fcn.00432208
mov esi, eax
push esi
call fcn.00431d95
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.00431c4c
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0x10