Function at 0x7ff772168700
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov ebp, 0x52d672e3
xor r8d, r8d
mov dword [rsp + 0x14], eax
xor r10d, r10d
jmp 0x7ff772168730
cmp eax, 0xa
cmovl ebp, edi
setl al
xor bl, al
cmovne ebp, r9d
cmp ebp, 0x1598308
jg 0x7ff7721687d0
cmp ebp, 0xd6846a6c
jg 0x7ff772168860
cmp ebp, 0xc0ca3740
jle 0x7ff77216893d
cmp ebp, 0xc5353779
jle 0x7ff772168a7f
cmp ebp, 0xc535377a
je 0x7ff772168c87
cmp ebp, 0xcb51e761
je 0x7ff772168cbc
cmp ebp, 0xcbe706f8
jne 0x7ff772168730
mov eax, dword [rsp + 0x14]
and al, 1
mov byte [rsp + 7], al
mov ebp, dword [0x7ff772230630]
mov eax, dword [0x7ff772230634]
lea ebx, [rbp - 1]
imul ebx, ebp
mov esi, ebx
xor esi, 0xfffffffe
mov r9d, 0x6ded0efe
mov ebp, 0x43c8bcb3
mov edi, 0x6ded0efe
test esi, ebx
sete bl
je 0x7ff772168721
mov edi, 0x43c8bcb3
jmp 0x7ff772168721
cmp ebp, 0x3be4b210
jg 0x7ff7721688c0
cmp ebp, 0x2296a3e6
jle 0x7ff772168975
cmp ebp, 0x28b4b587
jle 0x7ff772168aa9
cmp ebp, 0x28b4b588
je 0x7ff772168d0a
cmp ebp, 0x33420146
je 0x7ff772168d14
cmp ebp, 0x39f41877
jne 0x7ff772168730
mov esi, dword [0x7ff772230630]
mov eax, dword [0x7ff772230634]
lea ebx, [rsi - 1]
imul ebx, esi
not ebx
or ebx, 0xfffffffe
mov esi, 0xf38488fd
mov ebp, 0x6a8aad36
mov edi, 0xf38488fd
cmp ebx, 0xffffffff
sete bl
je 0x7ff772168d68
mov edi, 0x6a8aad36
jmp 0x7ff772168d68
cmp ebp, 0xe685c923
jle 0x7ff7721689dc
cmp ebp, 0xf41af3ba
jle 0x7ff772168b0a
cmp ebp, 0xf41af3bb
je 0x7ff772168f96
cmp ebp, 0xf719e0ac
je 0x7ff772168d28
cmp ebp, 0xfca233cf
jne 0x7ff772168730
cmp byte [rsp + 6], 0
mov ebp, 0x4c9f3343
jne 0x7ff7721688ad
mov ebp, 0x646cfc7b
mov r13d, dword [rsp + 0x10]
jmp 0x7ff772168730
cmp ebp, 0x52d672e2
jle 0x7ff772168a51
cmp ebp, 0x646cfc7a
jle 0x7ff772168b7e
cmp ebp, 0x646cfc7b
je 0x7ff772168d7b
cmp ebp, 0x6a8aad36
je 0x7ff772168d91
cmp ebp, 0x6ded0efe
jne 0x7ff772168730
mov ebp, dword [0x7ff772230630]
mov edi, dword [0x7ff772230634]
lea eax, [rbp - 1]
imul eax, ebp
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete r9b
cmp edi, 0xa
setl bl
xor bl, r9b
mov ebp, 0xb955d922
mov esi, 0xb955d922
jne 0x7ff772168b6d
mov esi, 0x43c8bcb3
jmp 0x7ff772168b6d
cmp ebp, 0xadd1c373
jle 0x7ff772168bb1
cmp ebp, 0xb955d922
je 0x7ff772168fa5
cmp ebp, 0xadd1c374
jne 0x7ff772168730
mov r15d, dword [rsp + 0x1c]
mov ebp, 0xd6846a6d
mov r11d, dword [rsp + 0x3c]
jmp 0x7ff772168730
cmp ebp, 0x81a322c
jg 0x7ff772168bfb
cmp ebp, 0x1598309
je 0x7ff772168dab
cmp ebp, 0x5dba626
jne 0x7ff772168730
mov dword [rsp + 0x10], r14d
mov esi, dword [0x7ff772230630]
mov eax, dword [0x7ff772230634]
lea ebx, [rsi - 1]
imul ebx, esi
mov r9d, ebx
xor r9d, 0xfffffffe
mov esi, 0x22bc81ff
mov ebp, 0x171d974f
mov edi, 0x22bc81ff
test r9d, ebx
sete bl
je 0x7ff772168d68
mov edi, 0x171d974f
jmp 0x7ff772168d68
cmp ebp, 0xe2225396
jg 0x7ff772168c22
cmp ebp, 0xd6846a6d
je 0x7ff772168dc4
cmp ebp, 0xd6c07b07
jne 0x7ff772168730
mov eax, dword [rsp]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp]
movzx ebx, byte [rsp + 4]
mov byte [rdx + rax], bl
mov ebp, dword [0x7ff772230630]
mov eax, dword [0x7ff772230634]
lea ebx, [rbp - 1]
imul ebx, ebp
mov esi, ebx
xor esi, 0xfffffffe
mov r9d, 0xadd1c374
mov ebp, 0x94ff0fef
mov edi, 0xadd1c374
test esi, ebx
sete bl
je 0x7ff772168721
mov edi, 0x94ff0fef
jmp 0x7ff772168721
cmp ebp, 0x469e49c2
jg 0x7ff772168c51
cmp ebp, 0x3be4b211
je 0x7ff772168e18
cmp ebp, 0x43c8bcb3
jne 0x7ff772168730
mov ebp, 0x6ded0efe
jmp 0x7ff772168730
cmp ebp, 0xc0ca3741
je 0x7ff772168e34
cmp ebp, 0xc27a6c65
jne 0x7ff772168730
mov ebp, 0xcbe706f8
mov dword [rsp + 0x14], 0
jmp 0x7ff772168730
cmp ebp, 0x2296a3e7
je 0x7ff772168e43
cmp ebp, 0x22bc81ff
jne 0x7ff772168730
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0x33
sete byte [rsp + 6]
mov ebp, dword [0x7ff772230630]
mov eax, dword [0x7ff772230634]
lea ebx, [rbp - 1]
imul ebx, ebp
mov esi, ebx
xor esi, 0xfffffffe
mov r9d, 0xfca233cf
mov ebp, 0x171d974f
mov edi, 0xfca233cf
test esi, ebx
sete bl
je 0x7ff772168721
mov edi, 0x171d974f
jmp 0x7ff772168721
cmp ebp, 0xe685c924
je 0x7ff772168e8d
cmp ebp, 0xf38488fd
jne 0x7ff772168730
mov eax, dword [rsp + 8]
add eax, 1
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 8]
mov byte [rdx + rax], 0x2f
mov esi, dword [0x7ff772230630]
mov edi, dword [0x7ff772230634]
lea eax, [rsi - 1]
imul eax, esi
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete sil
cmp edi, 0xa
setl bl
xor bl, sil
mov ebp, 0xf41af3bb
mov esi, 0xf41af3bb
jne 0x7ff772168b6d
mov esi, 0x6a8aad36
cmp eax, 0xffffffff
cmovne ebp, esi
cmp edi, 0xa
cmovge ebp, esi
jmp 0x7ff772168730
cmp ebp, 0x52d672e3
je 0x7ff772168ed3
cmp ebp, 0x5a166b36
jne 0x7ff772168730
mov r13d, dword [rsp + 0x10]
add r13d, 1
mov eax, dword [rsp + 0x10]
mov byte [rdx + rax], OleUninitialize
mov ebp, 0x646cfc7b
jmp 0x7ff772168730
cmp ebp, 0x94ff0fef
je 0x7ff772168f0b
cmp ebp, 0x9e041681
jne 0x7ff772168730
mov eax, dword [rsp + 0x1c]
add rax, rcx
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movsx eax, byte [rax]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
mov ebp, 0xc27a6c65
je 0x7ff772168730
mov ebp, 0xc535377a
jmp 0x7ff772168730
cmp ebp, 0x81a322d
je 0x7ff772168f38
cmp ebp, 0x171d974f
jne 0x7ff772168730
mov rax, qword [rsp + 0x30]
mov ebp, 0x22bc81ff
jmp 0x7ff772168730
cmp ebp, 0xe2225397
je 0x7ff772168f54
cmp ebp, 0xe6826e2d
jne 0x7ff772168730
mov eax, dword [rsp]
mov byte [rdx + rax], 0
mov ebp, 0xcbe706f8
mov al, 1
mov dword [rsp + 0x14], eax
jmp 0x7ff772168730
cmp ebp, 0x469e49c3
je 0x7ff772168f6f
cmp ebp, 0x4c9f3343
jne 0x7ff772168730
mov rax, qword [rsp + 0x28]
cmp byte [rax], 0x44
mov ebp, 0x5a166b36
je 0x7ff772168c7d
mov ebp, 0x646cfc7b
mov r13d, dword [rsp + 0x10]
jmp 0x7ff772168730
mov eax, dword [rsp + 0xc]
add eax, 2
add rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
mov ebp, 0xc27a6c65
je 0x7ff772168730
mov ebp, 0x81a322d
jmp 0x7ff772168730
mov esi, dword [0x7ff772230630]
mov edi, dword [0x7ff772230634]
lea eax, [rsi - 1]
imul eax, esi
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete sil
cmp edi, 0xa
setl bl
xor bl, sil
mov ebp, 0xf719e0ac
mov esi, 0xf719e0ac
jne 0x7ff772168cf4
mov esi, 0xc0ca3741
cmp eax, 0xffffffff
cmovne ebp, esi
cmp edi, 0xa
mov dword [rsp + 8], r12d
cmovge ebp, esi
jmp 0x7ff772168730
mov ebp, 0xe685c924
jmp 0x7ff772168730
mov r10d, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x40]
mov ebp, 0x52d672e3
jmp 0x7ff772168730
mov rax, qword [rsp + 0x28]
cmp byte [rax], 0x46
sete byte [rsp + 5]
mov esi, dword [0x7ff772230630]
mov eax, dword [0x7ff772230634]
lea ebx, [rsi - 1]
imul ebx, esi
not ebx
or ebx, 0xfffffffe
mov esi, 0xe2225397
mov ebp, 0xc0ca3741
mov edi, 0xe2225397
cmp ebx, 0xffffffff
sete bl
je 0x7ff772168d68
mov edi, 0xc0ca3741
cmp eax, 0xa
cmovl ebp, edi
setl al
xor al, bl
cmovne ebp, esi
jmp 0x7ff772168730
mov r15d, dword [rsp + 0xc]
add r15d, 3
mov ebp, 0xd6846a6d
mov r11d, r13d
jmp 0x7ff772168730
mov eax, dword [rsp + 8]
mov eax, dword [rsp + 8]
mov eax, dword [rsp + 8]
mov byte [rdx + rax], 0x2f
mov ebp, 0xf38488fd
jmp 0x7ff772168730
mov r12d, dword [rsp]
add r12d, 1
mov eax, dword [rsp]
mov byte [rdx + rax], 0x2b
mov ebp, 0xcb51e761
jmp 0x7ff772168730
mov ebp, dword [0x7ff772230630]
mov r9d, dword [0x7ff772230634]
lea eax, [rbp - 1]
imul eax, ebp
mov esi, eax
xor esi, 0xfffffffe
test esi, eax
sete dil
cmp r9d, 0xa
setl bl
xor bl, dil
mov ebp, 0xe685c924
mov edi, 0xe685c924
jne 0x7ff772168dfd
mov edi, 0x28b4b588
test esi, eax
cmovne ebp, edi
cmp r9d, 0xa
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x44], r15d
cmovge ebp, edi
jmp 0x7ff772168730
mov eax, dword [rsp + 0x24]
mov ebp, 0x1598309
cmp eax, 0x42
je 0x7ff772168e2b
mov ebp, 0xcb51e761
mov r12d, dword [rsp]
jmp 0x7ff772168730
mov rax, qword [rsp + 0x28]
mov ebp, 0xf719e0ac
jmp 0x7ff772168730
mov ebp, dword [0x7ff772230630]
mov r9d, dword [0x7ff772230634]
lea eax, [rbp - 1]
imul eax, ebp
mov esi, eax
xor esi, 0xfffffffe
test esi, eax
sete dil
cmp r9d, 0xa
setl bl
xor bl, dil
mov ebp, 0xd6c07b07
mov edi, 0xd6c07b07
jne 0x7ff772168e7c
mov edi, 0x94ff0fef
test esi, eax
cmovne ebp, edi
cmp r9d, 0xa
cmovge ebp, edi
jmp 0x7ff772168730
mov ebp, dword [0x7ff772230630]
mov eax, dword [0x7ff772230634]
lea ebx, [rbp - 1]
imul ebx, ebp
not ebx
or ebx, 0xfffffffe
mov esi, 0x33420146
mov ebp, 0x28b4b588
mov edi, 0x33420146
cmp ebx, 0xffffffff
sete bl
je 0x7ff772168ec0
mov edi, 0x28b4b588
cmp eax, 0xa
cmovl ebp, edi
setl al
xor bl, al
cmovne ebp, esi
jmp 0x7ff772168730
mov dword [rsp], r8d
mov dword [rsp + 0xc], r10d
mov eax, dword [rsp + 0xc]
movzx eax, byte [rcx + rax]
mov byte [rsp + 4], al
movsx eax, byte [rsp + 4]
mov dword [rsp + 0x18], eax
cmp dword [rsp + 0x18], 0
mov ebp, 0xe6826e2d
je 0x7ff772168730
mov ebp, 0x469e49c3
jmp 0x7ff772168730
mov eax, dword [rsp]
mov eax, dword [rsp]
mov eax, dword [rsp]
mov eax, dword [rsp]
mov eax, dword [rsp]
mov eax, dword [rsp]
mov eax, dword [rsp]
mov eax, dword [rsp]
mov eax, dword [rsp]
movzx ebx, byte [rsp + 4]
mov byte [rdx + rax], bl
mov ebp, 0xd6c07b07
jmp 0x7ff772168730
mov eax, dword [rsp + 0x20]
mov ebp, 0x3be4b211
cmp eax, 0x32
je 0x7ff772168f4b
mov ebp, 0x5dba626
mov r14d, dword [rsp]
jmp 0x7ff772168730
cmp byte [rsp + 5], 0
mov ebp, 0x39f41877
jne 0x7ff772168f65
mov ebp, 0x5dba626
mov r14d, dword [rsp + 8]
jmp 0x7ff772168730
mov eax, dword [rsp + 0x18]
mov esi, dword [rsp + 0xc]
add esi, 1
mov dword [rsp + 0x1c], esi
mov ebp, 0x9e041681
cmp eax, 0x25
je 0x7ff772168730
mov ebp, 0x2296a3e7
jmp 0x7ff772168730
mov ebp, 0x5dba626
mov r14d, dword [rsp + 0x38]
jmp 0x7ff772168730
mov al, byte [rsp + 7]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret