Function at 0x2287270
Capabilities:
Parse credit card information

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
xor cl, cl
cmp dword [rbx + 0x60], 0xffffffff
je 0x228774f
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rsi
xor esi, esi
mov qword [rsp + 0x40], rdi
lea rbp, [0x022a7180]
nop dword [rax]
mov eax, dword [rbx + 0x60]
cmp eax, 0x7c
je 0x2287737
cmp eax, 0x29
jne 0x22872cb
cmp dword [rbx + 0x1c], esi
jne 0x2287737
test dword [rbx + 0x64], 0x10000000
jne 0x22872cb
lea ecx, [rax - 0x24]
jmp 0x228771e
cmp eax, 0x2e
jne 0x228737f
lea ecx, [rax - 0xe]
call fcn.02290410
mov r11, rax
test rax, rax
je 0x22872f9
mov qword [rax], rbp
mov qword [rax + 8], 5
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x22872fc
mov r11, rsi
mov rax, qword [rbx + 0x30]
mov qword [r11 + 0x18], rax
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x2287321
mov qword [r11 + 0x10], rcx
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x10]
mov qword [rcx + 0x18], r11
mov rax, qword [rbx + 0x30]
mov qword [rax + 0x10], r11
mov qword [rbx + 0x30], r11
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x2287372
cmp byte [rax], 0x5c
jne 0x228736f
inc rax
cmp rax, rcx
je 0x2287359
test byte [rbx + 0x64], 8
jne 0x2287359
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x228736c
cmp cl, 0x29
je 0x228736c
test byte [rbx + 0x64], 0x10
jne 0x228736f
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x228736c
cmp cl, 0x7d
jne 0x228736f
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.02285ab0
jmp 0x2287723
cmp eax, 0x5c
jne 0x22874c5
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x22873cd
cmp byte [rax], 0x5c
jne 0x22873ca
inc rax
cmp rax, rcx
je 0x22873b4
test byte [rbx + 0x64], 8
jne 0x22873b4
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x22873c7
cmp cl, 0x29
je 0x22873c7
test byte [rbx + 0x64], 0x10
jne 0x22873ca
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x22873c7
cmp cl, 0x7d
jne 0x22873ca
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.02285ab0
mov eax, dword [rbx + 0x64]
and eax, 0x80
je 0x2287445
cmp byte [rbx + 0x5e], 0x62
jne 0x2287445
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.02287940
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x2287438
cmp byte [rax], 0x5c
jne 0x2287435
inc rax
cmp rax, rcx
je 0x228741f
test byte [rbx + 0x64], 8
jne 0x228741f
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x2287432
cmp cl, 0x29
je 0x2287432
test byte [rbx + 0x64], 0x10
jne 0x2287435
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x2287432
cmp cl, 0x7d
jne 0x2287435
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.02285ab0
jmp 0x228772b
test eax, eax
je 0x22874b8
cmp byte [rbx + 0x5e], 0x42
jne 0x22874b8
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.02287940
mov r11, qword [rbx + 0x30]
xor dword [r11 + 0xc], 1
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x22874ab
cmp byte [rax], 0x5c
jne 0x22874a8
inc rax
cmp rax, rcx
je 0x2287492
test byte [rbx + 0x64], 8
jne 0x2287492
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x22874a5
cmp cl, 0x29
je 0x22874a5
test byte [rbx + 0x64], 0x10
jne 0x22874a8
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x22874a5
cmp cl, 0x7d
jne 0x22874a8
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.02285ab0
jmp 0x228772b
mov rcx, rbx
call fcn.02289050
jmp 0x2287723
cmp eax, 0x5b
jne 0x2287585
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x2287513
cmp byte [rax], 0x5c
jne 0x2287510
inc rax
cmp rax, rcx
je 0x22874fa
test byte [rbx + 0x64], 8
jne 0x22874fa
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x228750d
cmp cl, 0x29
je 0x228750d
test byte [rbx + 0x64], 0x10
jne 0x2287510
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x228750d
cmp cl, 0x7d
jne 0x2287510
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.02285ab0
mov rcx, rbx
call fcn.02288f50
cmp dword [rbx + 0x60], 0x5d
je 0x2287533
mov ecx, 4
call fcn.0229b620
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x2287578
cmp byte [rax], 0x5c
jne 0x2287575
inc rax
cmp rax, rcx
je 0x228755f
test byte [rbx + 0x64], 8
jne 0x228755f
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x2287572
cmp cl, 0x29
je 0x2287572
test byte [rbx + 0x64], 0x10
jne 0x2287575
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x2287572
cmp cl, 0x7d
jne 0x2287575
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.02285ab0
jmp 0x2287723
cmp eax, 0x28
jne 0x228764d
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x22875d3
cmp byte [rax], 0x5c
jne 0x22875d0
inc rax
cmp rax, rcx
je 0x22875ba
test byte [rbx + 0x64], 8
jne 0x22875ba
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x22875cd
cmp cl, 0x29
je 0x22875cd
test byte [rbx + 0x64], 0x10
jne 0x22875d0
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x22875cd
cmp cl, 0x7d
jne 0x22875d0
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.02285ab0
mov rcx, rbx
call fcn.02289110
cmp dword [rbx + 0x60], 0x29
movzx edi, al
je 0x22875f6
mov ecx, 5
call fcn.0229b620
mov rcx, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
je 0x2287637
cmp byte [rcx], 0x5c
jne 0x2287634
inc rcx
cmp rcx, rdx
je 0x2287620
test byte [rbx + 0x64], 8
jne 0x2287620
movzx eax, byte [rcx]
cmp al, 0x28
je 0x2287631
cmp al, 0x29
je 0x2287631
test byte [rbx + 0x64], 0x10
jne 0x2287634
movzx eax, byte [rcx]
cmp al, 0x7b
je 0x2287631
cmp al, 0x7d
jne 0x2287634
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.02285ab0
test dil, dil
je 0x228772b
jmp 0x2287723
cmp eax, 0x5e
jne 0x22876ad
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x5c]
call fcn.02287940
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x22876a3
cmp byte [rax], 0x5c
jne 0x22876a0
inc rax
cmp rax, rcx
je 0x228768a
test byte [rbx + 0x64], 8
jne 0x228768a
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x228769d
cmp cl, 0x29
je 0x228769d
test byte [rbx + 0x64], 0x10
jne 0x22876a0
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x228769d
cmp cl, 0x7d
jne 0x22876a0
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.02285ab0
jmp 0x228772b
cmp eax, 0x24
jne 0x22876c8
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x21]
call fcn.02287940
mov rcx, rbx
call fcn.02287220
jmp 0x228772b
cmp eax, 0x2a
je 0x2287719
cmp eax, 0x2b
je 0x2287719
cmp eax, 0x3f
je 0x2287719
cmp eax, 0x7b
je 0x2287719
cmp eax, 0x7d
jne 0x22876ef
test dword [rbx + 0x64], 0x10000000
jne 0x22876ef
lea ecx, [rax - 0x77]
jmp 0x228771e
cmp eax, 0x5d
jne 0x2287702
test dword [rbx + 0x64], 0x10000000
jne 0x2287702
lea ecx, [rax - 0x59]
jmp 0x228771e
movzx edx, byte [rbx + 0x5e]
lea rcx, [rbx + 0x28]
call fcn.02289490
mov rcx, rbx
call fcn.02287220
jmp 0x2287723
mov ecx, 0xa
call fcn.0229b620
mov rcx, rbx
call fcn.02289300
cmp dword [rbx + 0x60], 0xffffffff
mov cl, 1
jne 0x22872a0
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
movzx eax, cl
add rsp, 0x20
pop rbx
ret
movzx eax, cl
add rsp, 0x20
pop rbx
ret