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

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x34]
mov ebx, dword [edi + 0x3c8]
mov esi, dword [edi]
xor ebp, ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov eax, edx
imul eax, eax, 0x3e8
sub ecx, eax
imul ecx, ecx, 0x3e8
mov dword [esi + 0x50], edx
mov dword [esi + 0x54], ecx
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], ecx
cmp dword [ebx], 3
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
jne 0x43e5a2
mov eax, dword [edi]
or ecx, 0xffffffff
mov dword [edi + 0x210], ecx
mov dword [edi + 0x214], ecx
mov dword [eax + 0xe8], ebp
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], ebp
mov dword [eax + 0x30], ebp
mov dword [eax + 0x60], ebp
cmp dword [eax + 0x2c8], ebp
jne 0x43e8bd
cmp dword [edi + 0x210], ecx
lea esi, [ecx + 2]
je 0x43e53f
or dword [eax + 0xc0], esi
cmp dword [edi + 0x214], ecx
je 0x43e8bd
mov ecx, dword [eax + 0x8610]
cmp ecx, ebp
mov edx, 2
je 0x43e8b7
mov edi, dword [eax + 0x864c]
cmp dword [edi + 0x58], edx
jne 0x43e8ad
mov ecx, dword [eax + 0x50]
mov edx, dword [eax + 0x54]
mov dword [eax + 0x9c], esi
mov dword [eax + 0x94], ecx
mov dword [eax + 0x98], edx
push eax
mov eax, 0x3e8
call fcn.00430a10
mov eax, dword [esp + 0x1c]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov ebx, edx
cmp dword [esp + 0x18], ebp
jne 0x43e4fc
mov eax, dword [ebx + 0x1c]
imul eax, eax, 0x3e8
cmp dword [esi + 0x2d0], ebp
mov dword [esp + 0x1c], eax
je 0x43e607
mov edi, dword [esi + 0x1b8]
mov ecx, dword [esi + 0x1bc]
mov edx, edi
or edx, ecx
je 0x43e64d
mov edx, dword [esi + 0x464]
cmp edx, ecx
mov ebp, dword [esi + 0x460]
jl 0x43e64d
jg 0x43e5e9
cmp ebp, edi
jbe 0x43e64d
mov eax, dword [ebx + 0x154]
push eax
mov eax, dword [esi + 0x1b8]
push edx
push ebp
push ecx
push eax
or edi, 0xffffffff
call fcn.0042ba30
add esp, 0x14
jmp 0x43e650
mov edi, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
mov edx, edi
or edx, ecx
je 0x43e64d
mov edx, dword [esi + 0x45c]
cmp edx, ecx
mov ebp, dword [esi + 0x458]
jl 0x43e64d
jg 0x43e62f
cmp ebp, edi
jbe 0x43e64d
mov eax, dword [ebx + 0x154]
push eax
mov eax, dword [esi + 0x1c0]
push edx
push ebp
push ecx
push eax
or edi, 0xffffffff
call fcn.0042ba30
add esp, 0x14
jmp 0x43e650
mov edi, dword [ebx + 0x14]
mov ebp, dword [esi + 0x194]
test ebp, ebp
je 0x43e69b
mov edx, dword [esi + 0x54]
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x50]
mov ebx, dword [esi + 0x58]
sub eax, edx
mov edx, eax
mov eax, 0x10624dd3
imul edx
sub ecx, ebx
imul ecx, ecx, 0x3e8
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
add ecx, ebp
mov eax, ecx
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
jle 0x43e695
mov eax, ecx
jmp 0x43e69b
test eax, eax
jge 0x43e69b
xor eax, eax
push 0xffffffffffffffff
push edi
call fcn.004323b0
add esp, 8
mov ebp, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov eax, 0x10624dd3
mul edi
mov ecx, edx
shr ecx, 6
mov edx, ecx
imul edx, edx, 0x3e8
mov ebx, dword [esi + 0x50]
sub edi, edx
imul edi, edi, 0x3e8
mov dword [esi + 0x5c], edi
sub edi, dword [esi + 0x54]
mov eax, 0x10624dd3
imul edi
mov edi, dword [esp + 0x34]
mov dword [esi + 0x58], ecx
sub ecx, ebx
imul ecx, ecx, 0x3e8
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ecx
cmp eax, dword [esi + 0x194]
jl 0x43e71c
push edi
call fcn.00436420
add esp, 4
test eax, eax
jne 0x43e888
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], edx
cmp ebp, 0xffffffff
jne 0x43e74e
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push edi
call fcn.004482a0
add esp, 4
push eax
push 0x4da460
call fcn.0042dec0
mov eax, dword [esp + 0x1c]
add esp, 8
mov dword [eax + 0xc], 5
jmp 0x43e83f
test ebp, ebp
jne 0x43e7de
mov eax, dword [esi + 0x5c]
sub eax, dword [esp + 0x24]
mov ecx, dword [esi + 0x58]
sub ecx, dword [esp + 0x20]
mov edx, eax
mov eax, 0x10624dd3
imul ecx, ecx, 0x3e8
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x1c]
imul edx, edx, 0x3e8
cmp eax, edx
jle 0x43e84f
mov ebp, dword [sym.imp.MSVCR80.dll__time64]
mov eax, ecx
mov dword [eax + 0xc], 7
mov edi, dword [edi + 0x3c8]
lea eax, [esp + 0x28]
push eax
call ebp
mov ebx, dword [esp + 0x30]
add esp, 4
cmp ebx, dword [edi + 0x34]
jl 0x43e867
jg 0x43e7cf
mov ecx, dword [esp + 0x28]
cmp ecx, dword [edi + 0x30]
jbe 0x43e867
mov dword [edi + 8], 0xffffff9d
mov dword [edi], 3
jmp 0x43e83f
push edi
call fcn.0043e200
mov edi, eax
add esp, 4
test edi, edi
jne 0x43e817
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov eax, edx
imul eax, eax, 0x3e8
sub ecx, eax
imul ecx, ecx, 0x3e8
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
mov eax, dword [esi + 0x20]
test eax, eax
je 0x43e829
mov ecx, dword [esi + 0x38]
mov dword [eax], ecx
mov edx, dword [esi + 0x3c]
mov dword [eax + 4], edx
mov eax, dword [esi + 0x30]
test eax, eax
je 0x43e83b
mov ecx, dword [esi + 0x40]
mov dword [eax], ecx
mov edx, dword [esi + 0x44]
mov dword [eax + 4], edx
test edi, edi
jne 0x43e8a3
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
call fcn.0043df20
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
xor ebp, ebp
cmp dword [edx], 3
jne 0x43e5a0
jmp 0x43e4fc
mov eax, dword [edi + 0x1c]
cdq
add eax, dword [edi + 0x38]
lea ecx, [edi + 0x38]
adc edx, dword [ecx + 4]
cmp ebx, edx
jl 0x43e83f
jg 0x43e880
cmp dword [esp + 0x28], eax
jbe 0x43e83f
push ecx
call ebp
add esp, 4
jmp 0x43e83f
mov eax, dword [esp + 0x14]
mov ecx, 5
call fcn.0043df20
mov eax, 0x2a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp ecx, ebp
je 0x43e8b7
mov dword [eax + 0x9c], edx
or dword [eax + 0xc0], edx
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret