Function at 0x412dc5
Capabilities:
Accept command line arguments

Disassembly:
push 0x6c
mov eax, 0x56944a
call fcn.005106a0
mov esi, ecx
mov dword [ebp - 0x44], esi
and dword [ebp - 0x60], 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [ebp - 0x60]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov edi, eax
lea ecx, [ebp - 0x48]
push dword [edi + 4]
call fcn.0040941c
and dword [ebp - 4], 0
mov ecx, eax
push 0x58c2f4
call fcn.00417922
mov ebx, eax
neg ebx
sbb bl, bl
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x48]
add ecx, 0xfffffff0
call fcn.00409cc2
add bl, 1
je 0x412e31
mov dword [esi + 0x17c], 1
jmp 0x413066
push dword [edi + 4]
lea ecx, [ebp - 0x64]
call fcn.0040941c
push str.mode_full
mov ecx, eax
mov dword [ebp - 4], 1
call fcn.00417922
mov ebx, eax
neg ebx
sbb bl, bl
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x64]
add ecx, 0xfffffff0
call fcn.00409cc2
add bl, 1
je 0x412e78
mov dword [esi + 0x180], 1
jmp 0x413066
push dword [edi + 4]
lea ecx, [ebp - 0x68]
call fcn.0040941c
push str.mode_tran
mov ecx, eax
mov dword [ebp - 4], 2
call fcn.00417922
mov ebx, eax
neg ebx
sbb bl, bl
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x68]
add ecx, 0xfffffff0
call fcn.00409cc2
add bl, 1
je 0x412ebf
mov dword [esi + 0x180], 4
jmp 0x413066
push dword [edi + 4]
lea ecx, [ebp - 0x6c]
call fcn.0040941c
push str.mode_text
mov ecx, eax
mov dword [ebp - 4], 3
call fcn.00417922
mov ebx, eax
neg ebx
sbb bl, bl
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x6c]
add ecx, 0xfffffff0
call fcn.00409cc2
add bl, 1
je 0x412f06
mov dword [esi + 0x180], 3
jmp 0x413066
push dword [edi + 4]
lea ecx, [ebp - 0x70]
call fcn.0040941c
push str.mode_excel
mov ecx, eax
mov dword [ebp - 4], 4
call fcn.00417922
mov ebx, eax
neg ebx
sbb bl, bl
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x70]
add ecx, 0xfffffff0
call fcn.00409cc2
add bl, 1
je 0x412f4d
mov dword [esi + 0x180], 2
jmp 0x413066
push dword [edi + 4]
lea ecx, [ebp - 0x74]
call fcn.0040941c
push str.mode_normal
mov ecx, eax
mov dword [ebp - 4], 5
call fcn.00417922
mov ebx, eax
neg ebx
sbb bl, bl
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x74]
add ecx, 0xfffffff0
call fcn.00409cc2
add bl, 1
je 0x412f94
mov dword [esi + 0x180], 5
jmp 0x413066
push dword [edi + 4]
lea ecx, [ebp - 0x78]
call fcn.0040941c
push 0
push str.mode_conv
mov ecx, eax
call fcn.00407b8a
mov ecx, dword [ebp - 0x78]
cmp eax, 0xffffffff
setne bl
lea ecx, [ecx - 0x10]
call fcn.00409cc2
test bl, bl
je 0x413066
xor eax, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x50]
push dword [edi + 4]
call fcn.0040941c
push 0x58c37c
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 7
call fcn.0040941c
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 8
push eax
lea edx, [ebp - 0x4c]
lea ecx, [ebp - 0x50]
call fcn.00421c10
pop ecx
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x4c]
lea ecx, [ecx - 0x10]
call fcn.00409cc2
mov eax, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x5c]
sub eax, ebx
sar eax, 2
cmp eax, 3
jne 0x413045
push dword [ebx + 4]
call fcn.0051f965
pop ecx
mov dword [esi + 0x184], eax
lea ecx, [esi + 0x188]
lea eax, [ebx + 8]
push eax
call fcn.00407fbd
mov ecx, dword [ebp - 0x50]
mov dword [esi + 0x180], 6
lea ecx, [ecx - 0x10]
call fcn.00409cc2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.00417575
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor edi, edi
cmp dword [esi + 0x17c], edi
je 0x413084
push 0x71b33c
lea ecx, [esi + 0x48]
call fcn.00405197
push 0x6b
push dword [0x5cbbf0]
lea ebx, [esi + 4]
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
push 0xfffffffffffffff4
push dword [ebx]
call dword [sym.imp.USER32.dll_SetClassLongW]
push 0xffffffffffffffec
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov esi, dword [sym.imp.USER32.dll_SetWindowLongW]
and eax, 0xfffbffff
or eax, 0x80
push eax
push 0xffffffffffffffec
push dword [ebx]
call esi
push 0x33
push edi
push edi
push edi
push edi
push edi
push dword [ebx]
mov edi, dword [sym.imp.USER32.dll_SetWindowPos]
call edi
push 0x400000
push 0xfffffffffffffff0
push dword [ebx]
call esi
push 1
xor esi, esi
mov ecx, ebx
push esi
push 0xc00000
call fcn.0040e9fb
mov ebx, dword [ebp - 0x44]
push 0x10
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
mov eax, dword [ebx + 0x3c]
mov ecx, dword [ebx + 0x38]
push eax
push ecx
push esi
push esi
push 0xffffffffffffffff
push dword [ebx + 4]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
call edi
mov dword [ebp - 0x48], esi
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4c
call esi
push 0x4d
mov dword [ebp - 0x30], eax
call esi
push 0x4e
mov dword [ebp - 0x2c], eax
call esi
push 0x4f
mov dword [ebp - 0x28], eax
call esi
lea edx, [ebp - 0x48]
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x30]
call fcn.0041582e
push dword [ebp - 0x48]
mov ecx, ebx
push eax
call fcn.0041598a
mov ecx, ebx
call fcn.00415b5e
lea edi, [ebx + 4]
push dword [edi]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call fcn.00419d9c
mov edx, ebx
lea ecx, [ebx + 0x34]
neg edx
sbb edx, edx
and edx, ecx
mov ecx, eax
push edx
call fcn.00419b8f
lea eax, [ebp - 0x20]
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_GetClientRect]
push 0xe0
call fcn.0050f802
pop ecx
mov ecx, eax
mov dword [ebp - 0x44], eax
call fcn.004124b7
mov dword [ebx + 0xc8], eax
test eax, eax
je 0x4131ea
push ecx
push ecx
xor esi, esi
lea ecx, [ebp - 0x20]
mov dword [eax + 0xdc], esi
mov eax, esp
sub esp, 0x10
mov dword [eax], esi
mov eax, esp
mov dword [eax], ecx
push dword [edi]
mov ecx, dword [ebx + 0xc8]
call fcn.004172bc
mov eax, dword [ebx + 0xc8]
push esi
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebx + 0xc8]
mov ecx, dword [edi]
mov dword [eax + 0xd8], ecx
movaps xmm0, xmmword [0x593700]
lea eax, [ebp - 0x40]
lea esi, [ebx + 0xcc]
push eax
mov ecx, esi
movups xmmword [ebp - 0x40], xmm0
call fcn.00412170
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x40]
sub esp, 0x10
and dword [eax], 0
mov eax, esp
mov dword [eax], ecx
mov ecx, esi
push dword [edi]
call fcn.0041734d
push 0x58c0a0
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0xc
call dword [sym.imp.GDI32.dll_CreateFontW]
push 1
push eax
push 0x30
push dword [ebx + 0xd0]
mov dword [ebx + 0x128], eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebx + 0x180]
cmp edx, 3
je 0x413267
cmp edx, 4
je 0x413267
cmp edx, 2
jne 0x41326e
mov ecx, dword [edi]
call fcn.00410ba0
xor eax, eax
call fcn.0051064a
ret 0x10