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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x428ef5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x510
push ebx
push esi
push edi
mov ebx, ecx
mov byte [ebp - 0x51c], 0
xor eax, eax
mov ecx, 0xf9
lea edi, [ebp - 0x51b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x10], esp
xor esi, esi
push esi
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x20], ebx
stosb byte es:[edi], al
call fcn.0040e660
mov dword [ebp - 4], esi
call fcn.00427352
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 0x134]
push 0x69
lea ecx, [ebp - 0x134]
call dword [eax + 0x134]
push 5
lea ecx, [ebp - 0x134]
call fcn.00422482
mov ecx, dword [ebp - 0x118]
push 0x105
push esi
push esi
push ecx
call dword [sym.imp.USER32.dll_RedrawWindow]
push str.Writing_EWS...
lea ecx, [ebp - 0xc4]
call fcn.00422446
mov ecx, dword [ebx + 4]
push 2
lea eax, [ebp - 0x51c]
mov byte [ebp - 0x51c], 0x55
mov byte [ebp - 0x51b], 0x24
mov edx, dword [ecx]
push eax
mov byte [ebp - 4], 1
call dword [edx + 0x10]
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
call dword [edx + 0x1c]
cmp eax, 2
je 0x402485
push 0x431208
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.00410878
push str.Sending_data...
lea ecx, [ebp - 0xc4]
call fcn.00422446
mov esi, dword [ebp + 8]
mov ecx, 0x80
lea edi, [ebp - 0x51c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
push 0x200
lea eax, [ebp - 0x51c]
push eax
call dword [edx + 0x10]
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
call dword [edx + 0x1c]
cmp eax, 0x200
je 0x4024dd
push 0x431208
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 0
call fcn.00410878
push str.Writing_EWS...
lea ecx, [ebp - 0xc4]
call fcn.00422446
xor edi, edi
nop
xor esi, esi
cmp esi, 7
jge 0x402523
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
push 1
lea eax, [ebp - 0x51c]
push eax
call dword [edx + 0xc]
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
call dword [edx + 0x18]
cmp eax, 1
je 0x402523
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
jmp 0x4024f2
cmp esi, 6
jl 0x402540
lea ecx, [ebp - 0x74]
mov dword [ebp - 4], 3
call fcn.0041defe
mov byte [ebp - 4], 2
jmp 0x402735
cmp byte [ebp - 0x51c], 0x55
jne 0x402722
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
push 1
lea edx, [ebp - 0x51c]
push edx
call dword [eax + 0xc]
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 1
je 0x402583
lea ecx, [ebp - 0x74]
mov dword [ebp - 4], 5
call fcn.0041defe
mov byte [ebp - 4], 4
jmp 0x402735
call fcn.0041eeab
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
mov al, byte [ebp - 0x51c]
cmp al, 0x55
mov byte [ebp - 4], 6
lea ecx, [ebp + 8]
jne 0x4025b9
push 0xe
push str.Writing_EWS...
mov edi, 1
call fcn.004012c0
jmp 0x4025cb
movzx eax, al
push eax
push str.Writing_EWS__try__u...
push ecx
call fcn.00401420
add esp, 0xc
mov esi, dword [ebp + 8]
push esi
lea ecx, [ebp - 0xc4]
call fcn.00422446
lea eax, [esi - 0x10]
mov byte [ebp - 4], 1
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4025f8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
test edi, edi
je 0x4024f0
mov eax, dword [ebp - 0x58]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x500000
push 0
push 0x401
push eax
call esi
mov ecx, dword [ebp - 0x58]
push 0
push 1
push 0x404
push ecx
call esi
mov edx, dword [ebp - 0x58]
push 0
push 0
push 0x402
push edx
call esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 8], eax
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [ebp + 8]
mov edi, eax
sub edi, edx
mov eax, 0x10624dd3
mul edi
mov esi, edx
shr esi, 5
cmp esi, ebx
jbe 0x402689
mov eax, dword [ebp - 0x58]
push 0
push 0
push 0x405
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0x118]
push 0x105
push 0
push 0
push ecx
call dword [sym.imp.USER32.dll_RedrawWindow]
mov ebx, esi
cmp edi, 0x9c40
jb 0x402641
mov esi, dword [ebp - 0x20]
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
push 1
lea eax, [ebp - 0x51c]
push eax
call dword [edx + 0xc]
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
call dword [edx + 0x18]
cmp eax, 1
je 0x4026c7
push 0x431208
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x14], 0
call fcn.00410878
mov al, byte [ebp - 0x51c]
test al, al
je 0x4026e6
push 0x431208
lea ecx, [ebp - 0x1c]
push ecx
mov dword [ebp - 0x1c], 0
call fcn.00410878
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 0
call fcn.004206b1
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 0xffffffff
call fcn.00401660
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [ebp - 0x74]
mov dword [ebp - 4], 8
call fcn.0041defe
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xc4]
call fcn.00426496
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 0xffffffff
call fcn.0041e499
jmp 0x402777
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4