Function at 0x1800cbd40
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf0
lea ebx, [rdx - 0x13]
mov r10, r9
mov dword [rsp + 0x40], ebx
mov eax, edx
mov r14, rcx
cmp edx, ebx
jbe case.0x1800cbdf3.54
mov edi, dword [rsp + 0x138]
lea r8, [0x180000000]
mov r13, qword [rsp + 0x88]
lea r11, [0x1800e56c0]
movzx r15d, byte [rsp + 0x138]
xor esi, esi
mov r12, qword [rsp + 0x88]
movabs rdx, 0x4385df649fccf645
mov ebx, dword [rsp + 0x138]
movabs r9, 0x14057b7ef767814f
mov ecx, dword [rsp + 0x40]
mov qword [rsp + 0xa0], rdi
add eax, 0xffffffcc
cmp eax, 0x4d
ja case.default.0x1800cbdf3
movzx eax, byte [r8 + rax + 0xcc858]
mov ecx, dword [r8 + rax*4 + 0xcc80c]
add rcx, r8
jmp rcx
mov dword [r14 + 0x88], esi
jmp case.0x1800cbdf3.70
mov rax, qword [r14 + 0x58]
mov rcx, qword [rax + 0x10]
mov rax, qword [rsp + 0xa8]
mov qword [rcx + 8], rax
jmp case.0x1800cbdf3.70
cmp qword [r14 + 0x10], 0
jne 0x1800cbf33
mov ebp, 0xeb
nop word [rax + rax]
mov eax, ebp
sub eax, 0xe7
je 0x1800cbeda
sub eax, 1
je 0x1800cbe96
sub eax, 1
je 0x1800cbe81
sub eax, 1
je 0x1800cbe6f
cmp eax, 1
jne 0x1800cbf20
mov rax, qword [rsp + 0x158]
cmp qword [rax], 0
jne 0x1800cbf20
mov rax, rsi
jmp 0x1800cc7f0
mov byte [r14 + 8], 6
mov qword [r14 + 0x10], 0x40
jmp 0x1800cbf20
mov rax, qword [r14 + 0x10]
shl rax, 3
mov qword [rsp + 0x90], rax
jmp 0x1800cbf20
mov rax, qword [r14 + 0x20]
mov rcx, qword [rsp + 0x90]
call qword [rax]
mov qword [r14], rax
test rax, rax
jne 0x1800cbf20
mov ecx, 0x79
mov eax, ecx
sub eax, 0x77
je case.0x1800cbdf3.54
sub eax, 1
je 0x1800cbecc
cmp eax, 1
jne 0x1800cbed1
mov qword [r14 + 0x10], rsi
jmp 0x1800cbed1
mov qword [rsp + 0x58], rsi
dec ecx
cmp ecx, 0x76
ja 0x1800cbeb1
jmp 0x1800cbf20
mov r8, qword [rsp + 0x90]
xor edx, edx
mov rcx, qword [r14]
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rsp + 0x148]
lea r8, [rsp + 0xb0]
xor edx, edx
xor r9d, r9d
mov rax, qword [rcx]
lea ecx, [rdx + 0x1c]
mov qword [rsp + 0xb0], rax
call fcn.1800473e0
mov r13d, dword [r14 + 0x10]
dec r13d
mov ecx, eax
and r13, rcx
dec ebp
cmp ebp, 0xe6
ja 0x1800cbe30
jmp 0x1800cc3eb
mov eax, 0xdc
mov dword [rsp + 0x70], eax
nop dword [rax]
add eax, 0xffffff29
cmp eax, 5
ja case.default.0x1800cbf59
mov ecx, dword [r8 + rax*4 + 0xcc8a8]
add rcx, r8
jmp rcx
xor r15b, r15b
jmp case.default.0x1800cbf59
mov eax, dword [rsp + 0x6c]
mov r13d, edi
and r13, rax
jmp case.default.0x1800cbf59
mov rax, qword [r10]
lea r8, [rsp + 0xb8]
xor edx, edx
mov qword [rsp + 0xb8], rax
xor r9d, r9d
lea ecx, [rdx + 0x1c]
call fcn.1800473e0
mov rdi, rax
mov qword [rsp + 0xa0], rax
mov eax, dword [r14 + 0x10]
dec eax
mov dword [rsp + 0x6c], eax
jmp case.default.0x1800cbf59
mov rax, qword [rsp + 0x158]
cmp qword [rax], 0
jne case.default.0x1800cbf59
mov ecx, 0x88
mov eax, ecx
sub eax, 0x88
je 0x1800cbfd7
cmp eax, 0x76
je case.0x1800cbdf3.54
jmp 0x1800cbfdc
mov qword [rsp + 0x58], rsi
add ecx, 0x76
cmp ecx, 0x174
jb 0x1800cbfc3
jmp case.default.0x1800cbf59
movzx ecx, byte [r14 + 8]
mov rdx, qword [r14 + 0x18]
dec ecx
shr rdx, cl
test rdx, rdx
je case.default.0x1800cbf59
mov r11d, 0xd1
mov ebp, GetAcceptLanguagesW
mov dword [rsp + 0x64], r11d
mov dword [rsp + 0x68], ebp
cmp ebp, 0xb
ja case.default.0x1800cc02d
mov eax, ebp
mov ecx, dword [r8 + rax*4 + 0xcc8c0]
add rcx, r8
jmp rcx
mov r8, qword [rsp + 0x98]
xor edx, edx
mov rcx, qword [rsp + 0x80]
call sub.VCRUNTIME140.dll_memset
mov r11d, dword [rsp + 0x64]
jmp 0x1800cc2e1
mov rax, qword [rsp + 0x78]
lea rax, [rax*8]
mov qword [rsp + 0x98], rax
jmp case.default.0x1800cc02d
movzx ecx, byte [rsp + 0x44]
mov eax, 1
shl rax, cl
mov qword [rsp + 0x78], rax
jmp case.default.0x1800cc02d
mov rax, qword [rsp + 0x78]
mov r13d, dword [rsp + 0x60]
mov qword [r14 + 0x10], rax
mov eax, edi
and r13, rax
jmp case.default.0x1800cc02d
cmp qword [rsp + 0x80], 0
je 0x1800cbe67
jmp case.default.0x1800cc02d
mov rax, qword [rsp + 0x80]
mov qword [r14], rax
movzx eax, byte [rsp + 0x44]
mov byte [r14 + 8], al
jmp case.default.0x1800cc02d
xor r15b, r15b
jmp case.default.0x1800cc02d
movzx eax, byte [r14 + 8]
inc al
mov byte [rsp + 0x44], al
jmp case.default.0x1800cc02d
mov rax, qword [rsp + 0x78]
dec eax
mov dword [rsp + 0x60], eax
jmp case.default.0x1800cc02d
mov rax, qword [r14 + 0x20]
mov rcx, qword [rsp + 0x98]
call qword [rax]
mov r11d, dword [rsp + 0x64]
mov qword [rsp + 0x80], rax
jmp 0x1800cc2e1
cmp qword [r14 + 0x10], 0
mov r13, rsi
jbe 0x1800cc24f
movzx r14d, byte [rsp + 0x44]
mov rsi, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x80]
mov rax, qword [rsi]
cmp qword [rax + r13*8], 0
je 0x1800cc22c
mov ebp, 0x1d
mov eax, ebp
sub eax, 0x19
je 0x1800cc216
sub eax, 1
je 0x1800cc1ab
sub eax, 1
je 0x1800cc1a6
sub eax, 1
je 0x1800cc197
cmp eax, 1
jne 0x1800cc221
mov rax, qword [rsi]
lea r8, [rsp + 0xc0]
xor edx, edx
xor r9d, r9d
mov rcx, qword [rax + r13*8]
mov rax, qword [rcx]
lea ecx, [rdx + 0x1c]
mov qword [rsp + 0xc0], rax
call fcn.1800473e0
mov rbx, rax
jmp 0x1800cc221
mov eax, dword [rsp + 0x60]
mov r12d, ebx
and r12, rax
jmp 0x1800cc221
xor r15b, r15b
jmp 0x1800cc221
cmp qword [rdi + r12*8], 0
je 0x1800cc221
mov edx, 0x115
mov eax, edx
sub eax, 0x115
je 0x1800cc1e0
cmp eax, 1
jne 0x1800cc203
movzx ecx, r15b
cmp r12, rcx
jae 0x1800cc1db
mov rax, qword [rsp + 0x78]
sub rax, rcx
add r12, rax
jmp 0x1800cc203
sub r12, rcx
jmp 0x1800cc203
test r15b, r15b
jne 0x1800cc203
mov eax, dword [rsp + 0x60]
lea ecx, [r14 - 1]
mov r15d, eax
shr eax, 2
not r15d
and r15d, ebx
shr r15d, cl
and r15b, al
or r15b, 1
inc edx
cmp edx, 0x117
jb 0x1800cc1b7
cmp qword [rdi + r12*8], 0
jne 0x1800cc1b2
jmp 0x1800cc221
mov rax, qword [rsi]
mov rcx, qword [rax + r13*8]
mov qword [rdi + r12*8], rcx
dec ebp
cmp ebp, 0x18
ja 0x1800cc145
inc r13
cmp r13, qword [rsi + 0x10]
jb 0x1800cc132
mov rdi, qword [rsp + 0xa0]
xor esi, esi
mov r14, qword [rsp + 0x130]
mov ebp, dword [rsp + 0x68]
mov rax, qword [r14 + 0x20]
mov rcx, qword [r14]
call qword [rax + 0x10]
mov r11d, dword [rsp + 0x64]
jmp 0x1800cc2e1
mov r10, qword [r14]
cmp qword [r10 + r13*8], 0
je case.default.0x1800cc02d
movzx r9d, byte [rsp + 0x44]
mov esi, dword [rsp + 0x60]
nop word [rax + rax]
mov r8d, 0x1b
mov eax, r8d
sub eax, 0x1b
je 0x1800cc2ae
cmp eax, 1
jne 0x1800cc2cf
movzx ecx, r15b
cmp r13, rcx
jae 0x1800cc2a9
mov rax, qword [rsp + 0x78]
sub rax, rcx
add r13, rax
jmp 0x1800cc2cf
sub r13, rcx
jmp 0x1800cc2cf
test r15b, r15b
jne 0x1800cc2cf
mov r15d, esi
lea ecx, [r9 - 1]
not r15d
mov eax, esi
and r15d, edi
shr eax, 2
shr r15d, cl
and r15b, al
or r15b, 1
inc r8d
cmp r8d, 0x1d
jb 0x1800cc286
cmp qword [r10 + r13*8], 0
jne 0x1800cc280
xor esi, esi
lea r8, [0x180000000]
dec r11d
dec ebp
mov dword [rsp + 0x64], r11d
mov dword [rsp + 0x68], ebp
cmp r11d, 0xc5
ja 0x1800cc017
jmp case.default.0x1800cbf59
mov rax, qword [r14]
cmp qword [rax + r13*8], 0
je case.default.0x1800cbf59
nop word [rax + rax]
mov ebp, 0x52
mov eax, ebp
sub eax, 0x51
je 0x1800cc451
cmp eax, 1
jne 0x1800cc3ae
mov rax, qword [r14]
lea r9, [rsp + 0xc8]
xor r8d, r8d
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
mov rcx, qword [rax + r13*8]
lea edx, [r8 + 0x35]
mov rax, qword [rcx]
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0xc8], rax
mov rax, qword [r10]
mov qword [rsp + 0xd0], rax
call fcn.1800cbd40
test al, al
je 0x1800cc3a6
mov edx, 0x13
mov eax, edx
sub eax, 0x13
je 0x1800cc393
cmp eax, 1
je case.0x1800cbdf3.54
jmp 0x1800cc39f
mov rax, qword [r14]
mov rcx, qword [rax + r13*8]
mov qword [rsp + 0x58], rcx
inc edx
cmp edx, 0x15
jb 0x1800cc381
mov r10, qword [rsp + 0x148]
dec ebp
cmp ebp, 0x50
ja 0x1800cc325
mov rax, qword [r14]
cmp qword [rax + r13*8], 0
jne 0x1800cc320
mov eax, dword [rsp + 0x70]
lea r8, [0x180000000]
mov r10, qword [rsp + 0x148]
dec eax
mov dword [rsp + 0x70], eax
cmp eax, 0xd6
ja 0x1800cbf40
mov rcx, qword [rsp + 0x158]
mov rax, qword [r14 + 0x20]
mov rcx, qword [rcx]
call qword [rax]
mov rcx, rax
mov rax, qword [r14]
mov qword [rax + r13*8], rcx
mov r10, qword [rsp + 0x148]
lea r8, [0x180000000]
movabs r9, 0x14057b7ef767814f
lea r11, [0x1800e56c0]
movabs rdx, 0x4385df649fccf645
mov ecx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x138]
dec eax
mov dword [rsp + 0x138], eax
cmp eax, ecx
ja 0x1800cbdd3
jmp case.0x1800cbdf3.54
test r15b, r15b
jne 0x1800cc479
mov r15d, dword [rsp + 0x6c]
movzx ecx, byte [r14 + 8]
not r15d
mov eax, dword [rsp + 0x6c]
and r15d, edi
dec ecx
shr eax, 2
shr r15d, cl
and r15b, al
or r15b, 1
movzx ecx, r15b
cmp r13, rcx
jae 0x1800cc491
mov rax, qword [r14 + 0x10]
sub rax, rcx
add r13, rax
jmp 0x1800cc3ae
sub r13, rcx
jmp 0x1800cc3ae
mov rax, qword [r14 + 0xc0]
test rax, rax
je case.0x1800cbdf3.70
mov rdx, r10
mov rcx, r14
call rax
jmp 0x1800cc406
mov rax, qword [r14]
mov rcx, qword [rax + r13*8]
test rcx, rcx
je 0x1800cbe67
mov rax, qword [rsp + 0x158]
xor edx, edx
mov r8, qword [rax]
call sub.VCRUNTIME140.dll_memset
jmp 0x1800cc406
mov rdx, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x158]
mov rax, qword [rdx]
movzx ecx, byte [rcx + rax]
cmp cl, 0x3d
jne 0x1800cc533
mov ecx, 0x45
nop word [rax + rax]
mov eax, ecx
sub eax, 0x43
je 0x1800cc520
sub eax, 1
je 0x1800cc516
cmp eax, 1
jne 0x1800cc527
inc qword [rdx]
jmp 0x1800cc527
mov qword [r10 + 0x10], 2
jmp 0x1800cc527
mov dword [r10], GetAcceptLanguagesW
dec ecx
cmp ecx, 0x42
ja 0x1800cc500
jmp 0x1800cc426
cmp cl, 0x7c
jne 0x1800cc578
mov ecx, 0x8b
nop dword [rax]
mov eax, ecx
sub eax, 0x89
je 0x1800cc562
sub eax, 1
je 0x1800cc558
cmp eax, 1
jne 0x1800cc569
inc qword [rdx]
jmp 0x1800cc569
mov qword [r10 + 0x10], 2
jmp 0x1800cc569
mov dword [r10], 0x10
dec ecx
cmp ecx, 0x88
ja 0x1800cc540
jmp 0x1800cc426
mov eax, 0x112
nop dword [rax]
cmp eax, 0x112
jne 0x1800cc596
mov qword [r10 + 0x10], 1
mov dword [r10], 0x14
add eax, 0xad
cmp eax, 0x1bf
jb 0x1800cc580
jmp 0x1800cc426
mov rax, qword [r14]
xor r9d, r9d
mov qword [rsp + 0x58], rax
xor r8d, r8d
lea rax, [rsp + 0x58]
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov dword [rsp + 0x20], 0x82
call fcn.180055790
mov qword [rsp + 0x58], rax
jmp 0x1800cc406
mov eax, dword [r10]
cmp eax, 1
jne 0x1800cc60c
mov ecx, 0xaf
mov eax, ecx
sub eax, 0xaf
je 0x1800cc5fb
cmp eax, 1
je case.0x1800cbdf3.54
jmp 0x1800cc600
mov byte [rsp + 0x58], 1
inc ecx
cmp ecx, 0xb1
jb 0x1800cc5e7
jmp 0x1800cc662
cmp eax, 6
je 0x1800cc662
mov ebp, 0x14
cmp ebp, 0x14
je 0x1800cc629
cmp ebp, 0xb8
je case.0x1800cbdf3.54
jmp 0x1800cc654
xor r9d, r9d
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
lea rcx, [rsp + 0xd8]
mov rdx, r14
mov qword [rsp + 0x20], rsi
lea r8d, [r9 + 0x56]
call fcn.1800a0950
mov byte [rsp + 0x58], 0
add ebp, 0xa4
cmp ebp, 0x15c
jb 0x1800cc616
mov qword [rsp + 0x28], rsi
lea r9, [rsp + 0x88]
xor edx, edx
mov qword [rsp + 0x20], r14
xor ecx, ecx
mov qword [rsp + 0x88], 0x28
mov r8d, 0xac
call fcn.18009b6a0
mov qword [rsp + 0xa8], rax
jmp 0x1800cc406
mov rax, qword [r14]
movzx edx, byte [rax]
mov rax, qword [r10]
cmp dl, byte [rax]
jne 0x1800cc426
nop dword [rax]
test dl, dl
jne 0x1800cc6e5
mov eax, 0xf7
nop dword [rax]
cmp eax, 0xf7
je 0x1800cc6d4
cmp eax, 0xc001
je case.0x1800cbdf3.54
jmp 0x1800cc6d9
mov byte [rsp + 0x58], 1
add eax, 0xbf0a
cmp eax, 0x17e14
jbe 0x1800cc6c0
inc qword [r14]
inc qword [r10]
mov rax, qword [r14]
mov rcx, qword [r10]
movzx edx, byte [rax]
cmp dl, byte [rcx]
je 0x1800cc6b0
jmp 0x1800cc426
mov ecx, 0x44
cmp ecx, 0x44
jne 0x1800cc714
mov rax, qword [r14]
imul rax, rdx
add rax, r9
mov qword [r14], rax
dec ecx
cmp ecx, 0x42
ja 0x1800cc702
jmp case.0x1800cbdf3.70
inc qword [r14 + 0xd0]
jmp case.0x1800cbdf3.70
mov qword [r14 + 0x98], r11
mov byte [rsp + 0x58], 1
jmp case.0x1800cbdf3.70
mov rax, qword [r14]
mov rcx, qword [rax + r13*8]
mov rax, qword [r10]
mov qword [rcx], rax
inc qword [r14 + 0x18]
jmp case.0x1800cbdf3.70
mov r8, qword [rsp + 0xa8]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], r14
lea r9, [rsp + 0x50]
mov rdx, r10
mov qword [rsp + 0x20], rax
mov ecx, 0x56
mov byte [rsp + 0x48], 0
mov byte [rsp + 0x50], 1
call fcn.18009cf20
jmp 0x1800cc406
mov ecx, 0x45
mov eax, ecx
sub eax, 0x44
je case.0x1800cbdf3.54
cmp eax, 1
jne 0x1800cc7a1
mov byte [rsp + 0x58], 0
dec ecx
cmp ecx, 0x43
ja 0x1800cc790
jmp case.0x1800cbdf3.70
mov rax, qword [rsp + 0x150]
mov rax, qword [rax]
jmp 0x1800cc7f0
mov edx, 0x7e
cmp edx, 0x7e
je 0x1800cc7d1
cmp edx, 0x3624
je case.0x1800cbdf3.54
jmp 0x1800cc7dd
mov rax, qword [r14]
mov rcx, qword [rax + r13*8]
mov qword [rsp + 0x58], rcx
add edx, 0x35a6
cmp edx, 0x6b4c
jbe 0x1800cc7c2
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x140]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret