Function at 0x1800d8560
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rsi, rdx
mov rdi, rcx
test rdx, rdx
jne 0x1800d8583
or eax, 0xffffffff
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 0x30], rbx
mov rbx, qword [rdx]
movzx eax, byte [rbx]
cmp al, 0x61
jl 0x1800d859a
cmp al, 0x7a
jle 0x1800d86a6
cmp al, 0x41
jl 0x1800d85a6
cmp al, 0x5a
jle 0x1800d86a6
cmp al, 0x30
jl 0x1800d85b2
cmp al, 0x39
jle 0x1800d86a6
cmp al, 0x2d
je 0x1800d86a6
cmp al, 0x5f
je 0x1800d86a6
cmp al, 0x2e
je 0x1800d86a6
cmp al, 0x21
je 0x1800d86a6
cmp al, 0x7e
je 0x1800d86a6
cmp al, 0x2a
je 0x1800d86a6
cmp al, 0x27
je 0x1800d86a6
cmp al, 0x28
je 0x1800d86a6
cmp al, 0x29
je 0x1800d86a6
cmp al, 0x25
jne 0x1800d8642
movzx ecx, byte [rbx + 1]
cmp cl, 0x30
jl 0x1800d860c
cmp cl, 0x39
jle 0x1800d8620
cmp cl, 0x61
jl 0x1800d8616
cmp cl, 0x66
jle 0x1800d8620
cmp cl, 0x41
jl 0x1800d8642
cmp cl, 0x46
jg 0x1800d8642
movzx ecx, byte [rbx + 2]
cmp cl, 0x30
jl 0x1800d862e
cmp cl, 0x39
jle 0x1800d86a6
cmp cl, 0x61
jl 0x1800d8638
cmp cl, 0x66
jle 0x1800d86a6
cmp cl, 0x41
jl 0x1800d8642
cmp cl, 0x46
jle 0x1800d86a6
cmp al, 0x3b
je 0x1800d86a6
cmp al, 0x3f
je 0x1800d86a6
cmp al, 0x3a
je 0x1800d86a6
cmp al, 0x40
je 0x1800d86a6
cmp al, 0x26
je 0x1800d86a6
cmp al, 0x3d
je 0x1800d86a6
cmp al, 0x2b
je 0x1800d86a6
cmp al, 0x24
je 0x1800d86a6
cmp al, 0x2c
je 0x1800d86a6
test rdi, rdi
je 0x1800d8691
test byte [rdi + 0x48], 1
je 0x1800d8691
cmp al, 0x7b
je 0x1800d86a6
cmp al, 0x7d
je 0x1800d86a6
cmp al, 0x7c
je 0x1800d86a6
cmp al, 0x5c
je 0x1800d86a6
cmp al, 0x5e
je 0x1800d86a6
cmp al, 0x5b
je 0x1800d86a6
cmp al, 0x5d
je 0x1800d86a6
cmp al, 0x60
je 0x1800d86a6
mov eax, 3
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp al, 0x25
jne 0x1800d86b0
add rbx, 3
jmp 0x1800d86b3
inc rbx
movzx eax, byte [rbx]
cmp al, 0x61
jl 0x1800d86be
cmp al, 0x7a
jle 0x1800d86a6
cmp al, 0x41
jl 0x1800d86c6
cmp al, 0x5a
jle 0x1800d86a6
cmp al, 0x30
jl 0x1800d86ce
cmp al, 0x39
jle 0x1800d86a6
cmp al, 0x2d
je 0x1800d86a6
cmp al, 0x5f
je 0x1800d86a6
cmp al, 0x2e
je 0x1800d86a6
cmp al, 0x21
je 0x1800d86a6
cmp al, 0x7e
je 0x1800d86a6
cmp al, 0x2a
je 0x1800d86a6
cmp al, 0x27
je 0x1800d86a6
cmp al, 0x28
je 0x1800d86a6
cmp al, 0x29
je 0x1800d86a6
cmp al, 0x25
jne 0x1800d8742
movzx ecx, byte [rbx + 1]
cmp cl, 0x30
jl 0x1800d8704
cmp cl, 0x39
jle 0x1800d8718
cmp cl, 0x61
jl 0x1800d870e
cmp cl, 0x66
jle 0x1800d8718
cmp cl, 0x41
jl 0x1800d8742
cmp cl, 0x46
jg 0x1800d8742
movzx ecx, byte [rbx + 2]
cmp cl, 0x30
jl 0x1800d8726
cmp cl, 0x39
jle 0x1800d86a6
cmp cl, 0x61
jl 0x1800d8734
cmp cl, 0x66
jle 0x1800d86a6
cmp cl, 0x41
jl 0x1800d8742
cmp cl, 0x46
jle 0x1800d86a6
cmp al, 0x3b
je 0x1800d86a6
cmp al, 0x2f
je 0x1800d86a6
cmp al, 0x3f
je 0x1800d86a6
cmp al, 0x3a
je 0x1800d86a6
cmp al, 0x40
je 0x1800d86a6
cmp al, 0x26
je 0x1800d86a6
cmp al, 0x3d
je 0x1800d86a6
cmp al, 0x2b
je 0x1800d86a6
cmp al, 0x24
je 0x1800d86a6
cmp al, 0x2c
je 0x1800d86a6
cmp al, 0x5b
je 0x1800d86a6
cmp al, 0x5d
je 0x1800d86a6
test rdi, rdi
je 0x1800d880c
test byte [rdi + 0x48], 1
je 0x1800d87dd
cmp al, 0x7b
je 0x1800d86a6
cmp al, 0x7d
je 0x1800d86a6
cmp al, 0x7c
je 0x1800d86a6
cmp al, 0x5c
je 0x1800d86a6
cmp al, 0x5e
je 0x1800d86a6
cmp al, 0x60
je 0x1800d86a6
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1800d87ec
call qword [sym.VBoxRT.dll_xmlFree]
mov rcx, qword [rsi]
mov edx, ebx
sub edx, ecx
test byte [rdi + 0x48], 2
je 0x1800d8800
call sym.VBoxRT.dll_xmlStrndup
jmp 0x1800d8808
xor r8d, r8d
call sym.VBoxRT.dll_xmlURIUnescapeString
mov qword [rdi + 8], rax
mov qword [rsi], rbx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
xor eax, eax
add rsp, 0x20
pop rdi
ret