Function at 0x180041f80
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 0x1800423bc
nop dword [rax]
mov ecx, dword [rbx + 0x7c]
cmp ecx, 0x7c
je 0x1800423bc
cmp ecx, 0x29
jne 0x180041fcb
cmp dword [rbx + 0x1c], 0
jne 0x1800423bc
test dword [rbx + 0x80], 0x10000000
je 0x1800423c7
cmp ecx, 0x2e
jne 0x18004202c
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.180022b70
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x18004201f
cmp byte [rcx], 0x5c
jne 0x18004201c
inc rcx
cmp rcx, rax
je 0x18004201c
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18004200b
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180042019
test dl, 0x10
jne 0x18004201c
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18004201c
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403a0
jmp 0x1800423a8
cmp ecx, 0x5c
jne 0x180042168
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180042076
cmp byte [rcx], 0x5c
jne 0x180042073
inc rcx
cmp rcx, rax
je 0x180042073
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180042062
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180042070
test dl, 0x10
jne 0x180042073
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180042073
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403a0
mov eax, dword [rbx + 0x80]
and eax, 0x80
je 0x1800420ed
cmp byte [rbx + 0x78], 0x62
jne 0x1800420ed
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.180022b70
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1800420e0
cmp byte [rcx], 0x5c
jne 0x1800420dd
inc rcx
cmp rcx, rax
je 0x1800420dd
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1800420cc
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1800420da
test dl, 0x10
jne 0x1800420dd
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x1800420dd
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403a0
jmp 0x1800423b0
test eax, eax
je 0x18004215b
cmp byte [rbx + 0x78], 0x42
jne 0x18004215b
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.180022b70
mov rax, qword [rbx + 0x48]
xor dword [rax + 0xc], 1
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x18004214e
cmp byte [rcx], 0x5c
jne 0x18004214b
inc rcx
cmp rcx, rax
je 0x18004214b
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18004213a
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180042148
test dl, 0x10
jne 0x18004214b
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18004214b
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403a0
jmp 0x1800423b0
mov rcx, rbx
call fcn.1800436c0
jmp 0x1800423a8
cmp ecx, 0x5b
jne 0x18004221a
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1800421b2
cmp byte [rcx], 0x5c
jne 0x1800421af
inc rcx
cmp rcx, rax
je 0x1800421af
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18004219e
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1800421ac
test dl, 0x10
jne 0x1800421af
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x1800421af
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403a0
mov rcx, rbx
call fcn.1800435c0
cmp dword [rbx + 0x7c], 0x5d
jne 0x1800423d2
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x18004220d
cmp byte [rcx], 0x5c
jne 0x18004220a
inc rcx
cmp rcx, rax
je 0x18004220a
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1800421f9
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180042207
test dl, 0x10
jne 0x18004220a
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18004220a
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403a0
jmp 0x1800423a8
cmp ecx, 0x28
jne 0x1800422d8
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180042264
cmp byte [rcx], 0x5c
jne 0x180042261
inc rcx
cmp rcx, rax
je 0x180042261
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180042250
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18004225e
test dl, 0x10
jne 0x180042261
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180042261
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403a0
mov rcx, rbx
call fcn.1800437b0
cmp dword [rbx + 0x7c], 0x29
movzx edi, al
jne 0x1800423dd
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1800422c2
cmp byte [rcx], 0x5c
jne 0x1800422bf
inc rcx
cmp rcx, rax
je 0x1800422bf
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1800422ae
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1800422bc
test dl, 0x10
jne 0x1800422bf
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x1800422bf
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403a0
test dil, dil
je 0x1800423b0
jmp 0x1800423a8
cmp ecx, 0x5e
jne 0x180042336
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.180022b70
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x18004232c
cmp byte [rcx], 0x5c
jne 0x180042329
inc rcx
cmp rcx, rax
je 0x180042329
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180042318
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180042326
test dl, 0x10
jne 0x180042329
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180042329
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403a0
jmp 0x1800423b0
cmp ecx, 0x24
jne 0x180042353
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.180022b70
mov rcx, rbx
call fcn.180041f30
jmp 0x1800423b0
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x1800423fe
cmp ecx, 0x3f
je 0x1800423fe
cmp ecx, 0x7b
je 0x1800423fe
cmp ecx, 0x7d
jne 0x180042382
test dword [rbx + 0x80], 0x10000000
je 0x1800423e8
cmp ecx, 0x5d
jne 0x180042393
test dword [rbx + 0x80], 0x10000000
je 0x1800423f3
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.180024e20
mov rcx, rbx
call fcn.180041f30
mov rcx, rbx
call fcn.1800438d0
cmp dword [rbx + 0x7c], 0xffffffff
mov al, 1
jne 0x180041fa0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ecx, 5
call fcn.1800a9dc0
int3
mov ecx, 4
call fcn.1800a9dc0
int3
mov ecx, 5
call fcn.1800a9dc0
int3
mov ecx, 6
call fcn.1800a9dc0
int3
mov ecx, 4
call fcn.1800a9dc0
int3
mov ecx, 0xa
call fcn.1800a9dc0
int3