Function at 0x140003880
Capabilities:
Parse credit card information

Disassembly:
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov edi, ecx
mov ecx, 0x65
xor r13d, r13d
mov r14, r8
or r8, 0xffffffffffffffff
mov r15, rdx
mov qword [rbp - 0x10], rcx
mov eax, 2
mov r12d, r13d
mov word [rbp - 0x28], r8w
mov qword [rbp - 0x18], r13
mul rcx
cmovo rax, r8
mov rcx, rax
call fcn.140014ee8
lea ecx, [r13 + 4]
mov word [rax], r13w
mov qword [rbp - 0x20], rax
call fcn.140014ee8
test rax, rax
je 0x14002e5a0
mov rsi, rax
mov dword [rax], 1
mov qword [rbp - 8], rax
mov qword [rsp + 0xa0], rbx
cmp qword [r14 + 0x10], r12
jbe 0x140003942
mov rbx, r13
nop word [rax + rax]
mov rax, qword [r14 + 8]
mov rdi, qword [rax + rbx*8]
test rdi, rdi
je 0x140003933
movzx eax, word [rdi + 8]
cmp ax, 0x3f
jle 0x140003a1a
mov rcx, rdi
call fcn.140014a90
inc rbx
cmp rbx, qword [r14 + 0x10]
jb 0x140003910
mov edi, dword [rbp + 0x40]
xor r13d, r13d
mov qword [r14 + 0x10], r13
cmp word [r15], r12w
je 0x140003ac2
lea rsi, [0x140000000]
nop word [rax + rax]
mov eax, r12d
movzx ecx, word [r15 + rax*2]
cmp cx, 0x20
je 0x140003a5a
cmp cx, 9
je 0x140003a5a
mov eax, r12d
movzx ebx, word [r15 + rax*2]
test bx, bx
je 0x140003aa7
mov dword [rbp + 0x48], r12d
mov word [rbp - 0x26], r12w
cmp bx, 0x30
jae 0x140003a62
cmp bx, 0x2e
je 0x140003a6c
cmp bx, 0x41
jae 0x140003bd9
cmp bx, 0x61
jae 0x140003e0b
cmp bx, 0x5f
je 0x140003be3
movzx eax, bx
cmp eax, 0x24
je 0x140003b33
cmp eax, 0x3d
je 0x140003c06
cmp eax, 0x28
je 0x140003b11
cmp eax, 0x29
je 0x140003c34
cmp eax, 0x22
je case.0x140003a18.28
sub eax, 0x1a
cmp eax, 0x44
ja case.0x140003a18.40
cdqe
movzx eax, byte [rsi + rax + 0x3ebc]
mov ecx, dword [rsi + rax*4 + 0x3e80]
add rcx, rsi
jmp rcx
cmp ax, 0x30
jl 0x14000392b
mov r13, qword [rdi]
test r13, r13
je 0x14000392b
mov rax, qword [r13 + 0x18]
dec dword [rax]
mov rax, qword [r13 + 0x18]
cmp dword [rax], r12d
je 0x14002e5ac
mov rcx, r13
call fcn.140014a90
jmp 0x14000392b
mov edx, 0x40
jmp 0x140003b16
inc r12d
jmp 0x140003960
cmp bx, 0x39
ja 0x1400039a0
lea r9, [rbp - 0x20]
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x48]
mov rcx, r15
call fcn.1400040f0
cmp al, 1
jne 0x14002e5c4
lea rdx, [rbp - 0x30]
mov rcx, r14
call fcn.140003760
mov r12d, dword [rbp + 0x48]
mov eax, r12d
cmp word [r15 + rax*2], 0
jne 0x140003960
movzx r11d, word [rbp - 0x28]
cmp r11w, 0x30
jl 0x140003abe
cmp r11w, 0x3f
jle 0x140003d47
mov rsi, qword [rbp - 8]
mov r11d, 0x7f
lea rdx, [rbp - 0x30]
mov rcx, r14
mov dword [rbp - 0x30], r13d
mov word [rbp - 0x26], r12w
mov word [rbp - 0x28], r11w
call fcn.140003760
dec dword [rsi]
jne 0x140003af7
mov rcx, qword [rbp - 0x20]
call fcn.140014a90
mov rcx, rsi
call fcn.140014a90
xor eax, eax
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edx, 0x47
lea rcx, [rbp - 0x30]
call fcn.140003540
lea rdx, [rbp - 0x30]
mov rcx, r14
call fcn.140003760
inc r12d
jmp 0x140003a98
lea rcx, [rbp - 0x20]
inc r12d
call fcn.1400034c0
mov r11d, r12d
movzx edx, word [r15 + r12*2]
cmp dx, 0x5a
ja 0x140003b53
cmp dx, 0x41
jae 0x140003b5f
cmp dx, 0x61
jb 0x140003b6d
cmp dx, 0x7a
ja 0x140003b6d
lea rcx, [rbp - 0x20]
call fcn.140003f10
inc r12d
jmp 0x140003b42
cmp dx, 0x30
jae 0x140003d16
cmp dx, 0x5f
je 0x140003b5f
cmp qword [rbp - 0x18], 0
je 0x14002e763
lea rcx, [rbp - 0x20]
call fcn.1400034a0
mov edx, dword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.USER32.dll_CharUpperBuffW]
movzx r11d, word [rbp - 0x28]
cmp r11w, 0x30
jge 0x140003d69
mov eax, gethostbyname
mov qword [rbp - 0x30], r13
mov word [rbp - 0x28], ax
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x30]
call fcn.140004320
lea rdx, [rbp - 0x30]
mov rcx, r14
call fcn.140003760
jmp 0x140003a98
cmp bx, 0x5a
ja 0x1400039b4
lea r9, [rbp - 0x20]
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x48]
mov rcx, r15
call fcn.1400035e0
cmp dword [rbp - 0x30], 0xffffffff
jne 0x140003a88
jmp 0x14002e7be
inc r12d
lea rcx, [rbp - 0x30]
cmp word [r15 + r12*2], 0x3d
je 0x14002e739
mov edx, 0x41
call fcn.140003540
lea rdx, [rbp - 0x30]
mov rcx, r14
call fcn.140003760
jmp 0x140003a98
mov edx, 0x48
jmp 0x140003b16
lea r9, [rbp - 0x20]
lea r8, [rbp + 0x48]
mov rdx, r15
mov ecx, edi
call fcn.140004010
lea rcx, [rbp - 0x30]
test eax, eax
jne 0x14002e78c
lea edx, [rax + 0x36]
call fcn.140003540
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x30]
call fcn.140004320
jmp 0x140003a88
lea rcx, [rbp - 0x30]
mov edx, reloc.OLEAUT32.dll_VarR8FromUI1
call fcn.140003540
inc r12d
cmp word [r15 + r12*2], 0x3d
jne 0x140003bc8
lea rcx, [rbp - 0x30]
mov edx, 0x56
inc r12d
call fcn.140003540
lea rdx, [rbp - 0x30]
mov rcx, r14
call fcn.140003760
jmp 0x140003a98
lea rcx, [rbp - 0x30]
mov edx, VarR8FromUI1
call fcn.140003540
inc r12d
cmp word [r15 + r12*2], 0x3d
jne 0x140003bc8
lea rcx, [rbp - 0x30]
mov edx, 0x52
inc r12d
call fcn.140003540
lea rdx, [rbp - 0x30]
mov rcx, r14
call fcn.140003760
jmp 0x140003a98
lea rcx, [rbp - 0x30]
mov edx, VarR8FromUI1
call fcn.140003540
inc r12d
cmp word [r15 + r12*2], 0x3d
jne 0x140003bc8
jmp 0x14002e6bd
cmp dx, 0x39
jbe 0x140003b5f
jmp 0x140003b77
lea rcx, [rbp - 0x30]
mov edx, VarR8FromUI1
call fcn.140003540
inc r12d
cmp word [r15 + r12*2], 0x3d
jne 0x140003bc8
jmp 0x14002e69c
mov rbx, qword [rbp - 0x30]
test rbx, rbx
je 0x140003d60
mov rcx, rbx
call fcn.140002530
mov rcx, rbx
call fcn.140014a90
mov qword [rbp - 0x30], r13
jmp 0x140003abe
cmp r11w, 0x3f
jg 0x140003bae
jmp 0x14002e74b
mov edx, 0x4e
jmp 0x140003b16
mov edx, 0x4f
jmp 0x140003b16
lea rcx, [rbp - 0x20]
inc r12d
call fcn.1400034c0
mov r11d, r12d
movzx edx, word [r15 + r12*2]
cmp dx, 0x5a
ja 0x140003dad
cmp dx, 0x41
jae 0x140003db9
cmp dx, 0x61
jb 0x140003dc7
cmp dx, 0x7a
ja 0x140003dc7
lea rcx, [rbp - 0x20]
call fcn.140003f10
inc r12d
jmp 0x140003d9c
cmp dx, 0x30
jae 0x14002e659
cmp dx, 0x5f
je 0x140003db9
cmp qword [rbp - 0x18], 0
je 0x14002e763
lea rcx, [rbp - 0x20]
call fcn.1400034a0
mov edx, dword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.USER32.dll_CharUpperBuffW]
lea rcx, [rbp - 0x30]
mov edx, gethostbyname
call fcn.140003540
jmp 0x140003bbb
cmp bx, 0x7a
jbe 0x140003be3
jmp 0x1400039be
inc r12d
movzx ecx, word [r15 + r12*2]
sub ecx, 0x3d
je 0x14002e6e6
dec ecx
lea rcx, [rbp - 0x30]
je 0x14002e6d4
mov edx, 0x43
call fcn.140003540
lea rdx, [rbp - 0x30]
mov rcx, r14
call fcn.140003760
jmp 0x140003a98
inc r12d
lea rcx, [rbp - 0x30]
cmp word [r15 + r12*2], 0x3d
je 0x14002e6fc
mov edx, 0x42
call fcn.140003540
lea rdx, [rbp - 0x30]
mov rcx, r14
call fcn.140003760
jmp 0x140003a98
mov rsi, r13
mov qword [rbp - 8], r13
jmp 0x1400038f5
mov rcx, qword [r13]
call fcn.140014a90
mov rcx, qword [r13 + 0x18]
call fcn.140014a90
nop
jmp 0x140003a43
mov r12d, dword [rbp + 0x48]
cmp bx, 0x2e
jne 0x1400039aa
lea rcx, [rbp - 0x20]
inc r12d
call fcn.1400034c0
mov r11d, r12d
movzx edx, word [r15 + r12*2]
cmp dx, 0x41
jb 0x14002e5fa
cmp dx, 0x5a
jbe 0x14002e64b
cmp dx, 0x61
jb 0x14002e60e
cmp dx, 0x7a
jbe 0x14002e64b
cmp dx, 0x30
jb 0x14002e622
cmp dx, 0x39
jbe 0x14002e64b
cmp dx, 0x5f
je 0x14002e64b
cmp qword [rbp - 0x18], 0
je 0x14002e763
lea rcx, [rbp - 0x30]
mov edx, gethostname
call fcn.140003540
nop
jmp 0x140003bbb
lea rcx, [rbp - 0x20]
call fcn.140003f10
inc r12d
jmp 0x14002e5e1
cmp dx, 0x39
jbe 0x140003db9
jmp 0x140003dd1
lea rcx, [rbp - 0x30]
mov edx, VarR8FromUI1
call fcn.140003540
inc r12d
cmp word [r15 + r12*2], 0x3d
jne 0x140003bc8
lea rcx, [rbp - 0x30]
mov edx, 0x53
inc r12d
call fcn.140003540
nop
jmp 0x140003bc8
lea rcx, [rbp - 0x30]
mov edx, 0x54
inc r12d
call fcn.140003540
nop
jmp 0x140003bc8
mov edx, 0x51
jmp 0x140003b16
lea rcx, [rbp - 0x30]
mov edx, 0x55
inc r12d
call fcn.140003540
nop
jmp 0x140003bc8
mov edx, 0x44
call fcn.140003540
inc r12d
jmp 0x140003bc8
lea rcx, [rbp - 0x30]
mov edx, 0x46
call fcn.140003540
inc r12d
jmp 0x140003bc8
mov edx, 0x45
call fcn.140003540
inc r12d
jmp 0x140003bc8
test r12d, r12d
jne case.0x140003a18.40
cmp word [r15 + 2], r12w
jne case.0x140003a18.40
cmp edi, dword [0x1400c2380]
jl case.0x140003a18.40
mov r12d, 1
jmp 0x140003a98
mov edx, 0x50
call fcn.140003540
inc r12d
jmp 0x140003bc8
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x140003bae
call fcn.14004fc60
nop
jmp 0x140003bae
lea r8d, [r12 - 1]
mov edx, 0x138b
mov ecx, edi
call fcn.14006e070
jmp 0x14002e7a2
mov r8d, r12d
mov edx, 0x1388
mov ecx, edi
call fcn.14006e070
lea rcx, [rbp - 0x30]
mov edx, 0x7f
call fcn.140003540
lea rdx, [rbp - 0x30]
mov rcx, r14
call fcn.140003760
lea rcx, [rbp - 0x20]
call fcn.140002530
lea rcx, [rbp - 0x30]
call fcn.140055730
mov eax, 1
jmp 0x140003af9
mov r8d, dword [rbp + 0x48]
mov edx, 0x138c
mov ecx, edi
call fcn.14006e070
lea rcx, [rbp - 0x20]
call fcn.140002530
lea rcx, [rbp - 0x30]
call fcn.140055730
mov eax, 1
jmp 0x140003af9