Function at 0x1800269d0
Capabilities:
Parse credit card information

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x628]
sub rsp, 0x6f0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x180079880]
xor rax, rsp
mov qword [rbp + 0x5c0], rax
mov r11, qword [rbp + 0x658]
mov eax, ecx
mov edi, dword [rsp + 0x70]
mov dword [rbp - 8], ecx
add ecx, 0x11
mov qword [rbp], r8
mov r8, qword [rbp + 0x650]
mov qword [rbp - 0x38], r9
mov qword [rbp + 0x18], rdx
mov qword [rbp - 0x80], r8
mov qword [rbp - 0x60], r11
mov dword [rsp + 0x3c], ecx
cmp eax, ecx
jae 0x180026b86
movzx ecx, word [rsp + 0x40]
xor ebx, ebx
movzx edx, word [rsp + 0x40]
movzx esi, word [rsp + 0x40]
movzx r10d, word [rsp + 0x40]
movss xmm6, dword [rsp + 0x70]
movss xmm7, dword [rsp + 0x70]
movzx r12d, word [rsp + 0x64]
mov r14d, dword [rbp - 0x68]
mov r15d, dword [rsp + 0x70]
mov r13d, dword [rsp + 0x70]
mov dword [rbp - 0x24], ecx
movzx ecx, word [rsp + 0x40]
mov dword [rbp - 0xc], ecx
movzx ecx, word [rsp + 0x40]
mov dword [rbp - 0x10], edx
movzx edx, word [rsp + 0x40]
mov dword [rbp - 0x58], ecx
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x58], edx
mov dword [rbp - 0x40], edi
mov qword [rsp + 0x78], r10
nop dword [rax]
add eax, 0xffffffdf
cmp eax, 0x25
ja case.default.0x180026adc
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x274c4]
mov ecx, dword [rcx + rax*4 + 0x2747c]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
movsx ecx, word [rbp - 0x78]
movsx eax, dx
imul ecx, eax
mov dword [rbp - 0x64], ecx
jmp case.0x180026adc.36
movsxd rcx, dword [r11 + 0x38]
mov rax, qword [r11 + 0x40]
mov r8d, dword [r9]
sub r8d, dword [r11 + 0x28]
movss xmm6, dword [0x180072b1c]
movss xmm7, dword [rax + rcx*4]
mov dword [rsp + 0x70], r8d
jmp 0x180026b6e
lea eax, [rdx - 1]
mov word [rsp + 0x30], dx
movsx esi, ax
lea rcx, [rsp + 0x30]
movsx eax, word [r9]
xor r8d, r8d
imul esi, eax
lea r9, [rsp + 0x48]
movsx eax, dx
mov edx, 0xb4
sar eax, 1
add eax, esi
mov dword [rbp - 0x64], esi
mov dword [rsp + 0x48], eax
call fcn.180041bf0
mov word [rsp + 0x30], ax
cmp ax, 0x7f
ja 0x180027460
mov r10, qword [rsp + 0x78]
mov esi, dword [rsp + 0x60]
mov r9, qword [rbp - 0x38]
mov r11, qword [rbp - 0x60]
mov edx, dword [rsp + 0x58]
mov r8, qword [rbp - 0x80]
mov ecx, dword [rsp + 0x3c]
mov eax, dword [rbp - 8]
inc eax
mov dword [rbp - 8], eax
cmp eax, ecx
jb 0x180026ab0
mov eax, edi
mov rcx, qword [rbp + 0x5c0]
xor rcx, rsp
call fcn.180050c90
lea r11, [rsp + 0x6f0]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edx, 3
mov dword [rbp - 0x24], 0x5c55
mov dword [rsp + 0x58], edx
mov dword [rbp - 0xc], 1
mov dword [rbp - 0x58], ebx
jmp case.0x180026adc.36
movsx r8, word [rsp + 0x30]
lea rcx, [0x180000000]
mov edi, dword [rbp - 0x70]
mov word [rsp + 0x38], bx
mov qword [rbp + 0x10], r11
movzx r9d, word [rcx + r8*2 + 0x56750]
movzx ecx, bx
mov dword [rsp + 0x48], r9d
lea edx, [r9 + r9*4]
shl edx, 2
mov dword [rsp + 0x68], edx
nop dword [rax]
mov eax, 0xc4
mov dword [rsp + 0x5c], eax
nop dword [rax]
cmp eax, 0x252e4
ja 0x180026e88
je 0x180026e26
cmp eax, 0xc4
je 0x180026dcc
cmp eax, 0x954c
je 0x180026d7e
cmp eax, 0x129d4
je 0x180026d53
cmp eax, 0x1be5c
jne 0x1800270da
mov eax, dword [rbp - 0x18]
shr eax, 8
cmp dword [rbp - 0x50], 0
mov dword [rbp - 0x2c], eax
jge 0x1800270d6
mov r12d, dword [rbp - 0x18]
mov esi, 0x57
mov r14d, dword [rbp + 8]
nop dword [rax]
mov eax, esi
sub eax, 0x57
je 0x180026cb0
cmp eax, 1
jne 0x180026d2d
mov dword [rbp - 0x2c], ebx
cmp r15d, r12d
jae 0x180026d2d
mov edx, r12d
mov ecx, 8
sub edx, r15d
sub ecx, edi
shr edx, cl
mov dword [rbp - 0x2c], edx
jmp 0x180026d2d
lea r8, [rbp - 0x70]
mov dword [rbp - 0x70], r14d
mov edx, 0x120
xor ecx, ecx
call fcn.180033e40
movsx r13d, ax
mov edi, ebx
cmp r13d, 0xf
jge 0x180026d20
movzx eax, word [rbp - 0x24]
mov ecx, 0xf
sub ecx, r13d
mov r15d, r14d
shr r15d, cl
imul r15d, eax
cmp r13d, 9
jge 0x180026d08
mov ecx, 9
mov edi, 9
sub ecx, r13d
sub edi, r13d
shr r12d, cl
cmp r13d, 9
cmovge edi, ebx
jmp 0x180026d2d
lea ecx, [r13 - 9]
mov edi, 9
sub edi, r13d
shr r15d, cl
cmp r13d, 9
cmovge edi, ebx
jmp 0x180026d2d
movzx r15d, word [rbp - 0x24]
imul r15d, r14d
shr r15d, 6
inc esi
cmp esi, 0x59
jb 0x180026c80
mov r14d, dword [rbp - 0x68]
mov r10, qword [rsp + 0x78]
mov dword [rbp - 0x18], r12d
movzx r12d, word [rsp + 0x64]
mov dword [rbp - 0x70], edi
jmp 0x1800270c3
movzx eax, r10w
lea rcx, [0x180000000]
movzx edx, word [rcx + rax*2 + 0x56750]
movzx ecx, word [rbp - 0x1c]
movzx eax, r12w
imul ecx, eax
shl edx, 0xe
add edx, ecx
mov dword [rbp - 0x18], edx
jmp 0x1800270cd
mov eax, dword [rbp - 0x50]
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
mov dword [rbp + 8], eax
movzx r12d, ax
shr ecx, 0xe
movzx r10d, cx
mov eax, 0x3fff
and r12w, ax
mov qword [rsp + 0x78], r10
lea rcx, [0x180000000]
mov word [rsp + 0x64], r12w
movzx eax, word [rcx + r10*2 + 0x56752]
sub ax, word [rcx + r10*2 + 0x56750]
mov word [rbp - 0x1c], ax
jmp 0x1800270cd
mov r8d, dword [rsp + 0x58]
lea edx, [rcx - 1]
mov word [rsp + 0x50], r8w
lea eax, [r8 - 1]
movsx ecx, ax
lea r8, [rsp + 0x50]
movsx eax, dx
lea rdx, [rbp - 0x50]
imul eax, ecx
movsx ecx, ax
movzx eax, si
imul ecx, eax
inc ecx
mov dword [rbp - 0x48], ecx
mov dword [rbp - 0x50], ecx
mov ecx, 0x81
call fcn.1800056d0
movsx r8d, word [rsp + 0x30]
mov r10, qword [rsp + 0x78]
mov ecx, r8d
shl ecx, 0xe
sub ecx, eax
mov dword [rbp - 0x50], ecx
jmp 0x1800270cd
movsx esi, word [rbp - 0x78]
lea rcx, [rsp + 0x50]
imul esi, r9d
movsx eax, r8w
mov r8d, 0x10e
imul eax, dword [rbp - 0x2c]
shl esi, 6
sub esi, eax
mov eax, edx
sar eax, 8
mov dword [rbp - 0x14], esi
cmp esi, eax
jle 0x180026e6b
xor edx, edx
mov dword [rsp + 0x50], esi
call fcn.1800348d0
mov r10, qword [rsp + 0x78]
movsx r13d, ax
jmp 0x1800270c3
mov dword [rsp + 0x50], edx
xor edx, edx
call fcn.1800348d0
mov r10, qword [rsp + 0x78]
movsx r13d, ax
add r13d, 8
jmp 0x1800270c3
cmp eax, 0x2e76c
je 0x180027076
cmp eax, 0x37bf4
je 0x180026fd2
cmp eax, 0x4107c
jne 0x1800270da
mov esi, dword [rbp - 0x48]
test esi, esi
jle 0x180026fc6
mov ebx, 0x2000
mov edi, 0x3fff
mov r9d, 0x44
cmp r9d, 0x44
je 0x180026f90
cmp r9d, 0x51
je 0x180026f22
cmp r9d, 0x5e
jne 0x180026f9f
movzx r8d, r10w
movzx r12d, r14w
mov edx, r12d
lea ecx, [r8 - 0xe]
test ecx, ecx
js 0x180026f07
shl edx, cl
mov eax, 1
mov ecx, r8d
shl eax, cl
add eax, edx
mov dword [r11], eax
jmp 0x180026f9f
mov ecx, 0xe
mov eax, 1
sub cl, r10b
shr edx, cl
mov ecx, r8d
shl eax, cl
add eax, edx
mov dword [r11], eax
jmp 0x180026f9f
cmp r12w, bx
jb 0x180026f7f
mov edx, 0x70
nop dword [rax]
mov eax, r14d
cmp edx, 0x70
je 0x180026f59
cmp edx, 0x3640
je 0x180026f53
cmp edx, 0x6c10
jne 0x180026f6b
mov r14d, 0x4000
sub r14d, eax
jmp 0x180026f6b
sar r14d, 0xd
jmp 0x180026f6b
movzx eax, r12w
mov ecx, 0x4000
sub ecx, eax
imul r14d, ecx, 0x26df
add edx, 0x35d0
cmp edx, 0xa170
jbe 0x180026f30
mov dword [rbp - 0x68], r14d
jmp 0x180026f9f
movzx eax, r12w
imul r14d, eax, 0x1921
sar r14d, 0xd
jmp 0x180026f9f
mov r10d, esi
movzx r12d, si
sar r10d, 0xe
and r12w, di
add r9d, 0xd
cmp r9d, 0x6b
jb 0x180026ec4
mov edi, dword [rbp - 0x70]
xor ebx, ebx
mov qword [rsp + 0x78], r10
mov word [rsp + 0x64], r12w
mov dword [rbp - 0x68], r14d
jmp 0x1800270c3
mov esi, dword [rsp + 0x60]
mov dword [r11], ebx
jmp 0x1800270da
mov rdx, qword [rbp + 0x18]
cmp byte [rdx], 0
je 0x18002702e
cmp cx, word [rsp + 0x40]
jge 0x18002702e
movzx ecx, cx
lea r8, [rsp + 0x50]
dec ecx
lea rdx, [rbp - 0x48]
mov eax, 0x14
mov word [rsp + 0x50], ax
movzx eax, si
imul ecx, eax
mov eax, dword [rbp + 0xc]
shl eax, 0xe
sub ecx, eax
add ecx, 0xa
mov dword [rbp - 0x48], ecx
mov ecx, 0x81
call fcn.1800056d0
mov r10, qword [rsp + 0x78]
mov edx, eax
movzx r8d, word [rsp + 0x30]
mov dword [rbp - 0x28], eax
mov eax, dword [rsp + 0x5c]
jmp 0x180027031
mov edx, dword [rbp - 0x28]
movzx ecx, word [rbp - 0x10]
cmp edx, 0x9858
jle 0x18002704f
mov esi, edx
sar esi, 1
imul esi, ecx
add esi, 0x1000
sar esi, 0xd
jmp 0x18002705e
mov esi, ecx
mov ecx, 0x2000
imul esi, edx
add esi, ecx
sar esi, 0xe
mov edx, dword [rsp + 0x68]
add esi, 0x40000
movzx ecx, word [rsp + 0x38]
mov dword [rbp - 0x48], esi
mov esi, dword [rsp + 0x60]
jmp 0x1800270da
mov esi, dword [rbp - 0x14]
mov ecx, r13d
shl esi, cl
mov r8d, edx
lea ecx, [r13 - 8]
test ecx, ecx
js 0x18002708e
shl r8d, cl
jmp 0x180027099
mov ecx, 8
sub ecx, r13d
sar r8d, cl
mov dword [rbp - 0x64], r8d
mov edx, r8d
test r8d, r8d
jns 0x1800270a9
lea edx, [r8 + 1]
sar edx, 1
mov eax, esi
lea ecx, [rdx + rsi]
sub esi, edx
test eax, eax
cmovns esi, ecx
mov eax, esi
mov dword [rbp - 0x14], esi
cdq
idiv r8d
mov dword [rbp - 0x28], eax
mov esi, dword [rsp + 0x60]
movzx r8d, word [rsp + 0x30]
mov edx, dword [rsp + 0x68]
movzx ecx, word [rsp + 0x38]
mov eax, dword [rsp + 0x5c]
mov r11, qword [rbp + 0x10]
add eax, 0x9488
mov r9d, dword [rsp + 0x48]
mov dword [rsp + 0x5c], eax
cmp eax, 0x4a440
jbe 0x180026c20
inc cx
add r11, 4
mov word [rsp + 0x38], cx
mov qword [rbp + 0x10], r11
cmp cx, 0x20
jl 0x180026c10
mov edi, dword [rbp - 0x40]
jmp 0x180026b62
movsxd rcx, dword [r9]
mov rax, qword [r11 + 0x40]
mulss xmm7, xmm6
movss xmm0, dword [rax + rcx*4]
maxss xmm7, dword [0x180072b38]
comiss xmm0, xmm7
jb 0x180027149
cmp dword [r11 + 0x3c], 0xa
jle 0x180027149
mov dword [rbp - 0x20], 1
jmp case.0x180026adc.36
mov dword [rbp - 0x20], ebx
jmp case.0x180026adc.36
mov eax, dword [r8]
lea rdx, [r11 + 0xc]
mov rcx, qword [rbp - 0x38]
lea r9, [rbp + 0x200]
mov dword [rsp + 0x48], eax
mov r8d, 0x76
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.180037ff0
mov r8, qword [rbp - 0x80]
mov r10, qword [rsp + 0x78]
mov r11, qword [rbp - 0x60]
mov r9, qword [rbp - 0x38]
mov eax, dword [r8]
cdq
sub eax, edx
mov edx, dword [rsp + 0x58]
sar eax, 1
mov dword [rbp - 0x30], eax
jmp case.0x180026adc.36
mov eax, dword [rbp - 0x30]
lea rdx, [r11 + 4]
mov dword [rsp + 0x48], eax
lea r9, [rbp + 0x20]
lea rax, [rsp + 0x48]
mov r8d, 0x76
lea rcx, [rbp + 0x200]
mov qword [rsp + 0x20], rax
call fcn.180037ff0
mov r10, qword [rsp + 0x78]
jmp 0x180026b62
mov esi, 0xba
nop dword [rax + rax]
cmp esi, 0xba
je 0x1800271f6
cmp esi, 0x84f6
je 0x180026b86
jmp 0x180027222
mov eax, dword [rbp - 0x30]
lea r9, [rbp + 0x20]
cdq
lea r8, [rbp - 0x40]
sub eax, edx
mov rcx, r11
sar eax, 1
mov edx, 0x1b
mov dword [rbp - 0x30], eax
mov dword [rbp - 0x40], eax
call fcn.180038cd0
mov r11, qword [rbp - 0x60]
mov edi, eax
mov dword [rbp - 0x40], eax
add esi, 0x843c
cmp esi, 0x10878
jbe 0x1800271e0
mov esi, dword [rsp + 0x60]
movzx eax, si
lea r9, [rsp + 0x48]
shr ax, 1
xor r8d, r8d
mov word [rsp + 0x50], ax
mov edx, 0xb4
mov rax, qword [rbp]
movzx eax, word [rax]
sub ax, word [rbp - 0x58]
movsx ecx, ax
shl ecx, 0xd
mov dword [rsp + 0x48], ecx
lea rcx, [rsp + 0x50]
call fcn.180041bf0
movsx ecx, word [rbp - 0x58]
lea r9, [rsp + 0x48]
add ax, 2
xor r8d, r8d
mov word [rsp + 0x40], ax
mov eax, dword [rsp + 0x58]
movsx edx, ax
sar edx, 1
add edx, ecx
mov word [rsp + 0x50], ax
mov dword [rsp + 0x48], edx
lea rcx, [rsp + 0x50]
mov edx, 0xb4
call fcn.180041bf0
mov r8, qword [rbp - 0x80]
mov r10, qword [rsp + 0x78]
mov edx, dword [rsp + 0x58]
mov r11, qword [rbp - 0x60]
movsx ecx, word [r8]
mov r9, qword [rbp - 0x38]
cwde
add ecx, eax
mov dword [rbp + 0xc], ecx
jmp case.0x180026adc.36
movzx eax, word [r9]
mov word [rsp + 0x6c], ax
jmp case.0x180026adc.36
mov esi, 0xc0a9
mov dword [rbp - 0x10], 0xd49a
mov dword [rsp + 0x60], esi
jmp case.0x180026adc.36
mov ecx, dword [r11 + 0x30]
mov r8d, dword [rsp + 0x70]
mov dword [rbp - 0x20], ebx
cmp r8d, ecx
jle 0x180027328
movss xmm6, dword [0x180072b1c]
mov eax, r8d
sub eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x180072ab0]
subss xmm6, xmm0
maxss xmm6, dword [0x180072adc]
jmp 0x180026b6e
mov ecx, dword [rsp + 0x3c]
test r8d, r8d
jns 0x180027359
movss xmm1, dword [0x180072ac0]
movss xmm6, dword [0x180072b1c]
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x180072ab0]
subss xmm1, xmm0
minss xmm6, xmm1
mov r8, qword [rbp - 0x80]
jmp case.default.0x180026adc
lea eax, [rdx - 1]
xor r8d, r8d
mov word [rsp + 0x50], ax
lea r9, [rsp + 0x48]
movsx eax, dx
lea rcx, [rsp + 0x50]
dec eax
mov edx, 0xb4
sar eax, 1
add eax, dword [rbp - 0x64]
mov dword [rsp + 0x48], eax
call fcn.180041bf0
movzx r8d, word [rsp + 0x6c]
mov r9, qword [rbp - 0x38]
sub r8w, ax
mov rax, qword [rbp]
mov r10, qword [rsp + 0x78]
mov r11, qword [rbp - 0x60]
movzx ecx, word [r9]
movzx eax, word [rax]
mov word [rsp + 0x6c], r8w
cmp cx, ax
jg 0x180026b6a
mov rdx, qword [rbp + 0x18]
cmp byte [rdx], 0
mov edx, dword [rsp + 0x58]
je 0x180026b6e
sub ax, cx
mov word [rbp - 0x58], bx
add ax, word [rbp - 0xc]
add r8w, ax
mov word [rsp + 0x6c], r8w
jmp 0x180026b6e
mov rax, qword [rbp]
mov word [rsp + 0x50], dx
movzx esi, word [rax]
movzx eax, word [r9]
lea r9, [rsp + 0x48]
sub ax, si
sub si, word [r8]
movsx ecx, ax
xor r8d, r8d
lea eax, [rdx - 1]
cwde
imul ecx, eax
movsx eax, dx
mov edx, 0xb4
sar eax, 1
add eax, ecx
mov dword [rbp - 0x64], ecx
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x48], eax
call fcn.180041bf0
add si, ax
mov rax, qword [rbp - 0x80]
movsx ecx, word [rax]
mov rax, qword [rbp]
movsx r8d, word [rax]
mov edx, r8d
movsx eax, si
sub r8w, cx
sub edx, ecx
cmp eax, edx
cmovg r8w, si
mov word [rbp - 0x78], r8w
jmp 0x180026b59
mov eax, 0xffffffff
jmp 0x180026b88
mov eax, dword [rbp - 0x20]
jmp 0x180026b88
mov eax, ebx
jmp 0x180026b88