Function at 0x401f70
Capabilities:
Accept command line arguments
Enumerate gui resources
Link many functions at runtime
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
mov eax, dword [0x41700c]
xor eax, esp
mov dword [esp + 0x90], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push esi
push edi
push 0x414c0c
push str.kernel32.dll
mov dword [esp + 0x1c], eax
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str.783248632876875364923648762387468327
test eax, eax
jne 0x401fc2
call edi
jmp 0x401fc4
call eax
push 0x414c0c
push str.kernel32.dll
call ebx
push eax
call esi
push str.5398749327498327948327984723987492837423
test eax, eax
jne 0x401fe0
call edi
jmp 0x401fe2
call eax
push 0x414c0c
push str.kernel32.dll
call ebx
push eax
call esi
push str.53289472749832794832794823784923742938
test eax, eax
jne 0x401ffe
call edi
jmp 0x402000
call eax
push 0x414c0c
push str.kernel32.dll
call ebx
push eax
call esi
push str.42398748237984723984792836832648972384723
test eax, eax
jne 0x40201c
call edi
jmp 0x40201e
call eax
push 0x414c0c
push str.kernel32.dll
call ebx
push eax
call esi
push str.543832749832794723894723984732984732
test eax, eax
jne 0x40203a
call edi
jmp 0x40203c
call eax
push 4
xor eax, eax
mov dword [esp + 0x6c], 7
push str.SQoH
lea ecx, [esp + 0x5c]
mov dword [esp + 0x6c], 0
mov word [esp + 0x5c], ax
call fcn.00402ac0
push 4
push str.BAQa
lea ecx, [esp + 0x5c]
call fcn.00402bc0
cmp dword [esp + 0x68], 8
lea eax, [esp + 0x54]
cmovae eax, dword [esp + 0x54]
push eax
lea eax, [esp + 0x70]
push eax
call fcn.00402680
mov ecx, eax
call fcn.00401370
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push dword [esp + 0x18]
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
cmp dword [esp + 0x28], 1
jne 0x402419
mov ecx, dword [eax]
cmp word [ecx], 0x2d
jne 0x402419
cmp dword [esp + 0x80], 8
lea eax, [esp + 0x6c]
cmovae eax, dword [esp + 0x6c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x402419
call fcn.00401b10
push str.BxsUFh8
lea ecx, [esp + 0x88]
call fcn.00402800
push 9
push str.AVklXFBMB
lea ecx, [esp + 0x8c]
call fcn.00402bc0
push 8
push str.GURdS1c
lea ecx, [esp + 0x8c]
call fcn.00402bc0
cmp dword [esp + 0x98], 8
lea eax, [esp + 0x84]
cmovae eax, dword [esp + 0x84]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00402680
mov ecx, eax
call fcn.00401370
xor esi, esi
nop dword [eax]
cmp dword [esp + 0x50], 8
lea ecx, [esp + 0x3c]
cmovae ecx, dword [esp + 0x3c]
call fcn.004018a0
test al, al
jne 0x402179
add esi, 0x64
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xbb8
jl 0x402150
lea edx, [esp + 0x10]
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x3c]
call fcn.004016b0
mov esi, dword [esp + 0x10]
test esi, esi
je 0x4023ce
push 0x414e38
push str.kernel32.dll
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push esi
test eax, eax
jne 0x4021ba
call dword [sym.imp.KERNEL32.dll_GetProcessId]
jmp 0x4021bc
call eax
mov dword [esp + 0x10], eax
xor esi, esi
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 0x401d80
mov dword [esp + 0x20], 0
call dword [sym.imp.USER32.dll_EnumWindows]
cmp dword [esp + 0x18], 0
jne 0x402200
add esi, 0x64
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x10]
cmp esi, 0xbb8
jl 0x4021c2
jmp 0x4023ce
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0x401de0
push dword [esp + 0x20]
call dword [sym.imp.USER32.dll_EnumChildWindows]
mov edx, dword [0x418410]
xor ebx, ebx
mov ecx, dword [0x41840c]
mov eax, edx
sub eax, ecx
xorps xmm0, xmm0
sar eax, 2
xor esi, esi
test eax, eax
mov eax, dword [sym.imp.USER32.dll_GetWindowRect]
movups xmmword [esp + 0x2c], xmm0
je 0x402271
lea edx, [esp + 0x2c]
push edx
push dword [ecx + esi*4]
call eax
cmp dword [esp + 0x38], ebx
mov edx, dword [0x418410]
mov eax, edx
cmovg ebx, dword [esp + 0x38]
inc esi
mov ecx, dword [0x41840c]
sub eax, ecx
sar eax, 2
cmp esi, eax
mov eax, dword [sym.imp.USER32.dll_GetWindowRect]
jb 0x402241
sub edx, ecx
mov dword [esp + 0x24], 0
xorps xmm0, xmm0
sar edx, 2
xor esi, esi
movq qword [esp + 0x1c], xmm0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], esi
test edx, edx
je 0x4022f6
nop dword [eax]
lea edx, [esp + 0x2c]
push edx
push dword [ecx + esi*4]
call eax
cmp dword [esp + 0x38], ebx
jne 0x4022d2
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x20]
call fcn.00402570
mov esi, dword [esp + 0x10]
mov eax, dword [0x418410]
inc esi
mov ecx, dword [0x41840c]
sub eax, ecx
sar eax, 2
cmp esi, eax
mov dword [esp + 0x10], esi
mov eax, dword [sym.imp.USER32.dll_GetWindowRect]
jb 0x4022b0
mov ebx, dword [esp + 0x20]
jmp 0x4022f8
xor ebx, ebx
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
push dword [ecx + eax*4]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x1c]
mov ecx, 1
mov esi, dword [esp + 0x2c]
sub ebx, eax
sar ebx, 2
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
cmp ebx, ecx
jbe 0x40236a
mov edi, eax
mov ecx, dword [edi + ecx*4]
lea eax, [esp + 0x2c]
push eax
mov eax, dword [0x41840c]
push dword [eax + ecx*4]
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x10]
cmovl esi, dword [esp + 0x2c]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, ebx
jb 0x402330
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
xor ebx, ebx
xor esi, esi
cmp dword [esp + 0xc], ebx
jbe 0x4023a8
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [eax + esi*4]
mov eax, dword [0x41840c]
push dword [eax + ecx*4]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
cmove ebx, esi
inc esi
cmp esi, edi
jb 0x402378
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [esp + 0x1c]
push 0
mov ecx, dword [eax + ebx*4]
mov eax, dword [0x41840c]
push dword [eax + ecx*4]
call dword [sym.imp.USER32.dll_EnableWindow]
lea ecx, [esp + 0x1c]
call fcn.00402950
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov eax, dword [esp + 0x50]
cmp eax, 8
jb 0x4023e2
inc eax
push eax
push dword [esp + 0x40]
call fcn.00403160
xor eax, eax
mov dword [esp + 0x50], 7
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x4c], 0
cmp eax, 8
jb 0x402413
inc eax
push eax
push dword [esp + 0x88]
call fcn.00403160
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x414c0c
push str.kernel32.dll
call ebx
push eax
call esi
push str.54394329755436745535847239874322
test eax, eax
jne 0x402435
call edi
jmp 0x402437
call eax
push 0x414c0c
push str.kernel32.dll
call ebx
push eax
call esi
push str.532874923753457646874823974823742
test eax, eax
jne 0x402453
call edi
jmp 0x402455
call eax
push 0x414c0c
push str.kernel32.dll
call ebx
push eax
call esi
push str.5434732874982543534327726723643245
test eax, eax
jne 0x402471
call edi
jmp 0x402473
call eax
push 0x414c0c
push str.kernel32.dll
call ebx
push eax
call esi
push str.534354376587687664543534543
test eax, eax
jne 0x40248f
call edi
jmp 0x402491
call eax
push 0x414c0c
push str.kernel32.dll
call ebx
push eax
call esi
push str.432897482374963287235472367463278648327
test eax, eax
jne 0x4024ad
call edi
jmp 0x4024af
call eax
push 0x414c0c
push str.kernel32.dll
call ebx
push eax
call esi
push str.698537498793827498723894723987423987432
test eax, eax
jne 0x4024cb
call edi
jmp 0x4024cd
call eax
push 0x414c0c
push str.kernel32.dll
call ebx
push eax
call esi
push str.5343546546456287235472367463278648327
test eax, eax
jne 0x4024e9
call edi
jmp 0x4024eb
call eax
push 0x414c0c
push str.kernel32.dll
call ebx
push eax
call esi
push str.6985345653247423987432
test eax, eax
jne 0x402507
call edi
jmp 0x402509
call eax
mov eax, dword [esp + 0x80]
cmp eax, 8
jb 0x402520
inc eax
push eax
push dword [esp + 0x70]
call fcn.00403160
xor eax, eax
mov dword [esp + 0x80], 7
mov word [esp + 0x6c], ax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x7c], 0
cmp eax, 8
jb 0x40254e
inc eax
push eax
push dword [esp + 0x58]
call fcn.00403160
mov ecx, dword [esp + 0x9c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004040e6
mov esp, ebp
pop ebp
ret 0x10