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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x428e8e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x320
push ebx
push esi
push edi
mov ebx, ecx
xor eax, eax
mov ecx, 0x7f
lea edi, [esp + 0x129]
rep stosd dword es:[edi], eax
mov ecx, dword [ebx + 4]
stosw word es:[edi], ax
stosb byte es:[edi], al
push 2
lea edx, [esp + 0x12c]
mov byte [esp + 0x12c], 0x55
mov byte [esp + 0x12d], 0x20
mov eax, dword [ecx]
push edx
mov dword [esp + 0x1c], ebx
call dword [eax + 0x10]
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
call dword [eax + 0x1c]
test eax, eax
je 0x402381
push 0x12c
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
mov ecx, 0x80
lea edi, [esp + 0x128]
rep stosd dword es:[edi], eax
xor edi, edi
push edi
lea ecx, [esp + 0x1c]
call fcn.0040e660
mov dword [esp + 0x334], edi
call fcn.00427352
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
mov edx, dword [esp + 0x18]
push eax
push 0x69
lea ecx, [esp + 0x20]
call dword [edx + 0x134]
push 5
lea ecx, [esp + 0x1c]
call fcn.00422482
mov eax, dword [esp + 0x34]
push 0x105
push edi
push edi
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
xor esi, esi
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
push 1
lea eax, [esp + 0x12c]
push eax
call dword [edx + 0xc]
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
call dword [edx + 0x18]
cmp eax, 1
je 0x402048
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 0xa
jl 0x402018
cmp esi, 9
jge 0x4022d8
cmp byte [esp + 0x128], 0x55
jne 0x402339
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
push 1
lea edx, [esp + 0x12c]
push edx
call dword [eax + 0xc]
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 1
jne 0x4022f9
call fcn.0041eeab
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
mov al, byte [esp + 0x128]
cmp al, 0x55
mov byte [esp + 0x334], 5
lea ecx, [esp + 0x10]
jne 0x4020bf
push 0xe
push str.Reading_EWS...
mov edi, 1
call fcn.004012c0
jmp 0x4020d1
movzx eax, al
push eax
push str.Reading_EWS__try__u...
push ecx
call fcn.00401420
add esp, 0xc
mov esi, dword [esp + 0x10]
push esi
lea ecx, [esp + 0x8c]
call fcn.00422446
lea eax, [esi - 0x10]
mov byte [esp + 0x334], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x402104
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
test edi, edi
je 0x402016
push str.Reading_EWS...
lea ecx, [esp + 0x8c]
call fcn.00422446
mov eax, dword [esp + 0xf4]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0xc0000
push 0
push 0x401
push eax
call esi
mov ecx, dword [esp + 0xf4]
push 0
push 1
push 0x404
push ecx
call esi
mov edx, dword [esp + 0xf4]
push 0
push 0
push 0x402
push edx
call esi
xor eax, eax
mov ecx, 0x80
lea edi, [esp + 0x128]
rep stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x10], eax
xor ebx, ebx
jmp 0x402180
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [esp + 0x10]
mov edi, eax
sub edi, edx
mov eax, 0x10624dd3
mul edi
mov esi, edx
shr esi, 5
cmp esi, ebx
jbe 0x4021cb
mov eax, dword [esp + 0xf4]
push 0
push 0
push 0x405
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x34]
push 0x105
push 0
push 0
push ecx
call dword [sym.imp.USER32.dll_RedrawWindow]
mov ebx, esi
cmp edi, 0x1770
jb 0x402180
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
push 1
lea eax, [esp + 0x12c]
push eax
call dword [edx + 0xc]
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
call dword [edx + 0x18]
cmp eax, 1
jne 0x40231a
mov al, byte [esp + 0x128]
test al, al
jne 0x40231a
push str.Reading_EWS...
lea ecx, [esp + 0x8c]
call fcn.00422446
xor eax, eax
mov ecx, 0x80
lea edi, [esp + 0x128]
push 0x1f4
rep stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
xor edi, edi
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
push 1
lea edx, [esp + edi + 0x12c]
push edx
call dword [eax + 0xc]
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 1
jne 0x40231a
inc edi
cmp edi, 0x200
jl 0x402237
mov edi, dword [ebp + 8]
mov ecx, 0x80
lea esi, [esp + 0x128]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x18]
call fcn.004206b1
lea ecx, [esp + 0xd8]
mov dword [esp + 0x334], 9
call fcn.0041defe
lea ecx, [esp + 0x88]
mov byte [esp + 0x334], 8
call fcn.00426496
lea ecx, [esp + 0x18]
mov dword [esp + 0x334], 0xffffffff
call fcn.0041e499
mov eax, 1
mov ecx, dword [esp + 0x32c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [esp + 0xd8]
mov dword [esp + 0x334], 2
call fcn.0041defe
mov byte [esp + 0x334], 1
jmp 0x402361
lea ecx, [esp + 0xd8]
mov dword [esp + 0x334], 4
call fcn.0041defe
mov byte [esp + 0x334], 3
jmp 0x402361
lea ecx, [esp + 0x18]
call fcn.004206b1
lea ecx, [esp + 0x18]
mov dword [esp + 0x334], 0xffffffff
call fcn.00401660
jmp 0x402381
lea ecx, [esp + 0x18]
call fcn.004206b1
lea ecx, [esp + 0xd8]
mov dword [esp + 0x334], 7
call fcn.0041defe
mov byte [esp + 0x334], 6
lea ecx, [esp + 0x88]
call fcn.00426496
lea ecx, [esp + 0x18]
mov dword [esp + 0x334], 0xffffffff
call fcn.0041e499
mov ecx, dword [esp + 0x32c]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4