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

Disassembly:
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [0x473a7c], eax
jne 0x427791
je 0x427791
mov eax, dword [ebp - 0x3d]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4536b0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x28
mov eax, dword [0x474200]
push esi
cmp eax, 0x120
push edi
jne 0x427b5d
ret
jne 0x4277d3
je 0x4277d3
mov eax, dword [ebp - 0x18]
call 0x854279c5
ror byte [edi], 0x85
jge 0x4277e1
call fcn.004464c0
test eax, eax
jne 0x427b5d
add byte [eax], al
jne 0x4277e6
add al, 0x74
add cl, byte [ebx + 0x3a74a145]
je 0x4277e6
mov eax, dword [ebp - 0x5f]
je 0x427823
mov eax, dword [0x473a74]
xor edi, edi
cmp eax, edi
je 0x427b5d
inc edi
add byte [ebx], dh
invalid
jne 0x4277fb
je 0x4277fb
mov eax, dword [ebp + 0x75]
add al, 0x74
add cl, byte [ebx + 0x3a80a145]
inc edi
jne 0x427801
je 0x427801
mov eax, dword [ebp - 0x5f]
cmp byte [edx], 0x47
mov eax, dword [0x473a80]
mov esi, dword [sym.imp.kernel32.dll_GetTickCount]
cmp eax, edi
jne 0x42781d
add byte [ebx + 0x45606035], cl
add byte [ebx], bh
invalid
call esi
mov dword [0x473a80], eax
jne 0x42781d
je 0x42781d
mov eax, dword [ebp - 1]
salc
call esi
sub eax, dword [0x473a80]
cmp eax, 0x3e8
inc edi
add byte [0x3e8], bh
jbe 0x427b5d
mov eax, dword [0x474224]
cmp eax, edi
jne 0x4278c8
call fcn.00426500
jne 0x427848
je 0x427848
mov eax, dword [ebp + 0x57]
push edi
push 0x4741e0
lea ecx, [ebp - 0x28]
call sub.mfc42.dll_CSingleLock::CSingleLock
mov dword [ebp - 4], edi
rol byte [edx + eax - 0x3827700], 1
jne 0x42785f
je 0x42785f
mov eax, dword [ebp + 0x6a]
dec dword [ebp - 0x481727b3]
test byte [edx], al
add byte [ebp + 4], dh
push 0xffffffffffffffff
lea ecx, [ebp - 0x28]
call sub.mfc42.dll_CSingleLock::Lock
jne 0x42786f
je 0x42786f
mov eax, dword [ebp + 0x39]
jge 0x427852
cmp dword [ebp - 0x20], edi
je 0x4278b9
cmp dword [0x55f300], edi
jle 0x4278ab
call fcn.0040c5a0
jne 0x427887
je 0x427887
mov eax, dword [ebp - 0x5f]
cld
push ebp
add byte [ebx - 0x17affb40], al
stosd dword es:[edi], eax
mov al, byte [eax]
add byte [ebx + 0x47504c4], al
mov eax, dword [0x55f2fc]
add eax, 4
push eax
call fcn.00430340
add esp, 4
jne 0x42789e
je 0x42789e
mov eax, dword [ebp - 1]
salc
call esi
mov dword [0x473a80], eax
jne 0x4278ab
je 0x4278ab
mov eax, dword [ebp - 0x73]
dec ebp
fsubr st(0)
test byte [bp + si], al
add byte [ebp + 4], dh
lea ecx, [ebp - 0x28]
call sub.mfc42.dll_CSingleLock::Unlock
jne 0x4278b9
je 0x4278b9
mov eax, dword [ebp - 0x39]
inc ebp
cld
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
jmp 0x427b58
push eax
call fcn.00444fe0
add esp, 4
test eax, eax
je 0x427ac5
mov esi, dword [sym.imp.msvcrt.dll_rand]
push ebx
call esi
mov ebx, eax
and ebx, 0x80000003
jns 0x4278f1
dec ebx
or ebx, 0xfffffffc
inc ebx
jne 0x4278f7
je 0x4278f7
mov eax, dword [ebp - 1]
salc
call esi
and eax, 0x80000003
jns 0x427905
dec eax
or eax, 0xfffffffc
inc eax
jne 0x42790b
je 0x42790b
mov eax, dword [ebp - 0x7d]
jmp 0x427910
sub ebx, 2
jne 0x427914
je 0x427914
mov eax, dword [ebp - 0x7d]
call 0xf088021c
sub eax, 2
mov dword [ebp - 0x10], eax
jne 0x427920
je 0x427920
mov eax, dword [ebp + 0x3b]
fbstp tbyte [ebp + 0xf]
cmp ebx, edi
jne 0x427933
cmp eax, edi
jne 0x427933
mov ebx, 2
jne 0x427933
je 0x427933
mov eax, dword [ebp - 0x18]
enter 0xffffffffffffffeb, 0xffffffffffffffff
call fcn.00426500
jne 0x42793e
je 0x42793e
mov eax, dword [ebp + 0x57]
push edi
push 0x4741e0
lea ecx, [ebp - 0x28]
call sub.mfc42.dll_CSingleLock::CSingleLock
mov dword [ebp - 4], 1
jne 0x427959
je 0x427959
mov eax, dword [ebp + 0x6a]
dec dword [ebp - 0x421727b3]
add dword [edx], 0
push 0xffffffffffffffff
lea ecx, [ebp - 0x28]
call sub.mfc42.dll_CSingleLock::Lock
jne 0x427969
je 0x427969
mov eax, dword [ebp + 0x39]
jge 0x42794c
cmp dword [ebp - 0x20], edi
je 0x427aa5
jne 0x427978
je 0x427978
mov eax, dword [ebp + 0x75]
add al, 0x74
add cl, byte [ebx - 0xcff5ebb]
jne 0x42797e
je 0x42797e
mov eax, dword [ebp - 0x5f]
add bl, dh
mov eax, dword [0x55f300]
xor esi, esi
test eax, eax
jle 0x427a97
push ebp
add byte [ebx], dh
test byte [ebp + 0xa8e0fc0], 1
add byte [eax], al
xor eax, eax
lea ecx, [ebp - 0x1b]
mov edx, dword [0x55f2fc]
mov dl, byte [eax + edx + 4]
mov byte [ecx - 1], dl
jne 0x4279a5
je 0x4279a5
mov eax, dword [ebp - 0x75]
adc eax, 0x55f2fc
mov edx, dword [0x55f2fc]
mov dl, byte [eax + edx + 5]
mov byte [ecx], dl
jne 0x4279b7
je 0x4279b7
mov eax, dword [ebp + 0x47]
inc edi
jne 0x4279be
je 0x4279be
mov eax, dword [ebp - 0x7d]
inc dword [0x158b117d]
add bl, dh
push ebp
add byte [esi - 0x7d], al
shr byte [eax], 0x83
rol dword [edx], 0x3b
bnd jl 0x427992
cmp edi, 5
jge 0x4279d4
mov edx, dword [0x55f300]
inc esi
add eax, 0x28
add ecx, 2
cmp esi, edx
jl 0x427992
test edi, edi
je 0x427a47
mov eax, dword [0x47421c]
test eax, eax
je 0x427a47
cmp dword [0x474214], 6
jb 0x427a47
push 0
push 0x474168
lea ecx, [ebp - 0x34]
call sub.mfc42.dll_CSingleLock::CSingleLock
mov byte [ebp - 4], 2
jne 0x427a03
je 0x427a03
mov eax, dword [ebp + 0x6a]
dec dword [ebp + 0x13e8cc4d]
add dword [edx], 0
push 0xffffffffffffffff
lea ecx, [ebp - 0x34]
call sub.mfc42.dll_CSingleLock::Lock
jne 0x427a13
je 0x427a13
mov eax, dword [ebp - 0x75]
inc ebp
aam 0x85
sal byte [ecx - 0x60], 0x18
inc edx
inc edi
add byte [edi - 0x73], dl
dec ebp
in al, 0x50
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x427a3b
mov al, byte [0x474218]
push edi
lea ecx, [ebp - 0x1c]
push eax
push ecx
call fcn.00430b10
add esp, 0xc
jne 0x427a33
je 0x427a33
mov eax, dword [ebp - 0x73]
dec ebp
int3
lea ecx, [ebp - 0x34]
call sub.mfc42.dll_CSingleLock::Unlock
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call sub.mfc42.dll_CSingleLock::Unlock
mov eax, dword [0x55f300]
test eax, eax
jle 0x427a97
call fcn.0040c5a0
jne 0x427a5b
je 0x427a5b
mov eax, dword [ebp - 0x76]
adc eax, 0x55edfb
mov dl, byte [0x55edfb]
mov al, byte [ebp - 0x10]
mov cl, byte [0x474224]
sub dl, al
mov al, byte [0x55edfa]
push edx
sub al, bl
push eax
push 0
push ecx
call fcn.004306c0
add esp, 0x10
jne 0x427a86
je 0x427a86
mov eax, dword [ebp - 1]
adc eax, sym.imp.kernel32.dll_GetTickCount
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [0x473a80], eax
jne 0x427a97
je 0x427a97
mov eax, dword [ebp - 0x73]
dec ebp
fsubr st(0)
jnp 0x427a1f
lea ecx, [ebp - 0x28]
call sub.mfc42.dll_CSingleLock::Unlock
add al, byte [eax]
jne 0x427aa5
je 0x427aa5
mov eax, dword [ebp - 0x73]
dec ebp
fadd st(7)
inc ebp
cld
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call sub.mfc42.dll_CSingleLock::Unlock
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
call fcn.00426500
jne 0x427ad0
je 0x427ad0
mov eax, dword [ebp + 0x57]
push edi
push 0x4741e0
lea ecx, [ebp - 0x1c]
call sub.mfc42.dll_CSingleLock::CSingleLock
mov dword [ebp - 4], 3
jne 0x427aeb
je 0x427aeb
mov eax, dword [ebp + 0x6a]
dec dword [ebp + 0x2be8e44d]
add byte [edx], 0
inc ebp
push 0xffffffffffffffff
lea ecx, [ebp - 0x1c]
call sub.mfc42.dll_CSingleLock::Lock
jne 0x427afb
je 0x427afb
mov eax, dword [ebp + 0x39]
jge 0x427aea
cmp dword [ebp - 0x14], edi
je 0x427b4e
cmp dword [0x55f300], edi
jle 0x427b40
call fcn.0040c5a0
jne 0x427b13
je 0x427b13
mov eax, dword [ebp - 0x75]
adc eax, 0x55f2fc
mov edx, dword [0x55f2fc]
mov al, byte [0x474224]
push edi
add edx, 4
push edi
push edx
push eax
call fcn.004306c0
add esp, 0x10
jne 0x427b33
je 0x427b33
mov eax, dword [ebp - 1]
salc
call esi
mov dword [0x473a80], eax
jne 0x427b40
je 0x427b40
mov eax, dword [ebp - 0x73]
dec ebp
in al, 0xe8
rol byte [ecx + 0x4750002], cl
lea ecx, [ebp - 0x1c]
call sub.mfc42.dll_CSingleLock::Unlock
jne 0x427b4e
je 0x427b4e
mov eax, dword [ebp - 0x39]
inc ebp
cld
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call sub.mfc42.dll_CSingleLock::Unlock
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret