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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x1fc
mov eax, dword [0x1017f064]
xor eax, esp
mov dword [esp + 0x1f8], eax
cmp byte [0x10182bef], 0
push esi
je 0x10036897
mov edx, 6
lea ecx, [esp + 0x2c]
call fcn.10028ef0
push dword [esp + 0x2c]
lea ecx, [esp + 0x180]
call fcn.100393d0
add esp, 4
mov dword [esp + 0x28], 0
call fcn.10025be0
mov ecx, eax
call fcn.1003d450
lea edx, [esp + 0x28]
mov ecx, eax
call fcn.1003d4f0
push dword [esp + 0x28]
lea ecx, [esp + 0x34]
call fcn.10026a60
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.10001270
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.10001270
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.10001270
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.10001270
add esp, 0x14
cmp byte [0x10182db1], 0
jne 0x10036897
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10030bd0
movss xmm1, dword [0x10176e38]
add esp, 8
movss xmm0, dword [0x10176de0]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176f30]
lea edx, [esp + 0x188]
movss xmm0, dword [0x10176df0]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
cmp byte [0x10182db1], 0
jne 0x10036897
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10030bd0
movss xmm1, dword [0x10176e38]
add esp, 8
movss xmm0, dword [0x10176de0]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176f34]
lea edx, [esp + 0x198]
movss xmm0, dword [0x10176df0]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
cmp byte [0x10182db1], 0
jne 0x10036897
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10030bd0
movss xmm1, dword [0x10176e38]
add esp, 8
movss xmm0, dword [0x10176de0]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176f3c]
lea edx, [esp + 0x1a8]
movss xmm0, dword [0x10176df0]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
cmp byte [0x10182db1], 0
jne 0x10036897
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10030bd0
movss xmm1, dword [0x10176e38]
add esp, 8
movss xmm0, dword [0x10176de0]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176f44]
lea edx, [esp + 0x1b8]
movss xmm0, dword [0x10176df0]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
cmp byte [0x10182c41], 0
mov esi, dword [sym.imp.ScriptHook.dll_private:_static_void___cdecl_NativeInvoke::SpeedyInvoke_class_NativeContext___unsigned_int_]
je 0x10036a66
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
call fcn.10025be0
mov ecx, eax
call fcn.1003d450
lea edx, [esp + 0x28]
mov ecx, eax
call fcn.1003d4f0
push dword [esp + 0x28]
lea ecx, [esp + 0x30]
call fcn.10028060
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x100368fc
push eax
mov ecx, 0x10182bf8
call fcn.10028250
add esp, 4
jmp 0x1003699a
mov dword [esp + 0x28], 0
call fcn.10025be0
mov ecx, eax
call fcn.1003d450
lea edx, [esp + 0x28]
mov ecx, eax
call fcn.1003d4f0
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], 0x10182bf8
mov dword [esp + 0x44], 2
call esi
mov eax, dword [esp + 0x4c]
add esp, 8
test eax, eax
je 0x1003699a
nop word [eax + 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 0x10036970
cmp byte [0x10182c40], 0
movss xmm0, dword [0x10182bf8]
je 0x100369c5
mulss xmm0, dword [0x10176f68]
mov eax, str._0.1f_km_h
movss dword [0x10182bf8], xmm0
cvtps2pd xmm0, xmm0
jmp 0x100369cd
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.10001270
add esp, 0x14
cmp byte [0x10182db1], 0
jne 0x10036a66
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10030bd0
movss xmm1, dword [0x10176e48]
add esp, 8
movss xmm0, dword [0x10176de8]
call fcn.10030a90
mov cl, 1
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176f00]
lea edx, [esp + 0x17c]
movss xmm0, dword [0x10176f40]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
cmp byte [0x10182bee], 0
je 0x10036bb6
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 0x10036ade
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 0x10036ab4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, dword [0x10182c04]
jb 0x10036b1b
movss xmm0, dword [0x10176f50]
divss xmm0, dword [esp + 0x30]
cvttss2si eax, xmm0
movss dword [0x10182f00], xmm0
mov dword [0x10182c00], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0xc8
mov dword [0x10182c04], eax
push dword [0x10182c00]
lea eax, [esp + 0x180]
push str._d_FPS
push 0xa
push eax
call fcn.10001270
add esp, 0x10
cmp byte [0x10182db1], 0
jne 0x10036bb6
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10030bd0
movss xmm1, dword [0x10176e38]
add esp, 8
movss xmm0, dword [0x10176ddc]
call fcn.10030a90
mov cl, 1
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176d94]
lea edx, [esp + 0x17c]
movss xmm0, dword [0x10176f48]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
cmp byte [0x10182c30], 0
je 0x10036e6c
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 0x10036c39
nop
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 0x10036c10
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 0x10036cbc
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 0x10036c81
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 0x10036d1b
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 0x10036cf2
push dword [esp + 0x30]
lea eax, [esp + 0x18c]
push dword [esp + 0x30]
push str._lu__lu_2008
push 0xc
push eax
call fcn.10001270
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.10001270
add esp, 0x14
cmp byte [0x10182db1], 0
jne 0x10036e6c
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10030bd0
movss xmm1, dword [0x10176e38]
add esp, 8
movss xmm0, dword [0x10176de0]
call fcn.10030a90
mov cl, 1
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176f3c]
lea edx, [esp + 0x17c]
movss xmm0, dword [0x10176f40]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
cmp byte [0x10182db1], 0
jne 0x10036e6c
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10030bd0
movss xmm1, dword [0x10176e38]
add esp, 8
movss xmm0, dword [0x10176de0]
call fcn.10030a90
mov cl, 1
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176f44]
lea edx, [esp + 0x188]
movss xmm0, dword [0x10176f40]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
cmp byte [0x10182c3d], 0
je 0x10036fe6
push 0
call fcn.10050b4a
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.100556ff
lea eax, [esp + 0x1c0]
push eax
mov eax, dword [0x10182c44]
push dword [eax*4 + 0x100a5be0]
lea eax, [esp + 0x18c]
push 0xc
push eax
call fcn.10055a8a
lea eax, [esp + 0x1d0]
push eax
mov eax, dword [0x10182c34]
push dword [eax*4 + 0x100a5bd0]
lea eax, [esp + 0x1a8]
push 0xc
push eax
call fcn.10055a8a
add esp, 0x28
cmp byte [0x10182db1], 0
jne 0x10036fe6
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10030bd0
movss xmm1, dword [0x10176e38]
add esp, 8
movss xmm0, dword [0x10176de0]
call fcn.10030a90
mov cl, 1
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176f3c]
lea edx, [esp + 0x188]
movss xmm0, dword [0x10176f40]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
cmp byte [0x10182db1], 0
jne 0x10036fe6
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10030bd0
movss xmm1, dword [0x10176e38]
add esp, 8
movss xmm0, dword [0x10176de0]
call fcn.10030a90
mov cl, 1
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176f44]
lea edx, [esp + 0x17c]
movss xmm0, dword [0x10176f40]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
cmp byte [0x101829ef], 0
je 0x10037142
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.10025be0
mov ecx, eax
call fcn.1003d450
lea edx, [esp + 0x2c]
mov ecx, eax
call fcn.1003d4f0
push dword [esp + 0x2c]
lea ecx, [esp + 0x2c]
call fcn.10028060
add esp, 4
cmp dword [esp + 0x28], 0
jne 0x1003703e
cmp byte [0x10182c7b], 0
je 0x10037142
lea eax, [esp + 0x138]
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xd8], eax
lea eax, [esp + 0xd8]
push 0xd909c107
push eax
mov dword [esp + 0xec], 0
call esi
mov eax, dword [esp + 0xec]
add esp, 8
test eax, eax
je 0x100370c2
lea edx, [eax - 1]
mov dword [esp + 0xe4], edx
mov ecx, dword [esp + edx*4 + 0xe8]
shl edx, 4
mov eax, dword [esp + edx + 0xf8]
mov dword [ecx], eax
mov eax, dword [esp + edx + 0xfc]
mov dword [ecx + 4], eax
mov eax, dword [esp + edx + 0x100]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xe4]
test eax, eax
jne 0x10037086
cmp byte [0x10182db1], 0
mov esi, dword [esp + 0x138]
jne 0x10037142
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10030bd0
movss xmm1, dword [0x10176e38]
add esp, 8
movss xmm0, dword [0x10176de0]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176f24]
mov edx, esi
movss xmm0, dword [0x10176df0]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
cmp byte [0x10182c42], 0
je 0x10037227
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.10025be0
mov ecx, eax
call fcn.1003d450
lea edx, [esp + 0x2c]
mov ecx, eax
call fcn.1003d4f0
push dword [esp + 0x2c]
lea ecx, [esp + 0x2c]
call fcn.10038f90
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.10001270
add esp, 0x14
cmp byte [0x10182db1], 0
jne 0x10037227
xor ecx, ecx
call fcn.10030e20
sub esp, 0xc
call fcn.10030ca0
call fcn.10030d60
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10030bd0
movss xmm1, dword [0x10176e38]
add esp, 8
movss xmm0, dword [0x10176de0]
call fcn.10030a90
xor cl, cl
call fcn.10030b30
mov cl, 1
call fcn.10030ec0
movss xmm1, dword [0x10176f1c]
lea edx, [esp + 0x1b8]
movss xmm0, dword [0x10176df0]
call fcn.100309e0
xor cl, cl
call fcn.10030ec0
mov ecx, dword [esp + 0x1fc]
pop esi
xor ecx, esp
call fcn.1004955b
mov esp, ebp
pop ebp
ret