Function at 0x140052188
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
movabs r15, 0x76a88106ba5d49ca
movabs rdi, 0x76a8810652247931
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x8c], edx
lea r13, [rdi - 0x1f3d092c]
lea r8, [r15 - 0x11029ab0]
lea r10, [rdi - 0x18372a3f]
lea r11, [r15 + 0x30fff792]
mov qword [rsp + 0x40], r11
lea r14, [rdi - 0xa9a11b3]
lea rbx, [rdi + 0x151cc956]
cmp edx, 0x3a
mov rax, r14
cmove rax, rbx
mov qword [rsp + 0xc8], rax
lea rax, [rdi - 0x2aa8cafb]
lea r9, [r15 + 0x1551c728]
cmp edx, 0x3d
mov rcx, r10
cmove rcx, r11
mov qword [rsp + 0xc0], rcx
mov rcx, r9
mov qword [rsp + 0xd0], rax
cmove rcx, rax
mov qword [rsp + 0xb8], rcx
xor eax, eax
mov dword [rsp + 0x84], edx
cmp edx, 0x2e
mov rcx, r13
cmove rcx, r8
mov rdx, r8
mov qword [rsp + 0xb0], rcx
mov ecx, 0xe
cmove ecx, eax
mov dword [rsp + 0x88], ecx
lea r12, [r15 + 0xc900ccd]
lea rsi, [rdi + 0x204c690c]
lea r11, [rdi - 0x2f889c5a]
lea rcx, [rdi - 0x389c40f7]
mov qword [rsp + 0xa0], rcx
lea rcx, [rdi - 0x4c270a8a]
mov qword [rsp + 0x90], rcx
lea rcx, [rdi + 0x1e2959fc]
mov qword [rsp + 0x78], rcx
lea rbp, [rdi + 0x1a045013]
lea rcx, [rdi + 0x2db0de7a]
mov qword [rsp + 0x98], rcx
mov dword [rsp + 0x30], eax
mov r8, r10
mov qword [rsp + 0x58], r10
mov r10, qword [rsp + 0x40]
mov qword [rsp + 0xa8], r9
mov r9, rdx
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x48], rdx
cmp r12, rsi
jge 0x140052329
cmp r12, r14
jge 0x1400523a4
cmp r12, r13
jge 0x14005244e
cmp r12, r11
jge 0x14005256c
cmp r12, qword [rsp + 0xa0]
jge 0x1400526aa
cmp r12, qword [rsp + 0x90]
cmove r12, qword [rsp + 0x78]
mov ecx, 1
mov edx, dword [rsp + 0x34]
cmove edx, ecx
mov dword [rsp + 0x34], edx
jmp 0x1400522db
lea rcx, [r15 + 0x5ad8a37]
cmp r12, rcx
jae 0x1400523d7
cmp r12, r9
jae 0x14005246f
lea rcx, [r15 - 0x337036a5]
cmp r12, rcx
jae 0x140052586
cmp r12, qword [rsp + 0x98]
jae 0x1400526d0
cmp r12, rsi
jne 0x1400522db
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rcx + 0x48]
add rcx, 0x40
movzx r8d, word [rsp + 0x3e]
xor r9d, r9d
call fcn.140050b74
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
lea r12, [rdi - 0x1ee9c9e3]
jmp 0x1400522db
cmp r12, rbx
jae 0x1400524b8
cmp r12, rdi
jae 0x1400525a4
lea rcx, [rdi - 0x2ff65e0]
cmp r12, rcx
jae 0x1400526de
cmp r12, r14
cmove r12, qword [rsp + 0xb8]
jmp 0x1400522db
lea rdx, [r15 + 0x1e67baf0]
cmp r12, rdx
jae 0x140052532
cmp r12, qword [rsp + 0xa8]
jae 0x1400525d5
lea rdx, [r15 + 0xc900ccd]
cmp r12, rdx
jae 0x140052713
cmp r12, rcx
jne 0x1400522db
mov rcx, qword [rsp + 0x28]
add rcx, 0x40
mov rax, qword [rsp + 0x28]
mov r8, qword [rax]
mov rdx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x70]
call fcn.1400528fe
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
lea r12, [r15 + 0x17eba1ed]
jmp 0x1400522db
cmp r12, r8
jae 0x1400525fb
lea rcx, [rdi - 0x1ee9c9e3]
cmp r12, rcx
jae 0x140052738
cmp r12, r13
jmp 0x1400526a1
lea rcx, [r15 - 0x78617a9]
cmp r12, rcx
jae 0x14005262e
lea rcx, [r15 - 0x9b84e16]
cmp r12, rcx
jae 0x14005274b
cmp r12, r9
jne 0x1400522db
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x60]
cmp rdx, qword [rax]
lea rax, [r15 - 0x337036a5]
cmove rcx, rax
mov r12, rcx
jmp 0x1400522db
cmp r12, rbp
jae 0x140052655
lea rcx, [rdi + 0x193c36a3]
cmp r12, rcx
jae 0x14005279a
cmp r12, rbx
jne 0x1400522db
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + 0x68]
mov rax, qword [rsp + 0x28]
mov r9d, dword [rax + 0x70]
shr r9d, 8
and r9d, 1
mov rax, qword [rsp + 0x28]
mov r8, qword [rax]
mov rdx, qword [rsp + 0x60]
call fcn.1400503b2
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
lea r12, [rdi + 0xadc2d63]
mov word [rsp + 0x3e], ax
test ax, ax
cmovne r12, rsi
jmp 0x1400522db
cmp r12, r10
jae 0x14005266e
lea rcx, [r15 + 0x2a46f880]
cmp r12, rcx
jae 0x1400527a5
cmp r12, rdx
jne 0x1400522db
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x7c], 0xffffffff
setne al
mov dword [rsp + 0x30], eax
mov r12, rdi
jmp 0x1400522db
cmp r12, qword [rsp + 0xd0]
jae 0x1400527bd
cmp r12, r11
cmove r12, r13
jmp 0x1400522db
lea rdx, [r15 - 0x1fc897f0]
cmp r12, rdx
jae 0x1400527f2
cmp r12, rcx
jne 0x1400522db
jmp 0x1400528f0
lea rcx, [rdi + 0xadc2d63]
cmp r12, rcx
jae 0x140052800
lea rcx, [rdi - 0x2ff65e0]
test byte [rsp + 0x30], 1
cmove rcx, qword [rsp + 0xa0]
cmp r12, rdi
cmove r12, rcx
jmp 0x1400522db
lea rcx, [r15 + 0x17eba1ed]
cmp r12, rcx
jae 0x1400526a1
cmp r12, qword [rsp + 0xa8]
cmove r12, qword [rsp + 0xb0]
jmp 0x1400522db
lea rcx, [rdi - 0x152a8ce2]
cmp r12, rcx
jae 0x14005280b
lea rcx, [r15 + 0x2a46f880]
cmp r12, r8
cmove r12, rcx
mov ecx, dword [rsp + 0x38]
cmove ecx, dword [rsp + 0x88]
mov dword [rsp + 0x38], ecx
jmp 0x1400522db
cmp r12, r15
jae 0x140052823
cmp r12, rcx
jne 0x1400522db
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x7c], 0x3d
lea r12, [rdi - 0x152a8ce2]
jmp 0x140052891
cmp r12, qword [rsp + 0x78]
jae 0x140052836
cmp r12, rbp
jne 0x1400522db
jmp 0x1400528e2
lea rcx, [r15 + 0x3bc41096]
cmp r12, rcx
jae 0x140052864
lea rcx, [r15 + 0x2a46f880]
cmp r12, r10
cmove r12, rcx
mov ecx, 0
mov edx, dword [rsp + 0x38]
cmove edx, ecx
mov dword [rsp + 0x38], edx
jmp 0x1400522db
cmove r12, r15
jmp 0x1400522db
jne 0x1400522db
mov rax, qword [rsp + 0x28]
mov ecx, dword [rsp + 0x84]
cmp dword [rax + 0x7c], ecx
mov r12, rbp
cmove r12, qword [rsp + 0x98]
jmp 0x1400522db
cmove r12, qword [rsp + 0xc8]
jmp 0x1400522db
jne 0x1400522db
mov rcx, qword [rsp + 0x28]
call fcn.14004cefe
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
inc qword [rsp + 0x70]
lea r12, [r15 + 0x42949a73]
jmp 0x1400522db
jne 0x1400522db
mov ecx, dword [rsp + 0x8c]
lea r12, [r15 - 0x1fc897f0]
cmp ecx, 0x3a
cmove r12, qword [rsp + 0x90]
jmp 0x1400522db
lea rdx, [rdi + 0x193c36a3]
cmp r12, rcx
cmove r12, rdx
jmp 0x1400522db
jne 0x1400522db
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x28]
mov r8, qword [rax]
mov rax, qword [rcx + 0x48]
add rcx, 0x40
add rax, 0x20
mov qword [rsp + 0x20], rax
mov rdx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x70]
call fcn.140052d48
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
mov r12, r11
jmp 0x1400522db
jne 0x1400522db
jmp 0x1400528a2
cmove r12, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x34]
cmove ecx, dword [rsp + 0x38]
mov dword [rsp + 0x34], ecx
jmp 0x1400522db
jne 0x1400522db
mov rcx, qword [rsp + 0x28]
lea r12, [r15 + 0x5ad8a37]
lea rdx, [r15 + 0x3bc41096]
mov r9, rbp
mov rbp, qword [rsp + 0x60]
cmp rbp, qword [rcx]
mov rbp, r9
mov r9, qword [rsp + 0x48]
cmove r12, rdx
jmp 0x1400522db
cmove r12, qword [rsp + 0xc0]
jmp 0x1400522db
jne 0x1400522db
jmp 0x1400528d3
jne 0x1400522db
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x7c], 0x2e
lea r12, [r15 + 0x1e67baf0]
jmp 0x140052891
lea rcx, [rdi - 0x1ee9c9e3]
cmp r12, r15
cmove r12, rcx
jmp 0x1400522db
jne 0x1400522db
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
lea r12, [r15 + 0x42949a73]
mov ecx, dword [rsp + 0x34]
mov dword [rsp + 0x6c], ecx
xor ecx, ecx
mov qword [rsp + 0x70], rcx
jmp 0x1400522db
lea rdx, [r15 + 0x42949a73]
cmp r12, rdx
jae 0x14005287b
cmp r12, rcx
jne 0x1400522db
jmp 0x1400528f0
jne 0x1400522db
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x7c], 0x3a
lea r12, [r15 - 0x78617a9]
cmove r12, rdi
mov dword [rsp + 0x30], 0
jmp 0x1400522db
mov rcx, qword [rsp + 0x28]
call fcn.14004cefe
mov rcx, qword [rsp + 0x28]
mov edx, 0x5d
mov r8d, dword [rsp + 0x6c]
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14004d900
mov rax, qword [rsp + 0x28]
mov ecx, 1
call fcn.1400e3d40
mov rax, qword [rsp + 0x28]
mov ecx, dword [rsp + 0x6c]
call fcn.1400e3d40
mov rax, qword [rsp + 0x28]
xor ecx, ecx
call fcn.1400e3d40
int3