Function at 0x52db20
Capabilities:
Parse credit card information

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x52e551
push rbp
mov rbp, rsp
sub rsp, 0x68
cmp dword [rax + 0x30], 0x80
je 0x52db62
mov byte [rax + 0x48], 0
mov edx, dword [rax + 0xac]
test edx, 0x30068
jne 0x52db57
mov qword [rsp + 0x78], rax
mov edx, dword [rax + 0x30]
jmp 0x52db80
call fcn.0052d8e0
add rsp, 0x68
pop rbp
ret
mov dword [rax + 0x70], 1
add rsp, 0x68
pop rbp
ret
call fcn.0052d060
mov edx, eax
mov rax, qword [rsp + 0x78]
nop dword [rax + rax]
cmp edx, 0x81
je 0x52db6f
jmp 0x52dec0
mov dword [rax + 0xac], 1
jmp 0x52dec0
mov dword [rsp + 0x44], edx
mov rbx, qword [rax + 0xc8]
test rbx, rbx
je 0x52dcd1
cmp byte [rax + 0x48], 0
jne 0x52dc09
mov esi, dword [rax + 0x70]
test esi, esi
je 0x52dc09
nop dword [rax]
cmp esi, 8
ja 0x52dbee
cmp esi, 2
jbe 0x52dc09
cmp esi, 8
jne 0x52dcd1
mov rsi, qword [rax + 0x138]
nop
nop dword [rax + rax]
cmp qword [rax + 0x130], rsi
jg 0x52dc09
jmp 0x52dcd1
cmp esi, 0xd
jbe 0x52dc09
cmp esi, 0x1b
je 0x52dc09
add esi, 0xffffffe3
nop dword [rax + rax]
cmp esi, 4
ja 0x52dcd1
test edx, edx
jge 0x52dc16
mov rcx, 0xffffffffffffffff
jmp 0x52dc6d
cmp edx, 0x7f
jg 0x52dc22
mov ecx, 1
jmp 0x52dc6d
cmp edx, 0x7ff
jg 0x52dc31
mov ecx, 2
jmp 0x52dc6d
lea esi, [rdx - 0xd800]
cmp esi, 0x7ff
ja 0x52dc48
mov rcx, 0xffffffffffffffff
jmp 0x52dc6d
cmp edx, 0xffff
jg 0x52dc57
mov ecx, 3
jmp 0x52dc6d
cmp edx, 0x10ffff
jg 0x52dc66
mov ecx, 4
jmp 0x52dc6d
mov rcx, 0xffffffffffffffff
mov rsi, qword [rax + 0x18]
mov rdi, qword [rax + 0x28]
sub rdi, rcx
nop dword [rax + rax]
cmp rsi, rdi
jb 0x52e545
mov rcx, qword [rax + 0xd0]
mov r8, qword [rax + 0x10]
mov r9, qword [rax + 0x20]
mov r10, rdi
sub rdi, r9
sub rsi, r10
sar rdi, 0x3f
and r10, rdi
lea rdi, [r8 + r10]
cmp rcx, rsi
jg 0x52dcd1
nop
mov rax, rdi
call fcn.00406a20
nop word [rax + rax]
test al, al
jne 0x52df54
mov rax, qword [rsp + 0x78]
mov edx, dword [rsp + 0x44]
nop
cmp byte [rax + 0xa8], 0
je 0x52dcdf
xor esi, esi
jmp 0x52dce6
mov rsi, qword [rax + 0x90]
cmp byte [rax + 0xa9], 0
je 0x52dcf3
xor edi, edi
jmp 0x52dcfa
mov rdi, qword [rax + 0x98]
mov r8, qword [rax + 0x88]
add r8, qword [rax + 0x28]
sub r8, qword [rax + 0x38]
nop
mov dword [rax + 0xa0], r8d
cmp rsi, 0x3ffff
mov r8d, 0
cmova rsi, r8
shl esi, 0xe
cmp rdi, 0x3fff
cmova rdi, r8
or esi, edi
mov dword [rax + 0xa4], esi
mov esi, dword [rax + 0xac]
nop
test esi, 0x42817
jne 0x52e096
test esi, 0x8780
je 0x52dde9
nop
cmp edx, 0x2f
jg 0x52dda0
nop
cmp edx, 0x23
jg 0x52dd78
cmp edx, 0x21
je 0x52df75
cmp edx, 0x23
jne 0x52dde9
jmp 0x52df75
lea edi, [rdx - 0x25]
nop dword [rax + rax]
cmp edi, 1
jbe 0x52df75
lea edi, [rdx - 0x28]
cmp edi, 5
jbe 0x52df75
cmp edx, 0x2f
jne 0x52dde9
jmp 0x52df75
cmp edx, 0x5b
jg 0x52ddc5
cmp edx, 0x3a
je 0x52df75
lea edi, [rdx - 0x3c]
cmp edi, 3
jbe 0x52df75
cmp edx, 0x5b
jne 0x52dde9
nop
jmp 0x52df75
lea edi, [rdx - 0x5d]
cmp edi, 1
jbe 0x52df75
cmp edx, 0x7c
je 0x52df75
nop word [rax + rax]
cmp edx, 0x7e
je 0x52df75
test esi, 0x3c400
je 0x52de89
nop
cmp edx, 0x2f
jg 0x52de40
nop dword [rax + rax]
cmp edx, 0x23
jg 0x52de20
cmp edx, 0x21
je 0x52df89
cmp edx, 0x23
jne 0x52de89
jmp 0x52df89
cmp edx, 0x25
je 0x52df89
lea edi, [rdx - 0x2a]
cmp edi, 3
jbe 0x52df89
cmp edx, 0x2f
jne 0x52de89
jmp 0x52df89
cmp edx, 0x40
jg 0x52de65
cmp edx, 0x3a
je 0x52df89
cmp edx, 0x3d
je 0x52df89
cmp edx, 0x3f
jl 0x52de89
nop dword [rax]
jmp 0x52df89
cmp edx, 0x5b
je 0x52df89
lea edi, [rdx - 0x5d]
cmp edi, 1
jbe 0x52df89
nop word [rax + rax]
cmp edx, 0x7d
je 0x52df89
cmp esi, 0x1000
jne 0x52e036
cmp byte [rax + 0x148], 0
nop dword [rax]
jne 0x52df9d
cmp byte [rax + 0x48], 0
jne 0x52db8d
jmp 0x52df9d
mov rsi, qword [rsp + 0x78]
mov edx, eax
mov rax, rsi
nop
cmp edx, 0xd
jg 0x52dee7
cmp edx, 9
je 0x52df13
cmp edx, 0xa
je 0x52ded9
cmp edx, 0xd
je 0x52df13
jmp 0x52db9c
cmp dword [rax + 0x70], 2
jne 0x52df1e
nop
call fcn.0052d060
jmp 0x52deb5
cmp edx, 0x20
je 0x52df13
cmp edx, 0x80
je 0x52e275
nop dword [rax + rax]
cmp edx, 0x81
jne 0x52db9c
call fcn.0052d060
jmp 0x52deb5
mov byte [rax + 0x48], 1
call fcn.0052d060
jmp 0x52deb5
mov byte [rax + 0x48], 1
mov dword [rax + 0x70], 2
cmp dword [rax + 0xac], 0x10
je 0x52df4e
mov rcx, qword [rax + 0xe8]
nop dword [rax]
cmp qword [rax + 0xf8], rcx
jle 0x52df4e
call fcn.00533ee0
add rsp, 0x68
pop rbp
ret
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x30], pe_nt_image_headers64
mov qword [rax + 0x38], 1
mov dword [rax + 0x70], 1
add rsp, 0x68
pop rbp
ret
mov ebx, edx
call fcn.0052f0c0
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x70], eax
jmp 0x52e282
mov ebx, edx
call fcn.0052edc0
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x70], eax
jmp 0x52e282
mov byte [rax + 0x148], 0
cmp edx, 0x27
jg 0x52dfba
cmp edx, 0x22
je 0x52e011
cmp edx, 0x24
je 0x52e011
cmp edx, 0x26
jge 0x52e011
jmp 0x52e025
cmp edx, 0x3c
jg 0x52e007
nop
cmp edx, 0x29
jne 0x52e000
cmp qword [rax + 0x140], 0
jle 0x52dfdb
mov ebx, 0x29
call fcn.00530fc0
jmp 0x52dff1
mov dword [rax + 0x70], 0x1b
mov dword [rax + 0xac], 1
call fcn.0052d060
mov rcx, qword [rsp + 0x78]
jmp 0x52e282
cmp edx, 0x3b
jge 0x52e011
jmp 0x52e025
cmp edx, 0x3e
je 0x52e011
cmp edx, 0x60
jne 0x52e025
mov ebx, edx
call fcn.0052e7c0
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x70], eax
jmp 0x52e282
mov ebx, edx
call fcn.00530fc0
mov rcx, qword [rsp + 0x78]
jmp 0x52e282
nop
cmp edx, 0x29
jg 0x52e051
nop dword [rax]
cmp edx, 0x22
je 0x52e071
cmp edx, 0x24
je 0x52e071
cmp edx, 0x26
jge 0x52e071
jmp 0x52e085
cmp edx, 0x3e
jg 0x52e067
lea ecx, [rdx - 0x3b]
cmp ecx, 1
jbe 0x52e071
nop
cmp edx, 0x3e
je 0x52e071
jmp 0x52e085
cmp edx, 0x60
je 0x52e071
cmp edx, 0x7c
jne 0x52e085
mov ebx, edx
call fcn.0052e7c0
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x70], eax
jmp 0x52e282
mov ebx, edx
call fcn.0052fac0
mov rcx, qword [rsp + 0x78]
jmp 0x52e282
cmp edx, 0x2b
jg 0x52e140
nop
cmp edx, 0x23
jg 0x52e120
cmp edx, 0x21
je 0x52e189
cmp edx, 0x22
je 0x52e256
nop word [rax + rax]
cmp edx, 0x23
jne 0x52e267
cmp byte [rax + 0x48], 0
jne 0x52e0e5
mov ecx, dword [rax + 0x70]
cmp ecx, 4
je 0x52e108
lea edx, [rcx - 6]
cmp edx, 1
jbe 0x52e108
nop
cmp ecx, 0x19
je 0x52e108
call fcn.0052d060
mov dword [rsp + 0x44], eax
mov ebx, eax
mov rax, qword [rsp + 0x78]
call fcn.0052f560
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x44]
jmp 0x52e2b1
mov ebx, 0x23
call fcn.0052fd20
add rsp, 0x68
pop rbp
ret
cmp edx, 0x24
je 0x52e256
lea ecx, [rdx - 0x26]
cmp ecx, 3
jbe 0x52e256
cmp edx, 0x2a
jge 0x52e189
jmp 0x52e267
cmp edx, 0x3e
jg 0x52e16e
lea ecx, [rdx - 0x3b]
cmp ecx, 1
jbe 0x52e256
cmp edx, 0x3d
je 0x52e225
nop word [rax + rax]
cmp edx, 0x3e
je 0x52e256
jmp 0x52e267
cmp edx, 0x5b
jg 0x52e24c
nop word [rax + rax]
cmp edx, 0x40
jg 0x52e220
call fcn.0052e580
test al, al
je 0x52e209
mov ecx, dword [rsp + 0x44]
cmp ecx, 0x2b
jg 0x52e1c6
nop dword [rax + rax]
cmp ecx, 0x2a
jne 0x52e1b3
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x70], 0x7b
jmp 0x52e1f8
cmp ecx, 0x2b
jne 0x52e1ec
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x70], 0x7c
jmp 0x52e1f8
cmp ecx, 0x3f
jne 0x52e1d9
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x70], 0x7a
jmp 0x52e1f8
cmp ecx, 0x40
jne 0x52e1ec
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x70], 0x7d
jmp 0x52e1f8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x70], 0x7e
call fcn.0052d060
mov rax, qword [rsp + 0x78]
call fcn.0052d060
jmp 0x52e217
mov rax, qword [rsp + 0x78]
mov ebx, dword [rsp + 0x44]
call fcn.0052fd20
mov rcx, qword [rsp + 0x78]
jmp 0x52e282
cmp edx, 0x5b
jne 0x52e267
cmp esi, 0x40000
jne 0x52e23e
mov ebx, edx
call fcn.0052edc0
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x70], eax
jmp 0x52e282
mov ebx, edx
call fcn.0052fd20
mov rcx, qword [rsp + 0x78]
jmp 0x52e282
cmp edx, 0x60
je 0x52e256
cmp edx, 0x7c
jne 0x52e267
mov ebx, edx
call fcn.0052e7c0
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x70], eax
jmp 0x52e282
mov ebx, edx
call fcn.0052fd20
mov rcx, qword [rsp + 0x78]
jmp 0x52e282
mov dword [rax + 0x70], 1
add rsp, 0x68
pop rbp
ret
cmp qword [rcx + 0x50], 0
je 0x52e296
cmp dword [rcx + 0x70], 1
je 0x52e296
mov dword [rcx + 0x70], 1
add rsp, 0x68
pop rbp
ret
call fcn.0052d060
mov rcx, qword [rsp + 0x78]
mov ecx, eax
mov rax, qword [rsp + 0x78]
cmp ecx, 0x60
jg 0x52e2e0
cmp ecx, 0xa
je 0x52e36f
nop
cmp ecx, 0x60
jne 0x52e2a0
mov rsi, qword [rax + 0x138]
cmp qword [rax + 0x130], rsi
jle 0x52e2a0
jmp 0x52e36f
cmp ecx, 0x80
je 0x52e36f
cmp ecx, 0x81
jne 0x52e2a0
mov rcx, qword [rax + 0x9e0]
mov rbx, qword [rax + 0x9d8]
add rbx, 2
mov r8, qword [rax + 0x9d0]
cmp rcx, rbx
jae 0x52e360
mov rax, r8
mov edi, 2
lea rsi, [0x006224c0]
call fcn.00452f00
mov rdx, qword [rsp + 0x78]
mov qword [rdx + 0x9e0], rcx
cmp dword [0x009c2100], 0
je 0x52e353
nop dword [rax + rax]
call fcn.0046f980
mov qword [r11], rax
mov rsi, qword [rdx + 0x9d0]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x9d0], rax
mov r8, rax
mov rax, rdx
mov qword [rax + 0x9d8], rbx
mov word [rbx + r8 - 2], 0xa5c
cmp byte [rax + 0xb8], 0
je 0x52e4fa
mov esi, dword [rax + 0x30]
nop
cmp esi, 0x80
je 0x52e390
cmp esi, 0x81
jne 0x52e3a7
mov rbx, qword [rax + 0x9d0]
mov rcx, qword [rax + 0x9d8]
xor eax, eax
call fcn.00456fa0
jmp 0x52e406
cmp esi, 0x60
jne 0x52e3dd
cmp qword [rax + 0x38], 1
jle 0x52e3dd
mov rdx, qword [rax + 0x9e0]
mov rcx, qword [rax + 0x9d8]
dec rcx
cmp rdx, rcx
jb 0x52e540
mov rbx, qword [rax + 0x9d0]
xor eax, eax
call fcn.00456fa0
jmp 0x52e406
mov rdx, qword [rax + 0x9e0]
mov rcx, qword [rax + 0x9d8]
sub rcx, qword [rax + 0x38]
cmp rdx, rcx
jb 0x52e53a
mov rbx, qword [rax + 0x9d0]
xor eax, eax
call fcn.00456fa0
mov rdx, qword [rsp + 0x78]
movups xmmword [rdx + 0x9d8], xmm15
cmp dword [0x009c2100], 0
je 0x52e42b
mov r8, qword [rdx + 0x9d0]
call fcn.0046f960
mov qword [r11], r8
mov qword [rdx + 0x9d0], 0
mov r8, qword [rdx + 0x168]
mov rcx, qword [r8 + 0x10]
mov r9, qword [r8 + 8]
inc r9
mov r10, qword [r8]
mov r11, qword [rdx + 0xa0]
cmp rcx, r9
jae 0x52e4c6
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], r11
mov rax, r10
mov rbx, r9
mov edi, 1
lea rsi, [0x00649c20]
nop dword [rax]
call fcn.00452f00
mov rdx, qword [rsp + 0x60]
mov qword [rdx + 0x10], rcx
cmp dword [0x009c2100], 0
je 0x52e4a6
call fcn.0046f980
mov qword [r11], rax
mov rcx, qword [rdx]
mov qword [r11 + 8], rcx
mov qword [rdx], rax
mov r8, rdx
mov r11, qword [rsp + 0x50]
mov r10, rax
mov r9, rbx
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x48]
mov qword [r8 + 8], r9
lea rcx, [r9 + r9*2]
mov qword [r10 + rcx*8 - 0x18], r11
mov qword [r10 + rcx*8 - 8], rbx
cmp dword [0x009c2100], 0
nop
je 0x52e4f3
call fcn.0046f980
mov qword [r11], rax
mov rbx, qword [r10 + rcx*8 - 0x10]
mov qword [r11 + 8], rbx
mov qword [r10 + rcx*8 - 0x10], rax
jmp 0x52e528
movups xmmword [rax + 0x9d8], xmm15
cmp dword [0x009c2100], 0
je 0x52e51a
mov rcx, qword [rax + 0x9d0]
call fcn.0046f960
mov qword [r11], rcx
mov qword [rax + 0x9d0], 0
mov rdx, rax
mov rax, rdx
call fcn.0052db20
mov rcx, qword [rsp + 0x78]
jmp 0x52e282
call fcn.0046fda0
nop
call fcn.0046fda0
mov rax, rdi
mov rcx, rsi
call fcn.0046fde0
nop
mov qword [rsp + 8], rax
call fcn.0046da40
mov rax, qword [rsp + 8]
jmp fcn.0052db20