Function at 0x180030af0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
xor al, al
cmp dword [rcx + 0x7c], 0xffffffff
mov rbx, rcx
je 0x180030f2c
nop dword [rax]
mov ecx, dword [rbx + 0x7c]
cmp ecx, 0x7c
je 0x180030f2c
cmp ecx, 0x29
jne 0x180030b3b
cmp dword [rbx + 0x1c], 0
jne 0x180030f2c
test dword [rbx + 0x80], 0x10000000
je 0x180030f37
cmp ecx, 0x2e
jne 0x180030b9c
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.180011da0
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180030b8f
cmp byte [rcx], 0x5c
jne 0x180030b8c
inc rcx
cmp rcx, rax
je 0x180030b8c
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180030b7b
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180030b89
test dl, 0x10
jne 0x180030b8c
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180030b8c
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002ef10
jmp 0x180030f18
cmp ecx, 0x5c
jne 0x180030cd8
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180030be6
cmp byte [rcx], 0x5c
jne 0x180030be3
inc rcx
cmp rcx, rax
je 0x180030be3
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180030bd2
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180030be0
test dl, 0x10
jne 0x180030be3
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180030be3
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002ef10
mov eax, dword [rbx + 0x80]
and eax, 0x80
je 0x180030c5d
cmp byte [rbx + 0x78], 0x62
jne 0x180030c5d
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.180011da0
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180030c50
cmp byte [rcx], 0x5c
jne 0x180030c4d
inc rcx
cmp rcx, rax
je 0x180030c4d
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180030c3c
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180030c4a
test dl, 0x10
jne 0x180030c4d
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180030c4d
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002ef10
jmp 0x180030f20
test eax, eax
je 0x180030ccb
cmp byte [rbx + 0x78], 0x42
jne 0x180030ccb
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.180011da0
mov rax, qword [rbx + 0x48]
xor dword [rax + 0xc], 1
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180030cbe
cmp byte [rcx], 0x5c
jne 0x180030cbb
inc rcx
cmp rcx, rax
je 0x180030cbb
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180030caa
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180030cb8
test dl, 0x10
jne 0x180030cbb
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180030cbb
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002ef10
jmp 0x180030f20
mov rcx, rbx
call fcn.180032230
jmp 0x180030f18
cmp ecx, 0x5b
jne 0x180030d8a
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180030d22
cmp byte [rcx], 0x5c
jne 0x180030d1f
inc rcx
cmp rcx, rax
je 0x180030d1f
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180030d0e
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180030d1c
test dl, 0x10
jne 0x180030d1f
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180030d1f
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002ef10
mov rcx, rbx
call fcn.180032130
cmp dword [rbx + 0x7c], 0x5d
jne 0x180030f42
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180030d7d
cmp byte [rcx], 0x5c
jne 0x180030d7a
inc rcx
cmp rcx, rax
je 0x180030d7a
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180030d69
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180030d77
test dl, 0x10
jne 0x180030d7a
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180030d7a
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002ef10
jmp 0x180030f18
cmp ecx, 0x28
jne 0x180030e48
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180030dd4
cmp byte [rcx], 0x5c
jne 0x180030dd1
inc rcx
cmp rcx, rax
je 0x180030dd1
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180030dc0
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180030dce
test dl, 0x10
jne 0x180030dd1
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180030dd1
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002ef10
mov rcx, rbx
call fcn.180032320
cmp dword [rbx + 0x7c], 0x29
movzx edi, al
jne 0x180030f4d
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180030e32
cmp byte [rcx], 0x5c
jne 0x180030e2f
inc rcx
cmp rcx, rax
je 0x180030e2f
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180030e1e
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180030e2c
test dl, 0x10
jne 0x180030e2f
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180030e2f
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002ef10
test dil, dil
je 0x180030f20
jmp 0x180030f18
cmp ecx, 0x5e
jne 0x180030ea6
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.180011da0
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180030e9c
cmp byte [rcx], 0x5c
jne 0x180030e99
inc rcx
cmp rcx, rax
je 0x180030e99
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180030e88
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180030e96
test dl, 0x10
jne 0x180030e99
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180030e99
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002ef10
jmp 0x180030f20
cmp ecx, 0x24
jne 0x180030ec3
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.180011da0
mov rcx, rbx
call fcn.180030aa0
jmp 0x180030f20
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x180030f6e
cmp ecx, 0x3f
je 0x180030f6e
cmp ecx, 0x7b
je 0x180030f6e
cmp ecx, 0x7d
jne 0x180030ef2
test dword [rbx + 0x80], 0x10000000
je 0x180030f58
cmp ecx, 0x5d
jne 0x180030f03
test dword [rbx + 0x80], 0x10000000
je 0x180030f63
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.180013d90
mov rcx, rbx
call fcn.180030aa0
mov rcx, rbx
call fcn.180032440
cmp dword [rbx + 0x7c], 0xffffffff
mov al, 1
jne 0x180030b10
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ecx, 5
call fcn.18009bdd4
int3
mov ecx, 4
call fcn.18009bdd4
int3
mov ecx, 5
call fcn.18009bdd4
int3
mov ecx, 6
call fcn.18009bdd4
int3
mov ecx, 4
call fcn.18009bdd4
int3
mov ecx, 0xa
call fcn.18009bdd4
int3