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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffbc
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0xb3a3c4
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xd], 0
lea eax, [ebp - 0x18]
call fcn.00a14dc8
mov eax, dword [ebp - 4]
mov byte [eax + 0xc], 0
mov byte [ebp - 0x2d], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
call fcn.00a15098
test eax, eax
jle 0xb3a2fc
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x26]
push eax
lea ecx, [ebp - 0x20]
lea edx, [ebp - 0x19]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
call fcn.00b39a2c
mov dl, 1
mov eax, dword [0xa29c84]
call fcn.00a13f2c
mov dword [ebp - 0x2c], eax
xor eax, eax
push ebp
push 0xb3a1bd
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.00b379ec
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
call fcn.00b36b0c
mov dl, byte [ebp - 0x19]
mov eax, dword [ebp - 8]
call fcn.00b36b64
lea edx, [ebp - 0x3c]
movzx eax, word [ebp - 0x26]
call fcn.00a19c38
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.00b36b38
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
call fcn.00b36ba4
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
call fcn.00b36c34
xor eax, eax
push ebp
push 0xb3a1ac
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0xb3a161
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0xb3a157
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 4]
cmp byte [eax + 4], 0
jne 0xb3a157
cmp dword [ebp - 0x14], 0
jle 0xb39ff1
mov eax, dword [0xb73d54]
mov eax, dword [eax]
cmp byte [eax + 0x24], 0
je 0xb39ff1
lea eax, [ebp - 0x18]
call fcn.00a14dc8
jmp 0xb3a157
mov eax, dword [ebp - 8]
call fcn.00b37d3c
call sub.kernel32.dll_GetTickCount_1
mov ebx, eax
push 1
call sub.kernel32.dll_Sleep_1
call sub.kernel32.dll_GetTickCount_1
sub eax, ebx
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
cdq
cmp edx, dword [esp + 4]
jne 0xb3a028
cmp eax, dword [esp]
pop edx
pop eax
ja 0xb3a02c
jmp 0xb3a065
pop edx
pop eax
jle 0xb3a065
mov eax, dword [ebp - 4]
cmp byte [eax + 4], 0
je 0xb3a04f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00a147e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0xb3a389
mov eax, dword [ebp - 8]
call fcn.00b36970
sub al, 2
je 0xb3a065
sub al, 2
je 0xb3a065
add al, 0xf9
sub al, 5
jae 0xb3a000
mov eax, dword [ebp - 4]
cmp byte [eax + 4], 0
je 0xb3a088
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00a147e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0xb3a389
mov eax, dword [ebp - 8]
call fcn.00b36970
sub al, 0xb
je 0xb3a09c
sub al, 2
jne 0xb3a139
mov eax, dword [ebp - 8]
cmp dword [eax + 0x4b8], 0xc8
je 0xb3a0c5
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00a147e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0xb3a389
push 0
push 0
mov eax, dword [ebp - 8]
call fcn.00b36c28
call fcn.00a2ea1c
mov eax, dword [ebp - 8]
call fcn.00b36c28
mov edx, dword [eax]
call dword [edx]
mov edx, eax
lea eax, [ebp - 0x18]
call fcn.00a15424
mov eax, dword [ebp - 8]
call fcn.00b36c28
mov edx, dword [eax]
call dword [edx]
push eax
lea eax, [ebp - 0x18]
call fcn.00a152f0
push eax
mov eax, dword [ebp - 8]
call fcn.00b36c28
pop edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x18]
call fcn.00b39824
test al, al
je 0xb3a133
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 0x18]
call fcn.00a16fd4
mov edx, dword [ebp - 0x40]
lea eax, [ebp - 0x18]
call fcn.00a15060
mov byte [ebp - 0xd], 1
jmp 0xb3a157
mov eax, dword [ebp - 8]
call fcn.00b36970
cmp al, 0xe
jne 0xb3a14b
mov byte [ebp - 0x2d], 1
jmp 0xb3a157
inc dword [ebp - 0x14]
dec dword [ebp - 0x38]
jne 0xb39fc4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0xb3a182
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0xb3a1b3
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.00b36c34
mov eax, dword [ebp - 0x2c]
call fcn.00a13f5c
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.00b379ec
ret
in eax, dx
pop ds
enter 0x1fbb, 0x5b
int1
xlatb
inc edi
and eax, dword [eax]
and eax, 0x52c5406d
push es
adc al, 0xef
cmp dl, byte [ecx]
and eax, 0x75fe1b72
lcall 0xe1f4, 0x378b80c2
push edi
push 0xa68cd534
cmp cl, bl
cld
popal
push ebx
adc cl, byte [esi + 0x18]
add al, 0x1a
jb 0xb3a297
jb 0xb3a24e
invalid
dec eax
shr edi, 0x40
pop dword [eax]
lds ebx, [ecx - 0x6c121bfa]
retf
jbe 0xb3a2db
salc
xchg edx, eax
add byte [eax + 0x14], ah
add bh, byte [edx - 0x15dc803a]
and byte [eax - 0x7a6ec02c], bh
out dx, al
mov al, byte [0x2d1ab401]
retf
je 0xb3a21a
out dx, al
jno 0xb3a262
retf
dec ebp
or dh, byte [ecx - 0x2d]
mov dh, 0xe3
stc
sti
sti
push ss
pop esi
loope 0xb3a231
mov ecx, 0x79b6ceb1
pop es
iretd
shr ecx, 1
cmpsd dword [esi], dword es:[edi]
rol ch, 1
add byte [ebx - 0x38f7db84], cl
mov edi, dword [esp + 8]
mov dword [esp + 8], 0x82749744
lea esp, [esp + 8]
call fcn.017be46f
add bh, bh
loope 0xb3a289
lodsb al, byte [esi]
add al, 0x90
mov byte [0x10c2ee4d], al
add byte [eax - 1], bl
out 0x8b, al
inc ebp
cld
cmp byte [eax + 4], 0
jne 0xb3a389
call fcn.0178c2f2
rol eax, 5
xor ebx, edx
movzx ecx, ax
lea eax, [eax + ecx*8 - 0x2bdee4e7]
add esi, edx
or eax, ecx
jmp esi
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0xb3a3cb
lea eax, [ebp - 0x44]
call fcn.00a14dc8
lea eax, [ebp - 0x40]
call fcn.00a15520
lea eax, [ebp - 0x3c]
call fcn.00a14dc8
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.00a14dec
lea eax, [ebp - 0x18]
call fcn.00a14dc8
ret