Function at 0x1803d1e40
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
call fcn.1803f9d10
mov rsi, rax
lea rdi, [rax + 0x10]
mov rdx, qword [rax + 0x110]
cmp rdx, 0x40
jb 0x1803d1ead
add rax, 0x120
mov rcx, qword [rsi + 0x158]
test rcx, rcx
jle 0x1803d1f0e
cmp qword [rsi + 0x160], 0
js 0x1803d1f0e
add rcx, 0xffffffffffffff00
mov qword [rsi + 0x158], rcx
mov rcx, rax
mov edx, 6
mov r8, rdi
call fcn.1803f9d70
jmp 0x1803d1f19
movzx r9d, byte [rsi + rdx*4 + 0x10]
lea rcx, [rdx + 1]
mov qword [rsi + 0x110], rcx
cmp rdx, 0x3f
jne 0x1803d1f24
add rax, 0x120
mov rcx, qword [rsi + 0x158]
test rcx, rcx
jle 0x1803d1f88
cmp qword [rsi + 0x160], 0
js 0x1803d1f88
add rcx, 0xffffffffffffff00
mov qword [rsi + 0x158], rcx
mov rcx, rax
mov edx, 6
mov r8, rdi
mov ebx, r9d
call fcn.1803f9d70
jmp 0x1803d1f96
mov rcx, rax
mov rdx, rdi
call fcn.1803d5160
movzx r9d, byte [rdi]
mov ecx, 1
jmp 0x1803d1f9b
movzx ebp, byte [rsi + rdx*4 + 0x14]
lea rcx, [rdx + 2]
mov qword [rsi + 0x110], rcx
cmp rdx, 0x3e
jb 0x1803d2074
add rax, 0x120
mov rcx, qword [rsi + 0x158]
test rcx, rcx
jle 0x1803d20d5
cmp qword [rsi + 0x160], 0
js 0x1803d20d5
add rcx, 0xffffffffffffff00
mov qword [rsi + 0x158], rcx
mov rcx, rax
mov edx, 6
mov r8, rdi
mov ebx, r9d
call fcn.1803f9d70
jmp 0x1803d20e3
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.1803d5160
mov r9d, ebx
xor ecx, ecx
movzx ebp, byte [rdi + rcx*4]
movzx r14d, byte [rdi + rcx*4 + 4]
lea rax, [rcx + 2]
add rcx, 3
movzx r15d, byte [rsi + rax*4 + 0x10]
mov qword [rsi + 0x110], rcx
movzx r12d, byte [rsi + rcx*4 + 0x10]
lea rax, [rcx + 1]
mov qword [rsi + 0x110], rax
add rcx, 2
movzx r13d, byte [rsi + rax*4 + 0x10]
mov qword [rsi + 0x110], rcx
movzx ebx, byte [rsi + rcx*4 + 0x10]
inc rcx
mov qword [rsi + 0x110], rcx
movzx edi, byte [rsi + rcx*4 + 0x10]
inc rcx
mov qword [rsi + 0x110], rcx
dec qword [rsi]
jne 0x1803d201e
dec qword [rsi + 8]
jne 0x1803d201e
mov edx, 0x170
mov r8d, 0x10
mov rcx, rsi
mov esi, r9d
call fcn.1802cbf20
mov r9d, esi
shl rdi, 0x38
shl rbx, 0x30
or rbx, rdi
shl r13, 0x28
or r13, rbx
movzx eax, r12b
shl rax, 0x20
or rax, r13
movzx ecx, r15b
shl rcx, 0x18
or rcx, rax
movzx eax, r14b
shl rax, 0x10
or rax, rcx
movzx ecx, bpl
shl rcx, 8
or rcx, rax
movzx eax, r9b
or rax, rcx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx r14d, byte [rsi + rdx*4 + 0x18]
lea r8, [rdx + 3]
mov qword [rsi + 0x110], r8
cmp rdx, 0x3d
jne 0x1803d20f8
add rax, 0x120
mov rcx, qword [rsi + 0x158]
test rcx, rcx
jle 0x1803d2152
cmp qword [rsi + 0x160], 0
js 0x1803d2152
add rcx, 0xffffffffffffff00
mov qword [rsi + 0x158], rcx
mov rcx, rax
mov edx, 6
mov r8, rdi
mov ebx, r9d
call fcn.1803f9d70
jmp 0x1803d2160
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.1803d5160
mov r9d, ebx
movzx r14d, byte [rdi]
mov eax, 1
lea rcx, [rax + 1]
jmp 0x1803d1fad
movzx r15d, byte [rsi + rdx*4 + 0x1c]
lea r8, [rdx + 4]
mov qword [rsi + 0x110], r8
cmp rcx, 0x3e
jne 0x1803d216e
add rax, 0x120
mov rcx, qword [rsi + 0x158]
test rcx, rcx
jle 0x1803d21a7
cmp qword [rsi + 0x160], 0
js 0x1803d21a7
add rcx, 0xffffffffffffff00
mov qword [rsi + 0x158], rcx
mov rcx, rax
mov edx, 6
mov r8, rdi
mov ebx, r9d
call fcn.1803f9d70
jmp 0x1803d21b5
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.1803d5160
mov r9d, ebx
xor eax, eax
lea rcx, [rax + 1]
jmp 0x1803d1fad
movzx r12d, byte [rsi + rdx*4 + 0x20]
lea rcx, [rdx + 5]
mov qword [rsi + 0x110], rcx
cmp rdx, 0x3b
jb 0x1803d21ca
add rax, 0x120
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.1803d5130
mov r9d, ebx
xor eax, eax
lea rcx, [rax + 1]
jmp 0x1803d1fcf
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.1803d5160
mov r9d, ebx
movzx r12d, byte [rdi]
mov eax, 1
lea rcx, [rax + 1]
jmp 0x1803d1fcf
movzx r13d, byte [rsi + rdx*4 + 0x24]
lea rcx, [rdx + 6]
mov qword [rsi + 0x110], rcx
cmp r8, 0x3e
jne 0x1803d2211
add rax, 0x120
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.1803d5130
mov r9d, ebx
movzx ebx, byte [rsi + 0x10]
mov qword [rsi + 0x110], 1
mov ecx, 1
jmp 0x1803d1feb
movzx ebx, byte [rsi + rdx*4 + 0x28]
lea rcx, [rdx + 7]
mov qword [rsi + 0x110], rcx
cmp rdx, 0x39
jb 0x1803d1feb
add rax, 0x120
mov rcx, rax
mov rdx, rdi
mov edi, r9d
call fcn.1803d5130
mov r9d, edi
xor ecx, ecx
jmp 0x1803d1feb