Function at 0x140096d50
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rsi
push rdi
push r12
push r14
sub rsp, 0x58
mov r12d, dword [r8]
mov rdi, rdx
mov qword [rsp + 0x20], rcx
mov r14, rcx
mov dword [rsp + 0x88], 0
test rdx, rdx
jne 0x140096d86
xor esi, esi
jmp 0x140096d9f
or rsi, 0xffffffffffffffff
nop word [rax + rax]
inc rsi
cmp byte [rdx + rsi], 0
jne 0x140096d90
and esi, 0x3fffffff
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r15
test r12b, 0x40
jne 0x140096dc6
cmp dword [0x14011c4bc], 0
je 0x14009726f
cmp esi, 5
jb 0x14009726f
mov eax, dword [rdx]
cmp eax, dword [str.file:]
jne 0x14009726f
movzx eax, byte [rdx + 4]
cmp al, byte [0x1400fe0c8]
jne 0x14009726f
or r12d, 0x40
mov r8d, esi
xor ebx, ebx
mov dword [rsp + 0x80], r12d
xor r14d, r14d
lea ebp, [rsi + 2]
xor r15d, r15d
xor ecx, ecx
cmp r8, 2
jb 0x140096e42
lea rdx, [rsi - 1]
nop dword [rax]
nop word [rax + rax]
xor eax, eax
cmp byte [rdi + rcx], 0x26
sete al
add rbx, rax
xor eax, eax
cmp byte [rdi + rcx + 1], 0x26
sete al
add rcx, 2
add r14, rax
cmp rcx, rdx
jl 0x140096e20
cmp rcx, r8
jge 0x140096e53
xor eax, eax
cmp byte [rcx + rdi], 0x26
sete al
add rbp, rax
call fcn.1400940a0
test eax, eax
jne 0x14009738a
lea rcx, [r14 + rbx]
add rcx, rbp
call fcn.140017280
mov qword [rsp + 0x28], rax
mov rbp, rax
test rax, rax
je 0x14009738a
mov ebx, 5
lea rdx, [0x1400fe0cc]
lea rcx, [rdi + 5]
lea r8d, [rbx - 2]
call fcn.1400dc550
test eax, eax
jne 0x140096eba
lea rcx, [rdi + 7]
lea r8d, [rax + 3]
lea rdx, [0x1400fe0cc]
lea ebx, [rax + 7]
call fcn.1400dc550
test eax, eax
jne 0x140096eda
lea ebx, [rax + 8]
jmp 0x140096eda
mov r8d, 0xc
lea rdx, str.__localhost_
lea rcx, [rdi + 5]
call fcn.1400dc550
test eax, eax
mov ecx, sendto
cmove ebx, ecx
mov eax, ebx
xor r11d, r11d
movzx edx, byte [rax + rdi]
test dl, dl
je 0x140097072
xor r10d, r10d
lea rsi, [0x1400f4d20]
cmp dl, 0x23
je 0x140097062
inc ebx
cmp dl, 0x25
jne 0x140096fd1
movsxd rax, ebx
movzx r9d, byte [rax + rdi]
test byte [r9 + rsi], 8
je 0x140096fd1
lea r8d, [rbx + 1]
movsxd rax, r8d
movzx ecx, byte [rax + rdi]
test byte [rcx + rsi], 8
je 0x140096fd1
movsx edx, r9b
mov eax, edx
movsxd rbx, r8d
sar eax, 6
and al, 1
movzx eax, al
movsx r8d, byte [rbx + rdi]
inc ebx
imul ecx, eax, 7
mov eax, r8d
sar eax, 6
and al, 1
movzx eax, al
sub dl, cl
imul ecx, eax, 7
movzx eax, r8b
and edx, 0xf
shl edx, 4
sub al, cl
and eax, 0xf
add edx, eax
jne 0x140097049
movsxd rax, ebx
lea rcx, [rax + rdi]
movzx eax, byte [rax + rdi]
test al, al
je 0x140097053
movsxd rdx, r11d
nop dword [rax]
cmp al, 0x23
je 0x140097053
test r11d, r11d
jne 0x140096fa1
cmp al, 0x3f
jmp 0x140096fb9
cmp rdx, 1
jne 0x140096fb1
cmp al, 0x3d
je 0x140097053
jmp 0x140096fb7
cmp rdx, 2
jne 0x140096fbf
cmp al, 0x26
je 0x140097053
movzx eax, byte [rcx + 1]
inc rcx
inc ebx
test al, al
jne 0x140096f90
jmp 0x140097053
cmp r11d, 1
jne 0x14009702a
cmp dl, 0x26
je 0x140096fe1
cmp dl, 0x3d
jne 0x140097049
cmp byte [r10 + rbp - 1], 0
jne 0x140097010
movsxd rax, ebx
movzx ecx, byte [rax + rdi]
test cl, cl
je 0x140097053
cmp cl, 0x23
je 0x140097053
cmp byte [rax + rdi - 1], 0x26
je 0x140097053
movzx ecx, byte [rax + rdi + 1]
inc rax
inc ebx
test cl, cl
jne 0x140096ff4
jmp 0x140097053
cmp dl, 0x26
jne 0x140097022
inc r15d
mov byte [r10 + rbp], 0
inc r10
jmp 0x140097047
mov r11d, 2
jmp 0x140097047
test r11d, r11d
jne 0x140097036
cmp dl, 0x3f
je 0x140097041
jmp 0x140097049
cmp r11d, 2
jne 0x140097049
cmp dl, 0x26
jne 0x140097049
mov r11d, 1
xor dl, dl
inc r15d
mov byte [r10 + rbp], dl
inc r10
movsxd rax, ebx
movzx edx, byte [rax + rdi]
test dl, dl
jne 0x140096ef5
cmp r11d, 1
jne 0x140097072
movsxd rax, r15d
inc r15d
mov byte [rax + rbp], 0
movsxd rax, r15d
mov byte [rax + rbp], 0
lea eax, [r15 + 1]
movsxd rcx, eax
or rax, 0xffffffffffffffff
mov byte [rcx + rbp], 0
nop dword [rax + rax]
inc rax
cmp byte [rax + rbp], 0
jne 0x140097090
and eax, 0x3fffffff
lea edx, [rax + 1]
add rdx, rbp
cmp byte [rdx], 0
je 0x1400972bc
movzx r13d, byte [reloc.WS2_32.dll_WSAStartup]
nop word [rax + rax]
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], 0
jne 0x1400970c4
and ecx, 0x3fffffff
lea ebp, [rcx + 1]
add rbp, rdx
jne 0x1400970df
xor ebx, ebx
jmp 0x1400970f2
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rbx + rbp], 0
jne 0x1400970e3
and ebx, 0x3fffffff
cmp ecx, 3
jne 0x140097116
movzx eax, word [0x1400fe0e0]
cmp ax, word [rdx]
jne 0x140097116
cmp r13b, byte [rdx + 2]
jne 0x140097116
mov r14, rbp
mov qword [rsp + 0x20], rbp
jmp 0x140097226
xor esi, esi
xor r12d, r12d
xor r14d, r14d
cmp ecx, 5
jne 0x14009714d
mov eax, dword [str.cache]
cmp eax, dword [rdx]
jne 0x14009714d
movzx eax, byte [0x1400fe0e8]
cmp al, byte [rdx + 4]
jne 0x14009714d
mov r14d, 0x60000
lea rsi, str.shared
lea r12, str.cache
mov r15d, r14d
cmp ecx, 4
jne 0x140097180
mov eax, dword [str.mode]
cmp eax, dword [rdx]
jne 0x140097180
mov r15d, dword [rsp + 0x80]
lea rsi, [0x14011b440]
mov r14d, 0x87
lea r12, str.access
and r15d, r14d
jmp 0x140097189
test rsi, rsi
je 0x140097221
mov rcx, qword [rsi]
xor edi, edi
test rcx, rcx
je 0x1400971cd
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x140097197
and eax, 0x3fffffff
cmp ebx, eax
jne 0x1400971bb
mov rdx, rcx
mov r8d, ebx
mov rcx, rbp
call fcn.1400c1460
test eax, eax
je 0x1400971f2
inc rdi
mov rax, rdi
add rax, rax
mov rcx, qword [rsi + rax*8]
test rcx, rcx
jne 0x140097193
mov r8, rbp
lea rcx, str.no_such__s_mode:__s
mov rdx, r12
call fcn.140019790
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x1400972f7
add rdi, rdi
mov ecx, dword [rsi + rdi*8 + 8]
test ecx, ecx
je 0x1400971cd
mov eax, ecx
btr eax, 7
cmp eax, r15d
jg 0x14009723f
not r14d
and r14d, dword [rsp + 0x80]
mov r12d, r14d
or r12d, ecx
mov dword [rsp + 0x80], r12d
mov r14, qword [rsp + 0x20]
lea edx, [rbx + 1]
add rdx, rbp
cmp byte [rdx], 0
jne 0x1400970c0
mov rbp, qword [rsp + 0x28]
jmp 0x1400972c1
mov r8, rbp
lea rcx, str._s_mode_not_allowed:__s
mov rdx, r12
call fcn.140019790
mov rcx, rax
mov dword [rsp + 0x88], 3
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x140097302
call fcn.1400940a0
test eax, eax
jne 0x14009738a
lea ecx, [rsi + 2]
call fcn.140017280
mov qword [rsp + 0x28], rax
mov rbp, rax
test rax, rax
je 0x14009738a
mov r8d, esi
mov rdx, rdi
mov rcx, rax
call fcn.1400c1540
lea eax, [rsi + 1]
mov byte [rsi + rbp], 0
and r12d, 0xffffffbf
mov dword [rsp + 0x80], r12d
mov byte [rax + rbp], 0
jmp 0x1400972c1
mov r14, qword [rsp + 0x20]
mov rcx, r14
call fcn.140016800
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
test rax, rax
jne 0x140097365
mov rdx, r14
lea rcx, str.no_such_vfs:__s
call fcn.140019790
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
mov dword [rsp + 0x88], 1
cmp dword [0x14011c4b0], 0
je 0x140097358
mov rcx, qword [0x140120628]
test rcx, rcx
je 0x14009731d
call qword [0x14011c538]
mov rcx, qword [rsp + 0x28]
call qword [0x14011c4f0]
dec qword [0x1401206b8]
movsxd rcx, eax
sub qword [0x140120670], rcx
mov rcx, qword [rsp + 0x28]
call qword [0x14011c4e0]
mov rcx, qword [0x140120628]
test rcx, rcx
je 0x140097363
call qword [0x14011c548]
jmp 0x140097363
mov rcx, qword [rsp + 0x28]
call qword [0x14011c4e0]
xor ebp, ebp
mov rcx, qword [rsp + 0x90]
mov eax, dword [rsp + 0x80]
mov dword [rcx], eax
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x88]
mov qword [rcx], rbp
jmp 0x14009738f
mov eax, 7
mov r15, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
add rsp, 0x58
pop r14
pop r12
pop rdi
pop rsi
ret