Function at 0x1400af240
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push r12
push r15
sub rsp, 0x50
mov r15d, dword [r8]
mov rbp, r9
mov dword [rsp + 0x20], 0
mov rsi, rdx
mov r12, rcx
mov rbx, rdx
test rdx, rdx
je 0x1400af286
cmp byte [rdx], 0
je 0x1400af27e
inc rbx
cmp byte [rbx], 0
jne 0x1400af276
sub ebx, esi
and ebx, 0x3fffffff
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r14
test r15b, 0x40
jne 0x1400af2a8
cmp dword [0x14017eb9c], 0
je 0x1400af7f8
cmp ebx, 5
jb 0x1400af7f8
cmp dword [rdx], 0x656c6966
jne 0x1400af7f8
cmp byte [rdx + 4], 0x3a
jne 0x1400af7f8
or r15d, 0x40
mov r10d, ebx
xor edx, edx
mov dword [rsp + 0x88], r15d
xor r8d, r8d
lea edi, [rbx + 2]
xor ebp, ebp
xor ecx, ecx
cmp r10, 2
jb 0x1400af311
lea r9, [rbx - 1]
nop dword [rax]
xor eax, eax
cmp byte [rcx + rsi], 0x26
sete al
add edx, eax
xor eax, eax
cmp byte [rcx + rsi + 1], 0x26
sete al
add rcx, 2
add r8d, eax
cmp rcx, r9
jl 0x1400af2f0
cmp rcx, r10
jge 0x1400af321
xor eax, eax
cmp byte [rcx + rsi], 0x26
sete al
add edi, eax
lea eax, [r8 + rdx]
add edi, eax
call fcn.1400abe50
test eax, eax
jne 0x1400af9cc
test edi, edi
jle 0x1400af9cc
movsxd rcx, edi
call fcn.14001c4a0
mov qword [rsp + 0x28], rax
mov r14, rax
test rax, rax
je 0x1400af9cc
cmp byte [rsi + 5], 0x2f
mov r9d, 5
mov rdi, rax
jne 0x1400af3d5
cmp byte [rsi + 6], 0x2f
jne 0x1400af3d5
movzx eax, byte [rsi + 7]
lea r8, [rsi + 7]
mov r9d, 7
test al, al
je 0x1400af3d5
mov rcx, r8
nop
cmp al, 0x2f
je 0x1400af392
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
test al, al
jne 0x1400af380
cmp r9d, 7
je 0x1400af3d5
cmp r9d, 0x10
jne 0x1400af3b8
movabs rax, 0x736f686c61636f6c
cmp rax, qword [r8]
jne 0x1400af3b8
mov eax, reloc.WS2_32.dll_WSACleanup
cmp al, byte [r8 + 8]
je 0x1400af3d5
lea edx, [r9 - 7]
mov dword [rsp + 0x20], 1
lea rcx, str.invalid_uri_authority:__.s
call fcn.14001ed80
jmp 0x1400af907
movsxd rax, r9d
xor r10d, r10d
movzx ecx, byte [rax + rsi]
test cl, cl
je 0x1400af55f
mov rbx, rdi
lea r14, [0x140157a70]
movsxd r8, r9d
cmp cl, 0x23
je 0x1400af550
inc r9d
cmp cl, 0x25
jne 0x1400af4c2
movsxd rax, r9d
movzx edx, byte [rax + rsi]
test byte [rdx + r14], 8
je 0x1400af4c2
movsxd rax, r9d
movzx r11d, byte [rax + rsi + 1]
test byte [r11 + r14], 8
je 0x1400af4c2
movsx eax, dl
add r9d, 2
sar eax, 6
and al, 1
movsx r8d, r11b
movzx eax, al
imul ecx, eax, 7
sar r8d, 6
and r8b, 1
movzx eax, r8b
sub dl, cl
imul ecx, eax, 7
movzx eax, r11b
and edx, 0xf
add edx, edx
sub al, cl
and eax, 0xf
lea ecx, [rax + rdx*8]
test ecx, ecx
jne 0x1400af53a
movsxd rcx, r9d
add rcx, rsi
movzx eax, byte [rcx]
test al, al
je 0x1400af541
cmp al, 0x23
je 0x1400af541
test r10d, r10d
jne 0x1400af491
cmp al, 0x3f
jmp 0x1400af4a9
cmp r10d, 1
jne 0x1400af4a1
cmp al, 0x3d
je 0x1400af541
jmp 0x1400af4a7
cmp r10d, 2
jne 0x1400af4af
cmp al, 0x26
je 0x1400af541
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
test al, al
jne 0x1400af480
jmp 0x1400af541
cmp r10d, 1
jne 0x1400af51b
cmp cl, 0x26
je 0x1400af4d2
cmp cl, 0x3d
jne 0x1400af53a
cmp byte [rbx - 1], 0
jne 0x1400af504
lea rcx, [rsi + 1]
add rcx, r8
movzx edx, byte [rcx]
test dl, dl
je 0x1400af541
cmp dl, 0x23
je 0x1400af541
cmp byte [rcx - 1], 0x26
je 0x1400af541
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
movzx edx, al
test al, al
jne 0x1400af4e6
jmp 0x1400af541
cmp cl, 0x26
jne 0x1400af513
inc ebp
mov byte [rbx], 0
inc rbx
jmp 0x1400af538
mov r10d, 2
jmp 0x1400af538
test r10d, r10d
jne 0x1400af527
cmp cl, 0x3f
je 0x1400af532
jmp 0x1400af53a
cmp r10d, 2
jne 0x1400af53a
cmp cl, 0x26
jne 0x1400af53a
mov r10d, 1
xor cl, cl
inc ebp
mov byte [rbx], cl
inc rbx
movsxd rax, r9d
movzx ecx, byte [rax + rsi]
test cl, cl
jne 0x1400af3f1
cmp r10d, 1
jne 0x1400af55f
movsxd rax, ebp
inc ebp
mov byte [rax + rdi], 0
movsxd rax, ebp
mov word [rax + rdi], 0
mov rax, rdi
cmp byte [rdi], 0
je 0x1400af578
inc rax
cmp byte [rax], 0
jne 0x1400af570
mov rsi, qword [rsp + 0x28]
sub eax, edi
and eax, 0x3fffffff
lea r8d, [rax + 1]
add r8, rdi
cmp byte [r8], 0
je 0x1400af840
mov rdx, r8
mov ebp, reloc.WS2_32.dll_WSAStartup
mov r13d, 0x6676
mov r14d, 0x65
nop dword [rax]
mov r10d, dword [rsp + 0x88]
inc rdx
cmp byte [rdx], 0
jne 0x1400af5b0
sub edx, r8d
mov qword [rsp + 0x28], rsi
and edx, 0x3fffffff
mov dword [rsp + 0x88], r10d
mov rdi, r12
lea r15d, [rdx + 1]
add r15, r8
mov rbx, r15
jne 0x1400af5f1
xor ebx, ebx
mov qword [rsp + 0x80], r12
jmp 0x1400af634
cmp byte [r15], 0
mov qword [rsp + 0x80], rdi
je 0x1400af61e
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x88], r10d
mov qword [rsp + 0x80], rdi
inc rbx
cmp byte [rbx], 0
jne 0x1400af614
jmp 0x1400af626
mov r10d, dword [rsp + 0x88]
sub ebx, r15d
mov ebp, reloc.WS2_32.dll_WSAStartup
and ebx, 0x3fffffff
cmp edx, 3
jne 0x1400af655
cmp r13w, word [r8]
jne 0x1400af781
cmp bpl, byte [r8 + 2]
jne 0x1400af781
mov r12, r15
jmp 0x1400af789
cmp edx, 5
jne 0x1400af690
mov eax, 0x68636163
cmp eax, dword [r8]
jne 0x1400af781
cmp r14b, byte [r8 + 4]
jne 0x1400af781
mov dword [rsp + 0x24], 0x60000
lea r14, str.shared
lea r13, str.cache
mov r12d, 0x60000
jmp 0x1400af6c7
cmp edx, 4
jne 0x1400af781
mov eax, 0x65646f6d
cmp eax, dword [r8]
jne 0x1400af781
mov r12d, r10d
mov dword [rsp + 0x24], 0x87
and r12d, 0x87
lea r14, [0x140180600]
lea r13, str.access
mov rcx, qword [r14]
xor ebp, ebp
test rcx, rcx
je 0x1400af7cd
cmp byte [rcx], 0
mov rax, rcx
je 0x1400af6e8
nop dword [rax]
inc rax
cmp byte [rax], 0
jne 0x1400af6e0
sub eax, ecx
mov qword [rsp + 0x80], rdi
and eax, 0x3fffffff
mov edi, r10d
cmp ebx, eax
jne 0x1400af710
mov rdx, rcx
mov r8d, ebx
mov rcx, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400af73a
inc rbp
mov dword [rsp + 0x88], edi
mov rax, rbp
add rax, rax
mov rcx, qword [r14 + rax*8]
test rcx, rcx
je 0x1400af7c8
mov r10d, edi
mov rdi, qword [rsp + 0x80]
jmp 0x1400af6d5
add rbp, rbp
mov ecx, dword [r14 + rbp*8 + 8]
mov r14, rsi
mov ebp, edi
test ecx, ecx
je 0x1400af7d9
mov eax, ecx
btr eax, 7
cmp eax, r12d
jg 0x1400af7a9
mov r10d, dword [rsp + 0x24]
mov r14d, 0x65
not r10d
mov qword [rsp + 0x28], rsi
and r10d, edi
mov r13d, 0x6676
or r10d, ecx
mov dword [rsp + 0x88], r10d
mov r12, qword [rsp + 0x80]
mov r8d, ebx
inc r8
add r8, r15
mov rdx, r8
cmp byte [r8], 0
je 0x1400af840
mov ebp, reloc.WS2_32.dll_WSAStartup
jmp 0x1400af5b8
mov r8, r15
mov dword [rsp + 0x20], 3
mov rdx, r13
lea rcx, str._s_mode_not_allowed:__s
call fcn.14001ed80
jmp 0x1400af90e
mov r14, rsi
jmp 0x1400af7d2
mov r14, qword [rsp + 0x28]
mov ebp, dword [rsp + 0x88]
mov r8, r15
mov dword [rsp + 0x20], 1
mov rdx, r13
lea rcx, str.no_such__s_mode:__s
call fcn.14001ed80
jmp 0x1400af90e
call fcn.1400abe50
test eax, eax
jne 0x1400af9cc
lea ecx, [rbx + 2]
call fcn.14001c4a0
mov qword [rsp + 0x28], rax
test rax, rax
je 0x1400af9cc
mov rdx, rsi
mov r8, rbx
mov rcx, rax
mov rsi, rax
call sub.VCRUNTIME140.dll_memcpy
and r15d, 0xffffffbf
mov word [rsi + rbx], 0
mov dword [rsp + 0x88], r15d
jmp 0x1400af848
mov rbp, qword [rsp + 0x98]
call fcn.1400abe50
test eax, eax
je 0x1400af85e
mov qword [rbp], 0
jmp 0x1400af8eb
cmp dword [reloc.WS2_32.dll_accept], 0
jne 0x1400af86b
xor edi, edi
jmp 0x1400af887
mov ecx, 2
call qword [0x14017ec08]
mov rdi, rax
test rax, rax
je 0x1400af887
mov rcx, rax
call qword [0x14017ec18]
mov rbx, qword [0x140182138]
test rbx, rbx
je 0x1400af8d0
test r12, r12
je 0x1400af8d0
nop dword [rax + rax]
mov r8, qword [rbx + 0x18]
mov rax, r12
sub r8, r12
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400af8c3
inc rax
test ecx, ecx
jne 0x1400af8b0
test edx, edx
je 0x1400af8d0
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1400af8a0
test rdi, rdi
je 0x1400af8de
mov rcx, rdi
call qword [0x14017ec28]
mov qword [rbp], rbx
test rbx, rbx
jne 0x1400af9aa
mov rdx, r12
mov dword [rsp + 0x20], 1
lea rcx, str.no_such_vfs:__s
call fcn.14001ed80
mov r14, qword [rsp + 0x28]
mov ebp, dword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
test r14, r14
je 0x1400af9a6
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x1400af99d
mov rcx, qword [0x140182528]
test rcx, rcx
je 0x1400af93d
call qword [0x14017ec18]
mov rcx, r14
call qword [0x14017ebd0]
mov edx, dword [0x1401823a0]
sub edx, eax
cmp edx, dword [0x1401823c8]
mov dword [0x1401823a0], edx
jle 0x1400af962
mov dword [0x1401823c8], edx
mov eax, dword [0x1401823c4]
dec eax
cmp eax, dword [0x1401823ec]
mov dword [0x1401823c4], eax
jle 0x1400af97e
mov dword [0x1401823ec], eax
mov rcx, r14
call qword [0x14017ebc0]
mov rcx, qword [0x140182528]
test rcx, rcx
je 0x1400af9a6
call qword [0x14017ec28]
xor esi, esi
jmp 0x1400af9b1
mov rcx, r14
call qword [0x14017ebc0]
xor esi, esi
jmp 0x1400af9b1
mov ebp, dword [rsp + 0x88]
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa0]
mov dword [rax], ebp
mov eax, dword [rsp + 0x20]
mov qword [rcx], rsi
jmp 0x1400af9d1
mov eax, 7
mov r14, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x50
pop r15
pop r12
pop rsi
pop rbp
pop rbx
ret