Function at 0x4015b0
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 8
push ebx
xor ebx, ebx
push 0x419158
push ebx
call dword [sym.imp.MSVCRT.dll_setlocale]
add esp, 8
call fcn.00409da0
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
call fcn.00409c00
call fcn.004014e0
test eax, eax
jne 0x4015e6
pop ebx
add esp, 8
ret 0x10
mov eax, dword [esp + 0x10]
push ebp
push esi
push edi
push ebx
push eax
push ebx
mov ecx, 0x41d6b0
call fcn.00401b50
call fcn.00409980
call fcn.00406fb0
call fcn.00409720
mov esi, 3
call fcn.004094e0
call fcn.004092a0
dec esi
jne 0x40160e
call fcn.00408ca0
call fcn.00408ec0
call fcn.00408970
push 0x419154
call fcn.004070a0
push 0x419150
call fcn.004070a0
push 0x41914c
call fcn.004070a0
push 0x419148
call fcn.004070a0
add esp, 0x10
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_DefWindowProcA]
lea ecx, [esp + 0x10]
push ecx
mov dword [esp + 0x14], 8
mov dword [esp + 0x18], 0x404
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
push eax
call fcn.00401000
mov ecx, dword [0x41d6a0]
add esp, 8
add ecx, 0x1c
mov ebp, eax
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [0x41d73c]
cmp esi, ebx
je 0x4016c0
cmp dword [esi + 4], ebx
jle 0x4016be
mov edx, dword [esi]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov esi, dword [0x41d73c]
cmp esi, ebx
mov edi, dword [sym.imp.MSVCRT.dll_free]
je 0x4016e5
mov eax, dword [esi]
cmp eax, ebx
je 0x4016d6
push eax
call edi
add esp, 4
mov dword [esi], ebx
push esi
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
call fcn.00413190
add esp, 4
mov ecx, dword [0x41d6a0]
mov dword [0x41d73c], ebx
add ecx, 0x1c
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [0x41d738]
cmp esi, ebx
je 0x40172f
mov eax, dword [esi]
cmp eax, ebx
je 0x401713
push eax
call edi
add esp, 4
mov dword [esi], ebx
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x401723
push eax
call edi
add esp, 4
mov dword [esi + 4], ebx
push esi
mov dword [esi + 8], ebx
call fcn.00413190
add esp, 4
mov edx, 0x41d6b0
test edx, edx
je 0x4017f3
mov esi, dword [0x41d6c0]
cmp esi, ebx
je 0x401777
cmp dword [esi], ebx
je 0x401777
mov edi, 0x64
mov eax, dword [esi + 0x10]
cmp eax, ebx
je 0x40175c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
mov dword [esi + 0x10], ebx
call dword [esi + 0x20]
cmp dword [0x41d6b0], edi
jne 0x401770
add esi, 0x1c
jmp 0x401773
add esi, 0x24
cmp dword [esi], ebx
jne 0x40174f
mov esi, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
push 0x41d6cc
call esi
push 0x41d6e4
call esi
push 0x41d6fc
call esi
mov esi, dword [0x41d730]
cmp esi, ebx
je 0x4017b4
mov edx, dword [esi + 4]
push edx
call dword [esi]
mov edi, dword [esi + 8]
push esi
call fcn.00413190
add esp, 4
cmp edi, ebx
mov esi, edi
jne 0x40179c
cmp dword [0x41d6c8], ebx
je 0x4017f3
cmp byte [0x41d71c], bl
je 0x4017f3
mov eax, dword [0x41d728]
mov edi, dword [sym.imp.KERNEL32.dll_HeapDestroy]
cmp eax, ebx
je 0x4017ea
xor esi, esi
mov eax, dword [0x41d728]
mov ecx, dword [eax + esi*4]
push ecx
call edi
mov eax, dword [0x41d724]
inc esi
cmp esi, eax
jbe 0x4017d5
mov edx, dword [0x41d6c8]
push edx
call edi
call dword [sym.imp.ole32.dll_CoUninitialize]
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 8
ret 0x10