Function at 0x14013c460
Capabilities:
Parse credit card information

Disassembly:
push rbx
push rdi
push r12
push r13
push r14
sub rsp, 0x60
mov rax, qword [0x1402b3030]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov r10, qword [rcx + 0x11a8]
mov rdi, rcx
mov r13, qword [rcx + 0x1b0]
inc r10
mov qword [rsp + 0x30], rcx
mov r14, r10
movzx ecx, byte [r10]
call fcn.14013c260
test al, al
je 0x14013c4f9
nop word [rax + rax]
movzx ecx, byte [r14 + 1]
mov r8, r14
inc r14
call fcn.14013c260
test al, al
jne 0x14013c4b0
cmp r14, r10
je 0x14013c4f9
mov rdx, r14
jbe 0x14013c4d6
cmp byte [r8], 0x2f
cmove rdx, r8
lea r8, [r13 + 8]
mov dword [rsp + 0x20], 3
sub rdx, r10
xor r9d, r9d
mov rcx, r10
call fcn.14013cc10
test eax, eax
je 0x14013c501
jmp 0x14013c9ef
mov qword [r13 + 8], 0
cmp byte [r14], 0x3b
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], r15
jne 0x14013c99e
movzx eax, byte [r14 + 1]
inc r14
mov rdi, r14
test al, al
je 0x14013ca51
cmp al, 0x3d
je 0x14013c550
movzx eax, byte [r14 + 1]
inc r14
test al, al
jne 0x14013c536
mov eax, 3
jmp 0x14013c9d7
mov rbx, r14
mov ebp, 0
sub rbx, rdi
jne 0x14013c56d
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], bpl
jne 0x14013c564
lea rcx, [rbx + 1]
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
test rax, rax
je 0x14013ca70
test rbx, rbx
je 0x14013c61e
nop dword [rax]
movzx r8d, byte [rdi]
cmp r8b, 0x25
jne 0x14013c600
cmp rbx, 2
jbe 0x14013c60a
movzx edx, byte [rdi + 1]
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x14013c5b9
lea eax, [rdx - 0x61]
cmp al, 5
jbe 0x14013c5b9
lea eax, [rdx - 0x41]
cmp al, 5
ja 0x14013c60a
movzx ecx, byte [rdi + 2]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x14013c5d2
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x14013c5d2
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x14013c60a
mov byte [rsp + 0x48], dl
mov r8d, reloc.WS2_32.dll_recv
mov byte [rsp + 0x49], cl
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4a], 0
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoul]
add rdi, 2
mov r8d, eax
sub rbx, 2
cmp r8b, 0x20
jb 0x14013ca10
mov byte [r15 + rbp], r8b
inc rdi
inc rbp
sub rbx, 1
jne 0x14013c590
inc r14
mov byte [r15 + rbp], 0
mov rdi, r14
movzx ecx, byte [r14]
call fcn.14013c260
test al, al
je 0x14013c651
nop word [rax + rax]
movzx ecx, byte [r14 + 1]
inc r14
call fcn.14013c260
test al, al
jne 0x14013c640
mov rbx, r14
mov ebp, 0
sub rbx, rdi
jne 0x14013c66e
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], bpl
jne 0x14013c665
lea rcx, [rbx + 1]
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r12, rax
test rax, rax
je 0x14013ca5b
test rbx, rbx
je 0x14013c71e
nop dword [rax]
movzx r8d, byte [rdi]
cmp r8b, 0x25
jne 0x14013c700
cmp rbx, 2
jbe 0x14013c70a
movzx edx, byte [rdi + 1]
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x14013c6b9
lea eax, [rdx - 0x61]
cmp al, 5
jbe 0x14013c6b9
lea eax, [rdx - 0x41]
cmp al, 5
ja 0x14013c70a
movzx ecx, byte [rdi + 2]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x14013c6d2
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x14013c6d2
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x14013c70a
mov byte [rsp + 0x4c], dl
mov r8d, reloc.WS2_32.dll_recv
mov byte [rsp + 0x4d], cl
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x4c]
mov byte [rsp + 0x4e], 0
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoul]
add rdi, 2
mov r8d, eax
sub rbx, 2
cmp r8b, 0x20
jb 0x14013ca24
mov byte [r12 + rbp], r8b
inc rdi
inc rbp
sub rbx, 1
jne 0x14013c690
mov byte [r12 + rbp], 0
mov r9, r15
test r15, r15
je 0x14013ca3f
cmp byte [r15], 0
lea rdx, str.UIDVALIDITY
je 0x14013c763
lea rbx, [0x140248570]
movzx eax, byte [rdx]
test al, al
je 0x14013c763
movzx ecx, byte [r15]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x14013c7a2
inc r15
inc rdx
cmp byte [r15], 0
jne 0x14013c743
xor ecx, ecx
lea rbx, [0x140248570]
cmp byte [r15], cl
sete cl
xor eax, eax
cmp byte [rdx], al
setne al
xor ecx, eax
test ecx, ecx
je 0x14013c7a6
cmp qword [r13 + 0x10], 0
jne 0x14013c7a6
test rbp, rbp
je 0x14013c799
cmp byte [r12 + rbp - 1], 0x2f
jne 0x14013c799
mov byte [r12 + rbp - 1], 0
mov qword [r13 + 0x10], r12
jmp 0x14013c97e
xor ecx, ecx
jmp 0x14013c77b
test r9, r9
je 0x14013ca3f
cmp byte [r9], 0
lea r8, [0x14028ec18]
mov rdx, r9
je 0x14013c7df
nop
movzx eax, byte [r8]
test al, al
je 0x14013c7df
movzx ecx, byte [rdx]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x14013c817
inc rdx
inc r8
cmp byte [rdx], 0
jne 0x14013c7c0
xor ecx, ecx
cmp byte [rdx], cl
sete cl
xor eax, eax
cmp byte [r8], al
setne al
xor ecx, eax
test ecx, ecx
je 0x14013c81b
cmp qword [r13 + 0x18], 0
jne 0x14013c81b
test rbp, rbp
je 0x14013c80e
cmp byte [r12 + rbp - 1], 0x2f
jne 0x14013c80e
mov byte [r12 + rbp - 1], 0
mov qword [r13 + 0x18], r12
jmp 0x14013c97e
xor ecx, ecx
jmp 0x14013c7f0
test r9, r9
je 0x14013ca3f
cmp byte [r9], 0
lea r8, str.MAILINDEX
mov rdx, r9
je 0x14013c853
movzx eax, byte [r8]
test al, al
je 0x14013c853
movzx ecx, byte [rdx]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x14013c88b
inc rdx
inc r8
cmp byte [rdx], 0
jne 0x14013c834
xor ecx, ecx
cmp byte [rdx], cl
sete cl
xor eax, eax
cmp byte [r8], al
setne al
xor ecx, eax
test ecx, ecx
je 0x14013c88f
cmp qword [r13 + 0x20], 0
jne 0x14013c88f
test rbp, rbp
je 0x14013c882
cmp byte [r12 + rbp - 1], 0x2f
jne 0x14013c882
mov byte [r12 + rbp - 1], 0
mov qword [r13 + 0x20], r12
jmp 0x14013c97e
xor ecx, ecx
jmp 0x14013c864
test r9, r9
je 0x14013ca3f
cmp byte [r9], 0
lea r8, str.SECTION
mov rdx, r9
je 0x14013c8c7
movzx eax, byte [r8]
test al, al
je 0x14013c8c7
movzx ecx, byte [rdx]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x14013c8ff
inc rdx
inc r8
cmp byte [rdx], 0
jne 0x14013c8a8
xor ecx, ecx
cmp byte [rdx], cl
sete cl
xor eax, eax
cmp byte [r8], al
setne al
xor ecx, eax
test ecx, ecx
je 0x14013c903
cmp qword [r13 + 0x28], 0
jne 0x14013c903
test rbp, rbp
je 0x14013c8f6
cmp byte [r12 + rbp - 1], 0x2f
jne 0x14013c8f6
mov byte [r12 + rbp - 1], 0
mov qword [r13 + 0x28], r12
jmp 0x14013c97e
xor ecx, ecx
jmp 0x14013c8d8
test r9, r9
je 0x14013ca3f
cmp byte [r9], 0
lea r8, str.PARTIAL
mov rdx, r9
je 0x14013c943
nop dword [rax]
movzx eax, byte [r8]
test al, al
je 0x14013c943
movzx ecx, byte [rdx]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x14013ca09
inc rdx
inc r8
cmp byte [rdx], 0
jne 0x14013c920
xor ecx, ecx
cmp byte [r8], cl
setne cl
xor eax, eax
cmp byte [rdx], al
sete al
xor ecx, eax
test ecx, ecx
je 0x14013ca3f
cmp qword [r13 + 0x30], 0
jne 0x14013ca3f
test rbp, rbp
je 0x14013c97a
cmp byte [r12 + rbp - 1], 0x2f
jne 0x14013c97a
mov byte [r12 + rbp - 1], 0
mov qword [r13 + 0x30], r12
mov rcx, r9
call qword [0x1402b30c8]
xor ecx, ecx
call qword [0x1402b30c8]
cmp byte [r14], 0x3b
je 0x14013c523
mov rdi, qword [rsp + 0x30]
cmp qword [r13 + 8], 0
je 0x14013c9cc
cmp qword [r13 + 0x18], 0
jne 0x14013c9cc
cmp qword [r13 + 0x20], 0
jne 0x14013c9cc
mov rcx, qword [rdi + 0x1170]
lea r8, [r13 + 0x38]
mov edx, 8
lea r9d, [rdx + 0x38]
call sym.CheraxLoader.exe_curl_url_get
movzx eax, byte [r14]
neg al
sbb eax, eax
and eax, 3
mov rsi, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x98]
mov r15, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14014d450
add rsp, 0x60
pop r14
pop r13
pop r12
pop rdi
pop rbx
ret
xor ecx, ecx
jmp 0x14013c954
mov rcx, r15
call qword [0x1402b30c8]
mov r12d, 3
mov eax, r12d
jmp 0x14013c9d7
mov rcx, r12
call qword [0x1402b30c8]
mov rcx, r15
mov ebx, 3
call qword [0x1402b30c8]
mov eax, ebx
jmp 0x14013c9d7
mov rcx, r9
call qword [0x1402b30c8]
mov rcx, r12
call qword [0x1402b30c8]
mov eax, 3
jmp 0x14013c9d7
mov rcx, r15
mov ebx, reloc.WLDAP32.dll_Ordinal_27
call qword [0x1402b30c8]
mov eax, ebx
jmp 0x14013c9d7
mov r12d, reloc.WLDAP32.dll_Ordinal_27
mov eax, r12d
jmp 0x14013c9d7