Function at 0x1401416d0
Capabilities:
Parse credit card information

Disassembly:
push rbx
push rdi
push r12
push r13
push r14
sub rsp, 0x60
mov rax, qword [0x1402ba030]
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.1401414d0
test al, al
je 0x140141769
nop word [rax + rax]
movzx ecx, byte [r14 + 1]
mov r8, r14
inc r14
call fcn.1401414d0
test al, al
jne 0x140141720
cmp r14, r10
je 0x140141769
mov rdx, r14
jbe 0x140141746
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.140141e80
test eax, eax
je 0x140141771
jmp 0x140141c5f
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 0x140141c0e
movzx eax, byte [r14 + 1]
inc r14
mov rdi, r14
test al, al
je 0x140141cc1
cmp al, 0x3d
je 0x1401417c0
movzx eax, byte [r14 + 1]
inc r14
test al, al
jne 0x1401417a6
mov eax, 3
jmp 0x140141c47
mov rbx, r14
mov ebp, 0
sub rbx, rdi
jne 0x1401417dd
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], bpl
jne 0x1401417d4
lea rcx, [rbx + 1]
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
test rax, rax
je 0x140141ce0
test rbx, rbx
je 0x14014188e
nop dword [rax]
movzx r8d, byte [rdi]
cmp r8b, 0x25
jne 0x140141870
cmp rbx, 2
jbe 0x14014187a
movzx edx, byte [rdi + 1]
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x140141829
lea eax, [rdx - 0x61]
cmp al, 5
jbe 0x140141829
lea eax, [rdx - 0x41]
cmp al, 5
ja 0x14014187a
movzx ecx, byte [rdi + 2]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x140141842
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x140141842
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x14014187a
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 0x140141c80
mov byte [r15 + rbp], r8b
inc rdi
inc rbp
sub rbx, 1
jne 0x140141800
inc r14
mov byte [r15 + rbp], 0
mov rdi, r14
movzx ecx, byte [r14]
call fcn.1401414d0
test al, al
je 0x1401418c1
nop word [rax + rax]
movzx ecx, byte [r14 + 1]
inc r14
call fcn.1401414d0
test al, al
jne 0x1401418b0
mov rbx, r14
mov ebp, 0
sub rbx, rdi
jne 0x1401418de
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], bpl
jne 0x1401418d5
lea rcx, [rbx + 1]
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r12, rax
test rax, rax
je 0x140141ccb
test rbx, rbx
je 0x14014198e
nop dword [rax]
movzx r8d, byte [rdi]
cmp r8b, 0x25
jne 0x140141970
cmp rbx, 2
jbe 0x14014197a
movzx edx, byte [rdi + 1]
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x140141929
lea eax, [rdx - 0x61]
cmp al, 5
jbe 0x140141929
lea eax, [rdx - 0x41]
cmp al, 5
ja 0x14014197a
movzx ecx, byte [rdi + 2]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x140141942
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x140141942
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x14014197a
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 0x140141c94
mov byte [r12 + rbp], r8b
inc rdi
inc rbp
sub rbx, 1
jne 0x140141900
mov byte [r12 + rbp], 0
mov r9, r15
test r15, r15
je 0x140141caf
cmp byte [r15], 0
lea rdx, str.UIDVALIDITY
je 0x1401419d3
lea rbx, [0x14024e630]
movzx eax, byte [rdx]
test al, al
je 0x1401419d3
movzx ecx, byte [r15]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x140141a12
inc r15
inc rdx
cmp byte [r15], 0
jne 0x1401419b3
xor ecx, ecx
lea rbx, [0x14024e630]
cmp byte [r15], cl
sete cl
xor eax, eax
cmp byte [rdx], al
setne al
xor ecx, eax
test ecx, ecx
je 0x140141a16
cmp qword [r13 + 0x10], 0
jne 0x140141a16
test rbp, rbp
je 0x140141a09
cmp byte [r12 + rbp - 1], 0x2f
jne 0x140141a09
mov byte [r12 + rbp - 1], 0
mov qword [r13 + 0x10], r12
jmp 0x140141bee
xor ecx, ecx
jmp 0x1401419eb
test r9, r9
je 0x140141caf
cmp byte [r9], 0
lea r8, [0x140294d80]
mov rdx, r9
je 0x140141a4f
nop
movzx eax, byte [r8]
test al, al
je 0x140141a4f
movzx ecx, byte [rdx]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x140141a87
inc rdx
inc r8
cmp byte [rdx], 0
jne 0x140141a30
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 0x140141a8b
cmp qword [r13 + 0x18], 0
jne 0x140141a8b
test rbp, rbp
je 0x140141a7e
cmp byte [r12 + rbp - 1], 0x2f
jne 0x140141a7e
mov byte [r12 + rbp - 1], 0
mov qword [r13 + 0x18], r12
jmp 0x140141bee
xor ecx, ecx
jmp 0x140141a60
test r9, r9
je 0x140141caf
cmp byte [r9], 0
lea r8, str.MAILINDEX
mov rdx, r9
je 0x140141ac3
movzx eax, byte [r8]
test al, al
je 0x140141ac3
movzx ecx, byte [rdx]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x140141afb
inc rdx
inc r8
cmp byte [rdx], 0
jne 0x140141aa4
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 0x140141aff
cmp qword [r13 + 0x20], 0
jne 0x140141aff
test rbp, rbp
je 0x140141af2
cmp byte [r12 + rbp - 1], 0x2f
jne 0x140141af2
mov byte [r12 + rbp - 1], 0
mov qword [r13 + 0x20], r12
jmp 0x140141bee
xor ecx, ecx
jmp 0x140141ad4
test r9, r9
je 0x140141caf
cmp byte [r9], 0
lea r8, str.SECTION
mov rdx, r9
je 0x140141b37
movzx eax, byte [r8]
test al, al
je 0x140141b37
movzx ecx, byte [rdx]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x140141b6f
inc rdx
inc r8
cmp byte [rdx], 0
jne 0x140141b18
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 0x140141b73
cmp qword [r13 + 0x28], 0
jne 0x140141b73
test rbp, rbp
je 0x140141b66
cmp byte [r12 + rbp - 1], 0x2f
jne 0x140141b66
mov byte [r12 + rbp - 1], 0
mov qword [r13 + 0x28], r12
jmp 0x140141bee
xor ecx, ecx
jmp 0x140141b48
test r9, r9
je 0x140141caf
cmp byte [r9], 0
lea r8, str.PARTIAL
mov rdx, r9
je 0x140141bb3
nop dword [rax]
movzx eax, byte [r8]
test al, al
je 0x140141bb3
movzx ecx, byte [rdx]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x140141c79
inc rdx
inc r8
cmp byte [rdx], 0
jne 0x140141b90
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 0x140141caf
cmp qword [r13 + 0x30], 0
jne 0x140141caf
test rbp, rbp
je 0x140141bea
cmp byte [r12 + rbp - 1], 0x2f
jne 0x140141bea
mov byte [r12 + rbp - 1], 0
mov qword [r13 + 0x30], r12
mov rcx, r9
call qword [0x1402ba0c8]
xor ecx, ecx
call qword [0x1402ba0c8]
cmp byte [r14], 0x3b
je 0x140141793
mov rdi, qword [rsp + 0x30]
cmp qword [r13 + 8], 0
je 0x140141c3c
cmp qword [r13 + 0x18], 0
jne 0x140141c3c
cmp qword [r13 + 0x20], 0
jne 0x140141c3c
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.1401526c0
add rsp, 0x60
pop r14
pop r13
pop r12
pop rdi
pop rbx
ret
xor ecx, ecx
jmp 0x140141bc4
mov rcx, r15
call qword [0x1402ba0c8]
mov r12d, 3
mov eax, r12d
jmp 0x140141c47
mov rcx, r12
call qword [0x1402ba0c8]
mov rcx, r15
mov ebx, 3
call qword [0x1402ba0c8]
mov eax, ebx
jmp 0x140141c47
mov rcx, r9
call qword [0x1402ba0c8]
mov rcx, r12
call qword [0x1402ba0c8]
mov eax, 3
jmp 0x140141c47
mov rcx, r15
mov ebx, reloc.WLDAP32.dll_Ordinal_27
call qword [0x1402ba0c8]
mov eax, ebx
jmp 0x140141c47
mov r12d, reloc.WLDAP32.dll_Ordinal_27
mov eax, r12d
jmp 0x140141c47