Function at 0x1006f200
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x100b6018]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
call fcn.100250b0
push str.Utilities_t
call fcn.1003f0b0
add esp, 4
mov dword [ebp - 8], 0x42c80000
mov dword [ebp - 0xc], 0x43938000
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.100687b0
push 0x100abb14
call fcn.1003f0b0
movss xmm1, dword [0x100aeba0]
add esp, 0xc
xorps xmm0, xmm0
call fcn.10024e70
call fcn.100250b0
mov edx, dword [0x100ba480]
mov ecx, str.hit_analyzer
add edx, 0x44
call fcn.100413b0
xorps xmm0, xmm0
test al, al
je 0x1006f2d5
mov ecx, dword [0x100ba480]
movzx eax, byte [ecx + 0x44]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
test ecx, ecx
je 0x1006f2d5
ucomiss xmm1, xmm0
movss dword [ecx + 0x48], xmm1
lahf
test ah, 0x44
jnp 0x1006f2a1
mov dl, 1
jmp 0x1006f2a3
xor dl, dl
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x44], dl
sub eax, 0
je 0x1006f2c8
sub eax, 1
je 0x1006f2c2
sub eax, 1
jne 0x1006f2d5
movss dword [ecx + 0xc], xmm1
mov dword [ecx + 8], eax
jmp 0x1006f2d5
cvttss2si eax, xmm1
jmp 0x1006f2cb
movzx eax, dl
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
movss xmm1, dword [0x100aeba0]
call fcn.10024e70
mov ecx, str.print_the_difference_in_velocity_before_and_after_bounce
call fcn.100660c0
mov edx, dword [0x100ba484]
mov ecx, str.jump_analyzer
add edx, 0x44
call fcn.100413b0
test al, al
je 0x1006f361
mov ecx, dword [0x100ba484]
movzx eax, byte [ecx + 0x44]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
test ecx, ecx
je 0x1006f361
xorps xmm1, xmm1
movss dword [ecx + 0x48], xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1006f32d
mov dl, 1
jmp 0x1006f32f
xor dl, dl
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x44], dl
sub eax, 0
je 0x1006f354
sub eax, 1
je 0x1006f34e
sub eax, 1
jne 0x1006f361
movss dword [ecx + 0xc], xmm0
mov dword [ecx + 8], eax
jmp 0x1006f361
cvttss2si eax, xmm0
jmp 0x1006f357
movzx eax, dl
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
mov ecx, str.print_the_jump_velocity_and_velocity_on_bounce_hit
call fcn.100660c0
call fcn.100251e0
push str._nBounces_t
call fcn.1003f0b0
add esp, 4
mov dword [ebp - 8], 0x43520000
mov dword [ebp - 0xc], 0x43938000
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.100687b0
push 0x100abb14
call fcn.1003f0b0
movss xmm1, dword [0x100aeba0]
add esp, 0xc
xorps xmm0, xmm0
call fcn.10024e70
call fcn.100250b0
mov edx, dword [0x100ba418]
mov ecx, str.Terrain_Bouncing
add edx, 0x44
call fcn.100413b0
test al, al
je 0x1006f43d
mov ecx, dword [0x100ba418]
movzx eax, byte [ecx + 0x44]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
test ecx, ecx
je 0x1006f43d
xorps xmm1, xmm1
movss dword [ecx + 0x48], xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1006f409
mov dl, 1
jmp 0x1006f40b
xor dl, dl
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x44], dl
sub eax, 0
je 0x1006f430
sub eax, 1
je 0x1006f42a
sub eax, 1
jne 0x1006f43d
movss dword [ecx + 0xc], xmm0
mov dword [ecx + 8], eax
jmp 0x1006f43d
cvttss2si eax, xmm0
jmp 0x1006f433
movzx eax, dl
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
mov ecx, str.Allows_bouncing_from_terrain_edges_nVertical_terrain_edge_support_will_be_added_soon..._maybe
call fcn.100660c0
mov edx, dword [0x100ba414]
mov ecx, str.Unlimited_Bouncing
add edx, 0x44
call fcn.100413b0
test al, al
je 0x1006f4cc
mov ecx, dword [0x100ba414]
movzx eax, byte [ecx + 0x44]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
test ecx, ecx
je 0x1006f4cc
xorps xmm1, xmm1
movss dword [ecx + 0x48], xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1006f498
mov dl, 1
jmp 0x1006f49a
xor dl, dl
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x44], dl
sub eax, 0
je 0x1006f4bf
sub eax, 1
je 0x1006f4b9
sub eax, 1
jne 0x1006f4cc
movss dword [ecx + 0xc], xmm0
mov dword [ecx + 8], eax
jmp 0x1006f4cc
cvttss2si eax, xmm0
jmp 0x1006f4c2
movzx eax, dl
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
mov ecx, str.Bounce_flags_do_not_reset_when_you_bounce
call fcn.100660c0
movss xmm0, dword [0x100aeac4]
call fcn.10024f30
movss xmm3, dword [0x100a28e0]
lea eax, [ebp - 0x10]
push 0
push str._.3f
push eax
lea eax, [ebp - 8]
mov dword [ebp - 8], 0x3a83126f
push eax
mov eax, dword [0x100ba420]
mov edx, 8
add eax, 0xc
mov dword [ebp - 0x10], 0x42c80000
push eax
mov ecx, str.Height_Scale
call fcn.10043860
movss xmm1, dword [0x100aeba0]
add esp, 0x14
xorps xmm0, xmm0
call fcn.10024e70
mov ecx, str.Bounce_height_multiplier__increasing_this_makes_bouncing_more_difficult_
call fcn.100660c0
mov edx, dword [0x100ba41c]
mov ecx, str.Always_Bounce
add edx, 0x44
call fcn.100413b0
test al, al
je 0x1006f5c2
mov ecx, dword [0x100ba41c]
movzx eax, byte [ecx + 0x44]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
test ecx, ecx
je 0x1006f5c2
xorps xmm1, xmm1
movss dword [ecx + 0x48], xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1006f58e
mov dl, 1
jmp 0x1006f590
xor dl, dl
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x44], dl
sub eax, 0
je 0x1006f5b5
sub eax, 1
je 0x1006f5af
sub eax, 1
jne 0x1006f5c2
movss dword [ecx + 0xc], xmm0
mov dword [ecx + 8], eax
jmp 0x1006f5c2
cvttss2si eax, xmm0
jmp 0x1006f5b8
movzx eax, dl
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
mov ecx, str.Bounce_from_any_surface_with_ease
call fcn.100660c0
mov edx, dword [0x100ba424]
mov ecx, str.Steeper_Bounces
add edx, 0x44
call fcn.100413b0
test al, al
je 0x1006f651
mov ecx, dword [0x100ba424]
movzx eax, byte [ecx + 0x44]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
test ecx, ecx
je 0x1006f651
xorps xmm1, xmm1
movss dword [ecx + 0x48], xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1006f61d
mov dl, 1
jmp 0x1006f61f
xor dl, dl
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x44], dl
sub eax, 0
je 0x1006f644
sub eax, 1
je 0x1006f63e
sub eax, 1
jne 0x1006f651
movss dword [ecx + 0xc], xmm0
mov dword [ecx + 8], eax
jmp 0x1006f651
cvttss2si eax, xmm0
jmp 0x1006f647
movzx eax, dl
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
mov ecx, str.Bounce_from_steeper_angles
call fcn.100660c0
call fcn.100251e0
call fcn.100251e0
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
push 0x100abe74
call fcn.1003f0b0
movss xmm1, dword [0x100aeba0]
add esp, 4
xorps xmm0, xmm0
call fcn.10024e70
call fcn.100250b0
push str.Movement_t
call fcn.1003f0b0
add esp, 4
mov dword [ebp - 8], 0x432a0000
mov dword [ebp - 0xc], 0x43870000
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.100687b0
push 0x100abb14
call fcn.1003f0b0
movss xmm1, dword [0x100aeba0]
add esp, 0xc
xorps xmm0, xmm0
call fcn.10024e70
call fcn.100250b0
mov edx, dword [0x100ba36c]
mov ecx, str.fixed_fps
add edx, 0x44
call fcn.100413b0
test al, al
je 0x1006f764
mov ecx, dword [0x100ba36c]
movzx eax, byte [ecx + 0x44]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
test ecx, ecx
je 0x1006f764
xorps xmm1, xmm1
movss dword [ecx + 0x48], xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1006f730
mov dl, 1
jmp 0x1006f732
xor dl, dl
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x44], dl
sub eax, 0
je 0x1006f757
sub eax, 1
je 0x1006f751
sub eax, 1
jne 0x1006f764
movss dword [ecx + 0xc], xmm0
mov dword [ecx + 8], eax
jmp 0x1006f764
cvttss2si eax, xmm0
jmp 0x1006f75a
movzx eax, dl
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
mov ecx, str.simulates_a_stable_fps_for_a_more_consistent_experience_nnote:_this_feature_can_make_a_big_difference_in_your_codjumping_skill_nnote_2:_this_feature_will_bug_out_demos__so_dont_record_demos_while_this_is_enabled_
call fcn.100660c0
mov edx, dword [0x100ba488]
mov ecx, str.Bunnyhopping_t
add edx, 0x44
call fcn.100413b0
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov esi, 0x100ae738
test al, al
je 0x1006f897
mov ecx, dword [0x100ba488]
movzx eax, byte [ecx + 0x44]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
test ecx, ecx
je 0x1006f802
xorps xmm0, xmm0
movss dword [ecx + 0x48], xmm1
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1006f7ce
mov dl, 1
jmp 0x1006f7d0
xor dl, dl
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x44], dl
sub eax, 0
je 0x1006f7f5
sub eax, 1
je 0x1006f7ef
sub eax, 1
jne 0x1006f802
movss dword [ecx + 0xc], xmm1
mov dword [ecx + 8], eax
jmp 0x1006f802
cvttss2si eax, xmm1
jmp 0x1006f7f8
movzx eax, dl
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
mov ecx, str.1_kej_bhop_nodelay
call fcn.1000b930
test eax, eax
je 0x1006f84e
mov eax, dword [eax]
mov bl, byte [eax + 0x44]
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x407dae
call edi
test bl, bl
mov eax, 0x100ae730
mov ecx, 0x100ae728
mov edx, 0x407dae
cmovne ecx, eax
push 0
mov eax, dword [ecx]
mov dword [edx], eax
mov ax, word [ecx + 4]
mov word [edx + 4], ax
push dword [ebp - 8]
push 6
push edx
call edi
mov ecx, str.1_kej_bhop
call fcn.1000b930
test eax, eax
je 0x1006f897
mov eax, dword [eax]
mov bl, byte [eax + 0x44]
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x407ddc
call edi
test bl, bl
mov eax, 0x100ae740
mov ecx, esi
mov edx, 0x407ddc
cmovne ecx, eax
push 0
mov eax, dword [ecx]
mov dword [edx], eax
mov ax, word [ecx + 4]
mov word [edx + 4], ax
push dword [ebp - 8]
push 6
push edx
call edi
mov eax, dword [0x100ba488]
cmp byte [eax + 0x44], 0
jne 0x1006f8fa
mov esi, dword [0x100b9cf4]
mov ecx, dword [esi + 0x1c20]
lea edx, [esi + 0x1c20]
mov eax, ecx
shr eax, 2
test al, 1
jne 0x1006f8dd
movss xmm0, dword [esi + 0x1518]
movss dword [esi + 0x2ee8], xmm0
mulss xmm0, dword [esi + 0x151c]
movss dword [esi + 0x1518], xmm0
or ecx, 4
mov dword [edx], ecx
lea ecx, [esi + 0x1d04]
push edx
call fcn.1002b770
inc word [esi + 0x2eec]
mov esi, 0x100ae738
push 0x100abb14
call fcn.1003f0b0
movss xmm1, dword [0x100aeba0]
add esp, 4
xorps xmm0, xmm0
call fcn.10024e70
mov edx, dword [0x100ba48c]
mov ecx, str.No_Delay
add edx, 0x44
call fcn.100413b0
test al, al
je 0x1006fa23
mov ecx, dword [0x100ba48c]
movzx eax, byte [ecx + 0x44]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
test ecx, ecx
je 0x1006f990
xorps xmm0, xmm0
movss dword [ecx + 0x48], xmm1
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1006f95c
mov dl, 1
jmp 0x1006f95e
xor dl, dl
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x44], dl
sub eax, 0
je 0x1006f983
sub eax, 1
je 0x1006f97d
sub eax, 1
jne 0x1006f990
movss dword [ecx + 0xc], xmm1
mov dword [ecx + 8], eax
jmp 0x1006f990
cvttss2si eax, xmm1
jmp 0x1006f986
movzx eax, dl
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
mov ecx, str.1_kej_bhop_nodelay
call fcn.1000b930
test eax, eax
je 0x1006f9dc
mov eax, dword [eax]
mov bl, byte [eax + 0x44]
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x407dae
call edi
test bl, bl
mov eax, 0x100ae730
mov ecx, 0x100ae728
mov edx, 0x407dae
cmovne ecx, eax
push 0
mov eax, dword [ecx]
mov dword [edx], eax
mov ax, word [ecx + 4]
mov word [edx + 4], ax
push dword [ebp - 8]
push 6
push edx
call edi
mov ecx, str.1_kej_bhop
call fcn.1000b930
test eax, eax
je 0x1006fa23
mov eax, dword [eax]
mov bl, byte [eax + 0x44]
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x407ddc
call edi
test bl, bl
mov eax, 0x100ae740
mov ecx, 0x407ddc
cmovne esi, eax
push 0
mov eax, dword [esi]
mov dword [ecx], eax
mov ax, word [esi + 4]
mov word [ecx + 4], ax
push dword [ebp - 8]
push 6
push ecx
call edi
mov eax, dword [0x100ba488]
cmp byte [eax + 0x44], 0
jne 0x1006fa75
mov esi, dword [0x100b9cf4]
mov edx, dword [esi + 0x1c20]
dec dword [esi + 0x1d04]
dec word [esi + 0x2eec]
mov ecx, dword [esi + 0x1d04]
mov eax, dword [esi + 0x1d0c]
shr edx, 2
mov eax, dword [eax + ecx*4 - 4]
mov dword [esi + 0x1c20], eax
test dl, 1
je 0x1006fa75
test al, 4
jne 0x1006fa75
mov eax, dword [esi + 0x2ee8]
mov dword [esi + 0x1518], eax
mov edx, dword [0x100ba540]
mov ecx, str.Disallow_halfbeat
add edx, 0x44
call fcn.100413b0
test al, al
je 0x1006faea
mov ecx, dword [0x100ba540]
movzx eax, byte [ecx + 0x44]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
test ecx, ecx
je 0x1006faea
xorps xmm1, xmm1
movss dword [ecx + 0x48], xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1006fab6
mov dl, 1
jmp 0x1006fab8
xor dl, dl
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x44], dl
sub eax, 0
je 0x1006fadd
sub eax, 1
je 0x1006fad7
sub eax, 1
jne 0x1006faea
movss dword [ecx + 0xc], xmm0
mov dword [ecx + 8], eax
jmp 0x1006faea
cvttss2si eax, xmm0
jmp 0x1006fae0
movzx eax, dl
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
mov ecx, str.Use_if_you_are_feeling_brave
call fcn.100660c0
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
push 0x100a2c74
call fcn.1003f0b0
add esp, 4
call fcn.100251e0
push str._nAnimations_t
call fcn.1003f0b0
add esp, 4
mov dword [ebp - 8], 0x43020000
mov dword [ebp - 0xc], 0x43870000
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.100687b0
push 0x100abb14
call fcn.1003f0b0
movss xmm1, dword [0x100aeba0]
add esp, 0xc
xorps xmm0, xmm0
call fcn.10024e70
call fcn.100250b0
mov edx, dword [0x100ba350]
mov ecx, str.Use_Animations
add edx, 0x44
call fcn.100413b0
test al, al
je 0x1006fbe3
mov ecx, dword [0x100ba350]
movzx eax, byte [ecx + 0x44]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
test ecx, ecx
je 0x1006fbe3
xorps xmm1, xmm1
movss dword [ecx + 0x48], xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1006fbaf
mov dl, 1
jmp 0x1006fbb1
xor dl, dl
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x44], dl
sub eax, 0
je 0x1006fbd6
sub eax, 1
je 0x1006fbd0
sub eax, 1
jne 0x1006fbe3
movss dword [ecx + 0xc], xmm0
mov dword [ecx + 8], eax
jmp 0x1006fbe3
cvttss2si eax, xmm0
jmp 0x1006fbd9
movzx eax, dl
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
mov ecx, str.Use_custom_weapon_animations_after_jumping__requires_sprinting_
call fcn.100660c0
mov eax, dword [0x100ba350]
cmp byte [eax + 0x44], 0
jne 0x1006fc5b
mov esi, dword [0x100b9cf4]
mov ecx, dword [esi + 0x1c20]
lea edx, [esi + 0x1c20]
mov eax, ecx
shr eax, 2
test al, 1
jne 0x1006fc43
movss xmm0, dword [esi + 0x1518]
movss dword [esi + 0x2ee8], xmm0
mulss xmm0, dword [esi + 0x151c]
movss dword [esi + 0x1518], xmm0
or ecx, 4
mov dword [edx], ecx
lea ecx, [esi + 0x1d04]
push edx
call fcn.1002b770
inc word [esi + 0x2eec]
mov eax, dword [0x100ba34c]
cmp byte [eax + 0x44], 0
je 0x1006fcb9
mov esi, dword [0x100b9cf4]
mov ecx, dword [esi + 0x1c20]
lea edx, [esi + 0x1c20]
mov eax, ecx
shr eax, 2
test al, 1
jne 0x1006fca1
movss xmm0, dword [esi + 0x1518]
movss dword [esi + 0x2ee8], xmm0
mulss xmm0, dword [esi + 0x151c]
movss dword [esi + 0x1518], xmm0
or ecx, 4
mov dword [edx], ecx
lea ecx, [esi + 0x1d04]
push edx
call fcn.1002b770
inc word [esi + 0x2eec]
push 0x100abb14
call fcn.1003f0b0
movss xmm1, dword [0x100aeba0]
add esp, 4
xorps xmm0, xmm0
call fcn.10024e70
movss xmm0, dword [0x100aeac4]
call fcn.10024f30
mov edx, dword [0x100ba354]
push ecx
push 0x1e
push 0x100b6090
push ecx
lea edx, [edx + 8]
mov ecx, str.Anim_t_t
call fcn.10042f90
mov eax, dword [0x100ba34c]
add esp, 0x10
cmp byte [eax + 0x44], 0
je 0x1006fd54
mov esi, dword [0x100b9cf4]
mov edx, dword [esi + 0x1c20]
dec dword [esi + 0x1d04]
dec word [esi + 0x2eec]
mov ecx, dword [esi + 0x1d04]
mov eax, dword [esi + 0x1d0c]
shr edx, 2
mov eax, dword [eax + ecx*4 - 4]
mov dword [esi + 0x1c20], eax
test dl, 1
je 0x1006fd54
test al, 4
jne 0x1006fd54
mov eax, dword [esi + 0x2ee8]
mov dword [esi + 0x1518], eax
mov edx, dword [0x100ba34c]
mov ecx, str.RPG_jump
add edx, 0x44
call fcn.100413b0
test al, al
je 0x1006fdc9
mov ecx, dword [0x100ba34c]
movzx eax, byte [ecx + 0x44]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
test ecx, ecx
je 0x1006fdc9
xorps xmm0, xmm0
movss dword [ecx + 0x48], xmm1
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1006fd95
mov dl, 1
jmp 0x1006fd97
xor dl, dl
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x44], dl
sub eax, 0
je 0x1006fdbc
sub eax, 1
je 0x1006fdb6
sub eax, 1
jne 0x1006fdc9
movss dword [ecx + 0xc], xmm1
mov dword [ecx + 8], eax
jmp 0x1006fdc9
cvttss2si eax, xmm1
jmp 0x1006fdbf
movzx eax, dl
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
mov eax, dword [0x100ba350]
cmp byte [eax + 0x44], 0
jne 0x1006fe1b
mov esi, dword [0x100b9cf4]
mov edx, dword [esi + 0x1c20]
dec dword [esi + 0x1d04]
dec word [esi + 0x2eec]
mov ecx, dword [esi + 0x1d04]
mov eax, dword [esi + 0x1d0c]
shr edx, 2
mov eax, dword [eax + ecx*4 - 4]
mov dword [esi + 0x1c20], eax
test dl, 1
je 0x1006fe1b
test al, 4
jne 0x1006fe1b
mov eax, dword [esi + 0x2ee8]
mov dword [esi + 0x1518], eax
call fcn.100251e0
push str._nBounce_Calculator_t
call fcn.1003f0b0
add esp, 4
mov dword [ebp - 8], 0x430c0000
mov dword [ebp - 0xc], 0x43870000
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.100687b0
push 0x100abb14
call fcn.1003f0b0
movss xmm1, dword [0x100aeba0]
add esp, 0xc
xorps xmm0, xmm0
call fcn.10024e70
call fcn.100250b0
mov edx, dword [0x100ba538]
mov ecx, str.Use_Calculator
add edx, 0x44
call fcn.100413b0
test al, al
je 0x1006ff08
mov ecx, dword [0x100ba538]
movzx eax, byte [ecx + 0x44]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
test ecx, ecx
je 0x1006fee1
xorps xmm0, xmm0
movss dword [ecx + 0x48], xmm1
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1006fead
mov dl, 1
jmp 0x1006feaf
xor dl, dl
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x44], dl
sub eax, 0
je 0x1006fed4
sub eax, 1
je 0x1006fece
sub eax, 1
jne 0x1006fee1
movss dword [ecx + 0xc], xmm1
mov dword [ecx + 8], eax
jmp 0x1006fee1
cvttss2si eax, xmm1
jmp 0x1006fed7
movzx eax, dl
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
mov eax, dword [0x100ba538]
cmp byte [eax + 0x44], 0
jne 0x1006ff08
xorps xmm0, xmm0
mov dword [0x100ba240], 0
movups xmmword [0x100ba228], xmm0
movq qword [0x100ba238], xmm0
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
mov ecx, str.Bounce_calculator_tells_you_if_you_can_bounce_from_the_specified_normals_with_your_current_velocity_nThis_toggle_allows_the_keybind_usage__Controls_Multiplayer_Controls_
call fcn.100660c0
mov eax, dword [0x100ba538]
cmp byte [eax + 0x44], 0
jne 0x1006ff80
mov esi, dword [0x100b9cf4]
mov ecx, dword [esi + 0x1c20]
lea edx, [esi + 0x1c20]
mov eax, ecx
shr eax, 2
test al, 1
jne 0x1006ff68
movss xmm0, dword [esi + 0x1518]
movss dword [esi + 0x2ee8], xmm0
mulss xmm0, dword [esi + 0x151c]
movss dword [esi + 0x1518], xmm0
or ecx, 4
mov dword [edx], ecx
lea ecx, [esi + 0x1d04]
push edx
call fcn.1002b770
inc word [esi + 0x2eec]
mov edx, dword [0x100ba53c]
mov ecx, str.3D_Text
add edx, 0x44
call fcn.100413b0
test al, al
je 0x1006fff5
mov ecx, dword [0x100ba53c]
movzx eax, byte [ecx + 0x44]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
test ecx, ecx
je 0x1006fff5
xorps xmm1, xmm1
movss dword [ecx + 0x48], xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1006ffc1
mov dl, 1
jmp 0x1006ffc3
xor dl, dl
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x44], dl
sub eax, 0
je 0x1006ffe8
sub eax, 1
je 0x1006ffe2
sub eax, 1
jne 0x1006fff5
movss dword [ecx + 0xc], xmm0
mov dword [ecx + 8], eax
jmp 0x1006fff5
cvttss2si eax, xmm0
jmp 0x1006ffeb
movzx eax, dl
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
mov ecx, str.Text_is_drawn_at_the_marked_spot
call fcn.100660c0
push ecx
lea edx, [ebp - 0xc]
mov dword [ebp - 0xc], 0
mov ecx, str.Delete_Spot
mov dword [ebp - 8], 0
call fcn.1003fc40
add esp, 4
test al, al
je 0x1007004e
xorps xmm0, xmm0
mov dword [0x100ba240], 0
movups xmmword [0x100ba228], xmm0
movq qword [0x100ba238], xmm0
mov eax, dword [0x100ba538]
cmp byte [eax + 0x44], 0
jne 0x100700a0
mov esi, dword [0x100b9cf4]
mov edx, dword [esi + 0x1c20]
dec dword [esi + 0x1d04]
dec word [esi + 0x2eec]
mov ecx, dword [esi + 0x1d04]
mov eax, dword [esi + 0x1d0c]
shr edx, 2
mov eax, dword [eax + ecx*4 - 4]
mov dword [esi + 0x1c20], eax
test dl, 1
je 0x100700a0
test al, 4
jne 0x100700a0
mov eax, dword [esi + 0x2ee8]
mov dword [esi + 0x1518], eax
call fcn.100251e0
call fcn.100251e0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1007dbea
mov esp, ebp
pop ebp
ret