Function at 0x140039550
Capabilities:
Parse credit card information

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0x98
mov rax, qword [0x1400c4238]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rsi, rcx
mov r14, r9
mov rcx, qword [rdx + 0x18]
mov rdi, r8
mov rbx, rdx
cmp rcx, 0x10
jb 0x14003958c
mov rdx, qword [rdx]
mov rax, qword [rbx + 0x10]
lea r15, [rbx + 0x10]
cmp rax, 1
jne 0x1400395a7
cmp byte [rdx], 0x2b
jne 0x1400395a7
mov r14d, eax
jmp 0x14003963e
mov rdx, rbx
cmp rcx, 0x10
jb 0x1400395b3
mov rdx, qword [rbx]
cmp rax, 1
jne 0x1400395c4
cmp byte [rdx], 0x2d
jne 0x1400395c4
lea r14d, [rax + 1]
jmp 0x14003963e
mov rdx, rbx
cmp rcx, 0x10
jb 0x1400395d0
mov rdx, qword [rbx]
cmp rax, 1
jne 0x1400395e1
cmp byte [rdx], 0x2a
jne 0x1400395e1
lea r14d, [rax + 2]
jmp 0x14003963e
mov rdx, rbx
cmp rcx, 0x10
jb 0x1400395ed
mov rdx, qword [rbx]
cmp rax, 1
jne 0x1400395fe
cmp byte [rdx], 0x2f
jne 0x1400395fe
lea r14d, [rax + 3]
jmp 0x14003963e
mov rdx, rbx
cmp rcx, 0x10
jb 0x14003960a
mov rdx, qword [rbx]
cmp rax, 1
jne 0x14003961b
cmp byte [rdx], 0x25
jne 0x14003961b
lea r14d, [rax + 4]
jmp 0x14003963e
mov rdx, rbx
cmp rcx, 0x10
jb 0x140039627
mov rdx, qword [rbx]
cmp rax, 1
jne 0x1400397eb
cmp byte [rdx], 0x40
jne 0x1400397eb
lea r14d, [rax + 5]
xor eax, eax
lea rdx, [rbp - 0x31]
mov rcx, rsi
mov dword [rbp - 0x39], eax
mov dword [rbp - 0x31], eax
call fcn.14003a630
test al, al
je 0x140039767
lea rdx, [rbp - 0x39]
mov rcx, rsi
call fcn.14003a630
test al, al
je 0x140039767
lea rdx, [0x140000000]
movsxd rax, r14d
mov ecx, dword [rdx + rax*4 + 0x39cc4]
add rcx, rdx
jmp rcx
mov ecx, dword [rbp - 0x31]
lea rdx, [rbp - 0x39]
add dword [rbp - 0x39], ecx
mov rcx, rsi
call fcn.14003ad90
jmp 0x140039c8b
mov eax, dword [rbp - 0x39]
sub eax, dword [rbp - 0x31]
mov dword [rbp - 0x39], eax
lea rdx, [rbp - 0x39]
mov rcx, rsi
call fcn.14003ad90
jmp 0x140039c8b
mov eax, dword [rbp - 0x31]
lea rdx, [rbp - 0x39]
imul eax, dword [rbp - 0x39]
mov rcx, rsi
mov dword [rbp - 0x39], eax
call fcn.14003ad90
jmp 0x140039c8b
mov eax, dword [rbp - 0x39]
xor edx, edx
div dword [rbp - 0x31]
lea rdx, [rbp - 0x39]
mov rcx, rsi
mov dword [rbp - 0x39], eax
call fcn.14003ad90
jmp 0x140039c8b
mov eax, dword [rbp - 0x39]
xor edx, edx
div dword [rbp - 0x31]
mov rcx, rsi
mov dword [rbp - 0x39], edx
lea rdx, [rbp - 0x39]
call fcn.14003ad90
jmp 0x140039c8b
mov eax, dword [rbp - 0x31]
lea rdx, [rbp - 0x39]
dec eax
mov rcx, rsi
not eax
and dword [rbp - 0x39], eax
call fcn.14003ad90
jmp 0x140039c8b
lea r9, str.G:opensource__google_breakpad_srcprocessorpostfix_evaluator_inl.h
mov dword [rsp + 0x20], 0x88
mov r8d, 1
lea rdx, [0x1400f9020]
lea rcx, [rbp - 0x39]
call fcn.140035740
lea rdx, str.Not_reached_
mov rcx, qword [rax]
call fcn.140008310
lea rcx, [rbp - 0x39]
call fcn.140035970
xor al, al
jmp 0x140039c8d
lea r9, str.G:opensource__google_breakpad_srcprocessorpostfix_evaluator_inl.h
mov dword [rsp + 0x20], 0x6a
mov r8d, 1
lea rdx, [0x1400f9020]
lea rcx, [rbp - 0x39]
call fcn.140035740
lea rdx, str.Could_not_PopValues_to_get_two_values_for_binary_operation
mov rcx, qword [rax]
call fcn.140008310
cmp qword [rbx + 0x18], 0x10
jb 0x1400397a5
mov rbx, qword [rbx]
mov r8, qword [r15]
mov rdx, rbx
mov rcx, rax
call fcn.140009940
lea rdx, [0x1400b9648]
mov rcx, rax
call fcn.140008310
cmp qword [rdi + 0x18], 0x10
mov rdx, rdi
jb 0x1400397cf
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
mov rcx, rax
call fcn.140009940
lea rcx, [rbp - 0x39]
call fcn.140035970
xor al, al
jmp 0x140039c8d
mov rdx, rbx
cmp rcx, 0x10
jb 0x1400397f7
mov rdx, qword [rbx]
cmp rax, 1
jne 0x140039981
cmp byte [rdx], 0x5e
jne 0x140039981
cmp qword [rsi + 8], 0
jne 0x140039842
lea r9, str.G:opensource__google_breakpad_srcprocessorpostfix_evaluator_inl.h
mov dword [rsp + 0x20], 0x92
mov r8d, eax
lea rdx, [0x1400f9020]
lea rcx, [rbp - 0x39]
call fcn.140035740
lea rdx, str.Attempt_to_dereference_without_memory:
mov rcx, qword [rax]
jmp 0x1400397bd
lea rdx, [rbp - 0x39]
mov rcx, rsi
call fcn.14003a630
test al, al
jne 0x140039886
lea r9, str.G:opensource__google_breakpad_srcprocessorpostfix_evaluator_inl.h
mov dword [rsp + 0x20], 0x99
mov r8d, 1
lea rdx, [0x1400f9020]
lea rcx, [rbp - 0x39]
call fcn.140035740
lea rdx, str.Could_not_PopValue_to_get_value_to_derefence:
mov rcx, qword [rax]
jmp 0x1400397bd
mov rcx, qword [rsi + 8]
lea r8, [rbp - 0x31]
mov ebx, dword [rbp - 0x39]
mov edx, ebx
mov rax, qword [rcx]
call qword [rax + 0x20]
test al, al
jne 0x140039970
lea r9, str.G:opensource__google_breakpad_srcprocessorpostfix_evaluator_inl.h
mov dword [rsp + 0x20], 0xa0
mov r8d, 1
lea rdx, [0x1400f9020]
lea rcx, [rbp - 0x39]
call fcn.140035740
lea rdx, str.Could_not_dereference_memory_at_address
mov rcx, qword [rax]
call fcn.140008310
mov edx, ebx
lea rcx, [rbp - 0x29]
mov rsi, rax
call fcn.140035ad0
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400398f0
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
mov rcx, rsi
call fcn.140009940
lea rdx, [0x1400b9648]
mov rcx, rax
call fcn.140008310
cmp qword [rdi + 0x18], 0x10
mov rdx, rdi
jb 0x140039918
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
mov rcx, rax
call fcn.140009940
lea rcx, [rbp - 0x39]
call fcn.140035970
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x1400397e4
mov rcx, qword [rbp - 0x29]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039c57
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039caf
jmp 0x140039c57
lea rdx, [rbp - 0x31]
mov rcx, rsi
call fcn.14003ad90
jmp 0x140039c8b
mov rdx, rbx
cmp rcx, 0x10
jb 0x14003998d
mov rdx, qword [rbx]
cmp rax, 1
jne 0x140039c60
cmp byte [rdx], 0x3d
jne 0x140039c60
lea rdx, [rbp - 0x39]
mov rcx, rsi
call fcn.14003a630
test al, al
je 0x1400397e4
xor eax, eax
mov qword [rbp - 0x11], 0xf
lea r8, [rbp - 0x29]
mov qword [rbp - 0x29], rax
xor edx, edx
mov qword [rbp - 0x19], rax
mov rcx, rsi
call fcn.14003a9c0
cmp eax, 2
je 0x140039aad
lea r9, str.G:opensource__google_breakpad_srcprocessorpostfix_evaluator_inl.h
mov dword [rsp + 0x20], 0xb4
mov r8d, 1
lea rdx, [0x1400f9020]
lea rcx, [rbp - 0x31]
call fcn.140035740
lea rdx, str.PopValueOrIdentifier_returned_a_value__but_an_identifier_is_needed_to_assign
mov rcx, qword [rax]
call fcn.140008310
mov edx, dword [rbp - 0x39]
lea rcx, [rbp - 9]
mov rbx, rax
call fcn.140035ad0
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140039a2d
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
mov rcx, rbx
call fcn.140009940
lea rdx, [0x1400b9648]
mov rcx, rax
call fcn.140008310
cmp qword [rdi + 0x18], 0x10
mov rdx, rdi
jb 0x140039a55
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
mov rcx, rax
call fcn.140009940
lea rcx, [rbp - 0x31]
call fcn.140035970
mov rdx, qword [rbp + 0xf]
cmp rdx, 0x10
jb 0x140039c21
mov rcx, qword [rbp - 9]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039c1c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039cb5
jmp 0x140039c1c
cmp qword [rbp - 0x19], 0
je 0x140039b30
cmp qword [rbp - 0x11], 0x10
lea rax, [rbp - 0x29]
cmovae rax, qword [rbp - 0x29]
cmp byte [rax], 0x24
jne 0x140039b30
mov rcx, qword [rsi]
lea rdx, [rbp - 0x29]
call fcn.140038480
mov edx, dword [rbp - 0x39]
mov dword [rax], edx
test r14, r14
je 0x140039aec
lea rdx, [rbp - 0x29]
mov rcx, r14
call fcn.1400387d0
mov byte [rax], 1
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x140039c8b
mov rcx, qword [rbp - 0x29]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039b26
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039ca9
call fcn.14005d750
jmp 0x140039c8b
lea r9, str.G:opensource__google_breakpad_srcprocessorpostfix_evaluator_inl.h
mov dword [rsp + 0x20], 0xba
mov r8d, 1
lea rdx, [0x1400f9020]
lea rcx, [rbp - 0x31]
call fcn.140035740
lea rdx, str.Cant_assign
mov rcx, qword [rax]
call fcn.140008310
mov edx, dword [rbp - 0x39]
lea rcx, [rbp - 9]
mov rbx, rax
call fcn.140035ad0
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140039b80
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
mov rcx, rbx
call fcn.140009940
lea rdx, str._to
mov rcx, rax
call fcn.140008310
cmp qword [rbp - 0x11], 0x10
lea rdx, [rbp - 0x29]
mov r8, qword [rbp - 0x19]
mov rcx, rax
cmovae rdx, qword [rbp - 0x29]
call fcn.140009940
lea rdx, [0x1400b9648]
mov rcx, rax
call fcn.140008310
cmp qword [rdi + 0x18], 0x10
mov rdx, rdi
jb 0x140039bd1
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
mov rcx, rax
call fcn.140009940
lea rcx, [rbp - 0x31]
call fcn.140035970
mov rdx, qword [rbp + 0xf]
cmp rdx, 0x10
jb 0x140039c21
mov rcx, qword [rbp - 9]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039c1c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039cbb
call fcn.14005d750
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x1400397e4
mov rcx, qword [rbp - 0x29]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039c57
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039ca9
call fcn.14005d750
xor al, al
jmp 0x140039c8d
mov rax, qword [rsi + 0x18]
cmp rax, qword [rsi + 0x20]
je 0x140039c7c
mov rdx, rbx
mov rcx, rax
call fcn.1400050b0
add qword [rsi + 0x18], 0x20
jmp 0x140039c8b
mov r8, rbx
lea rcx, [rsi + 0x10]
mov rdx, rax
call fcn.14000f0f0
mov al, 1
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14005d730
add rsp, 0x98
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140069160
int3
call fcn.140069160
int3
call fcn.140069160
int3
call fcn.140069160
int3