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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4ec218
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov bh, dl
mov dword [esp + 0x20], ecx
mov eax, dword [ebp + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea esi, [eax*4]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
xor edi, esi
shl edi, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, eax
mov dword [esp + 0x18], 0
xor esi, edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x10], esi
nop
push dword [esp + 0x20]
mov ecx, edi
call fcn.00412850
test bh, bh
je 0x41868c
mov ecx, esi
mov eax, esi
and ecx, 0xf
shr eax, 4
lea ebx, [ecx + 0x30]
cmp ecx, 0xa
jb 0x418528
lea ebx, [ecx + 0x37]
mov ecx, eax
mov byte [esp + 0x60], bl
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x41853e
add ecx, 0x30
jmp 0x418541
add ecx, 0x37
mov byte [esp + 0x61], cl
mov ecx, eax
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x418557
add ecx, 0x30
jmp 0x41855a
add ecx, 0x37
mov byte [esp + 0x62], cl
mov ecx, eax
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x418570
add ecx, 0x30
jmp 0x418573
add ecx, 0x37
mov byte [esp + 0x63], cl
mov ecx, eax
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x418589
add ecx, 0x30
jmp 0x41858c
add ecx, 0x37
mov byte [esp + 0x64], cl
mov ecx, eax
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x4185a2
add ecx, 0x30
jmp 0x4185a5
add ecx, 0x37
mov byte [esp + 0x65], cl
mov ecx, eax
and ecx, 0xf
shr eax, 4
cmp ecx, 0xa
jae 0x4185bb
add ecx, 0x30
jmp 0x4185be
add ecx, 0x37
and eax, 0xf
mov byte [esp + 0x66], cl
cmp eax, 0xa
jae 0x4185cf
add eax, 0x30
jmp 0x4185d2
add eax, 0x37
cmp dword [esp + 0x14], 0
mov byte [esp + 0x67], al
mov byte [esp + 0x68], 0
je 0x418617
mov ecx, dword [edi + 4]
cmp dword [edi + 8], ecx
jne 0x4185ff
mov eax, ecx
add ecx, 0x10
shr eax, 1
add eax, ecx
mov ecx, edi
and eax, 0xfffffff0
dec eax
push eax
call fcn.00412180
mov ecx, dword [edi + 4]
mov edx, 0x2e
mov eax, dword [edi]
mov word [eax + ecx*2], dx
inc ecx
xor edx, edx
mov word [eax + ecx*2], dx
mov dword [edi + 4], ecx
xor esi, esi
test bl, bl
je 0x418628
lea ecx, [ecx]
inc esi
cmp byte [esp + esi + 0x60], 0
jne 0x418620
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
sub eax, ecx
cmp esi, eax
jbe 0x41864b
add ecx, esi
mov eax, ecx
add ecx, 0x10
shr eax, 1
add eax, ecx
mov ecx, edi
and eax, 0xfffffff0
dec eax
push eax
call fcn.00412180
mov ecx, dword [edi + 4]
mov eax, dword [edi]
lea edx, [eax + ecx*2]
xor ecx, ecx
test esi, esi
je 0x41866e
lea esp, [esp]
movzx eax, byte [esp + ecx + 0x60]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jb 0x418660
xor eax, eax
mov word [edx + esi*2], ax
add dword [edi + 4], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 2
mov ecx, 1
cmove eax, ecx
add dword [esp + 0x10], eax
cmp dword [esp + 0x14], 0
mov bh, 1
je 0x4186f9
xor esi, esi
jmp 0x4186a0
inc esi
cmp byte [esi + str..tmp], 0
jne 0x4186a0
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
sub eax, ecx
cmp esi, eax
jbe 0x4186cd
add ecx, esi
mov eax, ecx
add ecx, 0x10
shr eax, 1
add eax, ecx
mov ecx, edi
and eax, 0xfffffff0
dec eax
push eax
call fcn.00412180
mov ecx, dword [edi + 4]
mov eax, dword [edi]
lea edx, [eax + ecx*2]
xor ecx, ecx
test esi, esi
je 0x4186f0
jmp 0x4186e0
movzx eax, byte [ecx + str..tmp]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jb 0x4186e0
xor eax, eax
mov word [edx + esi*2], ax
add dword [edi + 4], esi
mov esi, dword [edi]
lea ecx, [esp + 0x24]
call fcn.00417b20
push esi
lea ecx, [esp + 0x28]
mov dword [esp + 0x84], 0
call fcn.00419180
mov dword [esp + 0x80], 0xffffffff
mov bl, al
push dword [esp + 0x4c]
call fcn.004df97b
add esp, 4
test bl, bl
je 0x418743
push 0xb7
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x418781
mov eax, dword [esp + 0x14]
test eax, eax
je 0x418764
push 0x80
push 1
push 1
push 0x40000000
push dword [edi]
mov ecx, eax
call fcn.00419d60
jmp 0x41876b
mov ecx, dword [edi]
call fcn.00417820
test al, al
jne 0x4187aa
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
je 0x418781
cmp eax, 0xb7
jne 0x418798
mov esi, dword [esp + 0x18]
inc esi
mov dword [esp + 0x18], esi
cmp esi, 0x64
jae 0x418798
mov esi, dword [esp + 0x10]
jmp 0x418500
mov eax, dword [edi]
xor ecx, ecx
mov dword [edi + 4], 0
mov word [eax], cx
xor al, al
jmp 0x4187ac
mov al, 1
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.004df96c
mov esp, ebp
pop ebp
ret 8