Function at 0x180097910
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe8
mov edi, dword [rsp + 0x140]
mov r10, rdx
lea edx, [r8 + 0x13]
mov r12, r9
mov dword [rsp + 0x30], edx
mov eax, r8d
mov r11, rcx
cmp r8d, edx
jae case.0x1800979b6.87
mov esi, dword [rsp + 0x140]
mov edx, dword [rsp + 0x140]
mov r13, qword [rsp + 0x90]
mov ecx, dword [rsp + 0x30]
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0x98], rdx
add eax, 0xffffffb3
lea r8, [0x180000000]
movabs r9, 0x2aaaaaaaaaaaaaab
cmp eax, 0x61
ja case.default.0x1800979b6
movzx eax, byte [r8 + rax + 0x98384]
mov ecx, dword [r8 + rax*4 + 0x98338]
add rcx, r8
jmp rcx
mov ebp, dword [rsp + 0x50]
cmp ebp, 0xffffffff
je case.0x1800979b6.86
nop word [rax + rax]
mov r15d, 0x7c
cmp r15d, 0x7c
je 0x180097c7b
cmp r15d, 0x115
je 0x180097a12
cmp r15d, 0x1ae
jne 0x180097c54
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa8], rax
mov ebp, dword [rax + 0xc]
mov dword [rsp + 0x50], ebp
jmp 0x180097c54
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rbx + 0x18]
cmp rcx, r11
je 0x180097a58
cmp dword [rbx + 0x10], esi
jne 0x180097c54
test rcx, rcx
je 0x180097c54
mov r8, qword [r11 + 0x10]
cmp qword [rcx + 0x10], r8
jne 0x180097c54
lea rdx, [r11 + 0x18]
add rcx, 0x18
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180097c4c
mov r14d, 0x7f
nop
mov eax, r14d
sub eax, 0x7e
je case.0x1800979b6.87
cmp eax, 1
jne 0x180097c3f
lea r9d, [rax + 0x2e]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1800aa6a0
cmp al, 0xf
jne 0x180097c19
mov rbp, qword [rbx]
mov r9d, 0x2f
mov rcx, rbp
xor r8d, r8d
xor edx, edx
call fcn.1800aa6a0
test al, al
je 0x1800981e6
mov r8, qword [rsp + 0x68]
mov edi, 7
mov rdx, qword [rsp + 0x60]
mov r9d, dword [rsp + 0x40]
mov r10d, dword [rsp + 0x44]
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x60], rdx
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x44], r10d
nop dword [rax]
cmp edi, 7
je 0x180097af9
cmp edi, 0x15
jne 0x180097bff
or byte [r12 + 8], 0x20
jmp 0x180097bff
cmp qword [r12 + 0x30], 0
je 0x180097bf8
mov ebx, 0xef
nop word [rax + rax]
mov eax, ebx
sub eax, 0xef
je 0x180097b45
sub eax, 1
je 0x180097b39
cmp eax, 1
jne 0x180097bd4
lea rcx, [rsp + 0xc8]
call qword [r12 + 0x30]
jmp 0x180097bd4
mov dword [rbp + 8], 0
jmp 0x180097bd4
mov ecx, 0x84
nop word [rax + rax]
cmp ecx, 0x84
je 0x180097bac
cmp ecx, 0x1398
je 0x180097ba2
cmp ecx, 0x26ac
jne 0x180097bb7
mov eax, 0xf2
nop dword [rax]
cmp eax, 0xf2
je 0x180097b88
cmp eax, 0x17b
jne 0x180097b8f
mov dword [rdx + 4], r10d
mov dword [rdx + 8], r9d
jmp 0x180097b8f
mov r10d, dword [r13 + 4]
mov qword [rdx], r8
add eax, 0x89
cmp eax, 0x204
jb 0x180097b70
mov dword [rsp + 0x44], r10d
jmp 0x180097bb7
mov r8, qword [r13]
mov r9d, dword [r13 + 8]
jmp 0x180097bb7
lea rdx, [rsp + 0xc8]
mov r13, rbp
add ecx, 0x1314
cmp ecx, 0x393c
jbe 0x180097b50
mov dword [rsp + 0x40], r9d
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x60]
inc ebx
mov r8, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x40]
mov r10d, dword [rsp + 0x44]
cmp ebx, 0xf2
jb 0x180097b10
jmp 0x180097bff
mov dword [rbp + 8], 0
add edi, 0xe
cmp edi, 0x23
jb 0x180097ae0
mov rbx, qword [rsp + 0x88]
mov ebp, dword [rsp + 0x50]
jmp 0x180097c3d
mov r9, qword [rsp + 0xa8]
lea rcx, [rsp + 0x38]
mov r8d, 0x92
mov dword [rsp + 0x38], ebp
mov rdx, rbx
mov qword [rsp + 0x20], r12
call fcn.18012c5d0
xor edi, edi
dec r14d
cmp r14d, 0x7d
ja 0x180097a60
mov r11, qword [rsp + 0x130]
add r15d, 0x99
cmp r15d, 0x247
jb 0x1800979d6
cmp ebp, 0xffffffff
jne 0x1800979d0
mov edi, 0xffffffff
jmp case.0x1800979b6.95
mov ebx, ebp
add rbx, qword [r12 + 0x10]
mov qword [rsp + 0x88], rbx
jmp 0x180097c54
mov qword [rsp + 0xb0], r12
jmp case.0x1800979b6.95
mov rdx, qword [rsp + 0x78]
mov rax, qword [rdx + 0x18]
mov rcx, qword [rax + 0x40]
cmp qword [rdx], rcx
je case.0x1800979b6.95
mov r15d, 8
mov r14d, 7
mov qword [rsp + 0xa0], r15
mov rsi, rdx
cmp r14d, 7
ja case.default.0x180097cde
mov eax, r14d
mov ecx, dword [r8 + rax*4 + 0x983e8]
add rcx, r8
jmp rcx
mov rax, qword [0x1801d5a48]
mov rcx, qword [rsp + 0x70]
mov qword [rcx], rax
mov rax, qword [r12 + 0x48]
mov rcx, qword [rax]
mov qword [0x1801d5a48], rcx
jmp case.default.0x180097cde
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 8]
mov qword [0x1801d5a50], rax
jmp case.default.0x180097cde
mov rax, qword [0x1801d5a58]
mov qword [r12 + 0x48], rax
mov rcx, qword [0x1801d5a58]
mov rax, qword [0x1801d5a48]
mov qword [rcx], rax
jmp case.default.0x180097cde
mov rax, qword [rsi + 0x18]
mov rcx, qword [rsi]
sub rcx, qword [rax + 0x40]
mov rax, r9
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [0x1801d5a58]
dec edx
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x98], rdx
jmp case.default.0x180097cde
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [0x1801d5a48], rax
jmp case.default.0x180097cde
mov rax, qword [rsp + 0x70]
mov qword [0x1801d5a58], rax
jmp case.default.0x180097cde
mov rax, qword [r12 + 0x48]
mov rcx, qword [rax + 8]
mov qword [0x1801d5a50], rcx
mov rax, qword [r12 + 0x48]
mov qword [0x1801d5a58], rax
jmp case.default.0x180097cde
mov r15, qword [rsp + 0x98]
mov ebp, 0x11a
mov r12, qword [rsp + 0x78]
mov dword [rsp + 0x90], r15d
mov rbx, qword [rsp + 0x90]
nop dword [rax]
mov eax, ebp
sub eax, 0x11a
je 0x180097e4f
sub eax, 3
je 0x180097e2b
cmp eax, 1
jne 0x180097e8c
mov rax, qword [rsp + 0x90]
lea rdx, [rsp + 0x48]
mov r9, rbx
mov qword [rsp + 0x48], rax
mov r8, r12
mov ecx, 0xd6
call fcn.180158020
lea r9, str.__tr__n
mov qword [rsp + 0x48], 6
jmp 0x180097e3b
mov qword [rsp + 0x48], 5
lea r9, str._tr__n
mov r8, r12
lea rdx, [rsp + 0x48]
mov ecx, 0xd6
call fcn.180158020
jmp 0x180097e8c
mov r8d, 0xae
mov dword [rsp + 0x38], r15d
lea rdx, [rsp + 0x38]
mov rcx, r12
call fcn.18013dff0
lea r9, [rsp + 0x38]
mov dword [rsp + 0x38], 0
mov r8d, 0xd6
mov dword [rsp + 0x48], r15d
lea rdx, [rsp + 0x48]
mov rcx, r12
call fcn.18001e800
inc ebp
cmp ebp, 0x11d
jb 0x180097de0
mov r15, qword [rsp + 0xa0]
lea r8, [0x180000000]
mov r12, qword [rsp + 0x148]
movabs r9, 0x2aaaaaaaaaaaaaab
mov rsi, qword [rsp + 0x78]
dec r14d
sub r15, 1
mov qword [rsp + 0xa0], r15
jne 0x180097cc6
mov rsi, qword [rsp + 0xb8]
jmp case.0x1800979b6.95
mov rax, qword [r12 + 0x40]
mov qword [rsp + 0x78], rax
jmp case.0x1800979b6.95
mov rcx, qword [rsp + 0xb0]
mov edx, 0x2e
call fcn.180122450
jmp case.0x1800979b6.95
movsxd rcx, dword [rsp + 0x80]
mov rax, qword [r12 + 0x10]
mov edx, dword [rax + rcx*4]
mov dword [rsp + 0x50], edx
jmp case.0x1800979b6.95
mov r8, qword [rsp + 0x58]
movsx edx, byte [r8]
cmp dl, 0x30
jne 0x180097f35
cmp qword [r11], 1
ja 0x180097f4d
mov rax, qword [rsp + 0xc0]
sub rax, r8
cmp rax, 0xa
jg 0x180097f4d
jne 0x180097f67
cmp dl, 0x32
jle 0x180097f67
mov ecx, 0x41
mov eax, ecx
sub eax, 0x40
je case.0x1800979b6.87
cmp eax, 1
jne 0x180097f60
xor edi, edi
dec ecx
cmp ecx, 0x3f
ja 0x180097f52
lea eax, [rdx - 0x30]
mov dword [r10], eax
jmp case.0x1800979b6.95
lea r9, [rsp + 0x48]
mov qword [rsp + 0xa8], 0
lea r8, [0x1801625c5]
mov dword [rsp + 0x48], 0
mov rdx, r12
mov ecx, 0x81
call fcn.18009bf20
jmp case.0x1800979b6.95
mov qword [rsp + 0x58], r12
jmp case.0x1800979b6.95
cmp byte [0x180183d71], 0
je 0x1800981f0
mov rax, qword [rsp + 0xb0]
cmp qword [rax + 0x30], 0
je case.0x1800979b6.95
mov eax, edi
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rax, qword [r12]
xor r15d, r15d
cmp dword [rax + 8], r15d
jle case.0x1800979b6.95
lea r14, [r12 + 0x45d8]
nop dword [rax]
mov ebp, 0x12c
nop word [rax + rax]
mov eax, ebp
sub eax, 0x12b
je 0x1800980ab
cmp eax, 1
jne 0x1800980e3
cmp qword [r14], 0
je 0x180098066
mov ebx, 0x13
cmp ebx, 0x13
je 0x180098048
cmp ebx, 0x733
jne 0x180098058
mov qword [r14 - 8], 0
jmp 0x180098058
mov rcx, qword [r14]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r14], 0
add ebx, 0x720
cmp ebx, 0xe40
jbe 0x180098031
cmp qword [r14 + 8], 0
je 0x1800980e3
mov ebx, 0x44
cmp ebx, 0x44
je 0x180098091
cmp ebx, 0x3058
jne 0x18009809b
mov qword [r14 + 8], 0
mov qword [r14 + 0x18], 0
jmp 0x18009809b
mov rcx, qword [r14 + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add ebx, 0x3014
cmp ebx, 0x6028
jbe 0x180098072
jmp 0x1800980e3
cmp qword [r14 + 0x10], 0
je 0x1800980e3
mov ebx, 0x8d
mov eax, ebx
sub eax, 0x8c
je 0x1800980d1
cmp eax, 1
jne 0x1800980d9
mov rcx, qword [r14 + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x1800980d9
mov qword [r14 + 0x10], 0
dec ebx
cmp ebx, 0x8b
ja 0x1800980b7
dec ebp
cmp ebp, 0x12a
ja 0x180098010
mov rax, qword [r12]
inc r15d
add r14, 0x60
cmp r15d, dword [rax + 8]
jl 0x180098000
jmp case.0x1800979b6.95
mov rax, qword [r11]
add rax, r12
mov qword [rsp + 0xc0], rax
jmp case.0x1800979b6.95
cmp qword [r12 + 0x80], 0
je case.0x1800979b6.95
mov r8, qword [r12 + 0x80]
test byte [r8 + 9], 4
je 0x180098154
xor r9d, r9d
mov qword [rsp + 0x20], 0
mov edx, 0xc8
xor ecx, ecx
call fcn.18008bbb0
mov qword [r12 + 0x80], 0
jmp case.0x1800979b6.95
mov qword [rsp + 0x28], 0
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], 0
mov edx, 0xa0
mov rcx, r11
call fcn.18005f480
mov rsi, rax
mov qword [rsp + 0xb8], rax
mov eax, dword [r12 + 0xc]
or eax, esi
mov dword [rsp + 0x80], eax
jmp case.0x1800979b6.95
mov r8, qword [rsp + 0x58]
cmp byte [r8], 0x2d
jne case.0x1800979b6.95
inc r8
mov qword [rsp + 0x58], r8
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x140]
inc eax
mov dword [rsp + 0x140], eax
cmp eax, ecx
jae case.0x1800979b6.87
mov r10, qword [rsp + 0x138]
mov r11, qword [rsp + 0x130]
jmp 0x180097985
mov eax, 0xffffffff
jmp 0x180097fd0
xor edx, edx
mov ecx, 0x10001
call fcn.180025af0
jmp case.0x1800979b6.87
mov r11, qword [rsp + 0x58]
nop word [rax + rax]
mov r9d, 0x2c
cmp r9d, 0x2c
je 0x18009830c
cmp r9d, 0xb6
je 0x180098280
cmp r9d, 0x140
jne 0x180098316
movsx edx, byte [r11]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x180098255
mov eax, dword [r10]
lea ecx, [rax - 6]
lea ecx, [rax + rcx*4]
lea ecx, [rdx + rcx*2]
mov dword [r10], ecx
jmp 0x180098316
mov ecx, 0x73
nop word [rax + rax]
mov eax, ecx
sub eax, 0x73
je 0x180098272
cmp eax, 1
je case.0x1800979b6.87
jmp 0x180098274
xor edi, edi
inc ecx
cmp ecx, 0x75
jb 0x180098260
jmp 0x180098316
cmp r11, qword [rsp + 0xc0]
jne 0x180098316
mov r8d, 0x2b
mov ecx, r8d
sub ecx, 0x2b
je 0x1800982b3
sub ecx, 1
je 0x1800982ac
cmp ecx, 1
je case.0x1800979b6.87
jmp 0x180098301
mov edi, 1
jmp 0x180098301
cmp byte [r12], 0x2d
jne 0x1800982f8
mov edx, dword [r10]
lea ecx, [rdx - 1]
cmp ecx, 0x7fffffff
jbe 0x1800982f1
mov ecx, 0x118
nop dword [rax]
mov eax, ecx
sub eax, 0x118
je 0x1800982e4
cmp eax, 0x25
je case.0x1800979b6.87
jmp 0x1800982e6
xor edi, edi
add ecx, 0x25
cmp ecx, 0x162
jb 0x1800982d0
neg edx
mov dword [r10], edx
jmp 0x180098301
cmp dword [r10], 0x7fffffff
ja 0x180098330
inc r8d
cmp r8d, 0x2e
jb 0x180098294
jmp 0x180098316
inc qword [rsp + 0x58]
mov r11, qword [rsp + 0x58]
add r9d, 0x8a
cmp r9d, 0x1ca
jb 0x180098216
jmp 0x180098210
xor eax, eax
jmp 0x180097fd0