Function at 0x180058790
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
mov rax, qword [0x18007d010]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp byte [0x180113d1e], 0
movss xmm6, dword [0x180072088]
je 0x180058838
mov rbx, qword [0x180113e58]
test rbx, rbx
je 0x18005a1ed
mov rax, qword [0x180113a38]
lea rdx, str._currentValue
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058801
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x18005882f
mov dword [rax + rbx], 0x42c80000
mov byte [0x180112c67], 0
jmp 0x1800588a1
mov rax, qword [0x180113a50]
lea rdx, str._currentValue
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005882f
mov rax, qword [rax + 0x18]
test rax, rax
je 0x18005882f
movss xmm1, dword [0x180072090]
mov rcx, rbx
call qword [rax]
mov byte [0x180112c67], 0
jmp 0x1800588a1
cmp byte [0x180112c67], 0
jne 0x1800588a1
mov rbx, qword [0x180113e58]
lea rdx, str._currentValue
mov rax, qword [0x180113a38]
mov byte [0x180112c67], 1
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058878
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x1800588a1
mov dword [rax + rbx], 0x42b40000
jmp 0x1800588a1
mov rax, qword [0x180113a50]
lea rdx, str._currentValue
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x1800588a1
mov rax, qword [rax + 0x18]
test rax, rax
je 0x1800588a1
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d04], 0
je 0x180058924
mov rbx, qword [0x180113e60]
test rbx, rbx
je 0x18005a1ed
mov rax, qword [0x180113a38]
lea rdx, str._currentValue
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x1800588ed
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x18005891b
mov dword [rax + rbx], 0x42c80000
mov byte [0x180112c68], 0
jmp 0x18005898d
mov rax, qword [0x180113a50]
lea rdx, str._currentValue
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005891b
mov rax, qword [rax + 0x18]
test rax, rax
je 0x18005891b
movss xmm1, dword [0x180072090]
mov rcx, rbx
call qword [rax]
mov byte [0x180112c68], 0
jmp 0x18005898d
cmp byte [0x180112c68], 0
jne 0x18005898d
mov rbx, qword [0x180113e60]
lea rdx, str._currentValue
mov rax, qword [0x180113a38]
mov byte [0x180112c68], 1
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058964
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x18005898d
mov dword [rax + rbx], 0x42b40000
jmp 0x18005898d
mov rax, qword [0x180113a50]
lea rdx, str._currentValue
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005898d
mov rax, qword [rax + 0x18]
test rax, rax
je 0x18005898d
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d20], 0
je 0x180058a10
mov rbx, qword [0x180113e50]
test rbx, rbx
je 0x18005a1ed
mov rax, qword [0x180113a38]
lea rdx, str._currentValue
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x1800589d9
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180058a07
mov dword [rax + rbx], 0x42c80000
mov byte [0x180112c69], 0
jmp 0x180058a79
mov rax, qword [0x180113a50]
lea rdx, str._currentValue
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058a07
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180058a07
movss xmm1, dword [0x180072090]
mov rcx, rbx
call qword [rax]
mov byte [0x180112c69], 0
jmp 0x180058a79
cmp byte [0x180112c69], 0
jne 0x180058a79
mov rbx, qword [0x180113e50]
lea rdx, str._currentValue
mov rax, qword [0x180113a38]
mov byte [0x180112c69], 1
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058a50
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180058a79
mov dword [rax + rbx], 0x42b40000
jmp 0x180058a79
mov rax, qword [0x180113a50]
lea rdx, str._currentValue
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058a79
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180058a79
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d1f], 0
je 0x180058bc2
mov rbx, qword [0x1801138c8]
test rbx, rbx
je 0x18005a1ed
mov rax, qword [0x180113a38]
lea rdx, str._runSpeed
mov rcx, qword [rbx]
movss xmm6, dword [0x180112c54]
call rax
test rax, rax
je 0x180058ac5
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180058aee
movss dword [rax + rbx], xmm6
jmp 0x180058aee
mov rax, qword [0x180113a50]
lea rdx, str._runSpeed
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058aee
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180058aee
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x1801138c8]
lea rdx, str._swimSpeed
mov rax, qword [0x180113a38]
movss xmm6, dword [0x180112c40]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058b24
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180058b4d
movss dword [rax + rbx], xmm6
jmp 0x180058b4d
mov rax, qword [0x180113a50]
lea rdx, str._swimSpeed
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058b4d
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180058b4d
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x1801138c8]
lea rdx, str._swimSpeedMultiplier
mov rax, qword [0x180113a38]
movss xmm6, dword [0x180112c40]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058b8d
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180058bb6
movss dword [rax + rbx], xmm6
mov byte [0x180112c66], 0
jmp 0x180058cee
mov rax, qword [0x180113a50]
lea rdx, str._swimSpeedMultiplier
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058bb6
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180058bb6
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
mov byte [0x180112c66], 0
jmp 0x180058cee
cmp byte [0x180112c66], 0
jne 0x180058cee
mov rbx, qword [0x1801138c8]
lea rdx, str._runSpeed
mov rax, qword [0x180113a38]
mov byte [0x180112c66], 1
mov rcx, qword [rbx]
call rax
movss xmm6, dword [0x180072024]
test rax, rax
je 0x180058c0e
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180058c37
mov dword [rax + rbx], 0x40accccd
jmp 0x180058c37
mov rax, qword [0x180113a50]
lea rdx, str._runSpeed
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058c37
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180058c37
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x1801138c8]
lea rdx, str._swimSpeed
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058c67
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180058c90
mov dword [rax + rbx], 0x40accccd
jmp 0x180058c90
mov rax, qword [0x180113a50]
lea rdx, str._swimSpeed
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058c90
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180058c90
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x1801138c8]
lea rdx, str._swimSpeedMultiplier
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058cc0
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180058cee
mov dword [rax + rbx], 0x3f800000
jmp 0x180058cee
mov rax, qword [0x180113a50]
lea rdx, str._swimSpeedMultiplier
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058cee
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180058cee
movss xmm1, dword [0x180071fd0]
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d08], 0
je 0x180058d72
mov rbx, qword [0x1801138c8]
test rbx, rbx
je 0x18005a1ed
mov rax, qword [0x180113a38]
lea rdx, str._jumpHeight
mov rcx, qword [rbx]
movss xmm6, dword [0x180112c30]
call rax
test rax, rax
je 0x180058d40
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180058d69
movss dword [rax + rbx], xmm6
mov byte [0x180112c65], 0
jmp 0x180058de0
mov rax, qword [0x180113a50]
lea rdx, str._jumpHeight
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058d69
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180058d69
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
mov byte [0x180112c65], 0
jmp 0x180058de0
cmp byte [0x180112c65], 0
jne 0x180058de0
mov rbx, qword [0x1801138c8]
lea rdx, str._jumpHeight
mov rax, qword [0x180113a38]
mov byte [0x180112c65], 1
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058db2
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180058de0
mov dword [rax + rbx], 0x40266666
jmp 0x180058de0
mov rax, qword [0x180113a50]
lea rdx, str._jumpHeight
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058de0
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180058de0
movss xmm1, dword [0x180072008]
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d18], 0
mov rbx, qword [0x1801138c8]
mov qword [rsp + 0x90], rdi
movaps xmmword [rsp + 0x60], xmm7
je 0x180058e51
test rbx, rbx
je 0x180058e9f
mov rax, qword [0x180113a38]
lea rdx, str._allowFallDamage
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058e2c
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180058e9f
mov byte [rax + rbx], 0
jmp 0x180058e9f
mov rax, qword [0x180113a50]
lea rdx, str._allowFallDamage
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058e9f
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180058e9f
xor edx, edx
jmp 0x180058e9a
mov rax, qword [0x180113a38]
lea rdx, str._allowFallDamage
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058e77
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180058e9f
mov byte [rax + rbx], 1
jmp 0x180058e9f
mov rax, qword [0x180113a50]
lea rdx, str._allowFallDamage
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058e9f
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180058e9f
mov dl, 1
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d0e], 0
mov rbx, qword [0x1801138c8]
je 0x180058f03
test rbx, rbx
je 0x180058f51
mov rax, qword [0x180113a38]
lea rdx, str._disableGravity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058ede
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180058f51
mov byte [rax + rbx], 1
jmp 0x180058f51
mov rax, qword [0x180113a50]
lea rdx, str._disableGravity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058f51
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180058f51
mov dl, 1
jmp 0x180058f4c
mov rax, qword [0x180113a38]
lea rdx, str._disableGravity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058f29
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180058f51
mov byte [rax + rbx], 0
jmp 0x180058f51
mov rax, qword [0x180113a50]
lea rdx, str._disableGravity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058f51
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180058f51
xor edx, edx
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d07], 0
mov rbx, qword [0x180113ec8]
je 0x180058fb5
test rbx, rbx
je 0x180059008
mov rax, qword [0x180113a38]
lea rdx, str._InstantBuild_k__BackingField
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058f90
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059008
mov byte [rax + rbx], 1
jmp 0x180059008
mov rax, qword [0x180113a50]
lea rdx, str._InstantBuild_k__BackingField
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059008
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059008
mov dl, 1
jmp 0x180059003
test rbx, rbx
je 0x180059008
mov rax, qword [0x180113a38]
lea rdx, str._InstantBuild_k__BackingField
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180058fe0
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059008
mov byte [rax + rbx], 0
jmp 0x180059008
mov rax, qword [0x180113a50]
lea rdx, str._InstantBuild_k__BackingField
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059008
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059008
xor edx, edx
mov rcx, rbx
call qword [rax]
movss xmm7, dword [0x1800720a8]
xor edi, edi
cmp byte [0x180113d0f], dil
mov rbx, qword [0x180113ed0]
je 0x18005914d
test rbx, rbx
je 0x180059264
mov rax, qword [0x180113a38]
lea rdx, str._constantForwardForce
mov rcx, qword [rbx]
movss xmm6, dword [0x180112c34]
call rax
test rax, rax
je 0x18005905e
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059087
movss dword [rax + rbx], xmm6
jmp 0x180059087
mov rax, qword [0x180113a50]
lea rdx, str._constantForwardForce
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059087
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059087
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d11], dil
lea rdx, str._baseDownPitchForce
mov rbx, qword [0x180113ed0]
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
je 0x1800591c5
call rax
test rax, rax
je 0x1800590c0
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x1800590e9
mov dword [rax + rbx], edi
jmp 0x1800590e9
mov rax, qword [0x180113a50]
lea rdx, str._baseDownPitchForce
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x1800590e9
mov rax, qword [rax + 0x18]
test rax, rax
je 0x1800590e9
xorps xmm1, xmm1
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113ed0]
lea rdx, str._upPitchDownForce
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005911c
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059264
mov dword [rax + rbx], edi
jmp 0x180059264
mov rax, qword [0x180113a50]
lea rdx, str._upPitchDownForce
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059264
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059264
xorps xmm1, xmm1
jmp 0x18005925f
test rbx, rbx
je 0x180059264
mov rax, qword [0x180113a38]
lea rdx, str._constantForwardForce
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005917f
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x1800591ad
mov dword [rax + rbx], 0x42700000
jmp 0x1800591ad
mov rax, qword [0x180113a50]
lea rdx, str._constantForwardForce
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x1800591ad
mov rax, qword [rax + 0x18]
test rax, rax
je 0x1800591ad
movss xmm1, dword [0x180072084]
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113ed0]
lea rdx, str._baseDownPitchForce
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x1800591dd
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059206
mov dword [rax + rbx], 0x43160000
jmp 0x180059206
mov rcx, qword [rbx]
lea rdx, str._baseDownPitchForce
mov rax, qword [0x180113a50]
call rax
test rax, rax
je 0x180059206
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059206
movaps xmm1, xmm7
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113ed0]
lea rdx, str._upPitchDownForce
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059236
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059264
mov dword [rax + rbx], 0x453b8000
jmp 0x180059264
mov rcx, qword [rbx]
lea rdx, str._upPitchDownForce
mov rax, qword [0x180113a50]
call rax
test rax, rax
je 0x180059264
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059264
movss xmm1, dword [0x1800720f0]
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d01], dil
mov rbx, qword [0x180113eb0]
je 0x1800593a6
test rbx, rbx
je 0x1800594c2
mov rax, qword [0x180113a38]
lea rdx, str.JumpForce
mov rcx, qword [rbx]
movss xmm6, dword [0x180112c50]
call rax
test rax, rax
je 0x1800592b0
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x1800592d9
movss dword [rax + rbx], xmm6
jmp 0x1800592d9
mov rax, qword [0x180113a50]
lea rdx, str.JumpForce
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x1800592d9
mov rax, qword [rax + 0x18]
test rax, rax
je 0x1800592d9
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113eb0]
lea rdx, str.MaxVelocity
mov rax, qword [0x180113a38]
movss xmm6, dword [0x180112c4c]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005930f
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059338
movss dword [rax + rbx], xmm6
jmp 0x180059338
mov rax, qword [0x180113a50]
lea rdx, str.MaxVelocity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059338
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059338
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113eb0]
lea rdx, str.MinMaxLean
mov rax, qword [0x180113a38]
movss xmm6, dword [0x180112c48]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059375
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x1800594c2
movss dword [rax + rbx], xmm6
jmp 0x1800594c2
mov rax, qword [0x180113a50]
lea rdx, str.MinMaxLean
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x1800594c2
mov rax, qword [rax + 0x18]
test rax, rax
je 0x1800594c2
movaps xmm1, xmm6
jmp 0x1800594bd
test rbx, rbx
je 0x1800594c2
mov rax, qword [0x180113a38]
lea rdx, str.JumpForce
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x1800593d8
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059406
mov dword [rax + rbx], 0x40800000
jmp 0x180059406
mov rax, qword [0x180113a50]
lea rdx, str.JumpForce
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059406
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059406
movss xmm1, dword [0x18007201c]
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113eb0]
lea rdx, str.MaxVelocity
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059436
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059464
mov dword [rax + rbx], 0x41a00000
jmp 0x180059464
mov rax, qword [0x180113a50]
lea rdx, str.MaxVelocity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059464
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059464
movss xmm1, dword [0x180072068]
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113eb0]
lea rdx, str.MinMaxLean
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059494
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x1800594c2
mov dword [rax + rbx], 0x41000000
jmp 0x1800594c2
mov rax, qword [0x180113a50]
lea rdx, str.MinMaxLean
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x1800594c2
mov rax, qword [rax + 0x18]
test rax, rax
je 0x1800594c2
movss xmm1, dword [0x180072040]
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d0b], dil
mov rbx, qword [0x180113ea8]
je 0x18005959c
test rbx, rbx
je 0x1800595f8
cmp byte [0x180113d15], dil
lea rdx, str._fireDelay
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
je 0x1800595b2
call rax
test rax, rax
je 0x180059511
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x18005953a
mov dword [rax + rbx], edi
jmp 0x18005953a
mov rax, qword [0x180113a50]
lea rdx, str._fireDelay
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005953a
mov rax, qword [rax + 0x18]
test rax, rax
je 0x18005953a
xorps xmm1, xmm1
mov rcx, rbx
call qword [rax]
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x50], rax
movups xmmword [rsp + 0x40], xmm0
lea ecx, [rax + 0x51]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800595f8
mov r8d, 0x28
mov dword [rsp + 0x44], 2
lea rdx, [rsp + 0x30]
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov r8d, 0x28
mov dword [rsp + 0x44], 4
lea rdx, [rsp + 0x30]
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
jmp 0x1800595f8
test rbx, rbx
je 0x1800595f8
mov rax, qword [0x180113a38]
lea rdx, str._fireDelay
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x1800595ca
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x1800595f8
mov dword [rax + rbx], 0x3e4ccccd
jmp 0x1800595f8
mov rcx, qword [rbx]
lea rdx, str._fireDelay
mov rax, qword [0x180113a50]
call rax
test rax, rax
je 0x1800595f8
mov rax, qword [rax + 0x18]
test rax, rax
je 0x1800595f8
movss xmm1, dword [0x180071f7c]
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d0c], dil
mov rbx, qword [0x180113e18]
je 0x1800596de
test rbx, rbx
je 0x18005979c
mov rax, qword [0x180113a38]
lea rdx, str._maxLightIntensity
mov rcx, qword [rbx]
movss xmm6, dword [0x180112c58]
call rax
test rax, rax
je 0x180059644
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x18005966d
movss dword [rax + rbx], xmm6
jmp 0x18005966d
mov rax, qword [0x180113a50]
lea rdx, str._maxLightIntensity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005966d
mov rax, qword [rax + 0x18]
test rax, rax
je 0x18005966d
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d16], dil
lea rdx, str._powerDrainRate
mov rbx, qword [0x180113e18]
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
je 0x180059756
call rax
test rax, rax
je 0x1800596ad
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x18005979c
mov dword [rax + rbx], edi
jmp 0x18005979c
mov rax, qword [0x180113a50]
lea rdx, str._powerDrainRate
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005979c
mov rax, qword [rax + 0x18]
test rax, rax
je 0x18005979c
xorps xmm1, xmm1
jmp 0x180059797
test rbx, rbx
je 0x18005979c
mov rax, qword [0x180113a38]
lea rdx, str._maxLightIntensity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059710
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x18005973e
mov dword [rax + rbx], 0x41840000
jmp 0x18005973e
mov rax, qword [0x180113a50]
lea rdx, str._maxLightIntensity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005973e
mov rax, qword [rax + 0x18]
test rax, rax
je 0x18005973e
movss xmm1, dword [0x18007205c]
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113e18]
lea rdx, str._powerDrainRate
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005976e
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x18005979c
mov dword [rax + rbx], 0x3e2ab368
jmp 0x18005979c
mov rcx, qword [rbx]
lea rdx, str._powerDrainRate
mov rax, qword [0x180113a50]
call rax
test rax, rax
je 0x18005979c
mov rax, qword [rax + 0x18]
test rax, rax
je 0x18005979c
movss xmm1, dword [0x180071f78]
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d19], dil
je 0x1800598fd
cmp qword [0x180113e90], rdi
je 0x180059a34
mov rbx, qword [0x180113e68]
test rbx, rbx
je 0x180059a34
mov rax, qword [0x180113a38]
lea rdx, str.intensity
mov rcx, qword [rbx]
movss xmm6, dword [0x180112c38]
call rax
test rax, rax
je 0x1800597f5
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x18005981e
movss dword [rax + rbx], xmm6
jmp 0x18005981e
mov rax, qword [0x180113a50]
lea rdx, str.intensity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005981e
mov rax, qword [rax + 0x18]
test rax, rax
je 0x18005981e
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113e68]
lea rdx, str.color
mov rax, qword [0x180113a38]
movups xmm6, xmmword [0x180112d20]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059852
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059883
movups xmmword [rax + rbx], xmm6
jmp 0x180059883
mov rax, qword [0x180113a50]
lea rdx, str.color
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059883
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059883
lea rdx, [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm6
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d13], dil
lea rdx, str.range
mov rbx, qword [0x180113e68]
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
je 0x1800599ee
call rax
test rax, rax
je 0x1800598c7
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059a34
mov dword [rax + rbx], 0x447a0000
jmp 0x180059a34
mov rax, qword [0x180113a50]
lea rdx, str.range
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059a34
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059a34
movss xmm1, dword [0x1800720e4]
jmp 0x180059a2f
cmp qword [0x180113e90], rdi
je 0x180059a34
mov rbx, qword [0x180113e68]
test rbx, rbx
je 0x180059a34
mov rax, qword [0x180113a38]
lea rdx, str.intensity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059943
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059971
mov dword [rax + rbx], 0x44000000
jmp 0x180059971
mov rax, qword [0x180113a50]
lea rdx, str.intensity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059971
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059971
movss xmm1, dword [0x1800720d4]
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113e68]
lea rdx, str.color
mov rax, qword [0x180113a38]
movaps xmm6, xmmword [0x180072580]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x1800599a5
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x1800599d6
movups xmmword [rax + rbx], xmm6
jmp 0x1800599d6
mov rax, qword [0x180113a50]
lea rdx, str.color
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x1800599d6
mov rax, qword [rax + 0x18]
test rax, rax
je 0x1800599d6
lea rdx, [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm6
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113e68]
lea rdx, str.range
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059a06
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059a34
mov dword [rax + rbx], 0x41700000
jmp 0x180059a34
mov rcx, qword [rbx]
lea rdx, str.range
mov rax, qword [0x180113a50]
call rax
test rax, rax
je 0x180059a34
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059a34
movss xmm1, dword [0x180072054]
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d03], dil
mov rbx, qword [0x180113e38]
je 0x180059bc0
test rbx, rbx
je 0x180059c7e
mov rax, qword [0x180113a38]
lea rdx, str._airConsumptionRate
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059a76
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059a9f
mov dword [rax + rbx], edi
jmp 0x180059a9f
mov rax, qword [0x180113a50]
lea rdx, str._airConsumptionRate
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059a9f
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059a9f
xorps xmm1, xmm1
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113e38]
lea rdx, str._maxLightIntensity
mov rax, qword [0x180113a38]
movss xmm6, dword [0x180112c28]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059ad5
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059afe
movss dword [rax + rbx], xmm6
jmp 0x180059afe
mov rax, qword [0x180113a50]
lea rdx, str._maxLightIntensity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059afe
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059afe
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d10], dil
lea rdx, str._airConsumptionRate
mov rbx, qword [0x180113e38]
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
je 0x180059b6b
call rax
test rax, rax
je 0x180059b3a
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059c7e
mov dword [rax + rbx], edi
jmp 0x180059c7e
mov rax, qword [0x180113a50]
lea rdx, str._airConsumptionRate
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059c7e
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059c7e
xorps xmm1, xmm1
jmp 0x180059c79
call rax
test rax, rax
je 0x180059b8a
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059c7e
mov dword [rax + rbx], 0x40000000
jmp 0x180059c7e
mov rax, qword [0x180113a50]
lea rdx, str._airConsumptionRate
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059c7e
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059c7e
movss xmm1, dword [0x180071ff4]
jmp 0x180059c79
test rbx, rbx
je 0x180059c7e
mov rax, qword [0x180113a38]
lea rdx, str._airConsumptionRate
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059bf2
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059c20
mov dword [rax + rbx], 0x40000000
jmp 0x180059c20
mov rax, qword [0x180113a50]
lea rdx, str._airConsumptionRate
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059c20
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059c20
movss xmm1, dword [0x180071ff4]
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113e38]
lea rdx, str._maxLightIntensity
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059c50
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059c7e
mov dword [rax + rbx], 0x41940000
jmp 0x180059c7e
mov rax, qword [0x180113a50]
lea rdx, str._maxLightIntensity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059c7e
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059c7e
movss xmm1, dword [0x180072064]
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d21], 0
mov rdi, qword [rsp + 0x90]
mov rbx, qword [0x180113eb8]
je 0x180059d72
test rbx, rbx
je 0x180059e2b
cmp byte [0x180113d14], 0
lea rdx, str._maxFiringRange
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
je 0x180059d8c
call rax
movss xmm6, dword [0x180072118]
test rax, rax
je 0x180059ce1
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059d0a
mov dword [rax + rbx], 0x4c3ebc20
jmp 0x180059d0a
mov rax, qword [0x180113a50]
lea rdx, str._maxFiringRange
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059d0a
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059d0a
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113eb8]
lea rdx, str._maxRopeLength
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059d41
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059e2b
mov dword [rax + rbx], 0x4c3ebc20
jmp 0x180059e2b
mov rax, qword [0x180113a50]
lea rdx, str._maxRopeLength
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059e2b
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059e2b
movaps xmm1, xmm6
jmp 0x180059e26
test rbx, rbx
je 0x180059e2b
mov rax, qword [0x180113a38]
lea rdx, str._maxFiringRange
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059da4
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059dd2
mov dword [rax + rbx], 0x42480000
jmp 0x180059dd2
mov rcx, qword [rbx]
lea rdx, str._maxFiringRange
mov rax, qword [0x180113a50]
call rax
test rax, rax
je 0x180059dd2
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059dd2
movss xmm1, dword [0x180072080]
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113eb8]
lea rdx, str._maxRopeLength
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059e02
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059e2b
mov dword [rax + rbx], 0x43160000
jmp 0x180059e2b
mov rcx, qword [rbx]
lea rdx, str._maxRopeLength
mov rax, qword [0x180113a50]
call rax
test rax, rax
je 0x180059e2b
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059e2b
movaps xmm1, xmm7
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d06], 0
movaps xmm7, xmmword [rsp + 0x60]
mov rbx, qword [0x180113d40]
je 0x180059f19
test rbx, rbx
je 0x180059fde
mov rax, qword [0x180113a38]
lea rdx, str.color
mov rcx, qword [rbx]
movups xmm6, xmmword [0x180112cf0]
call rax
test rax, rax
je 0x180059e7a
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059eab
movups xmmword [rax + rbx], xmm6
jmp 0x180059eab
mov rax, qword [0x180113a50]
lea rdx, str.color
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059eab
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059eab
lea rdx, [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm6
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113d40]
lea rdx, str.intensity
mov rax, qword [0x180113a38]
movss xmm6, dword [0x180112c5c]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059ee8
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059fde
movss dword [rax + rbx], xmm6
jmp 0x180059fde
mov rax, qword [0x180113a50]
lea rdx, str.intensity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059fde
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059fde
movaps xmm1, xmm6
jmp 0x180059fd9
test rbx, rbx
je 0x180059fde
mov rax, qword [0x180113a38]
lea rdx, str.color
mov rcx, qword [rbx]
movaps xmm6, xmmword [0x180072590]
call rax
test rax, rax
je 0x180059f4f
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059f80
movups xmmword [rax + rbx], xmm6
jmp 0x180059f80
mov rax, qword [0x180113a50]
lea rdx, str.color
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059f80
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059f80
lea rdx, [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm6
mov rcx, rbx
call qword [rax]
mov rbx, qword [0x180113d40]
lea rdx, str.intensity
mov rax, qword [0x180113a38]
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059fb0
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x180059fde
mov dword [rax + rbx], 0x47c35000
jmp 0x180059fde
mov rax, qword [0x180113a50]
lea rdx, str.intensity
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x180059fde
mov rax, qword [rax + 0x18]
test rax, rax
je 0x180059fde
movss xmm1, dword [0x180072100]
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d00], 0
je 0x18005a04b
mov rbx, qword [0x180113e80]
test rbx, rbx
je 0x18005a04b
mov rax, qword [0x180113a38]
lea rdx, str._appliedStormIntensityMultiplier
mov rcx, qword [rbx]
movss xmm6, dword [0x180112c3c]
call rax
test rax, rax
je 0x18005a022
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x18005a04b
movss dword [rax + rbx], xmm6
jmp 0x18005a04b
mov rax, qword [0x180113a50]
lea rdx, str._appliedStormIntensityMultiplier
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005a04b
mov rax, qword [rax + 0x18]
test rax, rax
je 0x18005a04b
movaps xmm1, xmm6
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d09], 0
mov rbx, qword [0x180113e30]
je 0x18005a0c0
test rbx, rbx
je 0x18005a11c
mov rax, qword [0x180113a38]
lea rdx, str._baseSpeedMultiplier
mov rcx, qword [rbx]
movss xmm6, dword [0x180112c2c]
call rax
test rax, rax
je 0x18005a09a
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x18005a11c
movss dword [rax + rbx], xmm6
jmp 0x18005a11c
mov rax, qword [0x180113a50]
lea rdx, str._baseSpeedMultiplier
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005a11c
mov rax, qword [rax + 0x18]
test rax, rax
je 0x18005a11c
movaps xmm1, xmm6
jmp 0x18005a117
test rbx, rbx
je 0x18005a11c
mov rax, qword [0x180113a38]
lea rdx, str._baseSpeedMultiplier
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005a0ee
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x18005a11c
mov dword [rax + rbx], 0x3f800000
jmp 0x18005a11c
mov rax, qword [0x180113a50]
lea rdx, str._baseSpeedMultiplier
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005a11c
mov rax, qword [rax + 0x18]
test rax, rax
je 0x18005a11c
movss xmm1, dword [0x180071fd0]
mov rcx, rbx
call qword [rax]
cmp byte [0x180113d02], 0
mov rbx, qword [0x180113e00]
je 0x18005a191
test rbx, rbx
je 0x18005a1ed
mov rax, qword [0x180113a38]
lea rdx, str._regrowthFactor
mov rcx, qword [rbx]
movss xmm6, dword [0x180112c44]
call rax
test rax, rax
je 0x18005a16b
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x18005a1ed
movss dword [rax + rbx], xmm6
jmp 0x18005a1ed
mov rax, qword [0x180113a50]
lea rdx, str._regrowthFactor
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005a1ed
mov rax, qword [rax + 0x18]
test rax, rax
je 0x18005a1ed
movaps xmm1, xmm6
jmp 0x18005a1e8
test rbx, rbx
je 0x18005a1ed
mov rax, qword [0x180113a38]
lea rdx, str._regrowthFactor
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005a1bf
movsxd rax, dword [rax + 0x18]
test eax, eax
js 0x18005a1ed
mov dword [rax + rbx], 0x3dcccccd
jmp 0x18005a1ed
mov rax, qword [0x180113a50]
lea rdx, str._regrowthFactor
mov rcx, qword [rbx]
call rax
test rax, rax
je 0x18005a1ed
mov rax, qword [rax + 0x18]
test rax, rax
je 0x18005a1ed
movss xmm1, dword [0x180071f6c]
mov rcx, rbx
call qword [rax]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.180064e10
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x80
pop rbx
ret