// File: jmfenner92[P]Log-Parser/src/CmdRecord.cpp
// Function: CmdRecord::HexToBit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
std::string CmdRecord::HexToBit(std::string hex_string)
{
	std::string bit_string = "";
	for (int i=0; i < hex_string.length(); ++i)
	{
		switch (hex_string [i])
		{
			case '0': bit_string.append ("0000"); break;
			case '1': bit_string.append ("0001"); break;
			case '2': bit_string.append ("0010"); break;
			case '3': bit_string.append ("0011"); break;
			case '4': bit_string.append ("0100"); break;
			case '5': bit_string.append ("0101"); break;
			case '6': bit_string.append ("0110"); break;
			case '7': bit_string.append ("0111"); break;
			case '8': bit_string.append ("1000"); break;
			case '9': bit_string.append ("1001"); break;
			case 'A': bit_string.append ("1010"); break;
			case 'B': bit_string.append ("1011"); break;
			case 'C': bit_string.append ("1100"); break;
			case 'D': bit_string.append ("1101"); break;
			case 'E': bit_string.append ("1110"); break;
			case 'F': bit_string.append ("1111"); break;
		}
	}
	return bit_string;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdx, -0x50(%rbp)
movq %rdi, -0x40(%rbp)
movq %rdi, %rax
movq %rax, -0x48(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movb $0x0, -0x19(%rbp)
leaq -0x1a(%rbp), %rdi
movq %rdi, -0x38(%rbp)
callq 0x33f0
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rdx
leaq 0x3e8a(%rip), %rsi      # 0x949d
callq 0x42d0
jmp 0x561a
leaq -0x1a(%rbp), %rdi
callq 0x3280
movl $0x0, -0x30(%rbp)
movq -0x50(%rbp), %rdi
movslq -0x30(%rbp), %rax
movq %rax, -0x58(%rbp)
callq 0x3390
movq %rax, %rcx
movq -0x58(%rbp), %rax
cmpq %rcx, %rax
jae 0x582a
movq -0x50(%rbp), %rdi
movslq -0x30(%rbp), %rsi
callq 0x3430
movq %rax, -0x60(%rbp)
jmp 0x565e
movq -0x60(%rbp), %rax
movsbl (%rax), %eax
addl $-0x30, %eax
movl %eax, %ecx
movq %rcx, -0x68(%rbp)
subl $0x16, %eax
ja 0x581a
movq -0x68(%rbp), %rax
leaq 0x3a32(%rip), %rcx      # 0x90b4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1a(%rbp), %rdi
callq 0x3280
jmp 0x5847
movq -0x40(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
callq 0x3150
jmp 0x5847
movq -0x40(%rbp), %rdi
leaq 0x3aee(%rip), %rsi      # 0x91b8
callq 0x3410
jmp 0x56d1
jmp 0x581a
movq -0x40(%rbp), %rdi
leaq 0x3adc(%rip), %rsi      # 0x91bd
callq 0x3410
jmp 0x56e8
jmp 0x581a
movq -0x40(%rbp), %rdi
leaq 0x3aca(%rip), %rsi      # 0x91c2
callq 0x3410
jmp 0x56ff
jmp 0x581a
movq -0x40(%rbp), %rdi
leaq 0x3ab8(%rip), %rsi      # 0x91c7
callq 0x3410
jmp 0x5716
jmp 0x581a
movq -0x40(%rbp), %rdi
leaq 0x3aa6(%rip), %rsi      # 0x91cc
callq 0x3410
jmp 0x572d
jmp 0x581a
movq -0x40(%rbp), %rdi
leaq 0x3a94(%rip), %rsi      # 0x91d1
callq 0x3410
jmp 0x5744
jmp 0x581a
movq -0x40(%rbp), %rdi
leaq 0x3a82(%rip), %rsi      # 0x91d6
callq 0x3410
jmp 0x575b
jmp 0x581a
movq -0x40(%rbp), %rdi
leaq 0x3a70(%rip), %rsi      # 0x91db
callq 0x3410
jmp 0x5772
jmp 0x581a
movq -0x40(%rbp), %rdi
leaq 0x3a5e(%rip), %rsi      # 0x91e0
callq 0x3410
jmp 0x5789
jmp 0x581a
movq -0x40(%rbp), %rdi
leaq 0x3a4c(%rip), %rsi      # 0x91e5
callq 0x3410
jmp 0x57a0
jmp 0x581a
movq -0x40(%rbp), %rdi
leaq 0x3a3d(%rip), %rsi      # 0x91ea
callq 0x3410
jmp 0x57b4
jmp 0x581a
movq -0x40(%rbp), %rdi
leaq 0x3a2e(%rip), %rsi      # 0x91ef
callq 0x3410
jmp 0x57c8
jmp 0x581a
movq -0x40(%rbp), %rdi
leaq 0x3a1f(%rip), %rsi      # 0x91f4
callq 0x3410
jmp 0x57dc
jmp 0x581a
movq -0x40(%rbp), %rdi
leaq 0x3a10(%rip), %rsi      # 0x91f9
callq 0x3410
jmp 0x57f0
jmp 0x581a
movq -0x40(%rbp), %rdi
leaq 0x3a01(%rip), %rsi      # 0x91fe
callq 0x3410
jmp 0x5804
jmp 0x581a
movq -0x40(%rbp), %rdi
leaq 0x39f2(%rip), %rsi      # 0x9203
callq 0x3410
jmp 0x5818
jmp 0x581a
jmp 0x581c
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x562a
movb $0x1, -0x19(%rbp)
testb $0x1, -0x19(%rbp)
jne 0x583d
movq -0x40(%rbp), %rdi
callq 0x3150
movq -0x48(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x33e0