Function at 0x4093ec
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
cmp byte [0x43a9b9], 0
push ebx
push esi
push edi
jne 0x409435
mov esi, dword [0x43a8f0]
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042f2f0
mov ecx, esp
push 0x80
mov edx, esi
call fcn.0042b788
push eax
push 0x43a8f4
call sub.MSVCRT.dll_memcpy
add esp, 0xc
mov byte [0x43a9b9], 1
call dword [sym.imp.USER32.dll_GetFocus]
mov ecx, dword [0x43abfc]
mov byte [0x43abc9], al
movsx eax, al
mov esi, dword [ebp + 8]
lea eax, [ecx + eax - 0x6a480001]
movsx ecx, word [0x43abe2]
or ecx, 0x6641ffff
mov dword [0x43abfc], eax
mov dword [0x43ac00], ecx
cmp byte [esi + 3], 0x3d
jne 0x4095f2
mov eax, dword [0x43abf8]
neg eax
mov word [0x43abdc], ax
cmp byte [esi + 2], 0x3d
jne 0x409505
mov ax, word [0x43abd8]
or byte [0x43abd1], 0xff
mov word [0x43abd2], ax
push 0xb63dffff
movsx eax, byte [esi]
movzx edi, byte [eax + 0x43a8f4]
movsx eax, byte [esi + 1]
shl edi, 6
movzx eax, byte [eax + 0x43a8f4]
or edi, eax
movsx eax, word [0x43abd6]
push eax
shl edi, 6
call fcn.00411706
add word [0x43abd6], ax
push 0x660dffff
shl edi, 0xe
push 0x4ae1ffff
mov dword [ebp + 8], edi
call fcn.00411864
mov cl, byte [ebp + 0xb]
mov word [0x43abda], ax
mov eax, dword [ebp + 0xc]
add esp, 0x10
mov byte [0x43abce], 1
mov byte [eax], cl
push 1
jmp 0x4096d8
movsx eax, word [0x43abd6]
push eax
movsx eax, byte [0x43abd0]
push eax
call fcn.00411906
add word [0x43abe4], ax
mov ax, word [0x43abda]
dec byte [0x43abd1]
inc ax
mov word [0x43abd6], ax
pop ecx
movsx eax, byte [esi]
pop ecx
movzx edi, byte [eax + 0x43a8f4]
movsx eax, byte [esi + 1]
shl edi, 6
movzx eax, byte [eax + 0x43a8f4]
or edi, eax
movsx eax, word [0x43abd4]
or eax, 0x481bffff
shl edi, 6
mov dword [0x43abfc], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
add dword [0x43ac08], eax
mov ecx, dword [ebp + 0xc]
movsx eax, byte [esi + 2]
push 0xc069ffff
movzx eax, byte [eax + 0x43a8f4]
or eax, edi
shl eax, 0xe
mov dword [ebp + 8], eax
movsx ax, byte [0x43abd0]
add ax, word [0x43abd8]
mov word [0x43abd6], ax
or ax, 0xffff
sub ax, word [0x43abda]
add word [0x43abe4], ax
mov al, byte [0x43abd1]
dec al
add byte [0x43abce], al
mov ax, word [ebp + 0xa]
mov byte [ecx], ah
mov byte [ecx + 1], al
push dword [0x43abe8]
call fcn.004116b5
add byte [0x43abcf], al
cmp dword [0x43ac04], 0
pop ecx
pop ecx
setne al
mov byte [0x43abcc], al
push 2
jmp 0x4096d8
push eax
push 0x2a43ffff
call fcn.004117b3
add word [0x43abde], ax
push 0x859dffff
movsx eax, byte [esi]
push 0x2b83ffff
movzx edi, byte [eax + 0x43a8f4]
movsx eax, byte [esi + 1]
shl edi, 6
movzx eax, byte [eax + 0x43a8f4]
or edi, eax
shl edi, 6
call fcn.00411738
add byte [0x43abd1], al
movsx eax, byte [esi + 2]
movzx ebx, byte [eax + 0x43a8f4]
movsx eax, byte [esi + 3]
or ebx, edi
movzx eax, byte [eax + 0x43a8f4]
shl ebx, 6
or ebx, eax
movsx eax, byte [0x43abd1]
push eax
push 0x3c37ffff
shl ebx, 6
call fcn.00411738
add dword [0x43abf0], eax
push 0xdde3ffff
shl ebx, 2
push 0xd629ffff
mov dword [ebp + 8], ebx
call fcn.0041181a
movsx eax, byte [0x43abcd]
add eax, dword [0x43abfc]
mov esi, dword [ebp + 0xc]
push 0xfc55ffff
push 0x996dffff
add dword [0x43ac04], eax
mov ax, word [ebp + 0xa]
mov byte [esi], ah
mov byte [esi + 1], al
mov dword [0x43abf8], 1
call fcn.0041181a
add byte [0x43abc9], al
mov byte [esi + 2], bh
movsx ax, byte [0x43abcd]
add esp, 0x28
add word [0x43abde], ax
push 3
pop eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 8