Function at 0x1400846c0
Capabilities:
Parse credit card information

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov rax, qword [0x14035dc30]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x48], r9d
mov r11, rdx
mov qword [rsp + 0x60], r8
mov rdi, rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x68], rdx
test rcx, rcx
je 0x140084ac3
test rdx, rdx
je 0x140084ac3
cmp rcx, rdx
je 0x140084ac3
movzx ebx, byte [rcx]
lea r15, [rcx + 1]
xor r13d, r13d
mov r10d, r9d
add r10, rdx
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x44], r13d
mov esi, r13d
mov qword [rsp + 0x50], r10
mov r8d, r13d
mov qword [rsp + 0x70], r15
lea r14d, [r13 + 1]
lea ebp, [r14 + 0x7f]
mov r12d, r13d
test bl, bl
je 0x140084a6e
mov rdx, r15
nop dword [rax + rax]
cmp esi, r9d
cmove r14d, r13d
cmp bl, 0x3a
jne 0x140084822
test bpl, bpl
jns 0x1400848ce
test r12d, r12d
jne 0x1400848ce
test r14d, r14d
je 0x140084819
mov eax, esi
mov rcx, rdi
sub rcx, rax
mov byte [rdi], r13b
cmp rcx, r11
jb 0x140084ac3
cmp rcx, r10
ja 0x140084ac3
mov rdx, r10
sub rdx, rcx
inc rdx
call fcn.140284784
test eax, eax
je 0x1400847de
cmp eax, 0xc
je 0x140084ab8
cmp eax, 0x16
je 0x140084ace
cmp eax, 0x22
je 0x140084ace
cmp eax, 0x50
jne 0x140084ac3
cmp esi, 4
jne 0x140084814
lea rdx, [rdi - 4]
mov r8d, esi
lea rcx, str.file
call fcn.1402844e0
mov r8d, dword [rsp + 0x44]
lea r12d, [rsi + 1]
test eax, eax
mov eax, 1
cmove r8d, eax
mov dword [rsp + 0x44], r8d
jmp 0x1400848ce
mov r8d, dword [rsp + 0x44]
lea r12d, [rsi + 1]
jmp 0x1400848ce
cmp bl, 0x25
jne 0x1400848bb
test bpl, 4
je 0x1400848ce
movzx ecx, byte [r15]
test cl, cl
je 0x140084a6e
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x14008484d
lea ebx, [rcx - 0x30]
jmp 0x140084867
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x140084859
lea ebx, [rcx - 0x37]
jmp 0x140084867
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x140084a69
lea ebx, [rcx - 0x57]
test bx, bx
js 0x140084a69
movzx ecx, byte [rdx + 1]
shl bl, 4
test cl, cl
je 0x140084a6e
lea eax, [rcx - 0x30]
lea r15, [rdx + 2]
mov qword [rsp + 0x70], r15
cmp al, 9
ja 0x140084894
lea eax, [rcx - 0x30]
jmp 0x1400848ae
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x1400848a0
lea eax, [rcx - 0x37]
jmp 0x1400848ae
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x140084a69
lea eax, [rcx - 0x57]
test ax, ax
js 0x140084a69
add bl, al
jmp 0x1400848ce
cmp bl, 0x3f
je 0x1400848c5
cmp bl, 0x23
jne 0x1400848ce
test bpl, 0x20
je 0x1400848ce
or ebp, 2
mov eax, ebp
and al, 0x82
cmp al, 0x80
jne 0x140084947
cmp bl, 0x5c
jne 0x1400848f9
test r12d, r12d
jne 0x1400848e6
bt ebp, 8
jae 0x140084947
test r14d, r14d
je 0x140084947
test r8d, r8d
je 0x1400848f5
cmp esi, 7
jae 0x140084947
mov bl, 0x2f
jmp 0x140084947
cmp bl, 0x2e
jne 0x140084947
test esi, esi
je 0x140084947
test bpl, 8
jne 0x140084947
mov dword [rsp + 0x30], r12d
lea rax, [rsp + 0x40]
mov dword [rsp + 0x28], ebp
lea rdx, [rdi - 1]
lea r9, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r8d, esi
lea rcx, [rsp + 0x68]
call fcn.140084570
mov esi, dword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x68]
test eax, eax
jne 0x140084a3a
movzx r10d, bl
lea eax, [r10 - 0x20]
cmp eax, 0x5d
ja case.0x14008496f.33
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x84ae4]
mov ecx, dword [rdx + rax*4 + 0x84adc]
add rcx, rdx
jmp rcx
lea eax, [rbx - 0x20]
cmp al, 0x5e
jbe 0x140084a25
test bpl, 2
jne 0x140084a25
test bpl, 0x10
je 0x140084995
cmp bl, 0x20
jne 0x140084a25
test bpl, 8
je 0x1400849a4
cmp bl, 0x2e
je 0x140084a25
test bpl, 0x40
jne 0x1400849af
cmp bl, 0x25
je 0x140084a25
mov eax, dword [rsp + 0x48]
add eax, 0xfffffffd
cmp esi, eax
jb 0x1400849c2
mov r14d, r13d
add esi, 2
jmp 0x140084a34
test r14d, r14d
je 0x140084a20
mov byte [rdi], 0x25
lea rdx, [rdi + 1]
cmp bl, 0x10
jae 0x1400849d9
mov byte [rdx], 0x30
inc rdx
mov r8, qword [rsp + 0x50]
mov r9d, reloc.WS2_32.dll_recv
sub r8, rdx
mov ecx, r10d
call fcn.1402795dc
test eax, eax
je 0x140084a17
cmp eax, 0xc
je 0x140084ab8
cmp eax, 0x16
je 0x140084ace
cmp eax, 0x22
je 0x140084ace
cmp eax, 0x50
jne 0x140084ac3
add rdi, 3
mov qword [rsp + 0x68], rdi
add esi, 2
jmp 0x140084a34
test r14d, r14d
je 0x140084a34
mov byte [rdi], bl
inc rdi
mov qword [rsp + 0x68], rdi
inc esi
mov dword [rsp + 0x40], esi
movzx eax, byte [r15]
inc r15
mov r9d, dword [rsp + 0x48]
mov rdx, r15
mov qword [rsp + 0x70], r15
movzx ebx, al
test al, al
je 0x140084a6e
mov r8d, dword [rsp + 0x44]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
jmp 0x140084760
mov r14d, r13d
jmp 0x140084a7b
test r14d, r14d
je 0x140084a7b
cmp esi, r9d
jae 0x140084a7b
mov byte [rdi], r13b
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x140084a8a
lea ecx, [rsi + 1]
mov dword [rax], ecx
lea ecx, [rsi + 1]
cmp ecx, r9d
cmovbe r13d, r14d
mov eax, r13d
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140269300
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, 0x8007000e
call fcn.1400264e0
int3
mov ecx, 0x80004005
call fcn.1400264e0
int3
mov ecx, 0x80070057
call fcn.1400264e0
int3