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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x463648
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x474860]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x34], ecx
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
test eax, eax
jne 0x422c62
rcr ch, cl
push ss
or al, byte [eax + ecx*4 + 0x54]
salc
xchg ecx, eax
into
cmp bh, byte [0x4ba0014e]
movsb byte es:[edi], byte [esi]
mov bh, 0x9a
push ecx
idiv bh
salc
call esi
cmp eax, 4
ja 0x422c9c
aad 0x41
xchg esp, eax
invalid
xor edi, edi
call esi
cmp eax, 9
ja 0x422d0a
outsd dx, dword [esi]
idiv byte [esi + 0x3b]
neg byte [edx]
and eax, 0x14d7ba56
dec ebx
iretd
mov dword [ebp - 0x14], edi
call esi
cmp eax, 4
ja 0x422d47
push es
xor byte [edx + 0x1f], bl
sub byte [esi], bh
cdq
and eax, 0x17942d58
pop ss
outsb dx, byte [esi]
lcall 0x5726, 0x2087fef3
in al, dx
loop 0x422d7c
rcr bl, cl
xor al, byte [edx + edi*2 - 0x7b]
nop
pop edx
call 0xb723a9a9
push ss
mov bh, ch
aaa
fnstenv [ecx - 0x10eb9aa1]
sbb byte [ebx], bl
call fcn.0041cbb0
cmp dword [eax + 0x39c], edi
jne 0x422d5b
xor eax, eax
jmp 0x423047
add byte [ebx - 0x143ef3a3], cl
pop ds
mov ebx, dword [ebp + 0xc]
shr ebx, 0x1f
and bl, 1
call esi
cmp eax, 9
ja 0x422dd0
mov dword [ebx], ecx
xchg ebx, eax
test dword [0x40d497b1], eax
mov byte [edi + 0x36], 4
sti
pop edi
add eax, 0x3ebba391
inc ecx
ret 0x3619
mov dword [0xc2413ebb], eax
sbb dword [esi], esi
push 0x7e881f66
cmp ah, byte [eax + 0x1b588052]
mov eax, dword [0x29845f93]
jmp 0x422d5a
movsb byte es:[edi], byte [esi]
fmul dword [ebp + 0x6e]
adc byte [ebx], 0x64
push cs
sub bh, byte [ecx - 0x4b54222c]
lodsd eax, dword [esi]
xor byte [ebp + 0x36], cl
sub al, 0xea
mov ebp, 0x6baaf54c
mov dh, 0x9d
inc ebx
xor dword [ebx - 0x173ef3bb], ecx
push ds
mov eax, dword [ebp + 0xc]
shr eax, 0x1e
and eax, 0xffffff01
mov dword [ebp - 0x38], eax
call esi
cmp eax, 4
ja 0x422e18
imul byte [ebx + 0x6d]
xor eax, 0x10ba60a7
adc byte [ebx + ecx*8 + 0x30], dh
stc
and eax, ebx
jp 0x422db3
sub ah, bh
xor al, 0xa1
mov ecx, edi
and esp, dword [ebx + edx*8 - 0x64]
lock sbb byte [edi + 0x7530d199], ah
sub esp, dword [ebp - 0x27]
mov byte [esi], al
fisttp word [esi - 0x199973bd]
stosb byte es:[edi], al
inc ebx
mov esp, 0x8b8724b1
inc ebp
or al, 0xc1
call 0x8943523e
inc ebp
or al, 0xff
salc
mov eax, dword [ebp + 0xc]
shr eax, 0x1d
and al, 1
mov dword [ebp + 0xc], eax
call esi
cmp eax, 9
ja 0x422e8f
push ds
inc esp
jle 0x422eaa
insb byte es:[edi], dx
adc dword [edi + eax*2], esi
mov bh, byte [ebx - 0x14]
jle 0x422e3d
call 0x183e0a80
int 0x3a
xor eax, 0x95ba57b4
cmp dh, byte [0x95ba57b4]
sub dword [eax + 0x46], esi
mov bh, 0xb8
daa
cmp ebx, edx
invalid
push 0
push 0x46cfb4
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
call fcn.0040dbb0
cmp byte [ebp - 0x38], 0
mov dword [ebp - 4], 0
jne 0x422f47
invalid
test bl, bl
jne 0x422fa7
cmp byte [ebp + 0xc], bl
mov eax, 0x10
mov edi, 1
cmovne edi, eax
call esi
cmp eax, 9
ja 0x422fa7
and dh, byte [ebx + 0x703da4ae]
invalid
test bl, bl
jne 0x422f7a
cmp byte [ebp + 0xc], bl
mov eax, 0x20
mov edi, 2
cmovne edi, eax
call esi
test eax, eax
jne 0x422f76
sub bh, byte [edi]
push ecx
pop edx
cmc
mov ch, 0xaf
cmp al, 0x96
cmp al, 0x1e
sub ebx, dword [eax - 0x7d]
fidivr dword [edi + 6]
mov edi, 0x84ab239a
invalid
test bl, bl
je 0x422fa7
cmp byte [ebp + 0xc], 0
mov eax, 0x40
add byte [eax], al
mov edi, 4
cmovne edi, eax
inc ebp
clc
call esi
cmp eax, 1
ja 0x422fa7
pop ecx
jb 0x422f81
pushfd
jecxz 0x422f90
sub dword [eax - 0x108359af], edi
jg 0x422f89
add dword [ebp + esi*8 + 0x2a], ebp
mov byte [eax], ch
call fcn.0041cbb0
mov eax, dword [eax + 0x39c]
lea ecx, [ebp - 0x14]
push ecx
push edi
push dword [ebp + 8]
push dword [ebp - 0x30]
push dword [ebp - 0x34]
call eax
mov edi, eax
call esi
cmp eax, 6
ja 0x423012
or ecx, dword [ebp + 0x39]
or eax, 0xb06779b7
mov cl, byte [eax + ecx*8]
jl 0x422f6a
jmp 0x423056
call dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, 1
ja 0x423034
shl byte [eax - 0x439f9a04], 0xf1
jmp 0xd85d4c15
cmp dword [ebp - 0x18], 0x10
jb 0x423045
push dword [ebp - 0x2c]
call fcn.00447bb4
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00447bb9
mov esp, ebp
pop ebp
ret
dec ebp
invalid