// File: wrighteagle2d[P]wrighteaglebase/Debug/../src/Parser.cpp
// Function: Parser::SendInitialLizeMsg()
void Parser::SendInitialLizeMsg() {
  // TODO: how about reconnect
  std::ostringstream init_string;
  if (PlayerParam::instance().isCoach()) {
    init_string << "(init " << PlayerParam::instance().teamName()
                << " (version " << PlayerParam::instance().coachVersion()
                << "))";
  } else if (PlayerParam::instance().isGoalie()) {
    init_string << "(init " << PlayerParam::instance().teamName()
                << " (version " << PlayerParam::instance().playerVersion()
                << ") (goalie))";
  } else if (PlayerParam::instance().isTrainer()) {
    init_string << "(init "
                << " (version " << PlayerParam::instance().playerVersion()
                << "))";
  } else {
    init_string << "(init " << PlayerParam::instance().teamName()
                << " (version " << PlayerParam::instance().playerVersion()
                << "))";
  }

  if (UDPSocket::instance().Send(init_string.str().c_str()) < 0) {
    PRINT_ERROR("send_initialize_message failed");
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x300, %rsp            # imm = 0x300
movq %rdi, -0x8(%rbp)
leaq -0x180(%rbp), %rdi
callq 0xa800
callq 0x798a0
movq %rax, -0x1b8(%rbp)
jmp 0x71a99
movq -0x1b8(%rbp), %rdi
callq 0x10de0
movq %rax, -0x1c0(%rbp)
jmp 0x71aae
movq -0x1c0(%rbp), %rax
testb $0x1, (%rax)
je 0x71ba9
leaq 0x519a3(%rip), %rsi     # 0xc3468
leaq -0x180(%rbp), %rdi
callq 0xa5a0
movq %rax, -0x1c8(%rbp)
jmp 0x71ada
callq 0x798a0
movq %rax, -0x1d0(%rbp)
jmp 0x71ae8
movq -0x1d0(%rbp), %rdi
callq 0x11db0
movq %rax, -0x1d8(%rbp)
jmp 0x71afd
movq -0x1d8(%rbp), %rsi
movq -0x1c8(%rbp), %rdi
callq 0xa4f0
movq %rax, -0x1e0(%rbp)
jmp 0x71b19
movq -0x1e0(%rbp), %rdi
leaq 0x51948(%rip), %rsi     # 0xc346f
callq 0xa5a0
movq %rax, -0x1e8(%rbp)
jmp 0x71b35
callq 0x798a0
movq %rax, -0x1f0(%rbp)
jmp 0x71b43
movq -0x1f0(%rbp), %rdi
callq 0x77a80
movq %rax, -0x1f8(%rbp)
jmp 0x71b58
movq -0x1e8(%rbp), %rdi
movq -0x1f8(%rbp), %rax
movsd (%rax), %xmm0
callq 0xab60
movq %rax, -0x200(%rbp)
jmp 0x71b78
movq -0x200(%rbp), %rdi
leaq 0x50e1d(%rip), %rsi     # 0xc29a3
callq 0xa5a0
jmp 0x71b8d
jmp 0x71e4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
jmp 0x71f8a
callq 0x798a0
movq %rax, -0x208(%rbp)
jmp 0x71bb7
movq -0x208(%rbp), %rdi
callq 0x77aa0
movq %rax, -0x210(%rbp)
jmp 0x71bcc
movq -0x210(%rbp), %rax
testb $0x1, (%rax)
je 0x71cb0
leaq 0x51885(%rip), %rsi     # 0xc3468
leaq -0x180(%rbp), %rdi
callq 0xa5a0
movq %rax, -0x218(%rbp)
jmp 0x71bf8
callq 0x798a0
movq %rax, -0x220(%rbp)
jmp 0x71c06
movq -0x220(%rbp), %rdi
callq 0x11db0
movq %rax, -0x228(%rbp)
jmp 0x71c1b
movq -0x228(%rbp), %rsi
movq -0x218(%rbp), %rdi
callq 0xa4f0
movq %rax, -0x230(%rbp)
jmp 0x71c37
movq -0x230(%rbp), %rdi
leaq 0x5182a(%rip), %rsi     # 0xc346f
callq 0xa5a0
movq %rax, -0x238(%rbp)
jmp 0x71c53
callq 0x798a0
movq %rax, -0x240(%rbp)
jmp 0x71c61
movq -0x240(%rbp), %rdi
callq 0x176d0
movq %rax, -0x248(%rbp)
jmp 0x71c76
movq -0x238(%rbp), %rdi
movq -0x248(%rbp), %rax
movsd (%rax), %xmm0
callq 0xab60
movq %rax, -0x250(%rbp)
jmp 0x71c96
movq -0x250(%rbp), %rdi
leaq 0x517d6(%rip), %rsi     # 0xc347a
callq 0xa5a0
jmp 0x71cab
jmp 0x71e4b
callq 0x798a0
movq %rax, -0x258(%rbp)
jmp 0x71cbe
movq -0x258(%rbp), %rdi
callq 0x12080
movq %rax, -0x260(%rbp)
jmp 0x71cd3
movq -0x260(%rbp), %rax
testb $0x1, (%rax)
je 0x71d78
leaq 0x5177e(%rip), %rsi     # 0xc3468
leaq -0x180(%rbp), %rdi
callq 0xa5a0
movq %rax, -0x268(%rbp)
jmp 0x71cff
movq -0x268(%rbp), %rdi
leaq 0x51762(%rip), %rsi     # 0xc346f
callq 0xa5a0
movq %rax, -0x270(%rbp)
jmp 0x71d1b
callq 0x798a0
movq %rax, -0x278(%rbp)
jmp 0x71d29
movq -0x278(%rbp), %rdi
callq 0x176d0
movq %rax, -0x280(%rbp)
jmp 0x71d3e
movq -0x270(%rbp), %rdi
movq -0x280(%rbp), %rax
movsd (%rax), %xmm0
callq 0xab60
movq %rax, -0x288(%rbp)
jmp 0x71d5e
movq -0x288(%rbp), %rdi
leaq 0x50c37(%rip), %rsi     # 0xc29a3
callq 0xa5a0
jmp 0x71d73
jmp 0x71e49
leaq 0x516e9(%rip), %rsi     # 0xc3468
leaq -0x180(%rbp), %rdi
callq 0xa5a0
movq %rax, -0x290(%rbp)
jmp 0x71d94
callq 0x798a0
movq %rax, -0x298(%rbp)
jmp 0x71da2
movq -0x298(%rbp), %rdi
callq 0x11db0
movq %rax, -0x2a0(%rbp)
jmp 0x71db7
movq -0x2a0(%rbp), %rsi
movq -0x290(%rbp), %rdi
callq 0xa4f0
movq %rax, -0x2a8(%rbp)
jmp 0x71dd3
movq -0x2a8(%rbp), %rdi
leaq 0x5168e(%rip), %rsi     # 0xc346f
callq 0xa5a0
movq %rax, -0x2b0(%rbp)
jmp 0x71def
callq 0x798a0
movq %rax, -0x2b8(%rbp)
jmp 0x71dfd
movq -0x2b8(%rbp), %rdi
callq 0x176d0
movq %rax, -0x2c0(%rbp)
jmp 0x71e12
movq -0x2b0(%rbp), %rdi
movq -0x2c0(%rbp), %rax
movsd (%rax), %xmm0
callq 0xab60
movq %rax, -0x2c8(%rbp)
jmp 0x71e32
movq -0x2c8(%rbp), %rdi
leaq 0x50b63(%rip), %rsi     # 0xc29a3
callq 0xa5a0
jmp 0x71e47
jmp 0x71e49
jmp 0x71e4b
jmp 0x71e4d
callq 0x9e170
movq %rax, -0x2d0(%rbp)
jmp 0x71e5b
leaq -0x1b0(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0xa600
jmp 0x71e70
leaq -0x1b0(%rbp), %rdi
callq 0xa240
movq -0x2d0(%rbp), %rdi
movq %rax, %rsi
callq 0x9e4c0
movl %eax, -0x2d4(%rbp)
jmp 0x71e93
leaq -0x1b0(%rbp), %rdi
callq 0xa370
movl -0x2d4(%rbp), %eax
cmpl $0x0, %eax
jge 0x71f75
jmp 0x71eb0
movq 0x8c139(%rip), %rdi     # 0xfdff0
leaq 0x515c8(%rip), %rsi     # 0xc3486
callq 0xa5a0
movq %rax, -0x2e0(%rbp)
jmp 0x71ecc
movq -0x2e0(%rbp), %rdi
leaq 0x53377(%rip), %rsi     # 0xc5251
callq 0xa5a0
movq %rax, -0x2e8(%rbp)
jmp 0x71ee8
movq -0x2e8(%rbp), %rdi
movl $0x90, %esi
callq 0xaa40
movq %rax, -0x2f0(%rbp)
jmp 0x71f02
movq -0x2f0(%rbp), %rdi
leaq 0x5164f(%rip), %rsi     # 0xc355f
callq 0xa5a0
movq %rax, -0x2f8(%rbp)
jmp 0x71f1e
movq -0x2f8(%rbp), %rdi
leaq 0x5156c(%rip), %rsi     # 0xc3498
callq 0xa5a0
movq %rax, -0x300(%rbp)
jmp 0x71f3a
movq -0x300(%rbp), %rdi
movq 0x8c068(%rip), %rsi     # 0xfdfb0
callq 0xa630
jmp 0x71f4f
jmp 0x71f51
jmp 0x71f53
jmp 0x71f75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0xa370
jmp 0x71f8a
leaq -0x180(%rbp), %rdi
callq 0xa190
addq $0x300, %rsp            # imm = 0x300
popq %rbp
retq
leaq -0x180(%rbp), %rdi
callq 0xa190
movq -0x188(%rbp), %rdi
callq 0xaa60
nopw %cs:(%rax,%rax)