Function at 0x40b823
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x400
movsx eax, byte [0x43ac7d]
push ebx
or eax, 0xe0afffff
push esi
push edi
mov dword [0x43acb0], eax
mov edi, ecx
movsx eax, word [0x43ac92]
mov ecx, dword [0x43aca8]
push 0x6a2bffff
lea eax, [ecx + eax - 0x21d40001]
mov dword [0x43aca8], eax
movsx eax, word [0x43ac82]
push eax
call fcn.0040b0ac
mov byte [0x43ac7b], al
push 0x8a5bffff
movsx eax, byte [0x43ac7a]
push eax
call fcn.0040af32
add esp, 0x10
mov word [0x43ac92], ax
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov dword [0x43acb8], eax
movsx eax, word [0x43ac88]
push eax
movsx eax, byte [0x43ac79]
push eax
call fcn.0040b002
mov esi, dword [ebp + 8]
dec word [0x43ac8a]
mov word [0x43ac86], ax
or ax, 0xffff
sub ax, word [0x43ac88]
pop ecx
pop ecx
mov word [0x43ac94], ax
mov eax, dword [esi + 0x18]
add eax, esi
mov ecx, edi
push eax
call fcn.0040b147
push eax
lea eax, [ebp - 0x400]
push eax
call sub.MSVCRT.dll_strcpy
movsx eax, byte [0x43ac81]
push 0xda8bffff
push eax
call fcn.0040b0ac
mov byte [0x43ac7e], al
push 0x9a8dffff
movsx eax, word [0x43ac88]
push eax
call fcn.0040aeeb
add dword [0x43ac98], eax
mov ebx, dword [esi + 0x10]
xor eax, eax
add ebx, esi
cmp dword [0x43aca0], eax
push 0x6d8bffff
push 0xbf07ffff
setne al
add byte [0x43ac78], al
mov eax, dword [esi + 0x14]
add eax, esi
mov dword [ebp + 8], eax
call fcn.0040b0ac
add word [0x43ac82], ax
movsx eax, word [0x43ac88]
push eax
push 0x66d5ffff
call fcn.0040b087
add byte [0x43ac81], al
push 0x8975ffff
movsx eax, byte [0x43ac79]
push eax
call fcn.0040b0ac
mov byte [0x43ac81], al
push 0x6b9dffff
movsx eax, byte [0x43ac7c]
push eax
call fcn.0040b087
add byte [0x43ac79], al
movsx eax, word [0x43ac8c]
push eax
push 0x8ce3ffff
call fcn.0040afcb
add esp, 0x40
mov word [0x43ac92], ax
cmp byte [edi], 0
mov esi, 0x400
jne 0x40ba4e
cmp byte [ebx], 0
je 0x40ba4e
mov ax, word [0x43ac94]
xor ecx, ecx
cmp word [0x43ac82], cx
jne 0x40b9dc
cmp ax, cx
je 0x40b9df
push 1
pop ecx
movsx eax, ax
add byte [0x43ac7a], cl
push eax
movsx eax, word [0x43ac88]
push eax
call fcn.0040b0ac
add byte [0x43ac7c], al
movsx eax, word [0x43ac90]
push eax
push 0x662dffff
call fcn.0040b037
add byte [0x43ac7a], al
push esi
push ebx
push edi
call sub.MSVCRT.dll_memcpy
push 0xb22fffff
push 0x5355ffff
call fcn.0040b002
push 0x3cc9ffff
mov byte [0x43ac7d], al
and byte [edi + 0x3ff], 0
push 0x284fffff
call fcn.0040af32
add esp, 0x2c
mov dword [0x43acb0], eax
movsx eax, byte [0x43ac7d]
push eax
push 0x4ee3ffff
call fcn.0040afcb
mov byte [0x43ac81], al
push 0xcecfffff
movsx eax, byte [0x43ac7b]
push eax
call fcn.0040b002
lea ebx, [edi + 0x400]
add esp, 0x10
inc word [0x43ac82]
mov dword [0x43ac9c], eax
cmp byte [ebx], 0
jne 0x40bb4c
mov eax, dword [ebp + 8]
cmp byte [eax], 0
je 0x40bb4c
movsx eax, byte [0x43ac80]
push eax
push 0x4ebffff
call fcn.0040aeeb
add byte [0x43ac79], al
mov al, byte [0x43aca4]
inc al
push 0xb30bffff
add byte [0x43ac79], al
push 0x1e5dffff
call fcn.0040b002
push esi
mov byte [0x43ac7b], al
push dword [ebp + 8]
push ebx
call sub.MSVCRT.dll_memcpy
movsx eax, byte [0x43ac7a]
push dword [0x43ac98]
push eax
call fcn.0040af6d
add word [0x43ac94], ax
and byte [edi + 0x7ff], 0
movsx eax, byte [0x43ac7b]
push eax
push 0xc599ffff
call fcn.0040afcb
mov dword [0x43aca4], eax
movsx eax, word [0x43ac84]
push eax
push 0x84e9ffff
call fcn.0040b037
push 0xed47ffff
push 0x885ffff
mov word [0x43ac86], ax
call fcn.0040af32
add esp, 0x3c
add byte [0x43ac80], al
cmp word [0x43ac8e], 0
je 0x40bb6a
cmp byte [0x43ac7a], 0
je 0x40bb6a
mov word [0x43ac94], 1
jmp 0x40bb72
and word [0x43ac94], 0
movsx eax, byte [0x43ac79]
push eax
push 0xbc03ffff
call fcn.0040af32
add word [0x43ac90], ax
cmp byte [edi + 0x800], 0
lea ebx, [edi + 0x800]
pop ecx
pop ecx
jne 0x40bc50
cmp byte [ebp - 0x400], 0
je 0x40bc50
mov al, byte [0x43ac78]
push dword [0x43ac98]
and al, byte [0x43ac7a]
push 0xeed9ffff
movsx ax, al
mov word [0x43ac8e], ax
movsx ax, byte [0x43ac7c]
add ax, word [0x43ac92]
mov word [0x43ac86], ax
call fcn.0040afcb
add dword [0x43aca4], eax
lea eax, [ebp - 0x400]
push esi
push eax
push ebx
call sub.MSVCRT.dll_memcpy
mov al, byte [0x43ac7f]
mov cl, byte [0x43ac78]
add al, byte [0x43aca8]
add byte [0x43ac7a], cl
mov cl, byte [0x43ac81]
push 0x5adffff
sub cl, al
mov byte [0x43ac7f], al
mov byte [0x43ac79], cl
and byte [edi + 0xbff], 0
push dword [0x43acb8]
call fcn.0040b087
add esp, 0x1c
mov byte [0x43ac81], al
call dword [sym.imp.USER32.dll_GetInputState]
add byte [0x43ac7a], al
pop edi
pop esi
pop ebx
leave
ret 4