Function at 0x180016ec0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0x98
movzx r9d, word [rbp + 0x77]
mov r11, r8
movzx r10d, byte [rbp + 0x77]
mov r8, rdx
mov edx, dword [rbp + 0x77]
xor esi, esi
imul r13d, edx, 0x168
mov rbx, rcx
mov r14d, edx
mov dword [rbp - 0x21], r9d
mov byte [rbp - 0x51], r10b
cmp edx, r13d
ja 0x18001735f
movzx eax, word [rbp + 0x77]
mov rsi, qword [rbp - 0x11]
mov r15d, dword [rbp + 0x77]
mov edi, dword [rbp + 0x77]
mov r12d, dword [rbp + 0x77]
mov dword [rbp - 0x4d], eax
lea rcx, [0x18005b5d0]
cmp r14d, 0x1612
ja 0x1800170b8
je 0x1800170a7
cmp r14d, 0xe2
ja 0x180017000
je 0x180016fe2
mov eax, r14d
sub eax, 0x7b
je 0x180016fb5
sub eax, 0x25
je 0x180016f88
cmp eax, 0x3f
jne 0x180017346
mov eax, dword [rbx + 8]
cmp dword [r8], eax
jbe 0x180017346
xor eax, eax
jmp 0x180016fa1
cmp qword [rbx + 0x28], 0
je 0x180016f9a
cmp qword [rbx + 0x30], 0
jne 0x180017346
mov byte [rbp - 0x15], 0
mov eax, dword [rbp - 0x15]
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [r8 + 0x18]
cmp dword [rax], 1
je 0x180017346
mov qword [rsp + 0x20], r8
mov r9, rbx
xor r8d, r8d
mov edx, 0x12b
xor ecx, ecx
call fcn.1800564a0
mov r11, qword [rbp + 0x5f]
jmp 0x18001733a
mov rax, qword [rbp + 0x7f]
movzx eax, byte [rax]
movsx ecx, ax
mov r8d, eax
imul r8d, ecx
add r8w, r8w
mov dword [rbp - 0x4d], r8d
jmp 0x18001734a
cmp r14d, 0x10b
je 0x18001709c
cmp r14d, 0xfa0
je 0x180017083
cmp r14d, 0x15c7
jne 0x180017346
mov eax, dword [rbx + 8]
inc eax
cmp eax, dword [rbx + 0xc]
jbe 0x180017049
xor r8d, r8d
mov rdx, rbx
mov ecx, 0xc2
call fcn.1800164a0
test eax, eax
je 0x180016f84
mov r8, qword [rbp + 0x57]
mov ecx, dword [r8]
mov r9, qword [rbx]
mov r8d, dword [rbx + 8]
sub r8d, ecx
lea eax, [rcx + 1]
shl r8, 3
lea rdx, [r9 + rcx*8]
lea rcx, [r9 + rax*8]
call sub.VCRUNTIME140.dll_memmove
mov rax, qword [rbp + 0x57]
mov r11, qword [rbp + 0x5f]
mov rcx, qword [rbx]
mov edx, dword [rax]
mov rax, qword [r11]
mov qword [rcx + rdx*8], rax
jmp 0x18001733a
cmp qword [rbx + 0x38], 0
je 0x180016f9a
cmp qword [rbx + 0x20], 0
setne byte [rbp - 0x15]
jmp 0x180017346
mov rsi, rbx
xor r12d, r12d
jmp 0x180017346
mov rax, qword [rbp + 0x6f]
movzx r9d, byte [rax]
mov dword [rbp - 0x21], r9d
jmp 0x180017346
cmp r14d, 0x2b42
ja 0x1800172b2
je 0x18001729a
cmp r14d, 0x1a13
je 0x1800170fa
cmp r14d, 0x1ea0
je 0x180016f9e
mov r8d, dword [rbp - 0x4d]
cmp r14d, 0x2aaf
jne 0x18001734a
inc dword [rbx + 8]
jmp 0x18001734a
movzx edi, byte [rsi]
xor r15d, r15d
xor ebx, ebx
test edi, edi
je 0x18001728e
nop word [rax + rax]
mov eax, dword [r8]
inc rsi
lea edx, [rax - 1]
mov dword [r8], edx
test eax, eax
je 0x180017336
cmp edi, 0x3d
jne 0x180017194
movzx ecx, byte [rsi]
cmp cl, dil
je 0x180017270
mov eax, r12d
and eax, 0x80000003
jge 0x180017146
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 1
je 0x180016f9a
mov rax, qword [rbp + 0x6f]
cmp byte [rax], 0
je 0x180017270
test edx, edx
je 0x180017270
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [rsi + 1]
inc rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne 0x180017170
cmp byte [rsi], al
jne 0x180016f9a
mov r11, qword [rbp + 0x5f]
xor cl, cl
jmp 0x18001726c
mov rax, qword [rbp + 0x6f]
movsx edx, byte [rdi + rcx]
mov r8d, edx
cmp byte [rax], 0
jne 0x1800171ac
test dl, dl
js 0x180017269
cmp r8d, 0xffffffff
je 0x180017269
cmp r8d, 0xfffffffe
je 0x180016f9a
mov ecx, r12d
and ecx, 0x80000003
jge 0x1800171d2
dec ecx
or ecx, 0xfffffffc
inc ecx
test ecx, ecx
je 0x180017259
sub ecx, 1
je 0x1800171eb
sub ecx, 1
je 0x180017201
cmp ecx, 1
je 0x18001723a
jmp 0x180017260
mov eax, 0x66
cmp eax, 0x66
je 0x180017246
add eax, 0x25da
cmp eax, 0x25da
jbe 0x1800171f0
mov ecx, 0xc2
mov eax, ecx
sub eax, 0xc2
je 0x180017216
cmp eax, 1
je 0x180017260
jmp 0x180017230
mov eax, r8d
inc r15d
sar eax, 2
or byte [rbx + r11], al
inc rbx
movzx eax, dl
shl al, 6
mov byte [rbx + r11], al
inc ecx
cmp ecx, 0xc4
jb 0x180017206
or byte [rbx + r11], dl
inc r15d
inc rbx
jmp 0x180017260
sar r8d, 4
inc r15d
or byte [rbx + r11], r8b
inc rbx
shl dl, 4
jmp 0x18001725c
shl dl, 2
mov byte [rbx + r11], dl
mov r14d, 0x1a13
inc r12d
movzx ecx, byte [rsi]
mov r8, qword [rbp + 0x57]
movzx edi, cl
test cl, cl
lea rcx, [0x18005b5d0]
jne 0x180017110
mov r9d, dword [rbp - 0x21]
movzx r10d, byte [rbp - 0x51]
mov edx, dword [rbp + 0x77]
mov rbx, qword [rbp + 0x4f]
inc rsi
jmp 0x180017346
mov rax, qword [rbp + 0x6f]
movsx r9d, r9w
movzx eax, byte [rax]
imul r9d, eax
mov dword [rbp - 0x21], r9d
jmp 0x180017346
cmp r14d, 0x331b
je 0x1800172f9
cmp r14d, 0x4072
je 0x1800172e3
cmp r14d, 0x4c23
jne 0x180017346
mov rax, qword [rbp + 0x7f]
test rax, rax
je 0x1800172d9
mov dword [rax], r15d
movsxd rax, r15d
mov byte [rax + r11], 0
jmp 0x180017346
mov rax, qword [rbp + 0x7f]
add r9w, r9w
mov dword [rbp - 0x21], r9d
movzx r10d, byte [rax]
mov byte [rbp - 0x51], r10b
jmp 0x180017346
mov edx, r15d
cmp edi, 0x3d
jne 0x180017343
mov ecx, r12d
and ecx, 0x80000003
jge 0x180017313
dec ecx
or ecx, 0xfffffffc
inc ecx
sub ecx, 1
je 0x180016f9a
sub ecx, 1
je 0x180017328
cmp ecx, 1
je 0x18001732c
jmp 0x180017343
lea edx, [r15 + 1]
movsxd rax, edx
mov byte [rax + r11], 0
jmp 0x180017343
mov rbx, qword [rbp + 0x4f]
mov r9d, dword [rbp - 0x21]
movzx r10d, byte [rbp - 0x51]
mov edx, dword [rbp + 0x77]
mov r8d, dword [rbp - 0x4d]
lea eax, [rdx + rdx*2]
lea r14d, [r14 + rax*8]
cmp r14d, r13d
ja 0x18001736a
mov r8, qword [rbp + 0x57]
jmp 0x180016f35
movzx r8d, word [rbp + 0x77]
mov dword [rbp - 0x4d], r8d
jmp 0x18001736c
xor esi, esi
imul eax, edx, 0xb31
mov ecx, edx
mov dword [rbp - 0x1d], edx
mov dword [rbp - 0x11], eax
cmp edx, eax
ja 0x180016f9e
movzx edx, word [rbp + 0x77]
mov ebx, 1
movzx r13d, word [rbp + 0x77]
movzx edi, word [rbp + 0x77]
movzx r15d, word [rbp + 0x77]
movzx r14d, word [rbp + 0x77]
movzx r12d, byte [rbp + 0x77]
mov dword [rbp - 0x19], edx
nop word [rax + rax]
cmp ecx, 0x34bf8
ja 0x180017472
je 0x180017466
cmp ecx, 0xa980
ja 0x18001740a
je 0x1800173fa
mov eax, ecx
sub eax, 0xdf
je 0x18001779e
sub eax, 3
je 0x1800173ef
cmp eax, 0x29
jne 0x18001777e
mov byte [rbp - 0x15], bl
jmp 0x180016f9e
xor r12b, r12b
mov r15d, ebx
jmp 0x18001777e
mov rax, qword [rbp + 0x7f]
movzx eax, byte [rax]
sub r15w, ax
jmp 0x18001777e
cmp ecx, 0x1521e
je 0x18001743a
cmp ecx, 0x1fabc
je 0x18001742d
cmp ecx, 0x2a35a
jne 0x18001777e
mov edi, esi
jmp 0x18001776c
mov rax, qword [rbp + 0x7f]
movzx r14d, byte [rax]
jmp 0x18001777e
mov rax, qword [rbp + 0x6f]
movzx edx, byte [rax]
mov rax, qword [rbp + 0x7f]
movzx eax, byte [rax]
sub r15w, ax
movsx eax, dx
movsx ecx, r15w
imul ecx, eax
movsx r15d, cx
imul r15d, edx
mov edx, dword [rbp - 0x19]
jmp 0x18001777b
movzx edx, r9w
mov dword [rbp - 0x19], edx
jmp 0x18001777e
cmp ecx, 0x5ee70
ja 0x180017615
je 0x180017602
cmp ecx, 0x3f496
je 0x1800175ea
cmp ecx, 0x49d34
je 0x1800174c1
cmp ecx, 0x545d2
jne 0x18001777e
mov rax, qword [rbp + 0x6f]
movzx r14d, bx
mov edx, dword [rbp - 0x19]
movzx eax, byte [rax]
movsx ecx, ax
mov r15d, eax
imul r15d, ecx
jmp 0x18001777b
cmp dx, r13w
jl 0x1800175d6
nop dword [rax + rax]
mov esi, 0x83
nop word [rax + rax]
mov eax, esi
sub eax, 0x80
je 0x180017574
sub eax, ebx
je 0x180017566
sub eax, ebx
je 0x180017561
cmp eax, ebx
jne 0x1800175ba
mov rax, qword [rbp + 0x67]
lea r9, [rbp - 0x39]
mov rcx, qword [rbp + 0x4f]
lea r8, [rbp - 0x31]
lea rdx, [rbp - 0x29]
mov byte [rbp - 0x49], r12b
mov byte [rbp - 0x41], r10b
movzx eax, byte [rax]
mov byte [rbp - 0x39], al
movzx eax, byte [r11]
mov byte [rbp - 0x31], al
mov rax, qword [rbp + 0x57]
movzx eax, byte [rax]
mov byte [rbp - 0x29], al
lea rax, [rbp - 0x49]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x41]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xd5
call fcn.18004b510
mov edx, dword [rbp - 0x19]
mov r8d, dword [rbp - 0x4d]
mov r9d, dword [rbp - 0x21]
movzx r10d, byte [rbp - 0x51]
jmp 0x1800175ba
inc r12b
jmp 0x1800175ba
add r13w, r8w
add di, r14w
add r14w, r8w
jmp 0x1800175ba
movsx ecx, di
movsx eax, r15w
lea ecx, [rax + rcx*2]
test ecx, ecx
jle 0x1800175ba
mov eax, 0x98
cmp eax, 0x98
je 0x1800175a3
cmp eax, 0x5028
jne 0x1800175a7
sub dx, r9w
add di, r15w
add r15w, r9w
jmp 0x1800175a7
add r10b, 0xff
add eax, 0x4f90
cmp eax, 0x9f20
jbe 0x180017587
mov byte [rbp - 0x51], r10b
mov dword [rbp - 0x19], edx
mov r11, qword [rbp + 0x5f]
dec esi
cmp esi, 0x7f
ja 0x1800174e0
cmp dx, r13w
jge 0x1800174d0
mov ecx, dword [rbp - 0x1d]
mov rax, qword [rbp + 0x6f]
xor r10b, r10b
mov byte [rbp - 0x51], r10b
movzx r12d, byte [rax]
jmp 0x18001777e
mov rax, qword [rbp + 0x7f]
mov r13d, esi
movsx edx, dx
movzx eax, byte [rax]
imul edx, eax
mov dword [rbp - 0x19], edx
jmp 0x18001777b
mov rax, qword [rbp + 0x6f]
movzx eax, byte [rax]
add ax, ax
sub r14w, ax
jmp 0x18001776c
cmp ecx, 0x6970e
je 0x180017763
cmp ecx, 0x73fac
je 0x18001775d
cmp ecx, 0x7e84a
jne 0x18001777e
mov rax, qword [rbp + 0x6f]
movzx ecx, byte [rax]
movsx eax, r13w
imul eax, ecx
movzx r13d, ax
cmp dx, ax
jg 0x18001777b
nop dword [rax]
nop dword [rax + rax]
mov esi, 0x98
mov eax, esi
sub eax, 0x98
je 0x1800176cf
sub eax, ebx
je 0x1800176c5
cmp eax, ebx
jne 0x18001773f
movsx ecx, di
movsx eax, r14w
lea ecx, [rax + rcx*2]
test ecx, ecx
jle 0x18001773f
mov ecx, 0xad
mov eax, ecx
sub eax, 0xad
je 0x1800176b4
sub eax, 0x5e
je 0x1800176aa
cmp eax, 0x5e
jne 0x1800176b8
add r14w, r8w
jmp 0x1800176b8
sub r13w, r8w
add di, r14w
jmp 0x1800176b8
add r12b, 0xff
add ecx, 0x5e
cmp ecx, 0x1c7
jb 0x180017691
jmp 0x18001773f
add di, r15w
add r15w, r9w
jmp 0x18001773f
mov rax, qword [rbp + 0x67]
lea r9, [rbp - 0x39]
mov rcx, qword [rbp + 0x4f]
lea r8, [rbp - 0x41]
lea rdx, [rbp - 0x49]
mov byte [rbp - 0x29], r12b
mov byte [rbp - 0x31], r10b
movzx eax, byte [rax]
mov byte [rbp - 0x39], al
movzx eax, byte [r11]
mov byte [rbp - 0x41], al
mov rax, qword [rbp + 0x57]
movzx eax, byte [rax]
mov byte [rbp - 0x49], al
lea rax, [rbp - 0x29]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x31]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xd5
call fcn.18004b510
movzx r10d, byte [rbp - 0x51]
mov edx, dword [rbp - 0x19]
inc r10b
mov r9d, dword [rbp - 0x21]
add dx, r9w
mov r8d, dword [rbp - 0x4d]
mov dword [rbp - 0x19], edx
mov byte [rbp - 0x51], r10b
mov r11, qword [rbp + 0x5f]
inc esi
cmp esi, 0x9b
jb 0x180017665
cmp dx, r13w
jle 0x180017660
jmp 0x18001777b
movzx r13d, r8w
jmp 0x18001777e
movzx edx, si
movzx edi, si
mov dword [rbp - 0x19], edx
mov rax, qword [rbp + 0x7f]
movsx r14d, r14w
movzx eax, byte [rax]
imul r14d, eax
mov ecx, dword [rbp - 0x1d]
imul eax, dword [rbp + 0x77], 0xbf
add ecx, eax
mov dword [rbp - 0x1d], ecx
cmp ecx, dword [rbp - 0x11]
ja 0x180016f9e
mov r11, qword [rbp + 0x5f]
xor esi, esi
jmp 0x1800173b0
mov eax, ebx
jmp 0x180016fa1