Function at 0x407e70
Capabilities:
Check for time delay via gettickcount

Disassembly:
push 0xffffffffffffffff
push 0x45b577
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov dword [esp + 0x14], ebp
lea ecx, [ebp + 4]
call fcn.0040ba80
xor ebx, ebx
lea ecx, [ebp + 0x1618]
mov dword [esp + 0x20], ebx
call fcn.0040add0
lea ecx, [ebp + 0x2204]
mov byte [esp + 0x20], 1
call fcn.004392d0
mov al, byte [esp + 0x13]
push 0xc
mov byte [ebp + 0x5758], al
call fcn.00451b7b
mov dword [eax], eax
mov dword [eax + 4], eax
add esp, 4
mov dword [ebp + 0x575c], eax
mov dword [ebp + 0x5760], ebx
lea esi, [ebp + 0x5f70]
mov byte [esp + 0x20], 2
push esi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp], eax
call esi
cmp eax, ebx
mov dword [ebp + 0x20c8], eax
jne 0x407f29
push 5
call dword [sym.imp.KERNEL32.dll_Sleep]
call esi
mov dword [ebp + 0x20c8], eax
mov eax, dword [ebp + 0x20c8]
lea edi, [ebp + 0x2090]
cdq
xor eax, edx
mov ecx, 0xa
sub eax, edx
lea edx, [ebp + 0x61a4]
mov dword [ebp + 0x20c8], eax
mov dword [ebp + 0x5778], ebx
mov dword [ebp + 0x577c], ebx
mov dword [ebp + 0x5780], ebx
mov dword [ebp + 0x5784], ebx
mov dword [ebp + 0x5788], ebx
xor eax, eax
mov dword [ebp + 0x578c], ebx
rep stosd dword es:[edi], eax
mov dword [ebp + 0x16bc], ebx
mov dword [ebp + 0x5794], reloc.WSOCK32.dll_bind
mov dword [ebp + 0x5798], ebx
mov dword [ebp + 0x20cc], 0x27
mov byte [ebp + 0x221c], bl
mov byte [ebp + 0x2320], bl
mov byte [ebp + 0x2424], bl
mov byte [ebp + 0x2528], bl
mov byte [ebp + 0x262c], bl
mov byte [ebp + 0x2730], bl
mov byte [ebp + 0x2834], bl
mov byte [ebp + 0x2c44], bl
mov byte [ebp + 0x2d48], bl
mov dword [ebp + 0x20d0], ebx
mov dword [ebp + 0x2078], ebx
mov dword [ebp + 0x207c], ebx
mov dword [ebp + 0x5790], ebx
mov dword [ebp + 0x20dc], ebx
mov dword [ebp + 0x2218], ebx
mov dword [ebp + 0x2210], ebx
mov dword [ebp + 0x2214], ebx
xor ecx, ecx
mov dword [ebp + 0x5d2c], ebx
mov dword [edx], ecx
lea edi, [ebp + 0x1d4c]
lea esi, [ebp + 0x1d6c]
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
lea ecx, [ebp + 0x61b4]
mov dword [ebp + 0x61b4], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ebp + 0x5f88], ebx
mov dword [ebp + 0x2080], ebx
mov dword [ebp + 0x2084], ebx
mov dword [ebp + 0x2088], ebx
mov dword [ebp + 0x2070], ebx
mov dword [ebp + 0x2074], ebx
mov dword [ebp + 0x5f8c], ebx
mov byte [ebp + 0x5f98], bl
mov byte [ebp + 0x609c], bl
mov byte [ebp + 0x2e4c], bl
mov byte [ebp + 0x2f50], bl
mov byte [ebp + 0x2938], bl
mov byte [ebp + 0x2a3c], bl
mov byte [ebp + 0x2b40], bl
mov dword [ebp + 0x61a0], ebx
mov dword [ebp + 0x61c4], ebx
mov dword [ebp + 0x61c8], ebx
mov dword [ebp + 0x20e0], ebx
mov dword [ebp + 0x20e4], ebx
mov dword [ebp + 0x20e8], ebx
mov ecx, 8
mov dword [ebp + 0x20ec], ebx
rep stosd dword es:[edi], eax
mov ecx, 0x40
mov edi, esi
rep stosd dword es:[edi], eax
lea edi, [ebp + 0x1e6c]
mov ecx, 0x40
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [ebp + 0x1f6c]
rep stosd dword es:[edi], eax
push ebx
mov dword [ebp + 0x206c], ebx
call fcn.00451a9f
push eax
call fcn.00451a70
add esp, 8
xor edi, edi
call fcn.00451a7d
mov byte [esi + edi], al
inc edi
cmp edi, 8
jl 0x4080ec
xor esi, esi
call fcn.00451a7d
mov byte [esi + ebp + 0x1e6c], al
inc esi
cmp esi, 0x10
jl 0x4080fc
mov ecx, 0x41
xor eax, eax
lea edi, [ebp + 0x20f8]
mov dword [ebp + 0x20f0], ebx
rep stosd dword es:[edi], eax
mov dword [ebp + 0x20f4], 0x17f2
mov dword [ebp + 0x2208], 0x7fd6
mov dword [ebp + 0x220c], ebx
mov dword [ebp + 0x20b8], ebx
mov dword [ebp + 0x3054], ebx
mov dword [ebp + 0x21fc], ebx
mov dword [ebp + 0x2200], ebx
mov esi, 1
mov dword [ebp + 0x20c4], ebx
mov dword [ebp + 0x5d2c], esi
mov dword [ebp + 0x5f90], ebx
mov dword [ebp + 0x4e00], ebx
mov byte [ebp + 0x4e04], bl
mov ecx, 0xab
lea edi, [ebp + 0x500c]
mov byte [ebp + 0x4f08], bl
rep stosd dword es:[edi], eax
mov ecx, 0x128
lea edi, [ebp + 0x52b8]
rep stosd dword es:[edi], eax
mov dword [ebp + 0x5764], ebx
mov dword [ebp + 0x5768], ebx
mov dword [ebp + 0x576c], ebx
mov dword [ebp + 0x5770], ebx
mov dword [ebp + 0x5774], ebx
mov dword [ebp + 0x20d8], ebx
call fcn.004455e0
test eax, eax
je 0x4081cb
mov dword [ebp + 0x20d8], esi
mov ecx, 0x76a
xor eax, eax
lea edi, [ebp + 0x3058]
mov dword [ebp + 0x20d4], ebx
rep stosd dword es:[edi], eax
lea edx, [ebp + 0x16c0]
mov ecx, 0x46
mov edi, edx
mov esi, 0x485454
rep stosd dword es:[edi], eax
mov ecx, 0x46
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x15d
lea edi, [ebp + 0x17d8]
push 0x4c
rep stosd dword es:[edi], eax
mov ecx, 0xa
lea edi, [ebp + 0x2090]
mov dword [ebp + 0x579c], ebx
mov dword [ebp + 0x57a0], ebx
rep stosd dword es:[edi], eax
call esi
push 0x4d
mov dword [ebp + 0x20bc], eax
call esi
mov dword [ebp + 0x20c0], eax
mov ecx, 0x89
xor eax, eax
lea edi, [ebp + 0x57a8]
mov dword [ebp + 0x57a4], 1
rep stosd dword es:[edi], eax
mov ecx, 0xd4
lea edi, [ebp + 0x59cc]
rep stosd dword es:[edi], eax
mov dword [ebp + 0x5d28], ebx
mov dword [ebp + 0x5d1c], ebx
mov dword [ebp + 0x5d20], ebx
mov dword [ebp + 0x5f94], ebx
mov dword [ebp + 0x5d24], ebx
mov dword [ebp + 0x16b8], ebx
mov dword [ebp + 0x5d30], ebx
mov dword [ebp + 0x5d34], ebx
mov dword [ebp + 0x5f40], ebx
mov dword [ebp + 0x5f44], ebx
mov dword [ebp + 0x5f54], ebx
mov dword [ebp + 0x5f48], ebx
mov dword [ebp + 0x5f4c], ebx
mov dword [ebp + 0x5f50], ebx
mov dword [ebp + 0x5f58], ebx
mov dword [ebp + 0x5f5c], ebx
mov dword [ebp + 0x5f60], ebx
mov dword [ebp + 0x5f64], ebx
mov dword [ebp + 0x5f68], ebx
mov dword [ebp + 0x5f6c], ebx
mov ecx, 0x80
lea edi, [ebp + 0x5d3c]
mov dword [ebp + 0x5d38], ebx
rep stosd dword es:[edi], eax
lea eax, [ebp + 0x5f70]
mov dword [ebp + 0x5f3c], ebx
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x18]
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x14
ret