Function at 0x100012a0
Capabilities:
Accept command line arguments
Get memory capacity
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push esi
and esp, 0xfffffff8
sub esp, 0x128
mov eax, esp
lea ecx, [esp + 0x110]
mov dword [eax + 4], ecx
mov dword [eax], 0x6b52ef
mov eax, dword [sym.imp.USER32.dll_GetClientRect]
call eax
sub esp, 8
mov ecx, esp
mov dword [ecx], 0x103
mov ecx, dword [sym.imp.USER32.dll_GetSysColor]
mov dword [esp + 0xa0], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xe9bb7
mov ecx, dword [sym.imp.USER32.dll_BringWindowToTop]
mov dword [esp + 0x9c], eax
call ecx
sub esp, 4
mov ecx, dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov dword [esp + 0x98], eax
call ecx
mov word [esp + 0x10e], 0x3d
mov ecx, esp
lea edx, [esp + 0x10e]
mov dword [ecx + 0xc], edx
mov dword [ecx + 8], 0xb6f
mov dword [ecx + 4], str.hzH_P_
mov dword [ecx], 0x6d7
mov ecx, dword [sym.imp.KERNEL32.dll_GetStringTypeW]
mov dword [esp + 0x94], eax
call ecx
sub esp, 0x10
mov ecx, esp
mov dword [ecx], 0x78c
mov ecx, dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [esp + 0x90], eax
call ecx
sub esp, 4
mov dword [esp + 0x108], 0
mov dword [esp + 0x8c], eax
jmp 0x10001507
jmp 0x100016e7
mov eax, esp
mov dword [eax + 0x20], 0x444
mov dword [eax + 0x1c], 0x444
mov dword [eax + 0x18], 0xedf
mov dword [eax + 0x14], 0xfd0
mov dword [eax + 0x10], 0xb48
mov dword [eax + 0xc], 0xfd0
mov dword [eax + 8], 0xd8e
mov dword [eax + 4], 0xd8e
mov dword [eax], 0x41d291
mov eax, dword [sym.imp.GDI32.dll_ArcTo]
call eax
sub esp, 0x24
xor ecx, ecx
mov edx, 0x18
lea esi, [esp + 0xf0]
mov dword [esp], esi
mov dword [esp + 4], 0
mov dword [esp + 8], 0x18
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], edx
call fcn.101b8e90
mov eax, esp
lea ecx, [esp + 0xf0]
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
call eax
sub esp, 4
mov eax, esp
mov dword [eax + 4], 0xa7752a
mov dword [eax], 0xb4d2fe
mov eax, dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
call eax
sub esp, 8
mov dword [esp + 0xec], 0
mov dword [esp + 0x7c], eax
jmp 0x10001493
mov eax, dword [esp + 0xec]
and eax, 0xf
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
sub eax, 6
mov dword [esp + 0x74], eax
je 0x1000151d
jmp 0x10001465
mov eax, dword [esp + 0x78]
sub eax, 7
mov dword [esp + 0x70], eax
je 0x100015ae
jmp 0x100015b0
mov eax, dword [esp + 0xa4]
add eax, 1
mov dword [esp + 0xa4], eax
jmp 0x100016c3
cmp dword [esp + 0xec], 0x68
jne 0x10001442
jmp 0x100015d2
mov eax, esp
mov dword [eax], 0x1d1fe8
mov eax, dword [sym.imp.SHLWAPI.dll_SHRegDuplicateHKey]
call eax
sub esp, 4
mov ecx, esp
mov dword [ecx + 8], 0x6f2
mov dword [ecx + 4], 0xfb5
mov dword [ecx], 0xc96818
mov ecx, dword [sym.imp.USER32.dll_EnableScrollBar]
mov dword [esp + 0x6c], eax
call ecx
sub esp, 0xc
mov dword [esp + 0x68], eax
mov eax, esp
mov dword [eax + 4], 0xa35
mov dword [eax], 0x544
mov eax, dword [sym.imp.KERNEL32.dll_IsValidLocale]
call eax
sub esp, 8
mov dword [esp + 0x64], eax
jmp 0x10001379
jmp 0x10001379
cmp dword [esp + 0x108], 0x99
jne 0x1000137e
jmp 0x10001707
mov eax, esp
mov dword [eax + 0x10], 0xa9c
mov dword [eax + 0xc], 0xa9c
mov dword [eax + 8], 0x16ad5d
mov dword [eax + 4], 0x13dfa5
mov dword [eax], 0x65c9d2
mov eax, dword [sym.imp.GDI32.dll_FrameRgn]
call eax
sub esp, 0x14
mov ecx, esp
mov dword [ecx + 0x28], 0x838
mov dword [ecx + 0x24], 0x6db
mov dword [ecx + 0x20], 0x202
mov dword [ecx + 0x1c], 0x890
mov dword [ecx + 0x18], 0x202
mov dword [ecx + 0x14], 0x2f6a5
mov dword [ecx + 0x10], 0x890
mov dword [ecx + 0xc], 0x890
mov dword [ecx + 8], 0x890
mov dword [ecx + 4], 0x890
mov dword [ecx], 0x2f6a5
mov ecx, dword [sym.imp.GDI32.dll_StretchBlt]
mov dword [esp + 0x60], eax
call ecx
sub esp, 0x2c
mov dword [esp + 0x5c], eax
jmp 0x100015ae
jmp 0x100015b0
jmp 0x100015b2
mov eax, dword [esp + 0xec]
add eax, 1
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xec], eax
jmp 0x10001493
mov eax, esp
mov dword [eax + 4], 0xbe7
mov dword [eax], 0xbe7
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
sub esp, 8
mov ecx, dword [esp + 0x108]
mov edx, 0xcc29786d
mov dword [esp + 0x54], eax
mov eax, ecx
mul edx
shr edx, 8
imul eax, edx, 0x141
sub ecx, eax
mov eax, ecx
sub eax, 0xd
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], eax
je 0x100014a5
jmp 0x1000161d
mov eax, dword [esp + 0x50]
sub eax, 0x3b
mov dword [esp + 0x48], eax
jne 0x100016b8
jmp 0x10001630
xor eax, eax
mov ecx, 0x40
lea edx, [esp + 0xa8]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x40
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
call fcn.101b8e90
mov eax, esp
lea ecx, [esp + 0xa8]
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
call eax
sub esp, 4
mov ecx, esp
mov dword [ecx + 4], 0x47f458
mov dword [ecx], 0x3829c0
mov ecx, dword [sym.imp.USER32.dll_ValidateRgn]
mov dword [esp + 0x3c], eax
call ecx
sub esp, 8
mov ecx, esp
mov dword [ecx + 4], 0xe0
mov dword [ecx], 0x445da2
mov ecx, dword [sym.imp.GDI32.dll_GetNearestPaletteIndex]
mov dword [esp + 0x38], eax
call ecx
sub esp, 8
mov dword [esp + 0x34], eax
jmp 0x100014a5
mov dword [esp + 0xa4], 0
cmp dword [esp + 0xa4], 0xa
setne al
mov byte [esp + 0x33], al
mov al, byte [esp + 0x33]
test al, 1
jne 0x100016e2
jmp 0x10001502
jmp 0x1000147b
mov eax, dword [esp + 0x108]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x108], eax
jmp 0x10001507
lea esp, [ebp - 4]
pop esi
pop ebp
ret