Function at 0x417130
Capabilities:
Check for time delay via gettickcount
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x888
mov eax, dword [0x4c07e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x10]
push edi
push 0
mov dword [ebp - 0x868], ebx
call fcn.00446900
add esp, 4
mov dword [0x4c512c], ebx
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
xorps xmm0, xmm0
push str.RichEd20.dll
movups xmmword [ebp - 0x6b8], xmm0
movups xmmword [ebp - 0x6a8], xmm0
movq qword [ebp - 0x698], xmm0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
jne 0x4171a3
push str.RichEd32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea eax, [ebp - 0x6b8]
push eax
push 0x4969b0
push 0
call dword [sym.imp.USER32.dll_GetClassInfoA]
test eax, eax
jne 0x4171e6
lea eax, [ebp - 0x6b8]
push eax
push str.RICHEDIT
push 0
call dword [sym.imp.USER32.dll_GetClassInfoA]
lea eax, [ebp - 0x6b8]
mov dword [ebp - 0x694], 0x4969b0
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
push 0
push 0x10
push 0x10
push 1
push 0xe8
push dword [0x4c512c]
call dword [sym.imp.USER32.dll_LoadImageA]
mov dword [0x4c5128], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x6b8]
movq qword [ebp - 0x698], xmm0
push eax
push str.32770
push 0
movups xmmword [ebp - 0x6b8], xmm0
movups xmmword [ebp - 0x6a8], xmm0
call dword [sym.imp.USER32.dll_GetClassInfoA]
push 0xe8
push dword [0x4c512c]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [ebp - 0x6a4], eax
lea eax, [ebp - 0x6b8]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
lea eax, [ebp - 0x6b8]
mov dword [ebp - 0x694], str.WASTEmainwnd
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
lea eax, [ebp - 0x6b8]
mov dword [ebp - 0x694], 0x4969d0
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
push 0xa8
push dword [0x4c512c]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [ebp - 0x6a4], eax
lea eax, [ebp - 0x6b8]
push eax
mov dword [ebp - 0x694], 0x4969dc
call dword [sym.imp.USER32.dll_RegisterClassA]
push 0x8b
push dword [0x4c512c]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [ebp - 0x6a4], eax
lea eax, [ebp - 0x6b8]
push eax
mov dword [ebp - 0x694], 0x4969ec
call dword [sym.imp.USER32.dll_RegisterClassA]
push 0xaa
push dword [0x4c512c]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [ebp - 0x6a4], eax
lea eax, [ebp - 0x6b8]
push eax
mov dword [ebp - 0x694], 0x4969fc
call dword [sym.imp.USER32.dll_RegisterClassA]
push 0x96
push dword [0x4c512c]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [ebp - 0x6a4], eax
lea eax, [ebp - 0x6b8]
push eax
mov dword [ebp - 0x694], 0x496a0c
call dword [sym.imp.USER32.dll_RegisterClassA]
xor edi, edi
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x854], edi
mov dword [ebp - 0x864], eax
mov dword [ebp - 0x850], ebx
cmp byte [esi], 0x20
jne 0x41735e
inc esi
cmp byte [esi], 0x20
je 0x417358
push 9
push str._profile
push esi
call fcn.0047cbbd
add esp, 0xc
test eax, eax
jne 0x41752b
lea ecx, [esi + 9]
mov byte [0x4c50c1], 1
mov al, byte [ecx]
test al, al
je 0x4175d7
cmp al, 0x20
je 0x4175d7
push 0x80
cmp al, 0x22
jne 0x4173dc
add esi, 0xa
push esi
push 0x4c3d20
call fcn.00401ae0
push 0x496a18
push 0x4c3d20
call fcn.00403a10
add esp, 0x14
test eax, eax
je 0x4173c2
mov byte [eax], 0
mov al, byte [esi]
cmp al, 0x22
je 0x4173d4
test al, al
je 0x417416
mov al, byte [esi + 1]
inc esi
cmp al, 0x22
jne 0x4173c8
cmp byte [esi], 0
je 0x417416
inc esi
jmp 0x417416
push ecx
push 0x4c3d20
call fcn.00401ae0
push 0x491258
push 0x4c3d20
call fcn.00403a10
add esp, 0x14
test eax, eax
je 0x417400
mov byte [eax], 0
mov ecx, 0x4c3d20
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417408
sub ecx, edx
add esi, 9
add esi, ecx
cmp byte [0x4c3d20], 0
jne 0x41742e
mov dword [ebp - 0x850], 1
jmp 0x417353
push 0x104
lea eax, [ebp - 0x188]
push 0
push eax
call fcn.00466b60
add esp, 0xc
lea eax, [ebp - 0x188]
push 0x104
push eax
push dword [0x4c512c]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x188]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417465
sub ecx, edx
lea eax, [ebp - 0x188]
add eax, ecx
cmp byte [eax], 0x5c
je 0x41748b
nop dword [eax + eax]
mov byte [eax], 0
lea eax, [eax - 1]
cmp byte [eax], 0x5c
jne 0x417480
push 0x80
lea eax, [ebp - 0x84]
push 0
push eax
call fcn.00466b60
push 0x496a1c
push 0x4c3d20
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x84]
push str._s_s._s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp - 0x84]
push eax
call fcn.004510c0
add esp, 0x24
test eax, eax
jne 0x417353
push 0x100
push eax
lea eax, [ebp - 0x288]
push eax
call fcn.00466b60
lea eax, [ebp - 0x188]
push eax
push 0x4c3d20
lea eax, [ebp - 0x288]
push str.Profile__s_does_not_exist_in:_n_s_ncancelling_load
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
lea eax, [ebp - 0x288]
push 0
push 0x496748
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
call fcn.0044d260
jmp 0x417d7e
push 7
push str._rescan
push esi
call fcn.0047cbbd
add esp, 0xc
test eax, eax
jne 0x417551
mov dword [ebp - 0x864], 1
add esi, 7
jmp 0x417353
mov al, byte [esi]
test al, al
je 0x4175de
cmp al, 0x22
mov cl, 0x20
movzx ebx, cl
mov eax, 0x22
cmove ebx, eax
xor eax, eax
cmp bl, cl
push 6
setne al
add eax, esi
push str.waste:
push eax
call fcn.0047cbbd
add esp, 0xc
test eax, eax
jne 0x4175de
test edi, edi
jne 0x4175de
cmp bl, 0x20
je 0x417591
inc esi
push esi
call fcn.0047cb67
mov edi, eax
add esp, 4
mov dword [ebp - 0x854], edi
mov ecx, edi
cmp byte [edi], bl
je 0x4175b2
cmp byte [ecx], 0
je 0x4175b2
inc ecx
cmp byte [ecx], bl
jne 0x4175a8
add esi, 6
mov byte [ecx], 0
mov al, byte [esi]
cmp al, bl
je 0x417353
test al, al
je 0x417353
mov al, byte [esi + 1]
inc esi
cmp al, bl
jne 0x4175c2
jmp 0x417353
mov ebx, 1
jmp 0x4175e4
mov ebx, dword [ebp - 0x850]
call fcn.0044d840
push ebx
call fcn.004367d0
add esp, 4
test eax, eax
jne 0x417877
mov edx, 0x4c3d20
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x417601
mov edi, 0x4c3520
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x417610
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0
push str.WASTEmainwnd
mov ecx, edx
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push 0
call dword [sym.imp.USER32.dll_FindWindowExA]
mov esi, eax
test esi, esi
je 0x4176ac
nop dword [eax]
mov ecx, 0x4c3520
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417648
sub ecx, edx
mov dword [ebp - 0x858], 0x4c3520
mov dword [ebp - 0x860], 0xf00d
lea eax, [ecx + 1]
mov dword [ebp - 0x85c], eax
lea eax, [ebp - 0x860]
push eax
push 0
push 0x4a
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x415
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x4177a0
push eax
push str.WASTEmainwnd
push esi
push eax
call dword [sym.imp.USER32.dll_FindWindowExA]
mov esi, eax
test esi, esi
jne 0x417640
push 0x4c3d20
lea eax, [ebp - 0x690]
push str.WASTEINSTANCE__s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov byte [ebp - 0x58d], 0
lea eax, [ebp - 0x690]
push eax
push 1
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x417877
push 0
call fcn.00444360
add esp, 4
cmp dword [0x4c3dd0], 0
jle 0x417724
mov ecx, dword [0x4c3118]
push 0
push 0x490cb9
push str.logpath
call fcn.00403900
push eax
call fcn.0044f2f0
add esp, 8
call fcn.004467a0
mov ecx, dword [0x4c3118]
push 0
push str.valid
call fcn.004038d0
cmp eax, 5
jge 0x4178a6
push 0
push 0x437190
push 0
push 0x6e
push dword [ebp - 0x868]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov ecx, dword [0x4c3118]
test eax, eax
jne 0x41788f
test ecx, ecx
je 0x417774
push 1
call fcn.0041d520
push 0xb04
push 0
push 0x4c25e8
call fcn.00466b60
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00464e2f
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x6bc]
mov dword [ebp - 0x6bc], 0x2c
xorps xmm0, xmm0
push eax
push esi
movups xmmword [ebp - 0x6b8], xmm0
movups xmmword [ebp - 0x6a8], xmm0
movq qword [ebp - 0x698], xmm0
call dword [sym.imp.USER32.dll_GetWindowPlacement]
cmp dword [ebp - 0x6b4], 2
jne 0x4177de
push 9
jmp 0x4177e0
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov edi, dword [ebp - 0x854]
test edi, edi
je 0x41783d
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417800
sub ecx, edx
mov dword [ebp - 0x858], edi
mov dword [ebp - 0x860], 0xb3ef
lea eax, [ecx + 1]
mov dword [ebp - 0x85c], eax
lea eax, [ebp - 0x860]
push eax
push 0
push 0x4a
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
push edi
call fcn.0046b4f4
add esp, 4
mov eax, dword [ebp - 0x864]
test eax, eax
je 0x417877
lea eax, [ebp - 0x860]
mov dword [ebp - 0x85c], 0
push eax
push 0
push 0x4a
push esi
mov dword [ebp - 0x858], 0
mov dword [ebp - 0x860], 0x1234
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00464e2f
mov esp, ebp
pop ebp
ret 0x10
push 5
push str.valid
call fcn.00403690
mov ecx, dword [0x4c3118]
call fcn.00403600
cmp dword [0x4c25e8], 0
jne 0x4178ea
mov ecx, dword [0x4c3118]
push 0
push str.storepass
call fcn.004038d0
test eax, eax
je 0x4178d9
mov ecx, dword [0x4c3118]
push 0
push str.keypass
call fcn.00403900
jmp 0x4178db
xor eax, eax
push dword [0x4c5118]
push eax
call fcn.0044e950
add esp, 8
lea eax, [ebp - 0x84c]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x417940
push 0xb04
push 0
push 0x4c25e8
call fcn.00466b60
add esp, 0xc
push 0
push str.WASTE_Error
push str.Error_initializing_Winsock_n
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00464e2f
mov esp, ebp
pop ebp
ret 0x10
call fcn.00446670
call fcn.00443f70
mov esi, 0x4c6218
nop
push 0x224
call fcn.0046506d
add esp, 4
test eax, eax
je 0x41796a
mov ecx, eax
call fcn.00447810
jmp 0x41796c
xor eax, eax
mov dword [esi], eax
add esi, 4
cmp esi, 0x4c6258
jl 0x417950
push 0x90
push dword [0x4c512c]
call dword [sym.imp.USER32.dll_LoadMenuA]
push 0x8a
push dword [0x4c512c]
mov dword [0x4c5114], eax
call dword [sym.imp.USER32.dll_LoadAcceleratorsA]
push str.TaskbarCreated
mov esi, eax
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
push 0x5dc
mov dword [0x4c238c], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x4c50c1], 0
je 0x4179cd
push 0xfa
jmp 0x4179d2
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.0041d250
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4c50e8], eax
mov dword [0x4c50ec], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0
push 0x41a710
mov dword [0x4c50e0], eax
mov dword [0x4c50e4], 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push 0x65
push dword [0x4c512c]
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov ecx, dword [0x4c3118]
push 0xb4
push str.cfont_yh
call fcn.004038d0
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
call fcn.0041d4b0
fstp qword [ebp - 0x86c]
cvttsd2si eax, qword [ebp - 0x86c]
push eax
call fcn.00419e50
mov edi, dword [ebp - 0x854]
add esp, 8
test edi, edi
je 0x417a7b
push edi
call fcn.00418f30
add esp, 4
mov ecx, dword [0x4c3118]
push 0
push 0x496788
mov dword [0x4c0258], 5
call fcn.004038d0
push eax
call fcn.00446200
push 0x4c507c
call fcn.0044d4f0
add esp, 8
call fcn.0042f950
call fcn.00428380
call fcn.0040bb50
push 0
push 0
push 0
lea eax, [ebp - 0x888]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jle 0x417bf9
lea eax, [ebp - 0x888]
push eax
push esi
push dword [0x4c5118]
call dword [sym.imp.USER32.dll_TranslateAcceleratorA]
test eax, eax
jne 0x417bde
lea eax, [ebp - 0x888]
push eax
push dword [0x4c5118]
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x417bde
lea eax, [ebp - 0x888]
push eax
push dword [0x4c2434]
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x417bde
mov eax, dword [0x4c6258]
test eax, eax
je 0x417b45
lea ecx, [ebp - 0x888]
push ecx
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x417bde
lea eax, [ebp - 0x888]
push eax
push dword [0x4c644c]
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x417bde
mov eax, dword [0x4c6450]
test eax, eax
je 0x417b7b
lea ecx, [ebp - 0x888]
push ecx
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x417bde
mov eax, dword [0x4c24e0]
test eax, eax
je 0x417b96
lea ecx, [ebp - 0x888]
push ecx
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x417bde
mov eax, dword [0x4c24e4]
test eax, eax
je 0x417bb1
lea ecx, [ebp - 0x888]
push ecx
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x417bde
lea eax, [ebp - 0x888]
push eax
call fcn.0040bbd0
add esp, 4
test eax, eax
jne 0x417bde
lea eax, [ebp - 0x888]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x888]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 0
push 0
push 0
lea eax, [ebp - 0x888]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jg 0x417ad4
mov ecx, dword [0x4c3110]
test ecx, ecx
je 0x417c0a
push 1
call fcn.0041d610
mov ecx, dword [0x4c310c]
test ecx, ecx
je 0x417c1b
push 1
call fcn.0041d4f0
mov ecx, 0x4c2440
xor esi, esi
call fcn.00407310
test eax, eax
jle 0x417c6f
nop dword [eax + eax]
push esi
mov ecx, 0x4c2440
call fcn.00416c70
mov edi, eax
test edi, edi
je 0x417c55
push 1
mov ecx, edi
call fcn.00405380
push 1
mov ecx, edi
call fcn.0041d550
jmp 0x417c60
push esi
mov ecx, 0x4c2440
call fcn.00407260
mov ecx, 0x4c2440
inc esi
call fcn.00407310
cmp esi, eax
jl 0x417c30
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, dword [0x4c3108]
mov ecx, dword [0x4c3104]
test eax, eax
je 0x417c97
cmp eax, ecx
je 0x417c97
push 1
mov ecx, eax
call fcn.0041d580
mov ecx, dword [0x4c3104]
test ecx, ecx
je 0x417ca2
push 1
call fcn.0041d580
mov eax, dword [0x4c62b8]
test eax, eax
je 0x417cb4
push eax
call fcn.0046b4f4
add esp, 4
call fcn.0044f930
mov esi, 0x4c6218
nop
mov ecx, dword [esi]
test ecx, ecx
je 0x417ccd
push 1
call fcn.0041d6a0
add esi, 4
cmp esi, 0x4c6258
jl 0x417cc0
call fcn.004478a0
call fcn.004478f0
call fcn.0041d390
call fcn.0041d420
mov ecx, dword [0x4c3118]
call fcn.00403600
mov ecx, dword [0x4c3114]
test ecx, ecx
je 0x417d08
push 1
call fcn.0041d640
mov ecx, dword [0x4c3118]
test ecx, ecx
je 0x417d19
push 1
call fcn.0041d520
push 0xb04
push 0
push 0x4c25e8
call fcn.00466b60
add esp, 0xc
push dword [0x4c5114]
call dword [sym.imp.USER32.dll_DestroyMenu]
push dword [0x4c5128]
call dword [sym.imp.USER32.dll_DestroyIcon]
push 0x539
push dword [0x4c5118]
call fcn.0044de40
push 0x539
push dword [0x4c5118]
call fcn.0044de40
push 0
push 0
call fcn.0044f2f0
add esp, 0x18
call fcn.0041d380
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00464e2f
mov esp, ebp
pop ebp
ret 0x10