Function at 0x14001f870
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov r13d, r9d
mov r14, rdx
mov r15, rcx
test rcx, rcx
jne 0x14001f8a7
mov ecx, 0x80004005
call fcn.1400407c4
int3
test rdx, rdx
je 0x14001f89c
cmp rcx, rdx
je 0x14001f89c
xor r12d, r12d
mov qword [rsp + 0x50], rdx
mov r9, rdx
mov dword [rsp + 0x40], r12d
mov ecx, r12d
mov dword [rsp + 0xc0], r12d
add rdx, r13
mov dword [rsp + 0x44], ecx
lea esi, [r12 + 1]
mov qword [rsp + 0x48], rdx
lea ebp, [rsi + 0x3f]
mov edi, r12d
mov r8d, r12d
nop word [rax + rax]
movzx ebx, byte [r15]
inc r15
mov qword [rsp + 0xa0], r15
test bl, bl
je 0x14001fa8d
cmp edi, r13d
cmove esi, r12d
cmp bl, 0x3a
je 0x14001fad2
cmp bl, 0x25
je 0x14001fb67
cmp bl, 0x3f
je 0x14001fbbf
cmp bl, 0x23
je 0x14001fbbf
mov eax, ebp
and al, 0x82
cmp al, 0x80
je 0x14001fa04
movzx r10d, bl
cmp r10d, 0x3b
jne 0x14001fc2d
test bpl, 2
jne 0x14001f9d1
test bpl, 0x10
jne 0x14001f9cc
test bpl, 8
jne 0x14001fbfc
test bpl, 0x40
je 0x14001fc0a
lea eax, [r13 - 3]
cmp edi, eax
jae 0x14001fc67
test bl, bl
je 0x14001fc67
test esi, esi
je 0x14001f9c7
mov byte [r14], 0x25
lea rdx, [r14 + 1]
cmp bl, 0x10
jae 0x14001f997
mov byte [rdx], 0x30
inc rdx
mov r8, qword [rsp + 0x48]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
sub r8, rdx
mov ecx, r10d
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__ultoa_s]
nop dword [rax + rax]
mov ecx, eax
call fcn.14001c894
add r14, 3
mov qword [rsp + 0xa8], r14
add edi, 2
jmp 0x14001f9e3
cmp bl, 0x20
je 0x14001f958
test esi, esi
je 0x14001f9e3
mov byte [r14], bl
inc r14
mov qword [rsp + 0xa8], r14
mov rdx, qword [rsp + 0x48]
inc edi
mov ecx, dword [rsp + 0x44]
mov r8d, dword [rsp + 0xc0]
mov r9, qword [rsp + 0x50]
mov dword [rsp + 0x40], edi
jmp 0x14001f8f0
cmp bl, 0x5c
je 0x14001fbd1
cmp bl, 0x2e
jne 0x14001f93e
test edi, edi
je 0x14001f93e
test bpl, 8
jne 0x14001f93e
mov dword [rsp + 0x30], ecx
lea rax, [rsp + 0x40]
mov dword [rsp + 0x28], ebp
lea rcx, [rsp + 0xa8]
lea rdx, [r14 - 1]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xa0]
mov r8d, edi
call fcn.14001fd18
mov r14, qword [rsp + 0xa8]
mov r15, qword [rsp + 0xa0]
mov edi, dword [rsp + 0x40]
test eax, eax
je 0x14001f93e
mov rdx, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x44]
mov r8d, dword [rsp + 0xc0]
mov r9, qword [rsp + 0x50]
jmp 0x14001f8f0
test esi, esi
je 0x14001fa99
cmp edi, r13d
jae 0x14001fa99
mov byte [r14], r12b
mov r8, qword [rsp + 0xb0]
test r8, r8
je 0x14001faac
lea ecx, [rdi + 1]
mov dword [r8], ecx
mov rbx, qword [rsp + 0xb8]
lea ecx, [rdi + 1]
cmp ecx, r13d
cmovbe r12d, esi
mov eax, r12d
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test bpl, bpl
jns 0x14001f932
test ecx, ecx
jne 0x14001f932
test esi, esi
je 0x14001fb5b
mov eax, edi
mov rcx, r14
sub rcx, rax
mov byte [r14], r12b
cmp rcx, r9
jb 0x14001f89c
cmp rcx, rdx
ja 0x14001f89c
sub rdx, rcx
inc rdx
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__strlwr_s]
nop dword [rax + rax]
mov ecx, eax
call fcn.14001c894
cmp edi, 4
jne 0x14001fc20
lea rdx, [r14 - 4]
mov r8d, edi
lea rcx, str.file
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
nop dword [rax + rax]
mov r8d, dword [rsp + 0xc0]
test eax, eax
mov eax, 1
cmove r8d, eax
mov dword [rsp + 0xc0], r8d
lea ecx, [rdi + 1]
mov dword [rsp + 0x44], ecx
jmp 0x14001f932
test bpl, 4
je 0x14001f932
movzx ecx, byte [r15]
test cl, cl
je 0x14001fa8d
call fcn.14001fcdc
movzx ebx, ax
shl bl, 4
test bl, bl
js 0x14001fc18
movzx ecx, byte [r15 + 1]
test cl, cl
je 0x14001fa8d
add r15, 2
mov qword [rsp + 0xa0], r15
call fcn.14001fcdc
test al, al
js 0x14001fc18
add bl, al
je 0x14001fc18
mov ecx, dword [rsp + 0x44]
jmp 0x14001f932
test bpl, 0x20
je 0x14001f932
or ebp, 2
jmp 0x14001f932
test ecx, ecx
jne 0x14001fbdf
bt ebp, 8
jae 0x14001f93e
test esi, esi
je 0x14001f93e
test r8d, r8d
je 0x14001fbf5
cmp edi, 7
jae 0x14001f93e
mov bl, 0x2f
jmp 0x14001f93e
cmp bl, 0x2e
jne 0x14001f962
jmp 0x14001f9d1
cmp bl, 0x25
jne 0x14001f96c
jmp 0x14001f9d1
mov esi, r12d
jmp 0x14001fa99
mov r8d, dword [rsp + 0xc0]
jmp 0x14001fb5b
lea eax, [r10 - 0x20]
cmp eax, 0x5d
ja case.0x14001fc51.33
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x1fc78]
mov ecx, dword [rdx + rax*4 + 0x1fc70]
add rcx, rdx
jmp rcx
lea eax, [rbx - 0x20]
cmp al, 0x5e
jbe 0x14001f9d1
jmp case.0x14001fc51.32
mov esi, r12d
jmp 0x14001f9c7