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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x1fc
mov eax, dword [0x10187080]
xor eax, esp
mov dword [esp + 0x1f8], eax
cmp byte [0x1018b099], 0
push esi
je 0x1003a4ff
mov edx, 6
lea ecx, [esp + 0x2c]
call fcn.1002b050
push dword [esp + 0x2c]
lea ecx, [esp + 0x180]
call fcn.1003cca0
add esp, 4
mov dword [esp + 0x28], 0
call fcn.10027530
mov ecx, eax
call fcn.10041420
lea edx, [esp + 0x28]
mov ecx, eax
call fcn.100414c0
push dword [esp + 0x28]
lea ecx, [esp + 0x34]
call fcn.10028310
movss xmm0, dword [esp + 0x180]
lea eax, [esp + 0x18c]
cvtps2pd xmm0, xmm0
push ecx
movsd qword [esp], xmm0
push str.X:__0.2f
push 0x10
push eax
call fcn.100012c0
movss xmm0, dword [esp + 0x194]
lea eax, [esp + 0x1ac]
cvtps2pd xmm0, xmm0
add esp, 0xc
movsd qword [esp], xmm0
push str.Y:__0.2f
push 0x10
push eax
call fcn.100012c0
movss xmm0, dword [esp + 0x198]
lea eax, [esp + 0x1bc]
cvtps2pd xmm0, xmm0
add esp, 0xc
movsd qword [esp], xmm0
push str.Z:__0.2f
push 0x10
push eax
call fcn.100012c0
movss xmm0, dword [esp + 0x44]
lea eax, [esp + 0x1cc]
cvtps2pd xmm0, xmm0
add esp, 0xc
movsd qword [esp], xmm0
push str.Heading:__0.2f
push 0x20
push eax
call fcn.100012c0
mov cl, byte [0x1018b226]
add esp, 0x14
test cl, cl
je 0x1003a2ea
mov al, byte [0x1018b217]
test al, al
je 0x1003a36a
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e354]
add esp, 8
movss xmm0, dword [0x1017e2f8]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e448]
lea edx, [esp + 0x188]
movss xmm0, dword [0x1017e30c]
call fcn.10034540
xor cl, cl
call fcn.10034a20
mov cl, byte [0x1018b226]
mov al, byte [0x1018b217]
test cl, cl
je 0x1003a376
test al, al
je 0x1003a3f6
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e354]
add esp, 8
movss xmm0, dword [0x1017e2f8]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e44c]
lea edx, [esp + 0x198]
movss xmm0, dword [0x1017e30c]
call fcn.10034540
xor cl, cl
call fcn.10034a20
mov cl, byte [0x1018b226]
mov al, byte [0x1018b217]
test cl, cl
je 0x1003a402
test al, al
je 0x1003a482
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e354]
add esp, 8
movss xmm0, dword [0x1017e2f8]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e454]
lea edx, [esp + 0x1a8]
movss xmm0, dword [0x1017e30c]
call fcn.10034540
xor cl, cl
call fcn.10034a20
mov cl, byte [0x1018b226]
mov al, byte [0x1018b217]
test cl, cl
je 0x1003a48a
test al, al
je 0x1003a4ff
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e354]
add esp, 8
movss xmm0, dword [0x1017e2f8]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e45c]
lea edx, [esp + 0x1b8]
movss xmm0, dword [0x1017e30c]
call fcn.10034540
xor cl, cl
call fcn.10034a20
cmp byte [0x1018b0bc], 0
mov esi, dword [sym.imp.ScriptHook.dll_private:_static_void___cdecl_NativeInvoke::SpeedyInvoke_class_NativeContext___unsigned_int_]
je 0x1003a6cf
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
call fcn.10027530
mov ecx, eax
call fcn.10041420
lea edx, [esp + 0x28]
mov ecx, eax
call fcn.100414c0
push dword [esp + 0x28]
lea ecx, [esp + 0x30]
call fcn.10029d10
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x1003a564
push eax
mov ecx, 0x1018b070
call fcn.10029fa0
add esp, 4
jmp 0x1003a5fa
mov dword [esp + 0x28], 0
call fcn.10027530
mov ecx, eax
call fcn.10041420
lea edx, [esp + 0x28]
mov ecx, eax
call fcn.100414c0
lea eax, [esp + 0x98]
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x38]
push 0xa570e742
push eax
mov dword [esp + 0xa4], 0x1018b070
mov dword [esp + 0x44], 2
call esi
mov eax, dword [esp + 0x4c]
add esp, 8
test eax, eax
je 0x1003a5fa
nop
lea edx, [eax - 1]
mov dword [esp + 0x44], edx
mov ecx, dword [esp + edx*4 + 0x48]
shl edx, 4
mov eax, dword [esp + edx + 0x58]
mov dword [ecx], eax
mov eax, dword [esp + edx + 0x5c]
mov dword [ecx + 4], eax
mov eax, dword [esp + edx + 0x60]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x1003a5d0
cmp byte [0x1018b0bb], 0
movss xmm0, dword [0x1018b070]
je 0x1003a625
mulss xmm0, dword [0x1017e480]
mov eax, str._0.1f_km_h
movss dword [0x1018b070], xmm0
cvtps2pd xmm0, xmm0
jmp 0x1003a62d
mov eax, str._0.1f_m_h
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push eax
lea eax, [esp + 0x188]
push 0xc
push eax
call fcn.100012c0
add esp, 0x14
cmp byte [0x1018b226], 0
je 0x1003a65a
cmp byte [0x1018b217], 0
je 0x1003a6cf
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e364]
add esp, 8
movss xmm0, dword [0x1017e304]
call fcn.100345f0
mov cl, 1
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e418]
lea edx, [esp + 0x17c]
movss xmm0, dword [0x1017e458]
call fcn.10034540
xor cl, cl
call fcn.10034a20
cmp byte [0x1018b098], 0
je 0x1003a82f
lea eax, [esp + 0x98]
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x38]
push 0x96374262
push eax
mov dword [esp + 0x44], 1
call esi
mov eax, dword [esp + 0x4c]
add esp, 8
test eax, eax
je 0x1003a74a
nop dword [eax]
lea edx, [eax - 1]
mov dword [esp + 0x44], edx
mov ecx, dword [esp + edx*4 + 0x48]
shl edx, 4
mov eax, dword [esp + edx + 0x58]
mov dword [ecx], eax
mov eax, dword [esp + edx + 0x5c]
mov dword [ecx + 4], eax
mov eax, dword [esp + edx + 0x60]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x1003a720
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, dword [0x1018b07c]
jb 0x1003a787
movss xmm0, dword [0x1017e468]
divss xmm0, dword [esp + 0x30]
cvttss2si eax, xmm0
movss dword [0x1018b3b8], xmm0
mov dword [0x1018b078], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0xc8
mov dword [0x1018b07c], eax
push dword [0x1018b078]
lea eax, [esp + 0x180]
push str._d_FPS
push 0xa
push eax
call fcn.100012c0
add esp, 0x10
cmp byte [0x1018b226], 0
je 0x1003a7ba
cmp byte [0x1018b217], 0
je 0x1003a82f
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e354]
add esp, 8
movss xmm0, dword [0x1017e2f0]
call fcn.100345f0
mov cl, 1
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e2a8]
lea edx, [esp + 0x17c]
movss xmm0, dword [0x1017e460]
call fcn.10034540
xor cl, cl
call fcn.10034a20
cmp byte [0x1018b0aa], 0
je 0x1003ab00
lea eax, [esp + 0x98]
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x38]
push 0x781d7c7d
push eax
mov dword [esp + 0x44], 2
call esi
mov eax, dword [esp + 0x4c]
add esp, 8
test eax, eax
je 0x1003a8b9
nop dword [eax + eax]
lea edx, [eax - 1]
mov dword [esp + 0x44], edx
mov ecx, dword [esp + edx*4 + 0x48]
add edx, edx
mov eax, dword [esp + edx*8 + 0x58]
mov dword [ecx], eax
mov eax, dword [esp + edx*8 + 0x5c]
mov dword [ecx + 4], eax
mov eax, dword [esp + edx*8 + 0x60]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x1003a890
lea eax, [esp + 0x138]
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xd8], eax
lea eax, [esp + 0xd8]
push 0xd455af99
push eax
mov dword [esp + 0xec], 0
call esi
mov eax, dword [esp + 0xec]
add esp, 8
test eax, eax
je 0x1003a93c
lea edx, [eax - 1]
mov dword [esp + 0xe4], edx
mov ecx, dword [esp + edx*4 + 0xe8]
add edx, edx
mov eax, dword [esp + edx*8 + 0xf8]
mov dword [ecx], eax
mov eax, dword [esp + edx*8 + 0xfc]
mov dword [ecx + 4], eax
mov eax, dword [esp + edx*8 + 0x100]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xe4]
test eax, eax
jne 0x1003a901
lea eax, [esp + 0x98]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
push 0xda92d2d5
push eax
mov dword [esp + 0x4c], 0
call esi
mov eax, dword [esp + 0x4c]
add esp, 8
test eax, eax
je 0x1003a99b
lea edx, [eax - 1]
mov dword [esp + 0x44], edx
mov ecx, dword [esp + edx*4 + 0x48]
add edx, edx
mov eax, dword [esp + edx*8 + 0x58]
mov dword [ecx], eax
mov eax, dword [esp + edx*8 + 0x5c]
mov dword [ecx + 4], eax
mov eax, dword [esp + edx*8 + 0x60]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x1003a972
push dword [esp + 0x30]
lea eax, [esp + 0x18c]
push dword [esp + 0x30]
push str._lu__lu_2008
push 0xc
push eax
call fcn.100012c0
mov eax, dword [esp + 0x14c]
add esp, 0x14
cmp eax, 0xc
mov edx, str._lu:_lu_PM
mov ecx, str._lu:_lu_AM
cmovae ecx, edx
push dword [esp + 0x98]
push eax
push ecx
lea eax, [esp + 0x188]
push 0xc
push eax
call fcn.100012c0
mov cl, byte [0x1018b226]
add esp, 0x14
test cl, cl
je 0x1003aa03
mov al, byte [0x1018b217]
test al, al
je 0x1003aa83
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e354]
add esp, 8
movss xmm0, dword [0x1017e2f8]
call fcn.100345f0
mov cl, 1
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e454]
lea edx, [esp + 0x17c]
movss xmm0, dword [0x1017e458]
call fcn.10034540
xor cl, cl
call fcn.10034a20
mov cl, byte [0x1018b226]
mov al, byte [0x1018b217]
test cl, cl
je 0x1003aa8b
test al, al
je 0x1003ab00
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e354]
add esp, 8
movss xmm0, dword [0x1017e2f8]
call fcn.100345f0
mov cl, 1
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e45c]
lea edx, [esp + 0x188]
movss xmm0, dword [0x1017e458]
call fcn.10034540
xor cl, cl
call fcn.10034a20
cmp byte [0x1018b0b8], 0
je 0x1003ac8e
push 0
call fcn.100562da
add esp, 4
mov dword [esp + 0x30], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x34], edx
push eax
lea eax, [esp + 0x1bc]
push eax
call fcn.1005ae8f
lea eax, [esp + 0x1c0]
push eax
mov eax, dword [0x1018b0c4]
push dword [eax*4 + 0x100ac888]
lea eax, [esp + 0x18c]
push 0xc
push eax
call fcn.1005b21a
lea eax, [esp + 0x1d0]
push eax
mov eax, dword [0x1018b0ac]
push dword [eax*4 + 0x100ac878]
lea eax, [esp + 0x1a8]
push 0xc
push eax
call fcn.1005b21a
mov cl, byte [0x1018b226]
add esp, 0x28
test cl, cl
je 0x1003ab91
mov al, byte [0x1018b217]
test al, al
je 0x1003ac11
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e354]
add esp, 8
movss xmm0, dword [0x1017e2f8]
call fcn.100345f0
mov cl, 1
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e454]
lea edx, [esp + 0x188]
movss xmm0, dword [0x1017e458]
call fcn.10034540
xor cl, cl
call fcn.10034a20
mov cl, byte [0x1018b226]
mov al, byte [0x1018b217]
test cl, cl
je 0x1003ac19
test al, al
je 0x1003ac8e
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e354]
add esp, 8
movss xmm0, dword [0x1017e2f8]
call fcn.100345f0
mov cl, 1
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e45c]
lea edx, [esp + 0x17c]
movss xmm0, dword [0x1017e458]
call fcn.10034540
xor cl, cl
call fcn.10034a20
cmp byte [0x1018b067], 0
je 0x1003ad6f
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.10027530
mov ecx, eax
call fcn.10041420
lea edx, [esp + 0x2c]
mov ecx, eax
call fcn.100414c0
push dword [esp + 0x2c]
lea ecx, [esp + 0x2c]
call fcn.10029d10
add esp, 4
cmp dword [esp + 0x28], 0
jne 0x1003ace6
cmp byte [0x1018b114], 0
je 0x1003ad6f
call fcn.1002be10
cmp byte [0x1018b226], 0
mov esi, eax
je 0x1003acff
cmp byte [0x1018b217], 0
je 0x1003ad6f
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e354]
add esp, 8
movss xmm0, dword [0x1017e2f8]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e43c]
mov edx, esi
movss xmm0, dword [0x1017e30c]
call fcn.10034540
xor cl, cl
call fcn.10034a20
cmp byte [0x1018b0bd], 0
je 0x1003ae5d
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.10027530
mov ecx, eax
call fcn.10041420
lea edx, [esp + 0x2c]
mov ecx, eax
call fcn.100414c0
push dword [esp + 0x2c]
lea ecx, [esp + 0x2c]
call fcn.1003c960
movss xmm0, dword [esp + 0x2c]
lea eax, [esp + 0x1bc]
cvtps2pd xmm0, xmm0
push ecx
movsd qword [esp], xmm0
push str.Height_above_ground:__f
push 0x40
push eax
call fcn.100012c0
add esp, 0x14
cmp byte [0x1018b226], 0
je 0x1003ade8
cmp byte [0x1018b217], 0
je 0x1003ae5d
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10034730
movss xmm1, dword [0x1017e354]
add esp, 8
movss xmm0, dword [0x1017e2f8]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm1, dword [0x1017e434]
lea edx, [esp + 0x1b8]
movss xmm0, dword [0x1017e30c]
call fcn.10034540
xor cl, cl
call fcn.10034a20
mov ecx, dword [esp + 0x1fc]
pop esi
xor ecx, esp
call fcn.1004ecf8
mov esp, ebp
pop ebp
ret