Function at 0x47d420
Capabilities:
Encode data using xor
Parse credit card information

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov r8, rdx
movzx edi, byte [rcx]
lea r9, [0x005fde50]
mov dl, byte [rdi + r9]
cmp dl, 0xf
jae 0x47d4d5
cmp dl, 8
jae 0x47d50b
cmp dl, 3
jae 0x47d596
mov eax, edi
xor al, 0x20
and al, dil
cmp al, 0x58
jne 0x47d6ac
mov eax, 1
cmp byte [rcx + 1], 0x27
jne 0x47da4b
mov dword [r8], 0x9a
mov edi, 2
mov eax, 1
lea rsi, [0x005fb0a0]
nop word [rax + rax]
movzx ebp, byte [rcx + rax + 1]
movzx edx, byte [rbp + rsi]
mov ebx, edx
xor bl, 0xf7
add rdi, 1
add rax, 1
test bl, dl
jne 0x47d490
cmp bpl, 0x27
sete dl
mov ebx, eax
xor ebx, 0xfffffffe
test ebx, eax
setne bl
cmp dl, bl
je 0x47dba7
cmp bpl, 0x27
jne 0x47dba7
mov edx, eax
jmp 0x47dbe0
cmp dl, 0x16
jae 0x47d569
cmp dl, 0x12
jae 0x47d625
cmp dl, 0x10
jae 0x47d707
cmp byte [rcx + 1], 0x3d
jne 0x47da89
mov dword [r8], 0x34
mov esi, 2
jmp 0x47dd77
cmp dl, 0xb
jae 0x47d649
cmp dl, 8
ja 0x47d78e
mov dl, byte [rcx + 1]
mov esi, 1
jmp 0x47d53a
add esi, 1
movsxd rax, esi
movzx edx, byte [rcx + rax]
test dl, dl
je 0x47dd70
cmp dl, dil
jne 0x47d530
add esi, 1
movsxd rax, esi
cmp byte [rcx + rax], dil
je 0x47d530
cmp dil, 0x27
jne 0x47da7d
mov dword [r8], 0x75
jmp 0x47dd77
cmp dl, 0x1a
jae 0x47d68b
cmp dl, 0x18
jae 0x47d7c1
cmp dil, 0x2c
jne 0x47d932
mov dword [r8], 0x19
mov esi, 1
jmp 0x47dd77
cmp dl, 6
jae 0x47d7dc
cmp dl, 4
jb 0x47d8b7
mov dword [r8], 0x9c
mov dl, byte [rcx + 1]
mov esi, 1
test dl, dl
je 0x47dd70
xor r11d, r11d
lea r10, [0x005fb0a0]
mov r9b, 1
jmp 0x47d5e8
add r11d, 1
mov eax, esi
add eax, 1
movsxd rdx, eax
movzx edx, byte [rcx + rdx]
mov esi, eax
test dl, dl
je 0x47dd6b
movzx eax, dl
movzx eax, byte [rax + r10]
not al
or al, 0xb9
cmp al, 0xff
jne 0x47d5ce
test r11d, r11d
jle 0x47d60b
cmp dl, 0x28
jne 0x47d60b
test r9b, r9b
jne 0x47dd1a
cmp dl, 0x3a
jne 0x47dd6b
lea eax, [rsi + 1]
movsxd rdx, eax
cmp byte [rcx + rdx], 0x3a
je 0x47d5d4
jmp 0x47dd6b
cmp dl, 0x14
jae 0x47d81c
cmp dil, 0x3b
jne 0x47d943
mov dword [r8], 1
mov esi, 1
jmp 0x47dd77
cmp dl, 0xd
jae 0x47d837
mov dl, byte [rcx + 1]
cmp dil, 0x3c
jne 0x47d954
cmp dl, 0x3c
je 0x47dcfe
cmp dl, 0x3e
je 0x47d4fa
cmp dl, 0x3d
jne 0x47dd0c
mov dword [r8], 0x37
mov esi, 2
jmp 0x47dd77
cmp dil, 0xef
je 0x47d865
test dil, dil
jne 0x47d88f
mov dword [r8], 0xb8
xor esi, esi
jmp 0x47dd77
mov eax, 1
cmp dl, 1
ja 0x47da4b
mov edx, 1
movabs r10, 0x100000000
xor esi, esi
mov rax, r10
nop
movzx edi, byte [rcx + rsi + 1]
add rdx, 1
add rax, r10
add rsi, 1
cmp byte [rdi + r9], 3
jb 0x47d6d0
lea rdx, [0x005fb0a0]
mov bl, byte [rdi + rdx]
mov edx, ebx
xor dl, 0xb9
test dl, bl
je 0x47dc00
sar rax, 0x20
jmp 0x47da4b
cmp dil, 0x2f
jne 0x47d992
cmp byte [rcx + 1], 0x2a
jne 0x47da33
mov al, byte [rcx + 2]
test al, al
je 0x47da33
mov r10b, byte [rcx + 3]
cmp al, 0x2a
jne 0x47d743
cmp r10b, 0x2f
jne 0x47d743
mov esi, 4
mov al, 1
test al, al
jne 0x47d9fd
mov r9d, 3
mov edi, 4
mov esi, 3
test r10b, r10b
je 0x47d9fd
mov eax, r10d
add r9, 1
cmp r10b, 0x2a
sete r11b
movzx r10d, byte [rcx + rdi]
cmp r10b, 0x2f
setne dl
add rdi, 1
add esi, 1
cmp r11b, dl
je 0x47d753
cmp al, 0x2a
jne 0x47d753
mov esi, edi
jmp 0x47d9fd
cmp dil, 0x5b
jne 0x47d9a3
mov esi, 1
nop dword [rax]
movzx eax, byte [rcx + rsi]
test al, al
je 0x47db9a
add rsi, 1
cmp al, 0x5d
jne 0x47d7a0
mov eax, 0x3b
mov dword [r8], eax
jmp 0x47dd77
cmp dil, 0x26
jne 0x47d9be
mov dword [r8], 0x66
mov esi, 1
jmp 0x47dd77
cmp dil, 0x3f
jne 0x47d9cf
mov dword [r8], 0x9c
mov eax, 1
xor esi, esi
nop word cs:[rax + rax]
nop
movzx edx, byte [rcx + rsi + 1]
add rdx, 0xffffffffffffffd0
add rax, 1
add rsi, 1
cmp rdx, 9
jbe 0x47d800
jmp 0x47dd77
cmp dil, 0x2b
jne 0x47da09
mov dword [r8], 0x6a
mov esi, 1
jmp 0x47dd77
cmp dil, 0x3e
jne 0x47da1a
mov al, byte [rcx + 1]
cmp al, 0x3e
je 0x47dcb5
cmp al, 0x3d
jne 0x47dcc6
mov dword [r8], 0x39
mov esi, 2
jmp 0x47dd77
mov eax, 1
cmp byte [rcx + 1], 0xbb
jne 0x47da4b
cmp byte [rcx + 2], 0xbf
jne 0x47da4b
mov dword [r8], 0xb7
mov esi, 3
jmp 0x47dd77
cmp dl, 0x1b
jae 0x47da44
movzx eax, byte [rcx + 1]
add rax, 0xffffffffffffffd0
cmp rax, 0xa
jb 0x47d8b7
mov dword [r8], 0x8d
mov esi, 1
jmp 0x47dd77
mov dword [r8], 0x9b
movzx eax, byte [rcx]
cmp rax, 0x30
jne 0x47d91d
mov dl, byte [rcx + 1]
or dl, 0x20
cmp dl, 0x78
jne 0x47d91d
movzx edx, byte [rcx + 2]
lea rdi, [0x005fb0a0]
mov r9b, byte [rdx + rdi]
mov edx, r9d
xor dl, 0xf7
test dl, r9b
je 0x47d91d
mov esi, 3
nop dword [rax]
movzx eax, byte [rcx + rsi]
movzx eax, byte [rax + rdi]
mov edx, eax
xor dl, 0xf7
add rsi, 1
test dl, al
jne 0x47d900
add esi, 0xffffffff
jmp 0x47dd77
lea rdx, [rax - 0x30]
cmp rdx, 9
jbe 0x47da9a
xor esi, esi
jmp 0x47dac7
mov dword [r8], 0x6e
mov esi, 1
jmp 0x47dd77
mov dword [r8], 0x17
mov esi, 1
jmp 0x47dd77
cmp dl, 0x3e
je 0x47dcd7
cmp dl, 0x2d
jne 0x47dcf0
mov esi, 2
mov al, byte [rcx + rsi]
test al, al
je 0x47d9fd
nop word cs:[rax + rax]
cmp al, 0xa
je 0x47d9fd
add rsi, 1
movzx eax, byte [rcx + rsi]
test al, al
jne 0x47d980
jmp 0x47d9fd
mov dword [r8], 0x16
mov esi, 1
jmp 0x47dd77
cmp byte [rcx + 1], 0x7c
jne 0x47dbef
mov dword [r8], 0x6f
mov esi, 2
jmp 0x47dd77
mov dword [r8], 0x72
mov esi, 1
jmp 0x47dd77
mov eax, 1
xor esi, esi
lea r9, [0x005fb0a0]
nop dword [rax]
movzx edi, byte [rcx + rsi + 1]
movzx r10d, byte [rdi + r9]
mov edx, r10d
xor dl, 0xfe
add rax, 1
add rsi, 1
test dl, r10b
jne 0x47d9e0
mov dword [r8], 0xb7
jmp 0x47dd77
mov dword [r8], 0x6c
mov esi, 1
jmp 0x47dd77
mov dword [r8], 0x35
xor esi, esi
cmp byte [rcx + 1], 0x3d
sete sil
add esi, 1
jmp 0x47dd77
mov dword [r8], 0x6d
mov esi, 1
jmp 0x47dd77
mov eax, 1
jne 0x47da89
lea esi, [rax - 1]
add rcx, rax
lea rdx, [0x005fb0a0]
nop dword [rax + rax]
movzx ebp, byte [rcx]
movzx ebx, byte [rbp + rdx]
not bl
or bl, 0xb9
add rax, 1
add esi, 1
add rcx, 1
cmp bl, 0xff
jne 0x47da60
mov dword [r8], 0x3b
jmp 0x47dd77
mov dword [r8], 0xb8
mov esi, 1
jmp 0x47dd77
mov edx, 1
xor esi, esi
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx eax, byte [rcx + rsi + 1]
lea rdi, [rax - 0x30]
add rdx, 1
add rsi, 1
cmp rdi, 0xa
jb 0x47dab0
movabs r10, 0x100000000
cmp al, 0x2e
jne 0x47db0a
lea rax, [r10 - 1]
xor rax, rsi
not rax
and rsi, rax
nop word cs:[rax + rax]
movzx eax, byte [rcx + rsi + 1]
add rsi, 1
add rax, 0xffffffffffffffd0
cmp rax, 0xa
jb 0x47daf0
mov dword [r8], 0x99
movsxd rax, esi
mov r9b, byte [rcx + rax]
mov edx, r9d
or dl, 0x20
cmp dl, 0x65
jne 0x47dc6a
mov rdi, rsi
shl rdi, 0x20
lea rdx, [rdi + r10]
sar rdx, 0x20
movzx r11d, byte [rcx + rdx]
lea rdx, [r11 - 0x30]
cmp rdx, 9
jbe 0x47dc13
cmp r11b, 0x2d
je 0x47db52
cmp r11b, 0x2b
jne 0x47dc6a
movabs r11, 0xb6fbf7b64fbac192
add rdi, r11
movabs rbx, 0x200000000
add rbx, rdi
sub rbx, r11
sar rbx, 0x20
movzx edi, byte [rcx + rbx]
movabs r11, 0x9722ebd687a26a41
sub rdi, r11
add rdi, r11
add rdi, 0xffffffffffffffd0
cmp rdi, 9
jbe 0x47dc19
jmp 0x47dc6a
mov eax, 0xb8
mov dword [r8], eax
jmp 0x47dd77
mov dword [r8], 0xb8
movabs rdx, 0xffffffff00000000
xor rdx, rax
and rdx, rax
mov al, byte [rcx + rdx]
test al, al
je 0x47dbe0
nop dword [rax]
cmp al, 0x27
je 0x47dbe0
add rdx, 1
movzx eax, byte [rcx + rdx]
test al, al
jne 0x47dbd0
movsxd rsi, edx
cmp byte [rcx + rsi], 1
sbb esi, 0xffffffff
jmp 0x47dd77
mov dword [r8], 0x67
mov esi, 1
jmp 0x47dd77
mov dword [r8], 0x3b
mov edx, esi
call fcn.0047dd90
jmp 0x47dd77
add esi, 2
movsxd rbx, esi
mov rdi, rbx
shl rdi, 0x20
movabs rax, 0xffffffff00000000
add rax, rdi
lea esi, [rbx - 1]
lea rdi, [rcx + rbx]
nop word cs:[rax + rax]
nop
movzx edx, byte [rdi]
add rdx, 0xffffffffffffffd0
add rbx, 1
add rax, r10
add esi, 1
add rdi, 1
cmp rdx, 0xa
jb 0x47dc40
mov dword [r8], 0x99
sar rax, 0x20
mov r9b, byte [rcx + rax]
movzx ebx, r9b
lea rdx, [0x005fb0a0]
mov bl, byte [rbx + rdx]
not bl
or bl, 0xb9
cmp bl, 0xff
je 0x47dd77
nop word cs:[rax + rax]
mov dword [r8], 0xb8
movzx ebx, byte [rcx + rax + 1]
add rax, 1
movzx ebx, byte [rbx + rdx]
not bl
or bl, 0xb9
cmp bl, 0xff
jne 0x47dc90
mov esi, eax
jmp 0x47dd77
mov dword [r8], 0x69
mov esi, 2
jmp 0x47dd77
mov dword [r8], 0x36
mov esi, 1
jmp 0x47dd77
mov dword [r8], 0x70
xor esi, esi
cmp byte [rcx + 2], 0x3e
sete sil
or esi, 2
jmp 0x47dd77
mov dword [r8], 0x6b
mov esi, 1
jmp 0x47dd77
mov dword [r8], 0x68
mov esi, 2
jmp 0x47dd77
mov dword [r8], 0x38
mov esi, 1
jmp 0x47dd77
movsxd rdx, esi
add rcx, rdx
add rcx, 1
add esi, 1
mov r9b, 1
mov ebp, esi
mov esi, ebp
movzx edi, byte [rcx]
test rdi, rdi
je 0x47dd64
lea ebp, [rsi + 1]
cmp dil, 0x29
je 0x47dd5a
movzx eax, byte [rdi + r10]
mov ebx, eax
xor bl, 0xfe
and bl, al
jne 0x47dd5a
add rdx, 1
add rcx, 1
test r9b, r9b
jne 0x47dd2c
cmp dil, 0x29
jne 0x47dd64
mov esi, ebp
jmp 0x47dd6b
mov dword [r8], 0xb8
test r11d, r11d
jne 0x47dd77
mov dword [r8], 0xb8
mov eax, esi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret