Function at 0x180041f90
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 0x1800423cc
nop dword [rax]
mov ecx, dword [rbx + 0x7c]
cmp ecx, 0x7c
je 0x1800423cc
cmp ecx, 0x29
jne 0x180041fdb
cmp dword [rbx + 0x1c], 0
jne 0x1800423cc
test dword [rbx + 0x80], 0x10000000
je 0x1800423d7
cmp ecx, 0x2e
jne 0x18004203c
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.180022b70
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x18004202f
cmp byte [rcx], 0x5c
jne 0x18004202c
inc rcx
cmp rcx, rax
je 0x18004202c
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18004201b
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180042029
test dl, 0x10
jne 0x18004202c
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18004202c
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403b0
jmp 0x1800423b8
cmp ecx, 0x5c
jne 0x180042178
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180042086
cmp byte [rcx], 0x5c
jne 0x180042083
inc rcx
cmp rcx, rax
je 0x180042083
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180042072
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180042080
test dl, 0x10
jne 0x180042083
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180042083
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403b0
mov eax, dword [rbx + 0x80]
and eax, 0x80
je 0x1800420fd
cmp byte [rbx + 0x78], 0x62
jne 0x1800420fd
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.180022b70
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1800420f0
cmp byte [rcx], 0x5c
jne 0x1800420ed
inc rcx
cmp rcx, rax
je 0x1800420ed
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1800420dc
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1800420ea
test dl, 0x10
jne 0x1800420ed
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x1800420ed
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403b0
jmp 0x1800423c0
test eax, eax
je 0x18004216b
cmp byte [rbx + 0x78], 0x42
jne 0x18004216b
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 0x18004215e
cmp byte [rcx], 0x5c
jne 0x18004215b
inc rcx
cmp rcx, rax
je 0x18004215b
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18004214a
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180042158
test dl, 0x10
jne 0x18004215b
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18004215b
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403b0
jmp 0x1800423c0
mov rcx, rbx
call fcn.1800436d0
jmp 0x1800423b8
cmp ecx, 0x5b
jne 0x18004222a
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1800421c2
cmp byte [rcx], 0x5c
jne 0x1800421bf
inc rcx
cmp rcx, rax
je 0x1800421bf
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1800421ae
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1800421bc
test dl, 0x10
jne 0x1800421bf
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x1800421bf
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403b0
mov rcx, rbx
call fcn.1800435d0
cmp dword [rbx + 0x7c], 0x5d
jne 0x1800423e2
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x18004221d
cmp byte [rcx], 0x5c
jne 0x18004221a
inc rcx
cmp rcx, rax
je 0x18004221a
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180042209
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180042217
test dl, 0x10
jne 0x18004221a
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18004221a
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403b0
jmp 0x1800423b8
cmp ecx, 0x28
jne 0x1800422e8
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180042274
cmp byte [rcx], 0x5c
jne 0x180042271
inc rcx
cmp rcx, rax
je 0x180042271
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180042260
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18004226e
test dl, 0x10
jne 0x180042271
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180042271
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403b0
mov rcx, rbx
call fcn.1800437c0
cmp dword [rbx + 0x7c], 0x29
movzx edi, al
jne 0x1800423ed
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1800422d2
cmp byte [rcx], 0x5c
jne 0x1800422cf
inc rcx
cmp rcx, rax
je 0x1800422cf
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1800422be
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1800422cc
test dl, 0x10
jne 0x1800422cf
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x1800422cf
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403b0
test dil, dil
je 0x1800423c0
jmp 0x1800423b8
cmp ecx, 0x5e
jne 0x180042346
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.180022b70
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x18004233c
cmp byte [rcx], 0x5c
jne 0x180042339
inc rcx
cmp rcx, rax
je 0x180042339
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180042328
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180042336
test dl, 0x10
jne 0x180042339
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180042339
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1800403b0
jmp 0x1800423c0
cmp ecx, 0x24
jne 0x180042363
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.180022b70
mov rcx, rbx
call fcn.180041f40
jmp 0x1800423c0
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x18004240e
cmp ecx, 0x3f
je 0x18004240e
cmp ecx, 0x7b
je 0x18004240e
cmp ecx, 0x7d
jne 0x180042392
test dword [rbx + 0x80], 0x10000000
je 0x1800423f8
cmp ecx, 0x5d
jne 0x1800423a3
test dword [rbx + 0x80], 0x10000000
je 0x180042403
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.180024e20
mov rcx, rbx
call fcn.180041f40
mov rcx, rbx
call fcn.1800438e0
cmp dword [rbx + 0x7c], 0xffffffff
mov al, 1
jne 0x180041fb0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ecx, 5
call fcn.1800a9de0
int3
mov ecx, 4
call fcn.1800a9de0
int3
mov ecx, 5
call fcn.1800a9de0
int3
mov ecx, 6
call fcn.1800a9de0
int3
mov ecx, 4
call fcn.1800a9de0
int3
mov ecx, 0xa
call fcn.1800a9de0
int3