Function at 0x140431030
Capabilities:
Parse credit card information

Disassembly:
push rbp
push rdi
sub rsp, 0x78
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov dword [rbp + 0x28], r9d
movabs rax, 0xcdcdcdcdcdcdcdcd
mov qword [rbp - 0x30], rax
xor eax, eax
mov dword [rbp - 0xc], eax
xor eax, eax
mov dword [rbp - 0x10], eax
xor eax, eax
mov dword [rbp - 0x14], eax
mov rcx, qword [rbp + 0x10]
call fcn.140425ed0
mov dword [rbp - 0x34], eax
mov eax, dword [rbp - 0x34]
movzx eax, al
mov dword [rbp - 0x18], eax
mov rax, qword [rbp + 0x20]
mov eax, dword [rax]
mov dword [rbp - 0x20], eax
nop
jmp 0x140431568
mov rax, qword [rbp + 0x18]
mov ecx, dword [rbp - 0x20]
movsxd rcx, ecx
mov edx, 2
movsxd rdx, edx
imul rcx, rdx
movzx eax, word [rax + rcx]
mov dword [rbp - 0x1c], eax
cmp dword [rbp - 0x1c], 0x1f
jle 0x1404310c1
cmp dword [rbp - 0x1c], 0x7f
jl 0x1404310de
cmp dword [rbp - 0x1c], 0x9f
jg 0x1404310de
mov dword [rbp - 0x10], 1
mov dword [rbp - 0x14], 1
mov eax, dword [rbp - 0xc]
or eax, 0x20
mov dword [rbp - 0xc], eax
nop
jmp 0x140431560
cmp dword [rbp - 0x1c], 0x7e
jle 0x140431197
cmp dword [rbp - 0x18], 0
je 0x140431180
xor eax, eax
mov dword [rbp - 0x24], eax
mov eax, dword [rbp - 0xc]
or eax, 8
mov dword [rbp - 0xc], eax
mov ecx, dword [rbp - 0x1c]
call fcn.140251670
mov dword [rbp - 0x50], eax
cmp dword [rbp - 0x50], 0
je 0x140431158
mov eax, dword [rbp - 0x20]
inc eax
cmp eax, dword [rbp + 0x28]
jge 0x140431171
mov rax, qword [rbp + 0x18]
mov ecx, dword [rbp - 0x20]
inc ecx
movsxd rcx, ecx
mov edx, 2
movsxd rdx, edx
imul rcx, rdx
movzx edx, word [rax + rcx]
lea r8, [rbp - 0x30]
mov ecx, dword [rbp - 0x1c]
mov r9d, 1
call fcn.140424b30
mov dword [rbp - 0x58], eax
mov eax, dword [rbp - 0x58]
movzx eax, al
mov dword [rbp - 0x24], eax
nop
jmp 0x140431171
mov ecx, dword [rbp - 0x1c]
mov edx, 1
call fcn.140424a70
mov dword [rbp - 0x54], eax
mov eax, dword [rbp - 0x54]
movzx eax, al
mov dword [rbp - 0x24], eax
cmp dword [rbp - 0x24], 0
jne 0x140431180
mov eax, dword [rbp - 0xc]
or eax, 0x40
mov dword [rbp - 0xc], eax
cmp dword [rbp - 0x10], 0
jne 0x140431560
mov dword [rbp - 0x10], 1
nop
jmp 0x140431560
mov eax, dword [rbp + 0x30]
movzx eax, ax
cmp dword [rbp - 0x1c], eax
je 0x140431574
mov eax, dword [rbp + 0x30]
movzx eax, ax
cmp eax, 0x3f
jne 0x1404311e3
cmp dword [rbp - 0x1c], 0x23
jne 0x1404311e3
mov rax, qword [rbp + 0x10]
cmp qword [rax + 0x18], 0
je 0x1404311e3
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 0x18]
mov edx, 0x40
cmp dword [rcx], ecx
call fcn.140439b40
mov dword [rbp - 0x4c], eax
cmp dword [rbp - 0x4c], 0
jne 0x140431574
cmp dword [rbp - 0x1c], 0x3f
jne 0x140431259
mov rcx, qword [rbp + 0x10]
call fcn.140425d70
mov dword [rbp - 0x44], eax
cmp dword [rbp - 0x44], 0
jne 0x14043123c
mov rax, qword [rbp + 0x10]
cmp qword [rax + 0x18], 0
je 0x140431560
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 0x18]
mov edx, 0x20
cmp dword [rcx], ecx
call fcn.140439b40
mov dword [rbp - 0x48], eax
cmp dword [rbp - 0x48], 0
jne 0x140431560
mov eax, dword [rbp + 0x30]
movzx eax, ax
cmp eax, 0xfffe
je 0x140431560
mov eax, dword [rbp - 0xc]
or eax, 0x20
mov dword [rbp - 0xc], eax
mov dword [rbp - 0x14], 1
mov dword [rbp - 0x10], 1
nop
jmp 0x140431560
cmp dword [rbp - 0x1c], 0x23
jne 0x1404312be
mov dword [rbp - 0x10], 1
mov rcx, qword [rbp + 0x10]
call fcn.140425d70
mov dword [rbp - 0x3c], eax
cmp dword [rbp - 0x3c], 0
jne 0x1404312a8
mov rax, qword [rbp + 0x10]
cmp qword [rax + 0x18], 0
je 0x140431560
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 0x18]
mov edx, 0x40
cmp dword [rcx], ecx
call fcn.140439b40
mov dword [rbp - 0x40], eax
cmp dword [rbp - 0x40], 0
jne 0x140431560
mov eax, dword [rbp - 0xc]
or eax, 0x20
mov dword [rbp - 0xc], eax
mov dword [rbp - 0x14], 1
nop
jmp 0x140431560
cmp dword [rbp - 0x1c], 0x2f
je 0x1404312ce
cmp dword [rbp - 0x1c], 0x5c
jne 0x140431358
mov eax, dword [rbp - 0xc]
and eax, 0x10
test eax, eax
jne 0x1404312e7
cmp dword [rbp - 0x1c], 0x5c
jne 0x1404312e7
mov eax, dword [rbp - 0xc]
or eax, 0x10
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0xc]
and eax, 4
test eax, eax
jne 0x140431560
mov eax, dword [rbp - 0x20]
inc eax
cmp eax, dword [rbp + 0x28]
je 0x140431560
mov rax, qword [rbp + 0x18]
mov ecx, dword [rbp - 0x20]
inc ecx
movsxd rcx, ecx
mov edx, 2
movsxd rdx, edx
imul rcx, rdx
movzx eax, word [rax + rcx]
cmp eax, 0x2f
je 0x140431349
mov rax, qword [rbp + 0x18]
mov ecx, dword [rbp - 0x20]
inc ecx
movsxd rcx, ecx
mov edx, 2
movsxd rdx, edx
imul rcx, rdx
movzx eax, word [rax + rcx]
cmp eax, 0x5c
jne 0x140431560
mov eax, dword [rbp - 0xc]
or eax, 4
mov dword [rbp - 0xc], eax
nop
jmp 0x140431560
cmp dword [rbp - 0x1c], 0x2e
jne 0x140431436
mov eax, dword [rbp - 0xc]
and eax, 4
test eax, eax
jne 0x14043137a
mov eax, dword [rbp - 0x20]
inc eax
cmp eax, dword [rbp + 0x28]
je 0x140431427
mov rax, qword [rbp + 0x18]
mov ecx, dword [rbp - 0x20]
inc ecx
movsxd rcx, ecx
mov edx, 2
movsxd rdx, edx
imul rcx, rdx
movzx eax, word [rax + rcx]
cmp eax, 0x2e
je 0x140431427
mov rax, qword [rbp + 0x18]
mov ecx, dword [rbp - 0x20]
inc ecx
movsxd rcx, ecx
mov edx, 2
movsxd rdx, edx
imul rcx, rdx
movzx eax, word [rax + rcx]
cmp eax, 0x2f
je 0x140431427
mov rax, qword [rbp + 0x18]
mov ecx, dword [rbp - 0x20]
inc ecx
movsxd rcx, ecx
mov edx, 2
movsxd rdx, edx
imul rcx, rdx
movzx eax, word [rax + rcx]
cmp eax, 0x5c
je 0x140431427
mov rax, qword [rbp + 0x18]
mov ecx, dword [rbp - 0x20]
inc ecx
movsxd rcx, ecx
mov edx, 2
movsxd rdx, edx
imul rcx, rdx
movzx eax, word [rax + rcx]
cmp eax, 0x3f
je 0x140431427
mov rax, qword [rbp + 0x18]
mov ecx, dword [rbp - 0x20]
inc ecx
movsxd rcx, ecx
mov edx, 2
movsxd rdx, edx
imul rcx, rdx
movzx eax, word [rax + rcx]
cmp eax, 0x23
jne 0x140431560
mov eax, dword [rbp - 0xc]
or eax, 4
mov dword [rbp - 0xc], eax
nop
jmp 0x140431560
cmp dword [rbp - 0x1c], 0x22
jg 0x140431442
cmp dword [rbp - 0x1c], 0x21
jne 0x140431460
cmp dword [rbp - 0x1c], 0x5b
jl 0x14043144e
cmp dword [rbp - 0x1c], 0x5e
jle 0x140431460
cmp dword [rbp - 0x1c], 0x3e
je 0x140431460
cmp dword [rbp - 0x1c], 0x3c
je 0x140431460
cmp dword [rbp - 0x1c], 0x60
jne 0x140431497
cmp dword [rbp - 0x10], 0
jne 0x14043146d
mov dword [rbp - 0x10], 1
mov rax, qword [rbp + 0x10]
movabs rcx, 0x200000000
and rcx, qword [rax + 0x28]
test rcx, rcx
je 0x140431560
mov eax, dword [rbp - 0xc]
or eax, 0x40
mov dword [rbp - 0xc], eax
nop
jmp 0x140431560
cmp dword [rbp - 0x1c], 0x7b
jl 0x1404314b0
cmp dword [rbp - 0x1c], 0x7d
jg 0x1404314b0
mov dword [rbp - 0x10], 1
nop
jmp 0x140431560
cmp dword [rbp - 0x1c], 0x25
jne 0x140431560
cmp dword [rbp - 0x14], 0
jne 0x1404314c7
mov dword [rbp - 0x14], 1
mov eax, dword [rbp - 0x20]
add eax, 2
cmp eax, dword [rbp + 0x28]
jge 0x140431553
mov rax, qword [rbp + 0x18]
mov ecx, dword [rbp - 0x20]
inc ecx
movsxd rcx, ecx
mov edx, 2
movsxd rdx, edx
imul rcx, rdx
movzx ecx, word [rax + rcx]
mov rax, qword [rbp + 0x18]
mov edx, dword [rbp - 0x20]
add edx, 2
movsxd rdx, edx
mov r8d, 2
movsxd r8, r8d
imul rdx, r8
movzx edx, word [rax + rdx]
call fcn.140438df0
mov dword [rbp - 0x38], eax
mov eax, dword [rbp - 0x38]
movzx eax, ax
mov dword [rbp - 0x1c], eax
cmp dword [rbp - 0x38], 0xffff
je 0x140431553
cmp dword [rbp - 0x1c], 0x2e
je 0x14043153c
cmp dword [rbp - 0x1c], 0x2f
je 0x14043153c
cmp dword [rbp - 0x1c], 0x5c
jne 0x140431547
mov eax, dword [rbp - 0xc]
or eax, 0x80
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0x20]
add eax, 2
mov dword [rbp - 0x20], eax
nop
jmp 0x140431560
cmp dword [rbp - 0x10], 0
jne 0x140431560
mov dword [rbp - 0x10], 1
mov eax, dword [rbp - 0x20]
inc eax
mov dword [rbp - 0x20], eax
mov eax, dword [rbp - 0x20]
cmp eax, dword [rbp + 0x28]
jl 0x14043108f
cmp dword [rbp - 0x14], 0
je 0x14043158c
cmp dword [rbp - 0x10], 0
jne 0x1404315a4
mov eax, dword [rbp - 0xc]
or eax, 1
mov dword [rbp - 0xc], eax
nop
jmp 0x1404315a4
mov eax, dword [rbp - 0xc]
or eax, 2
mov dword [rbp - 0xc], eax
cmp dword [rbp - 0x10], 0
jne 0x1404315a4
mov eax, dword [rbp - 0xc]
or eax, 1
mov dword [rbp - 0xc], eax
mov rax, qword [rbp + 0x20]
mov ecx, dword [rbp - 0x20]
mov dword [rax], ecx
mov eax, dword [rbp - 0xc]
add rsp, 0x78
pop rdi
pop rbp
ret