Function at 0x404222
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x44ec61
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push esi
push edi
mov eax, dword [0x46b1f0]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
and dword [0x46fabc], 0
lea eax, [esp + 0x1c]
mov word [0x46fac0], 0
call fcn.004013fe
and dword [esp + 0x60], 0
lea eax, [esp + 0x18]
call fcn.004013fe
mov byte [esp + 0x60], 1
mov ecx, dword [ebp + 8]
mov ebx, 0x46f9b8
push 0x46fa14
mov dword [0x46f9c0], ebx
mov dword [0x46fad8], ebx
mov dword [0x46fb9c], ebx
mov dword [0x46fba4], ebx
call fcn.0041dadd
mov byte [esp + 0x12], al
test al, al
je 0x4046f6
push str.AppCommandLine
lea eax, [esp + 0x18]
push eax
call fcn.00401421
mov byte [esp + 0x60], 2
mov edi, 0x46fad0
push edi
lea eax, [esp + 0x18]
push eax
mov eax, dword [0x46f9b8]
mov ecx, ebx
call dword [eax]
mov esi, eax
call fcn.0041833c
mov byte [esp + 0x60], 1
lea ecx, [esp + 0x14]
call fcn.0040145e
and dword [esp + 0x14], 0
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x17]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x2c]
push eax
push edi
lea edi, [esp + 0x28]
mov dword [esp + 0x34], 0x2f
call fcn.0042fce9
add esp, 0x14
test al, al
je 0x404367
push str.exportmanifest
lea eax, [esp + 0x18]
push eax
call fcn.00401421
mov byte [esp + 0x60], 3
push dword [esp + 0x1c]
lea eax, [esp + 0x18]
push eax
call fcn.00406c6a
neg eax
sbb al, al
inc al
mov byte [esp + 0x13], al
mov byte [esp + 0x60], 1
lea ecx, [esp + 0x14]
call fcn.0040145e
cmp byte [esp + 0x13], 0
je 0x404367
mov byte [0x46fac0], 1
cmp byte [0x46fac0], 0
jne 0x4043f8
lea esi, [esp + 0x18]
call fcn.004014de
push str.HKCU_software_appbundlerdebugwinmain
lea eax, [esp + 0x18]
push eax
call fcn.00401421
mov byte [esp + 0x60], 4
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.0042f48d
pop ecx
mov byte [esp + 0x60], 1
lea ecx, [esp + 0x14]
call fcn.0040145e
mov eax, esi
push eax
mov ecx, 0x45420c
call fcn.004075be
test eax, eax
jne 0x4043ec
lea eax, [esp + 0x20]
push eax
call fcn.0042bb99
pop ecx
lea ecx, [esp + 0x20]
call fcn.0040145e
call dword [sym.imp.KERNEL32.DLL_GetCommandLineW]
push 0
push 0x454210
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
push dword [ebp + 8]
call fcn.00404850
mov byte [esp + 0x12], al
cmp byte [esp + 0x12], 0
je 0x4046f6
cmp byte [0x46fac0], 0
jne 0x4046f6
push str.TestFlag
lea eax, [esp + 0x18]
push eax
call fcn.00401421
mov byte [esp + 0x60], 5
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [0x46f9b8]
mov ecx, ebx
call dword [eax]
mov ebx, eax
call fcn.004181a3
mov byte [esp + 0x60], 6
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
setne bl
mov byte [esp + 0x60], 5
lea ecx, [esp + 0x20]
call fcn.0040145e
mov byte [esp + 0x60], 1
lea ecx, [esp + 0x14]
call fcn.0040145e
test bl, bl
je 0x4045fe
lea eax, [esp + 0x28]
push eax
call fcn.0041a690
mov byte [esp + 0x60], 7
mov esi, 0x46f9b8
mov eax, esi
lea edi, [esp + 0x34]
call fcn.0041cfa5
mov byte [esp + 0x60], 8
lea eax, [esp + 0x28]
push eax
mov eax, edi
push eax
call fcn.0041cffd
mov bl, al
mov byte [esp + 0x60], 7
call fcn.0041cfda
mov byte [esp + 0x60], 1
lea ecx, [esp + 0x30]
call fcn.0040145e
test bl, bl
je 0x404603
push str.testhdid
lea eax, [esp + 0x24]
push eax
call fcn.00401421
mov byte [esp + 0x60], 0xa
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [0x46f9b8]
mov ecx, esi
call dword [eax]
mov ebx, eax
call fcn.004181a3
mov byte [esp + 0x60], 0xc
lea ecx, [esp + 0x20]
call fcn.0040145e
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
je 0x40454a
push 0x454250
lea eax, [esp + 0x24]
push eax
call fcn.00401421
mov byte [esp + 0x60], 0xd
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [0x46f9b8]
mov ecx, esi
call dword [eax]
mov esi, eax
call fcn.0041833c
mov byte [esp + 0x60], 0xc
lea ecx, [esp + 0x20]
call fcn.0040145e
mov esi, 0x46f9b8
push str.testcsid
lea eax, [esp + 0x24]
push eax
call fcn.00401421
mov byte [esp + 0x60], 0xe
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [0x46f9b8]
mov ecx, esi
call dword [eax]
mov ebx, eax
call fcn.004181a3
mov byte [esp + 0x60], 0xf
lea edi, [esp + 0x14]
call fcn.00406c0b
mov byte [esp + 0x60], 0xe
lea ecx, [esp + 0x24]
call fcn.0040145e
mov byte [esp + 0x60], 0xc
lea ecx, [esp + 0x20]
call fcn.0040145e
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
je 0x4045eb
push 0x454270
lea eax, [esp + 0x24]
push eax
call fcn.00401421
mov byte [esp + 0x60], 0x10
mov eax, edi
push eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [0x46f9b8]
mov ecx, esi
call dword [eax]
mov esi, eax
call fcn.0041833c
mov byte [esp + 0x60], 0xc
lea ecx, [esp + 0x20]
call fcn.0040145e
mov esi, 0x46f9b8
mov byte [esp + 0x60], 1
lea ecx, [esp + 0x14]
call fcn.0040145e
jmp 0x40469a
mov esi, 0x46f9b8
mov edi, str.TestFlag
push edi
lea eax, [esp + 0x24]
push eax
call fcn.00401421
mov byte [esp + 0x60], 0x11
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [0x46f9b8]
mov ecx, esi
call dword [eax]
mov ebx, eax
call fcn.004181a3
mov byte [esp + 0x60], 0x12
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
setne bl
mov byte [esp + 0x60], 0x11
lea ecx, [esp + 0x24]
call fcn.0040145e
mov byte [esp + 0x60], 1
lea ecx, [esp + 0x20]
call fcn.0040145e
test bl, bl
je 0x40469a
push edi
lea eax, [esp + 0x24]
push eax
call fcn.00401421
mov byte [esp + 0x60], 0x13
push 0
lea eax, [esp + 0x24]
push eax
mov eax, dword [0x46f9b8]
mov ecx, esi
call dword [eax]
mov esi, eax
call fcn.00418720
mov byte [esp + 0x60], 1
lea ecx, [esp + 0x20]
call fcn.0040145e
mov esi, 0x46f9b8
push str.TestFlag
lea eax, [esp + 0x24]
push eax
call fcn.00401421
mov byte [esp + 0x60], 0x14
mov eax, dword [0x46f9b8]
mov ecx, esi
call dword [eax]
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x17]
mov edx, eax
mov byte [esp + 0x17], 0
call fcn.0041836a
mov edi, eax
mov byte [esp + 0x60], 1
lea ecx, [esp + 0x20]
call fcn.0040145e
mov eax, dword [0x46f9b8]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [eax]
push edi
push edi
push str._b_sai_test_lu__0x_x_
push eax
call dword [ecx + 0xc]
add esp, 0x10
mov byte [esp + 0x60], 0
lea ecx, [esp + 0x18]
call fcn.0040145e
or dword [esp + 0x60], 0xffffffff
lea ecx, [esp + 0x1c]
call fcn.0040145e
mov al, byte [esp + 0x12]
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4