Function at 0x140057b40
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rdi
push rbp
mov rbp, rsp
sub rsp, 0x20
inc dword [rcx + 0x6c]
mov rbx, rdx
cmp dword [rcx + 0x6c], 0x14
mov rdi, rcx
jg 0x140058131
call fcn.1400583a0
mov rdx, rbx
mov rcx, rdi
call fcn.140058180
dec dword [rdi + 0x6c]
mov qword [rbp + 0x10], 0
mov eax, dword [rdi + 4]
cmp eax, 0x3f
jne 0x140057be2
mov rcx, rdi
call fcn.140058990
xor r8d, r8d
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
mov eax, dword [rdi + 4]
cmp eax, 0x2c
je 0x140057b88
mov rcx, rdi
cmp eax, 0x3a
jne 0x14005813c
call fcn.140058990
xor r8d, r8d
lea rdx, [rbp + 0x20]
mov rcx, rdi
call fcn.1400587d0
cmp dword [rbx], 0
mov ecx, dword [rbp + 0x24]
mov eax, dword [rbp + 0x20]
cmovne eax, dword [rbp + 0x10]
cmp dword [rbp + 0x14], ecx
mov dword [rbx], eax
cmova ecx, dword [rbp + 0x14]
mov dword [rbx + 4], ecx
jmp 0x140057b80
cmp eax, 0x104
jne 0x140057c31
mov rcx, rdi
call fcn.140058990
mov r8d, 2
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
cmp dword [rbx], 0
jne 0x140057c1e
cmp dword [rbp + 0x10], 0
jne 0x140057c1e
xor eax, eax
mov dword [rbx + 4], 9
mov dword [rbx], eax
jmp 0x140057b80
mov eax, 1
mov dword [rbx + 4], 9
mov dword [rbx], eax
jmp 0x140057b80
cmp eax, 0x105
jne 0x140057c80
mov rcx, rdi
call fcn.140058990
mov r8d, 3
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
cmp dword [rbx], 0
je 0x140057c70
cmp dword [rbp + 0x10], 0
je 0x140057c70
mov eax, 1
mov dword [rbx + 4], 9
mov dword [rbx], eax
jmp 0x140057b80
xor eax, eax
mov dword [rbx + 4], 9
mov dword [rbx], eax
jmp 0x140057b80
cmp eax, 0x7c
jne 0x140057ca9
mov rcx, rdi
call fcn.140058990
mov r8d, 4
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
mov eax, dword [rbp + 0x10]
or dword [rbx], eax
jmp 0x140057fce
cmp eax, 0x5e
jne 0x140057cd2
mov rcx, rdi
call fcn.140058990
mov r8d, 5
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
mov eax, dword [rbp + 0x10]
xor dword [rbx], eax
jmp 0x140057fce
cmp eax, 0x26
jne 0x140057cfb
mov rcx, rdi
call fcn.140058990
mov r8d, 6
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
mov eax, dword [rbp + 0x10]
and dword [rbx], eax
jmp 0x140057fce
cmp eax, 0x106
jne 0x140057d34
mov rcx, rdi
call fcn.140058990
mov r8d, 7
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rbx], eax
mov dword [rbx + 4], 9
sete cl
mov dword [rbx], ecx
jmp 0x140057b80
cmp eax, 0x107
jne 0x140057d6d
mov rcx, rdi
call fcn.140058990
mov r8d, 7
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rbx], eax
mov dword [rbx + 4], 9
setne cl
mov dword [rbx], ecx
jmp 0x140057b80
cmp eax, 0x3c
jne 0x140057dc8
mov rcx, rdi
call fcn.140058990
mov r8d, 8
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
cmp dword [rbx + 4], 9
jne 0x140057db0
cmp dword [rbp + 0x14], 9
jne 0x140057db0
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rbx], eax
mov dword [rbx + 4], 9
setl cl
mov dword [rbx], ecx
jmp 0x140057b80
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rbx], eax
mov dword [rbx + 4], 9
setb cl
mov dword [rbx], ecx
jmp 0x140057b80
cmp eax, 0x3e
jne 0x140057e23
mov rcx, rdi
call fcn.140058990
mov r8d, 8
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
cmp dword [rbx + 4], 9
jne 0x140057e0b
cmp dword [rbp + 0x14], 9
jne 0x140057e0b
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rbx], eax
mov dword [rbx + 4], 9
setg cl
mov dword [rbx], ecx
jmp 0x140057b80
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rbx], eax
mov dword [rbx + 4], 9
seta cl
mov dword [rbx], ecx
jmp 0x140057b80
cmp eax, 0x108
jne 0x140057e80
mov rcx, rdi
call fcn.140058990
mov r8d, 8
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
cmp dword [rbx + 4], 9
jne 0x140057e68
cmp dword [rbp + 0x14], 9
jne 0x140057e68
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rbx], eax
mov dword [rbx + 4], 9
setle cl
mov dword [rbx], ecx
jmp 0x140057b80
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rbx], eax
mov dword [rbx + 4], 9
setbe cl
mov dword [rbx], ecx
jmp 0x140057b80
cmp eax, 0x109
jne 0x140057edd
mov rcx, rdi
call fcn.140058990
mov r8d, 8
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
cmp dword [rbx + 4], 9
jne 0x140057ec5
cmp dword [rbp + 0x14], 9
jne 0x140057ec5
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rbx], eax
mov dword [rbx + 4], 9
setge cl
mov dword [rbx], ecx
jmp 0x140057b80
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rbx], eax
mov dword [rbx + 4], 9
setae cl
mov dword [rbx], ecx
jmp 0x140057b80
cmp eax, 0x10a
jne 0x140057f08
mov rcx, rdi
call fcn.140058990
mov r8d, 9
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
mov ecx, dword [rbp + 0x10]
shl dword [rbx], cl
jmp 0x140057b80
cmp eax, 0x10b
jne 0x140057f40
mov rcx, rdi
call fcn.140058990
mov r8d, 9
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
cmp dword [rbx + 4], 9
mov ecx, dword [rbp + 0x10]
jne 0x140057f39
sar dword [rbx], cl
jmp 0x140057b80
shr dword [rbx], cl
jmp 0x140057b80
cmp eax, 0x2b
jne 0x140057f66
mov rcx, rdi
call fcn.140058990
mov r8d, 0xa
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
mov eax, dword [rbp + 0x10]
add dword [rbx], eax
jmp 0x140057fce
cmp eax, 0x2d
jne 0x140057f8c
mov rcx, rdi
call fcn.140058990
mov r8d, 0xa
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400587d0
mov eax, dword [rbp + 0x10]
sub dword [rbx], eax
jmp 0x140057fce
cmp eax, 0x2a
jne 0x140057fe2
mov rcx, rdi
call fcn.140058990
mov ecx, dword [rdi + 0x6c]
lea eax, [rcx + 1]
mov dword [rdi + 0x6c], eax
cmp ecx, 0x14
jge 0x140058155
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400583a0
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.140058180
dec dword [rdi + 0x6c]
mov eax, dword [rbx]
imul eax, dword [rbp + 0x10]
mov dword [rbx], eax
mov eax, dword [rbp + 0x14]
cmp eax, dword [rbx + 4]
jbe 0x140057b80
mov dword [rbx + 4], eax
jmp 0x140057b80
cmp eax, 0x2f
jne 0x14005805f
mov rcx, rdi
call fcn.140058990
mov ecx, dword [rdi + 0x6c]
lea eax, [rcx + 1]
mov dword [rdi + 0x6c], eax
cmp ecx, 0x14
jge 0x140058155
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400583a0
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.140058180
dec dword [rdi + 0x6c]
mov eax, dword [rbp + 0x14]
cmp eax, dword [rbx + 4]
jbe 0x140058027
mov dword [rbx + 4], eax
mov ecx, dword [rbp + 0x10]
test ecx, ecx
je 0x140058147
cmp dword [rbx + 4], 9
mov eax, dword [rbx]
jne 0x140058054
cmp eax, 0x80000000
jne 0x14005804a
cmp ecx, 0xffffffff
je 0x140058147
cdq
idiv ecx
mov dword [rbx], eax
jmp 0x140057b80
xor edx, edx
div ecx
mov dword [rbx], eax
jmp 0x140057b80
cmp eax, 0x25
jne 0x1400580dc
mov rcx, rdi
call fcn.140058990
mov ecx, dword [rdi + 0x6c]
lea eax, [rcx + 1]
mov dword [rdi + 0x6c], eax
cmp ecx, 0x14
jge 0x140058155
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.1400583a0
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.140058180
dec dword [rdi + 0x6c]
mov eax, dword [rbp + 0x14]
cmp eax, dword [rbx + 4]
jbe 0x1400580a4
mov dword [rbx + 4], eax
mov ecx, dword [rbp + 0x10]
test ecx, ecx
je 0x140058147
cmp dword [rbx + 4], 9
mov eax, dword [rbx]
jne 0x1400580d1
cmp eax, 0x80000000
jne 0x1400580c7
cmp ecx, 0xffffffff
je 0x140058147
cdq
idiv ecx
mov dword [rbx], edx
jmp 0x140057b80
xor edx, edx
div ecx
mov dword [rbx], edx
jmp 0x140057b80
mov rax, qword [rdi + 0x50]
mov r8, qword [rax]
mov eax, dword [rbx + 4]
lea rcx, [rax + rax*2]
mov edx, dword [r8 + rcx*8]
mov eax, edx
and eax, 0xf0000000
cmp eax, 0x80000000
jne 0x140058119
nop dword [rax]
movzx ecx, dx
lea rax, [rcx + rcx*2]
mov edx, dword [r8 + rax*8]
mov eax, edx
and eax, 0xf0000000
cmp eax, 0x80000000
je 0x140058100
test edx, 0xfc000000
jne 0x140058163
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop rbp
ret
mov edx, 0x8d0
call fcn.140057340
int3
mov edx, 0x3a
call fcn.1400573a0
int3
mov edx, 0x219
mov rcx, rdi
call fcn.140057340
int3
mov edx, 0x8d0
mov rcx, rdi
call fcn.140057340
int3
mov edx, 0x219
mov rcx, rdi
call fcn.140057340
int3