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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x174
mov eax, dword [0x5b0c20]
xor eax, esp
mov dword [esp + 0x170], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
cmp byte [esi + 0x314], 4
push edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x94], eax
jne 0x43e75a
push eax
push esi
push ebx
call fcn.0043e250
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.00524d83
mov esp, ebp
pop ebp
ret
push esi
call fcn.0043c330
xor edi, edi
add esp, 4
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x98], eax
mov eax, dword [esi + 0x734]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x58], eax
cmp dword [eax], edi
jbe 0x43ec5e
mov dword [esp + 0x5c], edi
mov dword [esp + 0x40], edi
jmp 0x43e7b4
mov esi, dword [esp + 0x3c]
mov esi, dword [esi + 0x2aec]
add esi, dword [esp + 0x5c]
mov ecx, 0x10
lea edi, [esp + 0xb8]
mov dword [esp + 0x9c], esi
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xcc]
shr eax, 0x10
mov edi, 1
cmp eax, 0xffff
jne 0x43e823
mov ecx, eax
cmp word [esp + 0xd0], cx
jne 0x43e823
mov edx, dword [esp + 0xd0]
shr edx, 0x10
cmp edx, ecx
jne 0x43e823
xor eax, eax
xor ecx, ecx
xor edx, edx
mov word [esp + 0xd2], ax
mov word [esp + 0xd0], cx
mov word [esp + 0xce], dx
xor edi, edi
mov eax, dword [esp + 0xc8]
shr eax, 0x10
cdq
mov ecx, eax
movzx eax, word [esp + 0xcc]
mov esi, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
movzx eax, word [esp + 0xc8]
or esi, edx
shld esi, ecx, 0x10
cdq
shl ecx, 0x10
or ecx, eax
movzx eax, word [esp + 0xd2]
or esi, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov dword [esp + 0x88], ecx
mov ecx, eax
movzx eax, word [esp + 0xd0]
mov dword [esp + 0x8c], esi
mov esi, edx
cdq
or ecx, eax
movzx eax, word [esp + 0xce]
or esi, edx
shld esi, ecx, 0x10
cdq
shl ecx, 0x10
or esi, edx
or ecx, eax
mov dword [esp + 0xa4], esi
test edi, edi
je 0x43e8bb
mov edx, ecx
or edx, esi
je 0x43e8bb
add ecx, 1
adc esi, 0
mov dword [esp + 0xa4], esi
mov eax, dword [esp + 0xd4]
shr eax, 0x10
cdq
mov esi, eax
movzx eax, word [esp + 0xd8]
mov edi, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or esi, eax
movzx eax, word [esp + 0xd4]
or edi, edx
shld edi, esi, 0x10
cdq
shl esi, 0x10
or esi, eax
mov eax, dword [esp + 0x3c]
or edi, edx
sub esi, ecx
sbb edi, dword [esp + 0xa4]
add esi, dword [esp + 0x88]
push 0
adc edi, dword [esp + 0x90]
add dword [ebx + 0xa8], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], edi
adc dword [ebx + 0xac], edi
mov ecx, dword [eax + 0x35c]
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x60]
mov edx, dword [eax + ecx + 0x1c]
mov eax, dword [eax + ecx + 0x18]
push edx
push eax
call fcn.00526b90
mov ecx, edx
cmp edi, ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
jg 0x43e955
jl 0x43e998
cmp esi, eax
jb 0x43e998
cmp dword [0x5efe58], 0
jne 0x43ec47
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx + 0x734]
add dword [esp + 0x40], 0x18
add dword [esp + 0x5c], 0x40
inc eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x58], ecx
cmp eax, dword [ecx]
jb 0x43e7b0
jmp 0x43ec66
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x48]
mov edx, eax
sub edx, esi
sbb ecx, edi
cmp ecx, dword [esp + 0x84]
jl 0x43e9bb
jg 0x43e9b2
cmp edx, dword [esp + 0x80]
jbe 0x43e9bb
mov edi, dword [esp + 0x80]
jmp 0x43e9bf
mov edi, eax
sub edi, esi
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [eax + 0x35c]
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0xbc]
push edx
mov edx, dword [esp + 0x48]
push ecx
mov ecx, dword [edx + eax + 8]
push edi
push ecx
mov dword [esp + 0x68], edi
call fcn.00413890
add esp, 0x14
test eax, eax
je 0x43ec47
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x3c]
xor esi, esi
add eax, edi
mov edi, dword [edx + 0x35c]
push esi
adc ecx, esi
push 2
push ecx
push eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
shr edi, 9
call fcn.00526b90
push edx
push eax
push esi
push edi
call fcn.005269a0
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
fild qword [esp + 0xa8]
fstp qword [esp + 0xb0]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
test eax, eax
jge 0x43ea73
fadd dword [0x552108]
fdivr qword [esp + 0xb0]
lea eax, [esp + 0xf8]
push eax
mov eax, dword [ebx + 0xa0]
sub eax, dword [ebx + 0xa8]
push ecx
mov ecx, dword [esp + 0x44]
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fmul qword [0x558c08]
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fst dword [ebx + 0xb4]
mov edx, dword [ecx + 0x35c]
mov ecx, dword [ebx + 0xa4]
fstp dword [esp]
sbb ecx, dword [ebx + 0xac]
push edx
push ecx
push eax
call fcn.0043d280
add esp, 0x14
lea edx, [esp + 0xf8]
push edx
lea ecx, [ebx + 0x164]
call fcn.005081b1
fld dword [ebx + 0xb4]
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x100]
push str._01.02f
push eax
call fcn.00525f70
add esp, 0x10
lea ecx, [esp + 0xf8]
push ecx
lea ecx, [ebx + 0x110]
call fcn.005081b1
mov edi, dword [esp + 0x54]
add dword [ebx + 0xa8], edi
mov edx, dword [ebx + 0x8c]
push edx
adc dword [ebx + 0xac], esi
mov ecx, dword [ebx + 0xac]
mov edx, dword [ebx + 0xa8]
lea eax, [esp + 0xfc]
push eax
push ecx
push edx
call fcn.0043d120
add esp, 0x10
lea eax, [esp + 0xf8]
push eax
lea ecx, [ebx + 0x260]
call fcn.005081b1
mov ecx, dword [ebx + 0xa4]
mov edx, dword [ebx + 0xa0]
push 0
push 0x64
push ecx
push edx
call fcn.00528b80
mov ecx, dword [ebx + 0xa8]
push edx
push eax
mov eax, dword [ebx + 0xac]
push eax
push ecx
call fcn.00528b80
push eax
lea edx, [esp + 0xfc]
push 0x553e08
push edx
mov dword [ebx + 0xb0], eax
call fcn.00525f70
add esp, 0xc
lea eax, [esp + 0xf8]
push eax
lea ecx, [ebx + 0x1b8]
call fcn.005081b1
push 0
mov ecx, dword [ebx + 0xb0]
mov edx, dword [ebx + 0x2d4]
push ecx
push 0x402
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
movzx ecx, word [esp + 0xce]
mov eax, dword [esp + 0x9c]
add dword [esp + 0x48], edi
mov edi, dword [esp + 0x4c]
mov word [eax + 0x16], cx
mov dx, word [esp + 0xd0]
mov word [eax + 0x18], dx
mov edx, dword [esp + 0x54]
movzx ecx, word [esp + 0xd2]
adc edi, esi
add dword [esp + 0x60], edx
mov word [eax + 0x1a], cx
mov dword [esp + 0x4c], edi
adc dword [esp + 0x64], esi
cmp dword [0x5efe58], 0
jne 0x43ec47
mov ecx, dword [esp + 0x7c]
cmp edi, ecx
jl 0x43e990
jg 0x43e962
mov eax, dword [esp + 0x78]
cmp dword [esp + 0x48], eax
jb 0x43e994
jmp 0x43e962
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.00524d83
mov esp, ebp
pop ebp
ret
cmp dword [0x5efe58], edi
jne 0x43ec47
mov ecx, dword [esp + 0x17c]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.00524d83
mov esp, ebp
pop ebp
ret