Function at 0x4044d0
Capabilities:
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [ebp + 8]
mov ecx, dword [str.Loading...]
mov edx, dword [0x407e30]
sub esp, 0x4c
push ebx
xor ebx, ebx
mov dword [0x40fe70], eax
mov ax, word [0x407e34]
push esi
mov dword [0x40f638], ecx
mov cl, byte [0x407e36]
mov word [0x40f640], ax
mov eax, 1
push edi
mov edi, dword [sym.imp.USER32.dll_GetDC]
mov byte [0x40fa68], bl
mov dword [0x40f63c], edx
mov byte [0x40f642], cl
mov dword [0x40a5c4], ebx
mov dword [0x40fa38], ebx
mov byte [0x40a630], bl
mov byte [0x40aa30], bl
mov dword [0x40fa3c], ebx
mov byte [0x40ae30], bl
mov byte [0x40b230], bl
mov dword [0x40fa40], ebx
mov byte [0x40b630], bl
mov byte [0x40ba30], bl
mov dword [0x40fa44], ebx
mov byte [0x40be30], bl
mov byte [0x40c230], bl
mov dword [0x40fa48], ebx
mov byte [0x40c630], bl
mov byte [0x40ca30], bl
mov dword [0x40fa4c], ebx
mov byte [0x40ce30], bl
mov byte [0x40d230], bl
mov dword [0x40fa50], ebx
mov byte [0x40d630], bl
mov byte [0x40da30], bl
mov dword [0x40fa54], ebx
mov byte [0x40de30], bl
mov byte [0x40e230], bl
mov dword [0x40fa58], ebx
mov byte [0x40e630], bl
mov byte [0x40ea30], bl
mov dword [0x40fa5c], ebx
mov byte [0x40ee30], bl
mov byte [0x40f230], bl
mov dword [0x40fa64], ebx
mov dword [0x40fe74], ebx
mov dword [0x40a62c], ebx
mov dword [0x40a5bc], ebx
mov dword [0x40a628], eax
mov dword [0x40a5c0], eax
mov dword [0x40f630], eax
mov dword [0x40fe68], eax
mov dword [0x40a5c8], eax
mov dword [0x40f634], eax
xor esi, esi
lea esp, [esp]
push ebx
call edi
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ecx, dword [0x40fe70]
lea edx, [esi + 0x65]
mov dword [esi*4 + 0x40a5d0], eax
movzx eax, dx
push eax
push ecx
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov edx, dword [esi*4 + 0x40a5d0]
push eax
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
inc esi
cmp esi, 0x16
jl 0x404620
push 0x30
lea eax, [esp + 0x2c]
push ebx
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
push ebx
mov dword [esp + 0x2c], 0x30
mov dword [esp + 0x30], 3
mov dword [esp + 0x34], 0x403b70
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0x7f00
push ebx
mov dword [esp + 0x44], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
lea ecx, [esp + 0x28]
push ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0x10
mov dword [esp + 0x54], str.iRoseOnline
call dword [sym.imp.USER32.dll_RegisterClassExA]
mov edx, dword [esp + 0x3c]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push ebx
push edx
push ebx
push ebx
push 0x12c
push 0x190
push 1
call esi
cdq
sub eax, edx
sar eax, 1
sub eax, 0x96
push eax
push ebx
call esi
cdq
sub eax, edx
sar eax, 1
sub eax, 0xc8
push eax
push SysReAllocString
push str.iRose_PvP
push str.iRoseOnline
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExA]
push 1
push eax
mov dword [0x40a5b8], eax
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
call edi
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push 0x12c
push 0x190
push ebx
mov dword [0x40fa60], eax
call edi
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
mov eax, dword [0x40fa60]
push eax
call esi
push str.Tahoma
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0xd
call dword [sym.imp.GDI32.dll_CreateFontA]
mov ecx, dword [0x40fa60]
push eax
push ecx
call esi
mov edx, dword [0x40fa60]
push 1
push edx
call dword [sym.imp.GDI32.dll_SetBkMode]
push str.user32
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
mov eax, dword [0x40a5b8]
push 0xffffffffffffffec
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ecx, dword [0x40a5b8]
or eax, 0x80000
push eax
push 0xffffffffffffffec
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongA]
push str.SetLayeredWindowAttributes
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [0x40a5b8]
push 3
push 0xff
push 0xd8e9ec
push edx
call eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push ebx
push 2
mov dword [0x40a5cc], 0x1ff0000
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
push ebx
push str.classPVP
push ebx
push ebx
call dword [sym.imp.USER32.dll_FindWindowExA]
test eax, eax
je 0x40480e
push ebx
push ebx
push ebx
push 0x404410
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x40a5c4], 1
jmp 0x404826
cmp dword [0x40a5c4], ebx
jne 0x404826
push ebx
push ebx
push ebx
push 0x4043d0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
push ebx
push ebx
push ebx
lea eax, [esp + 0x18]
push eax
call esi
cmp dword [esp + 0x10], 0x12
je 0x404857
lea ecx, [esp + 0xc]
push ecx
call edi
lea edx, [esp + 0xc]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x404832
mov eax, dword [0x40a5b8]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
push ebx
call dword [sym.imp.MSVCR100.dll_exit]
int3