	.file	"extr_be_ai_move.c_BotFinishTravel_FuncBobbing.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	BotFinishTravel_FuncBobbing
	.type	BotFinishTravel_FuncBobbing, @function
BotFinishTravel_FuncBobbing:
.LFB0:
	.cfi_startproc
	endbr64
	push	r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	xor	r14d, r14d
	push	r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	xor	r13d, r13d
	push	r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	xor	r12d, r12d
	push	rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	mov	rbp, rsi
	push	rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	mov	rbx, rdi
	sub	rsp, 16
	.cfi_def_cfa_offset 64
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 8[rsp], rax
	xor	eax, eax
	mov	rdi, rsp
	call	BotClearMoveResult@PLT
	mov	rcx, r13
	xor	esi, esi
	mov	rdx, r14
	mov	rdi, rbp
	call	BotFuncBobStartEnd@PLT
	mov	rdx, r12
	mov	rsi, r14
	mov	rdi, r13
	call	VectorSubtract@PLT
	mov	rdi, r12
	call	VectorLength@PLT
	movss	xmm1, DWORD PTR .LC2[rip]
	comiss	xmm1, xmm0
	jbe	.L19
	mov	rsi, QWORD PTR 8[rbx]
	mov	rdi, QWORD PTR 0[rbp]
	mov	rdx, r12
	call	VectorSubtract@PLT
	mov	eax, DWORD PTR [rbx]
	test	DWORD PTR MFL_SWIMMING[rip], eax
	jne	.L4
	mov	QWORD PTR ds:16, 0
.L4:
	xor	r12d, r12d
	mov	rdi, r12
	call	VectorNormalize@PLT
	comiss	xmm0, DWORD PTR .LC3[rip]
	ja	.L15
	mulss	xmm0, DWORD PTR .LC4[rip]
	movss	xmm1, DWORD PTR .LC0[rip]
	movaps	xmm2, xmm1
	subss	xmm2, xmm0
	subss	xmm1, xmm2
	comiss	xmm1, DWORD PTR .LC5[rip]
	ja	.L5
.L6:
	mov	esi, DWORD PTR [rsp]
	xor	r12d, r12d
	mov	rdi, r12
	call	VectorCopy@PLT
	mov	eax, DWORD PTR [rbx]
	test	DWORD PTR MFL_SWIMMING[rip], eax
	je	.L9
	mov	eax, DWORD PTR MOVERESULT_SWIMVIEW[rip]
	or	DWORD PTR 4[rsp], eax
.L9:
	mov	rcx, QWORD PTR 8[rsp]
	xor	rcx, QWORD PTR fs:40
	mov	rax, QWORD PTR [rsp]
	jne	.L22
	add	rsp, 16
	.cfi_remember_state
	.cfi_def_cfa_offset 48
	pop	rbx
	.cfi_def_cfa_offset 40
	pop	rbp
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L19:
	.cfi_restore_state
	xor	r13d, r13d
	mov	rdi, rbp
	xor	r12d, r12d
	mov	rsi, r13
	call	MoverBottomCenter@PLT
	mov	rsi, QWORD PTR 8[rbx]
	mov	rdx, r12
	mov	rdi, r13
	call	VectorSubtract@PLT
	mov	eax, DWORD PTR [rbx]
	test	DWORD PTR MFL_SWIMMING[rip], eax
	jne	.L10
	mov	QWORD PTR ds:16, 0
.L10:
	xor	r12d, r12d
	mov	rdi, r12
	call	VectorNormalize@PLT
	comiss	xmm0, DWORD PTR .LC5[rip]
	jbe	.L9
	comiss	xmm0, DWORD PTR .LC6[rip]
	movss	xmm1, DWORD PTR .LC1[rip]
	jbe	.L23
.L13:
	mov	edi, DWORD PTR 4[rbx]
	xor	r12d, r12d
	movaps	xmm0, xmm1
	mov	rsi, r12
	call	EA_Move@PLT
	mov	esi, DWORD PTR [rsp]
	mov	rdi, r12
	call	VectorCopy@PLT
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L15:
	movss	xmm1, DWORD PTR .LC0[rip]
.L5:
	xor	r12d, r12d
	mov	edi, DWORD PTR 4[rbx]
	movaps	xmm0, xmm1
	mov	rsi, r12
	call	EA_Move@PLT
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L23:
	mulss	xmm0, DWORD PTR .LC7[rip]
	movaps	xmm3, xmm1
	subss	xmm3, xmm0
	subss	xmm1, xmm3
	jmp	.L13
.L22:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	BotFinishTravel_FuncBobbing, .-BotFinishTravel_FuncBobbing
	.comm	MOVERESULT_SWIMVIEW,4,4
	.comm	MFL_SWIMMING,4,4
	.section	.rodata.cst4,"aM",@progbits,4
	.align 4
.LC0:
	.long	1135869952
	.align 4
.LC1:
	.long	1137180672
	.align 4
.LC2:
	.long	1098907648
	.align 4
.LC3:
	.long	1114636288
	.align 4
.LC4:
	.long	1086324736
	.align 4
.LC5:
	.long	1084227584
	.align 4
.LC6:
	.long	1120403456
	.align 4
.LC7:
	.long	1082130432
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_be_ai_move.c_BotFinishTravel_FuncBobbing.c"
	.text
	.global	__aeabi_fcmplt
	.global	__aeabi_fcmpgt
	.global	__aeabi_fmul
	.global	__aeabi_fsub
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	BotFinishTravel_FuncBobbing
	.syntax unified
	.arm
	.fpu softvfp
	.type	BotFinishTravel_FuncBobbing, %function
BotFinishTravel_FuncBobbing:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, lr}
	mov	r9, #0
	mov	r6, r2
	sub	sp, sp, #16
	ldr	r3, .L24
	add	r7, sp, #4
	mov	r4, r0
	mov	r0, r7
	mov	r5, r1
	ldr	r3, [r3]
	str	r3, [sp, #12]
	mov	r3,#0
	bl	BotClearMoveResult
	mov	r3, r9
	mov	r2, r9
	mov	r1, r9
	mov	r0, r6
	bl	BotFuncBobStartEnd
	mov	r1, r9
	mov	r2, r9
	mov	r0, r9
	bl	VectorSubtract
	mov	r0, r9
	bl	VectorLength
	ldr	r1, .L24+4
	bl	__aeabi_fcmplt
	cmp	r0, r9
	beq	.L19
	ldr	r8, .L24+8
	ldr	r0, [r6]
	ldr	r1, [r5, #8]
	mov	r2, r9
	bl	VectorSubtract
	ldr	r2, [r8]
	ldr	r3, [r5]
	mov	r0, #0
	ands	r3, r3, r2
	moveq	r6, r9
	streq	r3, [r6, #8]
	bl	VectorNormalize
	ldr	r1, .L24+12
	mov	r6, r0
	bl	__aeabi_fcmpgt
	cmp	r0, #0
	bne	.L15
	mov	r0, r6
	ldr	r1, .L24+16
	bl	__aeabi_fmul
	mov	r1, r0
	ldr	r0, .L24+20
	bl	__aeabi_fsub
	mov	r1, r0
	ldr	r0, .L24+20
	bl	__aeabi_fsub
	ldr	r1, .L24+24
	mov	r6, r0
	bl	__aeabi_fcmpgt
	cmp	r0, #0
	bne	.L5
.L6:
	mov	r0, #0
	ldr	r1, [sp, #4]
	bl	VectorCopy
	ldr	r2, [r5]
	ldr	r3, [r8]
	tst	r2, r3
	beq	.L9
	ldr	r2, .L24+28
	ldr	r3, [sp, #8]
	ldr	r2, [r2]
	orr	r3, r3, r2
	str	r3, [sp, #8]
.L9:
	ldm	r7, {r0, r1}
	stm	r4, {r0, r1}
	ldr	r3, .L24
	ldr	r2, [r3]
	ldr	r3, [sp, #12]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L22
	mov	r0, r4
	add	sp, sp, #16
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, pc}
.L19:
	mov	r8, #0
	mov	r0, r6
	mov	r1, r8
	bl	MoverBottomCenter
	ldr	r1, [r5, #8]
	mov	r2, r8
	mov	r0, r8
	bl	VectorSubtract
	ldr	r2, .L24+8
	ldr	r3, [r5]
	ldr	r2, [r2]
	mov	r0, #0
	ands	r3, r3, r2
	moveq	r6, r8
	streq	r3, [r6, #8]
	bl	VectorNormalize
	ldr	r1, .L24+24
	mov	r6, r0
	bl	__aeabi_fcmpgt
	cmp	r0, #0
	beq	.L9
	mov	r0, r6
	ldr	r1, .L24+32
	bl	__aeabi_fcmpgt
	cmp	r0, #0
	ldrne	r2, .L24+36
	beq	.L23
.L13:
	mov	r6, #0
	ldr	r0, [r5, #4]
	mov	r1, r6
	bl	EA_Move
	mov	r0, r6
	ldr	r1, [sp, #4]
	bl	VectorCopy
	b	.L9
.L15:
	ldr	r6, .L24+20
.L5:
	mov	r2, r6
	mov	r1, #0
	ldr	r0, [r5, #4]
	bl	EA_Move
	b	.L6
.L23:
	ldr	r1, .L24+40
	mov	r0, r6
	bl	__aeabi_fmul
	mov	r1, r0
	ldr	r0, .L24+36
	bl	__aeabi_fsub
	mov	r1, r0
	ldr	r0, .L24+36
	bl	__aeabi_fsub
	mov	r2, r0
	b	.L13
.L22:
	bl	__stack_chk_fail
.L25:
	.align	2
.L24:
	.word	.LC0
	.word	1098907648
	.word	MFL_SWIMMING
	.word	1114636288
	.word	1086324736
	.word	1135869952
	.word	1084227584
	.word	MOVERESULT_SWIMVIEW
	.word	1120403456
	.word	1137180672
	.word	1082130432
	.size	BotFinishTravel_FuncBobbing, .-BotFinishTravel_FuncBobbing
	.comm	MOVERESULT_SWIMVIEW,4,4
	.comm	MFL_SWIMMING,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
