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

Disassembly:
sub esp, 0xb4
push ebp
mov ebp, ecx
push esi
push edi
mov ecx, dword [ebp + 0x4504]
call fcn.00464a70
mov ecx, dword [ebp + 0x4504]
mov esi, eax
mov dword [esp + 0x1c], esi
call fcn.004736e0
mov dword [esp + 0x18], eax
mov ax, word [ebp + 0x402e]
and eax, 0x300
xor ecx, ecx
cmp ecx, eax
sbb eax, eax
neg eax
cmp esi, 1
mov dword [esp + 0x14], eax
jne 0x43acae
mov dword [ebp + 0x455c], esi
mov eax, dword [esp + 0xc8]
push 0
push 0
push 0
test eax, eax
push 0
push 0
jne 0x43acc7
push 0
jmp 0x43acd1
mov eax, dword [eax + 0x11c]
mov ecx, dword [eax + 0x34]
push ecx
mov edx, dword [esp + 0xdc]
mov ecx, ebp
push edx
call fcn.0043ab40
push ebx
mov ebx, dword [esp + 0xd0]
test bl, bl
je 0x43adf6
mov al, byte [ebp + 0x3804]
mov cx, word [ebp + 0x3800]
mov dx, word [ebp + 0x3802]
mov byte [esp + 0x14], al
mov word [esp + 0x10], cx
lea eax, [esp + 0x10]
push 1
lea ecx, [esp + 0x28]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
mov word [esp + 0x1e], dx
call fcn.00468220
mov ecx, 0xb
xor eax, eax
lea edi, [esp + 0x34]
lea edx, [ebp + 0x37d8]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 0x4504]
push edx
stosw word es:[edi], ax
lea eax, [esp + 0x98]
push eax
call fcn.00467d00
mov ecx, 0xb
mov esi, eax
lea edi, [esp + 0x64]
mov eax, ebx
rep movsd dword es:[edi], dword [esi]
and eax, 0xff
dec eax
movsw word es:[edi], word [esi]
je 0x43adb8
dec eax
je 0x43ada2
dec eax
jne 0x43adf6
lea ecx, [esp + 0x24]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push 4
push 0
push 0
mov ecx, dword [ebp + 0x4504]
lea edx, [esp + 0x7c]
push 0
lea eax, [esp + 0x50]
push edx
push eax
call fcn.004703d0
jmp 0x43adf6
lea ecx, [esp + 0x24]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push 5
push 0
push 0x48
jmp 0x43ad89
lea ecx, [esp + 0x24]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp + 0x4504]
push eax
push 5
push 0
push 0
lea edx, [esp + 0x7c]
push 0
lea eax, [esp + 0x50]
push edx
push eax
call fcn.004703d0
cmp byte [ebp + 0x4244], 2
jne 0x43adf6
mov dword [ebp + 0x455c], 1
mov eax, dword [esp + 0x1c]
mov esi, 1
cmp eax, esi
je 0x43af2a
cmp bl, 3
je 0x43af46
cmp bl, 4
je 0x43af2a
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x43af2a
cmp bl, 1
jne 0x43ae38
mov al, byte [ebp + 0x4244]
test al, al
jne 0x43af2f
mov eax, dword [ebp + 0x21b0]
test eax, eax
jle 0x43ae7a
mov cx, word [ebp + 0x3800]
mov dx, word [ebp + 0x3802]
mov word [esp + 0x10], cx
mov cl, byte [ebp + 0x3804]
mov word [esp + 0x12], dx
lea edx, [esp + 0x10]
push 0
mov byte [esp + 0x18], cl
mov ecx, dword [ebp + 0x4504]
push edx
push eax
call fcn.00461b50
mov esi, eax
inc esi
mov ecx, dword [ebp + 0x3f70]
cmp ecx, 0x5f5e100
jb 0x43ae9a
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [esi + 4]
imul edx, eax
jmp 0x43aeaa
lea edx, [esi + 4]
mov eax, 0xcccccccd
imul edx, ecx
mul edx
shr edx, 3
mov ecx, ebp
mov dword [ebp + 0x3f70], edx
call fcn.00439d50
cmp bl, 1
je 0x43af2a
cmp dword [ebp + 0x37f8], 0xf
jbe 0x43af2a
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x43af2a
lea eax, [ebp + 0x37d8]
mov ecx, ebp
push eax
call fcn.0043b4e0
cmp esi, 1
mov edi, eax
jle 0x43aef8
mov ecx, 6
mov eax, 0xcccccccd
sub ecx, esi
imul ecx, edi
mul ecx
shr edx, 2
mov edi, edx
push 0
push edi
mov ecx, ebp
call fcn.00433120
push 0
push edi
mov ecx, ebp
call fcn.004331d0
push 0
push edi
mov ecx, ebp
call fcn.00433490
push 0
push edi
mov ecx, ebp
call fcn.00433540
push 0
push edi
mov ecx, ebp
call fcn.00433610
cmp bl, 3
je 0x43af46
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x43af46
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x43af46
mov ecx, ebp
call fcn.004332f0
mov esi, dword [esp + 0xcc]
pop ebx
test esi, esi
je 0x43afd0
add esi, 0x27c
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x43afd0
lea edx, [ebp + 0x37d8]
push edx
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x43afd0
mov ax, word [ebp + 0x3800]
mov cx, word [ebp + 0x3802]
mov dl, byte [ebp + 0x3804]
mov word [esp + 0xc], ax
mov word [esp + 0xe], cx
mov ecx, dword [esp + 0xc4]
push 0
lea eax, [esp + 0x10]
push 0
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
push 0xb3
push 7
mov byte [esp + 0x28], dl
call fcn.00468740
xor edx, edx
mov dword [esi], edx
mov dword [esi + 4], edx
mov dword [esi + 8], edx
mov dword [esi + 0xc], edx
mov byte [esi + 0x10], dl
lea eax, [ebp + 0x37d8]
mov ecx, ebp
push eax
mov dword [ebp + 0x4560], 0
mov byte [ebp + 0x4564], 0
call fcn.0040b700
mov ecx, eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CGameDBServer::SetUser_struct_USERDB__]
pop edi
pop esi
pop ebp
add esp, 0xb4
ret 0xc