// File: wrighteagle2d[P]wrighteaglebase/Debug/../src/Observer.cpp
// Function: Observer::SetSenseBody(ViewWidth, double, double, double, double, double, double, int, int, int, int, int, int, int, int, int, int, double, double, int, char, int, int, int, int, int, CardType, Time)
void Observer::SetSenseBody(
    ViewWidth view_width, double stamina, double effort, double capacity,

    double speed, AngleDeg speed_dir, AngleDeg neck_dir,

    int kicks, int dashes, int turns, int says, int turn_necks, int catchs,
    int moves, int change_views,

    int arm_movable_ban, int arm_expires, double arm_target_dist,
    AngleDeg arm_target_dir, int arm_count,

    char focus_side, Unum focus_unum, int focus_count,

    int tackle_expires, int tackle_count,

    int foul_charged_cycle, CardType card_type, Time sense_time) {
  mSenseObserver.SetViewWidth(view_width);

  mSenseObserver.SetStamina(stamina);
  mSenseObserver.SetEffort(effort);
  mSenseObserver.SetCapacity(capacity);

  mSenseObserver.SetSpeed(speed);
  mSenseObserver.SetSpeedDir(speed_dir);
  mSenseObserver.SetNeckDir(neck_dir);

  mSenseObserver.SetKickCount(kicks);
  mSenseObserver.SetDashCount(dashes);
  mSenseObserver.SetTurnCount(turns);
  mSenseObserver.SetSayCount(says);
  mSenseObserver.SetTurnNeckCount(turn_necks);
  mSenseObserver.SetCatchCount(catchs);
  mSenseObserver.SetMoveCount(moves);
  mSenseObserver.SetChangeViewCount(change_views);

  mSenseObserver.SetArmMovableBan(arm_movable_ban);
  mSenseObserver.SetArmExpires(arm_expires);
  mSenseObserver.SetArmTargetDist(arm_target_dist);
  mSenseObserver.SetArmTargetDir(arm_target_dir);
  mSenseObserver.SetArmCount(arm_count);

  mSenseObserver.SetFocusSide(focus_side);
  mSenseObserver.SetFocusUnum(focus_unum);
  mSenseObserver.SetFocusCount(focus_count);

  mSenseObserver.SetTackleExpires(tackle_expires);
  mSenseObserver.SetTackleCount(tackle_count);

  mSenseObserver.SetSenseTime(sense_time);
  mSenseObserver.SetFoulChargedCycle(foul_charged_cycle);
  mSenseObserver.SetCardType(card_type);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq 0x80(%rbp), %rax
movl 0x78(%rbp), %eax
movl 0x70(%rbp), %eax
movl 0x68(%rbp), %eax
movl 0x60(%rbp), %eax
movl 0x58(%rbp), %eax
movl 0x50(%rbp), %eax
movb 0x48(%rbp), %al
movl 0x40(%rbp), %eax
movl 0x38(%rbp), %eax
movl 0x30(%rbp), %eax
movl 0x28(%rbp), %eax
movl 0x20(%rbp), %eax
movl 0x18(%rbp), %eax
movl 0x10(%rbp), %eax
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movsd %xmm0, -0x18(%rbp)
movsd %xmm1, -0x20(%rbp)
movsd %xmm2, -0x28(%rbp)
movsd %xmm3, -0x30(%rbp)
movsd %xmm4, -0x38(%rbp)
movsd %xmm5, -0x40(%rbp)
movl %edx, -0x44(%rbp)
movl %ecx, -0x48(%rbp)
movl %r8d, -0x4c(%rbp)
movl %r9d, -0x50(%rbp)
movsd %xmm6, -0x58(%rbp)
movsd %xmm7, -0x60(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x70(%rbp)
addq $0x120, %rdi            # imm = 0x120
movl -0xc(%rbp), %esi
callq 0x6e770
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movsd -0x18(%rbp), %xmm0
callq 0x6e790
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movsd -0x20(%rbp), %xmm0
callq 0x6e7b0
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movsd -0x28(%rbp), %xmm0
callq 0x6e7d0
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movsd -0x30(%rbp), %xmm0
callq 0x6e7f0
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movsd -0x38(%rbp), %xmm0
callq 0x6e810
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movsd -0x40(%rbp), %xmm0
callq 0x6e830
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl -0x44(%rbp), %esi
callq 0x6e850
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl -0x48(%rbp), %esi
callq 0x6e870
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl -0x4c(%rbp), %esi
callq 0x6e890
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl -0x50(%rbp), %esi
callq 0x6e8b0
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x10(%rbp), %esi
callq 0x6e8d0
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x18(%rbp), %esi
callq 0x6e8f0
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x20(%rbp), %esi
callq 0x6e910
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x28(%rbp), %esi
callq 0x6e930
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x30(%rbp), %esi
callq 0x6e950
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x38(%rbp), %esi
callq 0x6e970
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movsd -0x58(%rbp), %xmm0
callq 0x6e990
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movsd -0x60(%rbp), %xmm0
callq 0x6e9b0
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x40(%rbp), %esi
callq 0x6e9d0
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movsbl 0x48(%rbp), %esi
callq 0x6e9f0
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x50(%rbp), %esi
callq 0x6ea10
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x58(%rbp), %esi
callq 0x6ea30
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x60(%rbp), %esi
callq 0x6ea50
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x68(%rbp), %esi
callq 0x6ea70
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movq 0x80(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rsi
callq 0x6ea90
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x70(%rbp), %esi
callq 0x6eab0
movq -0x70(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x78(%rbp), %esi
callq 0x6ead0
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)