Function at 0x41b460
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x51d53c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x34
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.00421b20
mov ebp, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [eax + 0x12571c], 0x64
call ebp
lea edi, [esi + 0x208]
push edi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push edi
mov dword [esi + 0x1dc], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.00424350
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
call ebx
mov dword [edi + 0x20], eax
mov dword [edi + 0x3c], eax
mov ecx, dword [esi + 0x1408]
test ecx, ecx
je 0x41b4db
call fcn.004260f0
call fcn.00424350
mov edi, eax
call ebx
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
add edi, 0x4c
push edi
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
call fcn.00449270
mov ecx, eax
call fcn.00448f00
call fcn.00421b20
mov dword [eax + 0x12571c], 0x65
call fcn.00424350
mov edi, eax
call ebx
mov dword [edi + 0x48], eax
mov dword [edi + 0x5c], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
call ebp
mov dword [esp + 0x1c], eax
call ebp
mov eax, dword [esi + 0x228]
mov ecx, dword [eax]
cmp ecx, eax
mov dword [esp + 0x20], ecx
je 0x41b753
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 8]
mov eax, dword [edi + 0x74]
test eax, eax
je 0x41b589
mov edx, dword [eax + 0x218]
mov ecx, 0x28
cmp edx, ecx
jg 0x41b581
cmp dword [eax + 0x21c], ecx
jg 0x41b581
cmp dword [eax + 0x220], 0x12c
jle 0x41b589
push edi
mov ecx, esi
call fcn.00419770
mov eax, dword [edi + 0x344]
test eax, eax
je 0x41b5f1
mov al, byte [edi + 0x348]
test al, al
jne 0x41b5f1
mov eax, dword [edi + 0x340]
mov eax, dword [eax]
mov ecx, dword [edi + 0x340]
mov ebp, dword [eax + 8]
mov eax, dword [ecx]
cmp eax, ecx
je 0x41b5d9
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [ecx], edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push eax
mov dword [ecx + 4], edx
call fcn.004f503d
mov eax, dword [edi + 0x344]
add esp, 4
dec eax
mov dword [edi + 0x344], eax
mov eax, dword [ebp + 4]
push ebp
mov ecx, esi
mov dword [edi + 0x34c], eax
call fcn.004521e0
mov byte [edi + 0x348], 1
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 4]
test al, al
jne 0x41b6de
mov al, byte [edi + 0x100]
test al, al
je 0x41b6bf
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x3c], ecx
push 0x3f2
mov ecx, esi
mov dword [esp + 0x44], edx
call fcn.00425500
push 0x577d78
mov dword [esp + 0x30], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebp, dword [0x577d74]
test ebp, ebp
je 0x41b656
mov ecx, dword [ebp + 8]
mov dword [0x577d74], ecx
jmp 0x41b66d
push 0x10
call fcn.004f5012
mov ebp, eax
mov eax, dword [0x577d70]
add esp, 4
inc eax
mov dword [0x577d70], eax
push 0x577d78
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esp + 0x24], ebp
test ebp, ebp
mov dword [esp + 0x4c], 0
je 0x41b698
mov eax, dword [edi + 0xbc]
push eax
mov ecx, ebp
call fcn.0042b080
jmp 0x41b69a
xor eax, eax
mov ebp, dword [esp + 0x2c]
push eax
mov ecx, ebp
mov dword [esp + 0x50], 0xffffffff
call fcn.0041f330
mov edx, dword [esi]
push ebp
mov ecx, esi
call dword [edx + 0x30]
mov byte [edi + 0x100], 0
jmp 0x41b6f8
cmp dword [edi + 0xb0], 3
jne 0x41b6f8
mov eax, dword [esp + 0x1c]
mov edx, dword [edi + 0xb8]
mov ecx, dword [0x53191c]
sub eax, edx
cmp ecx, eax
jae 0x41b6f8
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
mov edx, dword [esi]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x30]
mov ecx, esi
push eax
mov dword [esp + 0x38], edi
call dword [edx + 0x28]
mov ecx, dword [esp + 0x20]
mov al, byte [ecx + 0x19]
test al, al
jne 0x41b747
mov eax, dword [ecx + 8]
mov dl, byte [eax + 0x19]
test dl, dl
jne 0x41b725
mov ecx, eax
mov eax, dword [ecx]
mov dl, byte [eax + 0x19]
test dl, dl
jne 0x41b743
mov ecx, eax
mov eax, dword [ecx]
mov dl, byte [eax + 0x19]
test dl, dl
je 0x41b718
jmp 0x41b743
mov eax, dword [ecx + 4]
mov dl, byte [eax + 0x19]
test dl, dl
jne 0x41b741
nop
cmp ecx, dword [eax + 8]
jne 0x41b741
mov ecx, eax
mov eax, dword [eax + 4]
mov dl, byte [eax + 0x19]
test dl, dl
je 0x41b730
mov ecx, eax
mov dword [esp + 0x20], ecx
cmp ecx, dword [esi + 0x228]
jne 0x41b544
call fcn.00421b20
mov dword [eax + 0x12571c], 0x66
call fcn.00424350
mov edi, eax
call ebx
mov ebp, dword [esp + 0x1c]
mov dword [edi + 0x60], eax
mov dword [edi + 0x64], eax
mov ecx, dword [esi + 0x330]
mov eax, dword [ecx]
cmp eax, ecx
mov dword [esp + 0x20], eax
je 0x41b7ce
mov edi, dword [eax + 0x14]
push ebp
mov ecx, edi
call fcn.00468290
cmp dword [edi + 8], 3
jne 0x41b7b7
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
mov dword [esp + 0x38], ecx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
mov dword [esp + 0x44], edx
call fcn.00459990
jmp 0x41b7c0
lea ecx, [esp + 0x20]
call fcn.00496ab0
mov ecx, dword [esi + 0x330]
mov eax, dword [esp + 0x20]
cmp eax, ecx
jne 0x41b785
call fcn.00421b20
mov dword [eax + 0x12571c], 0x67
call fcn.00424350
mov edi, eax
call ebx
push ebp
lea ecx, [esi + 0x234]
mov dword [edi + 0x68], eax
mov dword [edi + 0x6c], eax
call fcn.00485480
call fcn.00421b20
mov dword [eax + 0x12571c], 0x68
call fcn.00424350
mov edi, eax
call ebx
mov dword [edi + 0x70], eax
mov dword [edi + 0x74], eax
add edi, 0x7c
push edi
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push ebp
lea ecx, [esi + 0x344]
call fcn.00489c80
call fcn.00421b20
mov dword [eax + 0x12571c], 0x69
call fcn.00424350
mov edi, eax
call ebx
mov dword [edi + 0x78], eax
mov dword [edi + 0x8c], eax
add edi, 0x94
push edi
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
call fcn.00421a10
cmp dword [eax + 0x1d4], 1
jne 0x41b874
push ebp
lea ecx, [esi + 0x614]
call fcn.00490d70
call fcn.00421a10
cmp byte [eax + 0x232], 1
jne 0x41b88e
mov ecx, dword [esi + 0x13f0]
push ebp
call fcn.0046a1e0
call fcn.00421b20
mov dword [eax + 0x12571c], 0x6a
call fcn.00424350
mov edi, eax
call ebx
mov dword [edi + 0x90], eax
mov dword [edi + 0xa4], eax
add edi, 0xac
push edi
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
test byte [0x57e474], 1
jne 0x41b8d5
or dword [0x57e474], 1
mov dword [0x57e470], ebp
mov ecx, dword [0x57e470]
mov edx, ebp
sub edx, ecx
cmp edx, 0x2bf20
jbe 0x41b98f
mov eax, dword [esi + 0x1a7c]
mov ecx, dword [esi + 0x370]
mov edi, dword [esi + 0x22c]
push eax
mov eax, dword [0x57e404]
push eax
push ecx
mov ecx, esi
mov dword [0x57e470], ebp
call fcn.00421eb0
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x2c]
push eax
push edi
push ecx
push edx
push str.GARBAGE_SESSION_CLEANING_:_m_This__d_d___ClientCount_d__SessionCount_d__AgentCount_d__CommandPool_d__objHistoryCount_d_n
push 7
push esi
call fcn.00425280
xor eax, eax
add esp, 0x28
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
push eax
push 0x142
mov ecx, esi
call fcn.00425500
push 0x10
mov ebp, eax
call fcn.004066ee
mov edi, eax
add esp, 4
mov dword [esp + 0x2c], edi
test edi, edi
mov dword [esp + 0x4c], 1
je 0x41b975
call dword [sym.imp.WINMM.dll_timeGetTime]
push eax
mov ecx, edi
call fcn.0042b080
jmp 0x41b977
xor eax, eax
push eax
mov ecx, ebp
mov dword [esp + 0x50], 0xffffffff
call fcn.0041f330
push ebp
mov ecx, esi
call fcn.0041acd0
call fcn.00421b20
mov dword [eax + 0x12571c], 0x6b
call fcn.00424350
mov edi, eax
call ebx
mov dword [edi + 0xa8], eax
mov dword [edi + 0xbc], eax
mov ecx, dword [esi + 0x228]
mov eax, dword [ecx]
cmp eax, ecx
mov dword [esp + 0x2c], eax
je 0x41bab7
mov edi, dword [eax + 0x14]
mov eax, dword [edi + 4]
test eax, eax
mov ecx, dword [edi + 8]
jne 0x41b9dd
cmp ecx, 3
jb 0x41ba9c
lea eax, [esi + 0x208]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebp, dword [esi + 0x1dc]
lea eax, [esi + 0x208]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub ebp, dword [edi + 0x2f8]
cmp ebp, 0x927c0
jb 0x41ba9c
cmp dword [edi + 0xb0], 1
jne 0x41ba9c
mov ebx, dword [edi + 8]
mov ecx, dword [edi + 4]
mov ebp, dword [esi + 0x22c]
mov eax, ebx
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x74]
test eax, eax
mov edx, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x38], edx
je 0x41ba48
add eax, 8
mov dword [esp + 0x24], eax
jmp 0x41ba50
mov dword [esp + 0x24], str.Unknown
mov ecx, esi
call fcn.00421eb0
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x28]
push ebp
lea ecx, [edi + 0x22c]
push ecx
push ebx
push edx
push eax
push str.TIMEOUT_CLIENT_CLEANING_:__s__u_u___s___ClientCnt_d__SessionCnt_d_
push 7
push esi
call fcn.00425280
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0xb0], 2
mov byte [edi + 0x100], 1
add esp, 0x24
mov dword [edi + 0xbc], 0x1fbd8
lea ecx, [esp + 0x2c]
call fcn.0040daff
mov ecx, dword [esi + 0x228]
mov eax, dword [esp + 0x2c]
cmp eax, ecx
jne 0x41b9c7
call fcn.00421b20
mov dword [eax + 0x12571c], 0x6c
call fcn.00424350
mov edi, eax
call ebx
mov ecx, esi
mov dword [edi + 0xc0], eax
mov dword [edi + 0xc4], eax
call fcn.004532a0
call fcn.00421b20
mov dword [eax + 0x12571c], 0x6d
call fcn.00424350
mov edi, eax
call ebx
mov ebp, dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov dword [edi + 0xc8], eax
mov dword [edi + 0xcc], eax
add edi, 0xd4
push edi
call ebp
mov ecx, esi
call fcn.00412030
call fcn.00424350
mov edi, eax
call ebx
mov dword [edi + 0xd0], eax
mov dword [edi + 0xe4], eax
add edi, 0xec
push edi
call ebp
mov ecx, esi
call fcn.0041abc0
call fcn.00421b20
mov dword [eax + 0x12571c], 0x6e
call fcn.00424350
mov edi, eax
call ebx
mov dword [edi + 0xe8], eax
mov dword [edi + 0xfc], eax
add edi, 0x104
push edi
call ebp
mov edi, dword [esp + 0x1c]
mov eax, dword [esi + 0x19d4]
mov ecx, edi
sub ecx, eax
cmp ecx, 0x36ee80
jbe 0x41bbb5
mov edx, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
lea ecx, [esp + 0x38]
push ecx
push 0xc355
mov ecx, esi
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
call fcn.00425500
test eax, eax
je 0x41bbaf
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x30]
mov dword [esi + 0x19d4], edi
call fcn.00421b20
mov dword [eax + 0x12571c], 0x6f
call fcn.00424350
mov edi, eax
call ebx
mov dword [edi + 0x100], eax
mov dword [edi + 0x114], eax
add edi, 0x11c
push edi
call ebp
mov ebx, dword [esp + 0x1c]
push ebx
lea ecx, [esi + 0x5c8]
call fcn.0048f300
call fcn.00421b20
mov dword [eax + 0x12571c], 0x70
test byte [0x57e474], 2
jne 0x41bc17
or dword [0x57e474], 2
mov dword [0x57e46c], ebx
mov ecx, dword [0x57e46c]
mov eax, ebx
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x3e8
jle 0x41bc4b
push ebx
lea ecx, [esi + 0x1a74]
mov dword [0x57e46c], ebx
call fcn.00482cb0
push ebx
lea ecx, [esi + 0x1a80]
call fcn.004900b0
mov eax, dword [esi + 0x13f0]
mov cl, byte [eax + 4]
test cl, cl
je 0x41bd75
call fcn.00421a10
mov cl, byte [eax + 0x232]
test cl, cl
je 0x41bd75
mov cl, byte [0x57e474]
mov eax, 4
test al, cl
jne 0x41bc8a
or dword [0x57e474], eax
mov dword [0x57e468], ebx
mov edx, dword [0x57e468]
mov eax, ebx
sub eax, edx
cmp eax, 0x5dc
jbe 0x41bd75
mov ecx, dword [esi + 0x228]
mov eax, dword [ecx]
xor ebp, ebp
cmp eax, ecx
mov dword [0x57e468], ebx
mov byte [esp + 0x1b], 1
mov dword [esp + 0x2c], eax
je 0x41bd6b
cmp ebp, 0x32
mov edi, dword [eax + 0x14]
mov eax, dword [edi + 0x36c]
je 0x41bd63
test eax, eax
je 0x41bd48
mov ecx, dword [esi + 0x13f0]
add eax, 0x38
push eax
add ecx, 4
call fcn.00469a80
test al, al
jne 0x41bd48
mov byte [esp + 0x1b], al
mov eax, dword [edi + 0x36c]
cmp byte [eax], 0
jne 0x41bd48
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
push eax
push ecx
push str.Request_Character_Info__Character_Previous_Info__d_d_
mov edx, eax
push 7
push esi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
call fcn.00425280
mov eax, dword [edi + 0x74]
mov eax, dword [eax]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
add esp, 0x14
push eax
push ecx
push edx
mov ecx, esi
call fcn.0044be50
mov eax, dword [edi + 0x74]
mov eax, dword [eax]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
push eax
push ecx
push edx
mov ecx, esi
call fcn.0044b1c0
inc ebp
lea ecx, [esp + 0x2c]
call fcn.0040daff
mov ecx, dword [esi + 0x228]
mov eax, dword [esp + 0x2c]
cmp eax, ecx
jne 0x41bcc0
mov al, byte [esp + 0x1b]
test al, al
je 0x41bd75
mov eax, dword [esi + 0x13f0]
mov byte [eax + 4], 0
mov edi, dword [esi + 0x1a8c]
call fcn.00421a10
mov eax, dword [eax + 0x2a8]
mov ecx, ebx
sub ecx, edi
cmp ecx, eax
jbe 0x41bded
push 0x3c
mov dword [esi + 0x1a8c], ebx
call fcn.004f5012
add esp, 4
xor ecx, ecx
cmp eax, ecx
je 0x41bdd7
mov dword [eax + 0x18], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 4], 0x3b
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax], 0x52f318
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ecx
mov dword [eax + 0x28], ecx
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], ecx
mov dword [eax + 0x38], ecx
jmp 0x41bdd9
xor eax, eax
mov ecx, dword [0x57e3e4]
push eax
mov dword [esp + 0x50], 0xffffffff
call fcn.004521e0
mov ecx, dword [esp + 0x44]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret