Function at 0x140087bf4
Capabilities:
Parse credit card information

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
xor ebx, ebx
mov rsi, rdx
mov r12, rcx
test rcx, rcx
je 0x140087ff5
test rdx, rdx
je 0x140087ff5
cmp rcx, rdx
je 0x140087ff5
mov dil, byte [r12]
lea r15d, [rbx + 1]
mov r10, rdx
mov qword [rbp - 0x18], rdx
mov edx, r9d
lea r13d, [rbx + 0x40]
add rdx, r10
mov dword [rbp + 0x68], ebx
mov dword [rbp - 0x28], ebx
mov r14d, ebx
mov dword [rbp - 0x24], ebx
mov r11d, ebx
mov qword [rbp - 0x20], rdx
mov ecx, ebx
test dil, dil
je 0x140087fbe
inc r12
cmp r14d, r9d
mov qword [rbp + 0x48], r12
cmove r15d, ebx
cmp dil, 0x3a
jne 0x140087d3d
test r13b, r13b
jns 0x140087df6
test ecx, ecx
jne 0x140087df6
test r15d, r15d
je 0x140087d31
mov eax, r14d
mov rcx, rsi
sub rcx, rax
mov byte [rsi], bl
cmp rcx, r10
jb 0x140087ff5
cmp rcx, rdx
ja 0x140087ff5
sub rdx, rcx
inc rdx
call qword [sym.imp.msvcrt.dll__strlwr_s]
nop dword [rax + rax]
test eax, eax
je 0x140087cf9
cmp eax, 0xc
je 0x14008800b
cmp eax, 0x16
je 0x140088000
cmp eax, 0x22
je 0x140088000
cmp eax, 0x50
jne 0x140087ff5
cmp r14d, 4
jne 0x140087d2d
lea rdx, [rsi - 4]
mov r8d, r14d
lea rcx, str.file
call qword [sym.imp.msvcrt.dll_strncmp]
nop dword [rax + rax]
mov r11d, dword [rbp - 0x28]
test eax, eax
lea eax, [r14 - 3]
cmove r11d, eax
mov dword [rbp - 0x28], r11d
jmp 0x140087d31
mov r11d, dword [rbp - 0x28]
lea ecx, [r14 + 1]
mov dword [rbp - 0x24], ecx
jmp 0x140087df6
cmp dil, 0x25
jne 0x140087de0
test r13b, 4
je 0x140087df6
mov dil, byte [r12]
test dil, dil
je 0x140087fba
lea eax, [rdi - 0x30]
cmp al, 9
ja 0x140087d6b
shl dil, 4
jmp 0x140087d86
lea eax, [rdi - 0x41]
cmp al, 5
ja 0x140087d7c
shl dil, 4
sub dil, 0x70
jmp 0x140087d86
lea eax, [rdi - 0x61]
cmp al, 5
jbe 0x140087d72
mov dil, pe_nt_image_headers64
test dil, dil
js 0x140087fb1
mov cl, byte [r12 + 1]
test cl, cl
je 0x140087fba
add r12, 2
lea eax, [rcx - 0x30]
mov qword [rbp + 0x48], r12
cmp al, 9
ja 0x140087db0
sub cl, 0x30
jmp 0x140087dca
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x140087dbc
sub cl, 0x37
jmp 0x140087dca
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x140087dc8
sub cl, 0x57
jmp 0x140087dca
mov cl, 0xff
test cl, cl
js 0x140087fb1
add dil, cl
je 0x140087fb1
mov ecx, dword [rbp - 0x24]
jmp 0x140087df6
cmp dil, 0x3f
je 0x140087dec
cmp dil, 0x23
jne 0x140087df6
test r13b, 0x20
je 0x140087df6
or r13d, 2
mov eax, r13d
and al, 0x82
cmp al, 0x80
jne 0x140087e70
cmp dil, 0x5c
jne 0x140087e25
test ecx, ecx
jne 0x140087e10
bt r13d, 8
jae 0x140087e70
test r15d, r15d
je 0x140087e70
test r11d, r11d
je 0x140087e20
cmp r14d, 7
jae 0x140087e70
mov dil, 0x2f
jmp 0x140087e70
cmp dil, 0x2e
jne 0x140087e70
test r14d, r14d
je 0x140087e70
test r13b, 8
jne 0x140087e70
mov dword [rsp + 0x30], ecx
lea rax, [rbp + 0x68]
mov dword [rsp + 0x28], r13d
lea rcx, [rbp + 0x50]
lea rdx, [rsi - 1]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x48]
mov r8d, r14d
call fcn.140087ab8
mov rsi, qword [rbp + 0x50]
mov r12, qword [rbp + 0x48]
mov r14d, dword [rbp + 0x68]
test eax, eax
jne 0x140087f81
movzx ecx, dil
cmp ecx, 0x40
ja 0x140087e90
cmp ecx, 0x3a
ja 0x140087eb5
movabs rdx, 0x7ffe782ffffffff
bt rdx, rcx
jae 0x140087eb5
jmp 0x140087eaa
cmp ecx, 0x5b
jb 0x140087eaa
cmp ecx, 0x5e
jbe 0x140087eb5
cmp ecx, 0x60
je 0x140087eb5
cmp ecx, 0x7a
jbe 0x140087eaa
cmp dil, 0x7d
jbe 0x140087eb5
lea eax, [rdi - 0x20]
cmp al, 0x5e
jbe 0x140087fa2
test r13b, 2
jne 0x140087fa2
test r13b, 0x10
je 0x140087ecb
cmp dil, 0x20
jne 0x140087ee3
test r13b, 8
je 0x140087ed7
cmp dil, 0x2e
je 0x140087ee3
test r13b, 0x40
jne 0x140087efd
cmp dil, 0x25
jne 0x140087efd
mov eax, 1
test r15d, r15d
je 0x140087f7a
mov byte [rsi], dil
add rsi, rax
mov qword [rbp + 0x50], rsi
jmp 0x140087f7a
mov eax, dword [rbp + 0x60]
add eax, 0xfffffffd
cmp r14d, eax
jae 0x140087f0d
test dil, dil
jne 0x140087f10
mov r15d, ebx
test r15d, r15d
je 0x140087f71
mov byte [rsi], 0x25
lea rdx, [rsi + 1]
cmp dil, 0x10
jae 0x140087f28
mov byte [rdx], 0x30
inc rdx
mov r8, qword [rbp - 0x20]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
sub r8, rdx
call qword [sym.imp.msvcrt.dll__ultoa_s]
nop dword [rax + rax]
test eax, eax
je 0x140087f69
cmp eax, 0xc
je 0x14008800b
cmp eax, 0x16
je 0x140088000
cmp eax, 0x22
je 0x140088000
cmp eax, 0x50
jne 0x140087ff5
add rsi, 3
mov qword [rbp + 0x50], rsi
add r14d, 2
mov eax, 1
add r14d, eax
mov dword [rbp + 0x68], r14d
mov dil, byte [r12]
mov r9d, dword [rbp + 0x60]
test dil, dil
je 0x140087fba
mov ecx, dword [rbp - 0x24]
mov rdx, qword [rbp - 0x20]
mov r10, qword [rbp - 0x18]
mov r11d, dword [rbp - 0x28]
jmp 0x140087c70
test r15d, r15d
je 0x140087f75
mov eax, 1
jmp 0x140087ef1
mov r8, qword [rbp + 0x58]
mov r15d, ebx
jmp 0x140087fca
mov r8, qword [rbp + 0x58]
test r15d, r15d
je 0x140087fca
cmp r14d, r9d
jae 0x140087fca
mov byte [rsi], bl
test r8, r8
je 0x140087fd6
lea ecx, [r14 + 1]
mov dword [r8], ecx
lea ecx, [r14 + 1]
cmp ecx, r9d
cmovbe ebx, r15d
mov eax, ebx
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.140005068
int3
mov ecx, 0x80070057
call fcn.140005068
int3
mov ecx, 0x8007000e
call fcn.140005068
int3