Function at 0x4036b0
Capabilities:
Hide graphical window
Inspect load icon resource

Disassembly:
sub esp, 0x5c
push ebx
push esi
mov esi, dword [sym.imp.USER32.dll_LoadIconA]
push edi
mov edi, dword [esp + 0x6c]
push str.IDI_ICON1
push edi
mov dword [esp + 0x40], 0x30
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0x403990
mov dword [esp + 0x4c], 2
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], edi
call esi
push str.IDI_ICON1
push edi
mov dword [esp + 0x58], eax
call esi
push str.IDC_POINTER
push edi
mov dword [esp + 0x6c], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push 5
mov dword [esp + 0x58], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], str.TunTown
mov dword [esp + 0x58], eax
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
test ax, ax
jne 0x40374b
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 0x5c
ret 0x10
push 0
push edi
push 0
push 0
push 0
push 0
push 0x64
push 0x64
push 0x94000000
push str.TunTown
push str.TunTown
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov esi, eax
test esi, esi
jne 0x403780
pop edi
pop esi
pop ebx
add esp, 0x5c
ret 0x10
push 0x4e
push 0
push esi
call dword [sym.imp.USER32.dll_SetClassWord]
mov ecx, dword [esp + 0x78]
push ecx
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
push esi
push edi
mov ecx, 0x40c960
mov dword [0x40c95c], edi
mov dword [0x40c958], esi
call fcn.004010e0
push 2
push 1
push 0x40a138
push 0
push 6
push str.STAND
mov ecx, 0x40c960
call fcn.00401270
push 1
push 1
push 0x40a138
push 1
push 6
push str.WALK
mov ecx, 0x40c960
call fcn.00401270
push 1
push 1
push 0x40a138
push 2
push 6
push 0x40a124
mov ecx, 0x40c960
call fcn.00401270
push 2
push 1
push str.IDR_WAVE2
push 3
push 4
push 0x40a114
mov ecx, 0x40c960
call fcn.00401270
push 2
push 1
push 0x40a138
push 4
push 4
push str.DANCE
mov ecx, 0x40c960
call fcn.00401270
push 2
push 1
push 0x40a138
push 5
push 2
push 0x40a108
mov ecx, 0x40c960
call fcn.00401270
push 2
push 1
push 0x40a138
push 6
push 2
push str.SLEEP
mov ecx, 0x40c960
call fcn.00401270
push 2
push 1
push 0x40a138
push 7
push 6
push str.SHACK
mov ecx, 0x40c960
call fcn.00401270
push 2
push 1
push str.IDR_WAVE1
push 8
push 1
push str.BARK
mov ecx, 0x40c960
call fcn.00401270
push 2
push 1
push str.IDR_WAVE1
push 9
push 2
push 0x40a0e0
mov ecx, 0x40c960
call fcn.00401270
push 2
push 1
push 0x40a138
push 0xa
push 4
push 0x40a0dc
mov ecx, 0x40c960
call fcn.00401270
mov edx, dword [0x40a0d4]
mov ecx, 0x40c960
push edx
call fcn.00401a90
mov ecx, 0x40c960
call fcn.004015d0
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
mov eax, dword [esp + 0x16]
mov edx, dword [esp + 0x18]
and eax, 0xffff
and edx, 0xffff
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
push eax
call fcn.00403d90
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
add esp, 4
lea ecx, [esp + 0x1c]
push 0
push 0
push 0
push ecx
call esi
test eax, eax
je 0x403977
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
lea edx, [esp + 0x1c]
push edx
call edi
lea eax, [esp + 0x1c]
push eax
call ebx
push 0
push 0
lea ecx, [esp + 0x24]
push 0
push ecx
call esi
test eax, eax
jne 0x403958
mov eax, dword [esp + 0x24]
pop edi
pop esi
pop ebx
add esp, 0x5c
ret 0x10