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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x1fc
mov eax, dword [0x10184080]
xor eax, esp
mov dword [esp + 0x1f8], eax
cmp byte [0x101880b8], 0
push esi
je 0x10038c2f
mov edx, 6
lea ecx, [esp + 0x2c]
call fcn.10029cf0
push dword [esp + 0x2c]
lea ecx, [esp + 0x180]
call fcn.1003b470
add esp, 4
mov dword [esp + 0x28], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [esp + 0x28]
mov ecx, eax
call fcn.1003fc90
push dword [esp + 0x28]
lea ecx, [esp + 0x34]
call fcn.10026fc0
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.10001290
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.10001290
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.10001290
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.10001290
mov cl, byte [0x1018823e]
add esp, 0x14
test cl, cl
je 0x10038a1a
mov al, byte [0x1018822f]
test al, al
je 0x10038a9a
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0a0]
add esp, 8
movss xmm0, dword [0x1017c044]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c194]
lea edx, [esp + 0x188]
movss xmm0, dword [0x1017c058]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
mov cl, byte [0x1018823e]
mov al, byte [0x1018822f]
test cl, cl
je 0x10038aa6
test al, al
je 0x10038b26
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0a0]
add esp, 8
movss xmm0, dword [0x1017c044]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c198]
lea edx, [esp + 0x198]
movss xmm0, dword [0x1017c058]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
mov cl, byte [0x1018823e]
mov al, byte [0x1018822f]
test cl, cl
je 0x10038b32
test al, al
je 0x10038bb2
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0a0]
add esp, 8
movss xmm0, dword [0x1017c044]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c1a0]
lea edx, [esp + 0x1a8]
movss xmm0, dword [0x1017c058]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
mov cl, byte [0x1018823e]
mov al, byte [0x1018822f]
test cl, cl
je 0x10038bba
test al, al
je 0x10038c2f
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0a0]
add esp, 8
movss xmm0, dword [0x1017c044]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c1a8]
lea edx, [esp + 0x1b8]
movss xmm0, dword [0x1017c058]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
cmp byte [0x101880db], 0
mov esi, dword [sym.imp.ScriptHook.dll_private:_static_void___cdecl_NativeInvoke::SpeedyInvoke_class_NativeContext___unsigned_int_]
je 0x10038dff
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [esp + 0x28]
mov ecx, eax
call fcn.1003fc90
push dword [esp + 0x28]
lea ecx, [esp + 0x30]
call fcn.100289b0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x10038c94
push eax
mov ecx, 0x10188090
call fcn.10028c40
add esp, 4
jmp 0x10038d2a
mov dword [esp + 0x28], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [esp + 0x28]
mov ecx, eax
call fcn.1003fc90
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], 0x10188090
mov dword [esp + 0x44], 2
call esi
mov eax, dword [esp + 0x4c]
add esp, 8
test eax, eax
je 0x10038d2a
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 0x10038d00
cmp byte [0x101880da], 0
movss xmm0, dword [0x10188090]
je 0x10038d55
mulss xmm0, dword [0x1017c1cc]
mov eax, str._0.1f_km_h
movss dword [0x10188090], xmm0
cvtps2pd xmm0, xmm0
jmp 0x10038d5d
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.10001290
add esp, 0x14
cmp byte [0x1018823e], 0
je 0x10038d8a
cmp byte [0x1018822f], 0
je 0x10038dff
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0b0]
add esp, 8
movss xmm0, dword [0x1017c050]
call fcn.10032dc0
mov cl, 1
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c164]
lea edx, [esp + 0x17c]
movss xmm0, dword [0x1017c1a4]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
cmp byte [0x10188087], 0
je 0x10038f5f
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 0x10038e7a
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 0x10038e50
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, dword [0x1018809c]
jb 0x10038eb7
movss xmm0, dword [0x1017c1b4]
divss xmm0, dword [esp + 0x30]
cvttss2si eax, xmm0
movss dword [0x101883d0], xmm0
mov dword [0x10188098], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0xc8
mov dword [0x1018809c], eax
push dword [0x10188098]
lea eax, [esp + 0x180]
push str._d_FPS
push 0xa
push eax
call fcn.10001290
add esp, 0x10
cmp byte [0x1018823e], 0
je 0x10038eea
cmp byte [0x1018822f], 0
je 0x10038f5f
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0a0]
add esp, 8
movss xmm0, dword [0x1017c040]
call fcn.10032dc0
mov cl, 1
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017bff8]
lea edx, [esp + 0x17c]
movss xmm0, dword [0x1017c1ac]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
cmp byte [0x101880c9], 0
je 0x10039230
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 0x10038fe9
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 0x10038fc0
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 0x1003906c
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 0x10039031
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 0x100390cb
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 0x100390a2
push dword [esp + 0x30]
lea eax, [esp + 0x18c]
push dword [esp + 0x30]
push str._lu__lu_2008
push 0xc
push eax
call fcn.10001290
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.10001290
mov cl, byte [0x1018823e]
add esp, 0x14
test cl, cl
je 0x10039133
mov al, byte [0x1018822f]
test al, al
je 0x100391b3
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0a0]
add esp, 8
movss xmm0, dword [0x1017c044]
call fcn.10032dc0
mov cl, 1
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c1a0]
lea edx, [esp + 0x17c]
movss xmm0, dword [0x1017c1a4]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
mov cl, byte [0x1018823e]
mov al, byte [0x1018822f]
test cl, cl
je 0x100391bb
test al, al
je 0x10039230
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0a0]
add esp, 8
movss xmm0, dword [0x1017c044]
call fcn.10032dc0
mov cl, 1
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c1a8]
lea edx, [esp + 0x188]
movss xmm0, dword [0x1017c1a4]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
cmp byte [0x101880d3], 0
je 0x100393be
push 0
call fcn.1005403a
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.10058bef
lea eax, [esp + 0x1c0]
push eax
mov eax, dword [0x101880e4]
push dword [eax*4 + 0x100aa678]
lea eax, [esp + 0x18c]
push 0xc
push eax
call fcn.10058f7a
lea eax, [esp + 0x1d0]
push eax
mov eax, dword [0x101880cc]
push dword [eax*4 + 0x100aa668]
lea eax, [esp + 0x1a8]
push 0xc
push eax
call fcn.10058f7a
mov cl, byte [0x1018823e]
add esp, 0x28
test cl, cl
je 0x100392c1
mov al, byte [0x1018822f]
test al, al
je 0x10039341
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0a0]
add esp, 8
movss xmm0, dword [0x1017c044]
call fcn.10032dc0
mov cl, 1
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c1a0]
lea edx, [esp + 0x188]
movss xmm0, dword [0x1017c1a4]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
mov cl, byte [0x1018823e]
mov al, byte [0x1018822f]
test cl, cl
je 0x10039349
test al, al
je 0x100393be
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0a0]
add esp, 8
movss xmm0, dword [0x1017c044]
call fcn.10032dc0
mov cl, 1
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c1a8]
lea edx, [esp + 0x17c]
movss xmm0, dword [0x1017c1a4]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
cmp byte [0x10188086], 0
je 0x1003949f
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [esp + 0x2c]
mov ecx, eax
call fcn.1003fc90
push dword [esp + 0x2c]
lea ecx, [esp + 0x2c]
call fcn.100289b0
add esp, 4
cmp dword [esp + 0x28], 0
jne 0x10039416
cmp byte [0x1018811f], 0
je 0x1003949f
call fcn.1002aab0
cmp byte [0x1018823e], 0
mov esi, eax
je 0x1003942f
cmp byte [0x1018822f], 0
je 0x1003949f
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0a0]
add esp, 8
movss xmm0, dword [0x1017c044]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c188]
mov edx, esi
movss xmm0, dword [0x1017c058]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
cmp byte [0x101880e0], 0
je 0x1003958d
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [esp + 0x2c]
mov ecx, eax
call fcn.1003fc90
push dword [esp + 0x2c]
lea ecx, [esp + 0x2c]
call fcn.1003b130
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.10001290
add esp, 0x14
cmp byte [0x1018823e], 0
je 0x10039518
cmp byte [0x1018822f], 0
je 0x1003958d
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
add esp, 0xc
or dl, 0xff
or cl, 0xff
push 0xff
push 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0a0]
add esp, 8
movss xmm0, dword [0x1017c044]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm1, dword [0x1017c180]
lea edx, [esp + 0x1b8]
movss xmm0, dword [0x1017c058]
call fcn.10032d10
xor cl, cl
call fcn.100331f0
mov ecx, dword [esp + 0x1fc]
pop esi
xor ecx, esp
call fcn.1004ca58
mov esp, ebp
pop ebp
ret