Function at 0x52a900
Capabilities:
Parse credit card information

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x52ad1a
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 0x52aa26
lea rdx, [rdi - 1]
test rdx, rdx
ja 0x52a97d
xor esi, esi
xor r12d, r12d
xor r13d, r13d
jmp 0x52a9bb
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 0x52aa6d
mov ebx, 1
call fcn.00520aa0
test al, al
je 0x52aa75
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 0x52aaa1
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 0x52ad11
mov r13, qword [rax + 0xa8]
movzx r12d, byte [r13 + r12]
cmp r12b, 0x30
jb 0x52ab0a
cmp r12b, 0x39
jbe 0x52aaec
cmp r12b, 0x41
jb 0x52ab0a
cmp r12b, 0x5a
jbe 0x52aaec
nop dword [rax]
cmp r12b, 0x61
jb 0x52ab00
cmp r12b, 0x7a
ja 0x52ab60
cmp r12b, 0x25
je 0x52abbc
jmp 0x52ab8c
cmp r12b, 0x5f
je 0x52ab8c
cmp r12b, 0x2d
je 0x52ab8c
cmp r12b, 0x3b
je 0x52ab8c
cmp r12b, 0x2f
je 0x52ab8c
nop dword [rax]
cmp r12b, 0x3f
je 0x52ab8c
cmp r12b, 0x3a
je 0x52ab8c
cmp r12b, 0x40
je 0x52ab8c
cmp r12b, 0x26
je 0x52ab8c
cmp r12b, 0x3d
je 0x52ab8c
nop
cmp r12b, 0x2b
je 0x52ab8c
cmp r12b, 0x24
je 0x52ab8c
cmp r12b, 0x2c
je 0x52ab8c
cmp r12b, 0x2e
je 0x52ab8c
cmp r12b, 0x21
je 0x52ab8c
nop
cmp r12b, 0x7e
je 0x52ab8c
cmp r12b, 0x2a
je 0x52ab8c
cmp r12b, 0x27
je 0x52ab8c
cmp r12b, 0x28
je 0x52ab8c
cmp r12b, 0x29
je 0x52ab8c
nop
cmp r12b, 0x5b
je 0x52ab8c
cmp r12b, 0x5d
jne 0x52abb6
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
nop dword [rax + rax]
call fcn.00523500
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
jmp 0x52abd3
cmp r12b, 0x25
jne 0x52ac15
mov rcx, r8
mov rdi, r9
mov rsi, r10
lea r8, [rsp + 0x58]
call fcn.0052ad80
test al, al
je 0x52ac0d
mov rax, qword [rsp + 0x88]
cmp qword [rax + 0xc8], 0
jg 0x52aa7d
mov ebx, 1
call fcn.00520aa0
test al, al
je 0x52ac05
mov rax, qword [rsp + 0x88]
nop
jmp 0x52aa7d
xor eax, eax
add rsp, 0x78
pop rbp
ret
xor eax, eax
add rsp, 0x78
pop rbp
ret
test dl, dl
je 0x52ac61
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 0x52ac52
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, [0x005965ac]
lea rdx, [0x0059a5b9]
cmovne rcx, rdx
cmp dword [0x00748970], 0
je 0x52acb0
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 0x52acdd
mov rcx, qword [rax + 8]
call fcn.00465e20
mov qword [r11], rcx
lea rcx, [0x00599f88]
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.0052a900