Function at 0x52a980
Capabilities:
Parse credit card information

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x52ad9a
push rbp
mov rbp, rsp
sub rsp, 0x78
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x88], rax
mov byte [rsp + 0x90], bl
mov qword [rsp + 0xc8], r11
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x58], 0
movups xmmword [rsp + 0x60], xmm15
nop word [rax + rax]
cmp rdi, 1
jle 0x52aaa6
lea rdx, [rdi - 1]
test rdx, rdx
ja 0x52a9fd
xor esi, esi
xor r12d, r12d
xor r13d, r13d
jmp 0x52aa3b
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x98], rcx
xor eax, eax
mov rbx, rdx
xor ecx, ecx
mov rdi, rbx
lea rsi, [0x0055e600]
nop dword [rax + rax]
call fcn.0044b4a0
mov rdx, qword [rsp + 0x38]
mov rsi, rax
mov r12, rcx
mov r13, rbx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x70], rsi
lea rbx, [rcx + 1]
mov rax, rsi
mov rcx, rdx
call fcn.00466b60
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x58], rdx
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x68], rdx
mov rax, qword [rsp + 0x88]
movzx ebx, byte [rsp + 0x90]
mov rdi, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0xc8]
cmp qword [rax + 0xc8], 0
jg 0x52aaed
mov ebx, 1
call fcn.00520b20
test al, al
je 0x52aaf5
mov rax, qword [rsp + 0x88]
movzx ebx, byte [rsp + 0x90]
mov rdi, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0xc8]
test rdi, rdi
setne dl
jmp 0x52ab21
xor eax, eax
add rsp, 0x78
pop rbp
ret
movzx ebx, byte [rsp + 0x90]
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0xc8]
mov edx, 1
mov rcx, qword [rax + 0xb0]
mov r12, qword [rax + 0xc0]
cmp rcx, r12
jbe 0x52ad91
mov r13, qword [rax + 0xa8]
movzx r12d, byte [r13 + r12]
cmp r12b, 0x30
jb 0x52ab8a
cmp r12b, 0x39
jbe 0x52ab6c
cmp r12b, 0x41
jb 0x52ab8a
cmp r12b, 0x5a
jbe 0x52ab6c
nop dword [rax]
cmp r12b, 0x61
jb 0x52ab80
cmp r12b, 0x7a
ja 0x52abe0
cmp r12b, 0x25
je 0x52ac3c
jmp 0x52ac0c
cmp r12b, 0x5f
je 0x52ac0c
cmp r12b, 0x2d
je 0x52ac0c
cmp r12b, 0x3b
je 0x52ac0c
cmp r12b, 0x2f
je 0x52ac0c
nop dword [rax]
cmp r12b, 0x3f
je 0x52ac0c
cmp r12b, 0x3a
je 0x52ac0c
cmp r12b, 0x40
je 0x52ac0c
cmp r12b, 0x26
je 0x52ac0c
cmp r12b, 0x3d
je 0x52ac0c
nop
cmp r12b, 0x2b
je 0x52ac0c
cmp r12b, 0x24
je 0x52ac0c
cmp r12b, 0x2c
je 0x52ac0c
cmp r12b, 0x2e
je 0x52ac0c
cmp r12b, 0x21
je 0x52ac0c
nop
cmp r12b, 0x7e
je 0x52ac0c
cmp r12b, 0x2a
je 0x52ac0c
cmp r12b, 0x27
je 0x52ac0c
cmp r12b, 0x28
je 0x52ac0c
cmp r12b, 0x29
je 0x52ac0c
nop
cmp r12b, 0x5b
je 0x52ac0c
cmp r12b, 0x5d
jne 0x52ac36
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
nop dword [rax + rax]
call fcn.00523580
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
jmp 0x52ac53
cmp r12b, 0x25
jne 0x52ac95
mov rcx, r8
mov rdi, r9
mov rsi, r10
lea r8, [rsp + 0x58]
call fcn.0052ae00
test al, al
je 0x52ac8d
mov rax, qword [rsp + 0x88]
cmp qword [rax + 0xc8], 0
jg 0x52aafd
mov ebx, 1
call fcn.00520b20
test al, al
je 0x52ac85
mov rax, qword [rsp + 0x88]
nop
jmp 0x52aafd
xor eax, eax
add rsp, 0x78
pop rbp
ret
xor eax, eax
add rsp, 0x78
pop rbp
ret
test dl, dl
je 0x52ace1
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x58]
mov qword [r11 + 8], rcx
mov qword [r11 + 0x10], rdx
cmp dword [0x00748970], 0
je 0x52acd2
mov rax, r11
nop dword [rax]
call fcn.00465e40
mov qword [r11], rbx
mov rcx, qword [rax]
mov qword [r11 + 8], rcx
mov r11, rax
mov qword [r11], rbx
mov eax, 1
add rsp, 0x78
pop rbp
nop
ret
movzx ecx, bl
nop
mov qword [rax], 3
test rcx, rcx
mov ecx, 0x13
mov edx, 0x1e
cmovne rcx, rdx
mov qword [rax + 0x48], rcx
lea rcx, [0x005965bf]
lea rdx, [0x0059a5fc]
cmovne rcx, rdx
cmp dword [0x00748970], 0
je 0x52ad30
nop dword [rax]
call fcn.00465e40
mov qword [r11], rcx
mov rdx, qword [rax + 0x40]
mov qword [r11 + 8], rdx
mov qword [rax + 0x40], rcx
mov qword [rax + 0x50], r8
mov qword [rax + 0x58], r9
mov qword [rax + 0x60], r10
mov qword [rax + 0x10], 0x1d
cmp dword [0x00748970], 0
je 0x52ad5d
mov rcx, qword [rax + 8]
call fcn.00465e20
mov qword [r11], rcx
lea rcx, [0x00599fcb]
mov qword [rax + 8], rcx
mov rcx, qword [rax + 0x100]
mov rdx, qword [rax + 0x108]
mov rbx, qword [rax + 0x110]
mov qword [rax + 0x28], rcx
mov qword [rax + 0x30], rdx
mov qword [rax + 0x38], rbx
xor eax, eax
add rsp, 0x78
pop rbp
ret
mov rax, r12
call fcn.004661e0
nop
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], bl
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x48], r11
call fcn.00463f00
mov rax, qword [rsp + 8]
movzx ebx, byte [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
jmp fcn.0052a980