Function at 0x18000e290
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x1803964c0]
xor rax, rsp
mov qword [rbp + 0x88], rax
mov rbx, r9
mov r12, r8
mov r10d, edx
mov dword [rsp + 0x64], edx
mov r9, rcx
mov qword [rsp + 0x70], rcx
mov r15, qword [rbp + 0xf0]
xor edi, edi
mov qword [rbp + 0x38], rdi
mov edx, 0xf
mov qword [rbp + 0x40], rdx
mov byte [rbp + 0x28], dil
lea eax, [r10 + 0x11]
mov dword [rsp + 0x7c], eax
cmp r10d, eax
jae 0x18000eac7
mov esi, dword [rsp + 0x7c]
mov r13d, dword [rsp + 0x7c]
mov r14d, dword [rsp + 0x7c]
mov r11d, 1
lea r8, [0x180000000]
lea eax, [r10 - 0x46]
cmp eax, 0x23
ja case.0x18000e33c.86
movzx eax, byte [r8 + rax + 0xebbc]
mov ecx, dword [r8 + rax*4 + 0xeb78]
add rcx, r8
jmp rcx
mov dword [rbp - 0x6c], edi
mov qword [rbp + 0x58], rdi
mov qword [rbp + 0x60], rdx
mov byte [rbp + 0x48], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r9 + r8], 0
jne 0x18000e354
mov rdx, r9
lea rcx, [rbp + 0x48]
call fcn.18006b7a0
nop
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x48]
mov ecx, 0xda
call fcn.1800cd4a0
nop
mov rdx, qword [rbp + 0x60]
cmp rdx, 0x10
jb 0x18000e3b9
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000e3b4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000eb3d
call fcn.18012bf88
mov qword [rbp - 0x18], rdi
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x6c]
lea rcx, [rbp + 0x18]
call sub.RPCRT4.dll_MesEncodeDynBufferHandleCreate
mov dword [rbp - 0x28], eax
mov r10d, dword [rsp + 0x64]
mov edx, 0xf
jmp case.0x18000e33c.86
mov ecx, 0x20
call fcn.18012bf4c
mov rdi, rax
mov qword [rbp + 0x20], rax
test rax, rax
je 0x18000e427
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r12 + r8], 0
jne 0x18000e410
mov rdx, r12
mov rcx, rax
call fcn.18006b7a0
jmp 0x18000e429
xor edi, edi
movups xmm0, xmmword [rdi]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp + 0x38], xmm1
mov r10d, dword [rsp + 0x64]
mov edx, 0xf
jmp case.0x18000e33c.86
movzx eax, word [0x180371010]
mov word [rbp + 0x73], ax
movzx eax, byte [0x180371012]
mov byte [rbp + 0x75], al
jmp case.0x18000e33c.86
mov byte [r12], 0
jmp case.0x18000e33c.86
mov eax, 0x63
mov word [rbp + 0x68], ax
lea rcx, [rbp + 0x68]
dec rcx
nop dword [rax + rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x18000e480
movzx eax, word [0x180371014]
mov word [rcx], ax
movzx eax, byte [0x180371016]
mov byte [rcx + 2], al
lea rcx, [rbp + 0x68]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x18000e4a4
movzx eax, word [0x18036d778]
mov word [rcx], ax
jmp case.0x18000e33c.86
dec qword [r9]
cmp byte [rbx], 0
je case.0x18000e33c.86
nop dword [rax + rax]
cmp qword [r9], 0
je 0x18000e3d1
movzx eax, byte [rbx]
cmp al, 0x25
jne 0x18000e924
mov r8d, 0x68
nop dword [rax + rax]
mov eax, r8d
sub eax, 0x66
je 0x18000e523
sub eax, 1
je 0x18000e512
cmp eax, 1
jne 0x18000e915
mov esi, edi
mov qword [rsp + 0x68], rdi
jmp 0x18000e915
mov dword [rbp - 0x70], edi
mov r13d, 0xa
mov r14d, edi
jmp 0x18000e915
inc rbx
movzx edx, byte [rbx]
cmp dl, 0x2e
je 0x18000e523
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x18000e523
test esi, esi
jne 0x18000e8f7
mov dword [rsp + 0x78], 0x66
mov dword [rsp + 0x64], 0x59
nop dword [rax]
movsx eax, dl
add eax, 0xffffffdb
cmp eax, 0x53
ja case.0x18000e578.38
cdqe
lea r8, [0x180000000]
movzx eax, byte [r8 + rax + 0xec14]
mov ecx, dword [r8 + rax*4 + 0xebe0]
add rcx, r8
jmp rcx
mov eax, edi
cmp r14d, 2
cmovge eax, r14d
mov r14d, eax
jmp case.0x18000e578.104
mov qword [rbp - 0x80], 3
mov r9d, 0x103
lea r8, [0x180371018]
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.1800636c0
mov r11d, 1
test eax, eax
jne case.0x18000e578.104
add rbx, 2
lea r14d, [r11 + 1]
jmp case.0x18000e578.104
mov esi, r11d
inc rbx
test esi, esi
jne 0x18000e8fe
movzx edx, byte [rbx]
jmp 0x18000e550
mov byte [r12], 0x25
mov rdi, r11
mov qword [rsp + 0x68], r11
mov esi, r11d
inc rbx
jmp 0x18000e903
add qword [r15], 4
mov rax, qword [r15]
movzx ecx, byte [rax - 4]
mov byte [r12], cl
mov rdi, r11
mov qword [rsp + 0x68], r11
mov esi, r11d
inc rbx
jmp 0x18000e903
mov ecx, r14d
test r14d, r14d
je 0x18000e6dd
sub ecx, 1
je 0x18000e66a
cmp ecx, 1
jne 0x18000e708
add qword [r15], 8
mov rcx, qword [r15]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov dword [rsp + 0x68], r13d
mov rax, qword [rcx - 8]
mov qword [rbp - 0x80], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x68]
mov r8d, 0x47
mov rdx, r12
lea rcx, [rbp - 0x78]
call fcn.180026ef0
jmp 0x18000e6c4
add qword [r15], 4
mov rcx, qword [r15]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
mov dword [rbp - 0x68], r13d
mov eax, dword [rcx - 4]
mov dword [rbp - 0x60], eax
lea rax, [rbp - 0x68]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov r8d, 0x109
xor r9d, r9d
mov qword [rsp + 0x20], rdi
call fcn.180088160
mov rdi, rax
mov qword [rsp + 0x68], rax
mov r11d, 1
mov esi, r11d
inc rbx
jmp 0x18000e903
add qword [r15], 4
mov rcx, qword [r15]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rbp - 8], rax
mov dword [rbp - 0x58], r13d
mov eax, dword [rcx - 4]
mov dword [rbp - 0x50], eax
lea rax, [rbp - 0x58]
lea rdx, [rbp - 8]
lea rcx, [rbp - 0x50]
jmp 0x18000e693
mov rdi, qword [rsp + 0x68]
mov esi, r11d
inc rbx
jmp 0x18000e903
mov dword [rbp - 0x70], r11d
cmp r13d, 0xa
mov eax, 0x10
cmove r13d, eax
cmp dl, 0x70
cmove r14d, r11d
cmp r13d, 0xa
mov eax, 8
cmove r13d, eax
mov edx, 0x3b
cmp edx, 0x3b
je 0x18000e77b
cmp edx, 0x44
jne 0x18000e795
mov rdi, qword [rsp + 0x68]
cmp dword [rbp - 0x70], 0
je 0x18000e770
mov r9d, 0x83
xor r8d, r8d
xor edx, edx
mov rcx, r12
call fcn.180062d90
mov r11d, 1
mov esi, r11d
inc rbx
jmp 0x18000e903
mov ecx, r14d
test r14d, r14d
je 0x18000e888
sub ecx, 1
je 0x18000e83c
cmp ecx, 1
je 0x18000e7e9
add edx, 9
cmp edx, 0x4d
jb 0x18000e742
add qword [r15], 8
mov rcx, qword [r15]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
movsd xmm0, qword [rcx - 8]
movsd qword [rbp - 0x80], xmm0
mov r9, r12
mov r8d, 0xc0
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x80]
call fcn.180028ee0
mov rdi, rax
mov qword [rsp + 0x68], rax
mov r11d, 1
mov esi, r11d
inc rbx
jmp 0x18000e903
add qword [r15], 8
mov rcx, qword [r15]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x68], r13d
mov rax, qword [rcx - 8]
mov qword [rbp - 0x78], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r9, r12
mov r8d, 0x65
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x80]
call fcn.1800d0660
mov rdi, rax
mov qword [rsp + 0x68], rax
mov r11d, 1
jmp 0x18000e751
add qword [r15], 4
mov rcx, qword [r15]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rbp], rax
mov dword [rbp - 0x48], r13d
mov eax, dword [rcx - 4]
mov dword [rbp - 0x40], eax
lea r8, [rbp - 0x48]
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
mov r9d, 0xd7
mov qword [rsp + 0x20], r12
call fcn.18001f590
mov rdi, rax
mov qword [rsp + 0x68], rax
mov r11d, 1
jmp 0x18000e751
add qword [r15], 4
mov rcx, qword [r15]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rbp + 8], rax
mov dword [rbp - 0x38], r13d
mov eax, dword [rcx - 4]
mov dword [rbp - 0x30], eax
lea r8, [rbp - 0x38]
lea rdx, [rbp + 8]
lea rcx, [rbp - 0x30]
jmp 0x18000e865
add qword [r15], 8
mov rcx, qword [r15]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
mov r9, r12
xor edx, edx
lea r8d, [rdx + 0x11]
mov rcx, qword [rcx - 8]
call fcn.1800e2ac0
mov rdi, rax
mov qword [rsp + 0x68], rax
mov r11d, 1
mov esi, r11d
inc rbx
jmp 0x18000e903
mov rdi, qword [rsp + 0x68]
jmp 0x18000e90d
mov rdi, qword [rsp + 0x68]
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x78]
add r12, rdi
sub qword [r9], rdi
xor edi, edi
dec r8d
cmp r8d, 0x65
ja 0x18000e4f0
jmp 0x18000e931
mov byte [r12], al
inc r12
inc rbx
dec qword [r9]
cmp byte [rbx], 0
jne 0x18000e4d0
mov r10d, dword [rsp + 0x64]
mov edx, 0xf
jmp case.0x18000e33c.86
cmp byte [rsp + 0x60], 0
je 0x18000e964
mov rcx, qword [rbp - 0x18]
call sub.RPCRT4.dll_MesHandleFree
mov r10d, dword [rsp + 0x64]
mov r11d, 1
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x18000e995
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x18000e985
mov rax, qword [rbx]
mov word [rax + rcx], 0xa
mov edx, 0xf
jmp case.0x18000e33c.86
mov r9b, 0xa
xor r8d, r8d
mov rdx, r11
mov rcx, rbx
call fcn.180002400
mov r10d, dword [rsp + 0x64]
mov edx, 0xf
jmp case.0x18000e33c.86
mov dword [rbp + 0x75], 0x732079
movzx eax, word [0x18037101c]
mov word [rbp + 0x78], ax
mov eax, 0x75
mov word [rbp + 0x7a], ax
movabs rax, 0x68632079746972
mov qword [rbp + 0x7b], rax
jmp case.0x18000e33c.86
mov r8d, 4
lea rdx, str.s_bo
lea rcx, [rbp + 0x68]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
movzx eax, word [0x18036e650]
mov word [rbp + 0x70], ax
mov eax, 0x64
mov word [rbp + 0x72], ax
mov r10d, dword [rsp + 0x64]
lea edx, [rax - 0x55]
jmp case.0x18000e33c.86
mov dword [rsp + 0x28], 0x62
lea rax, [rbp + 0x28]
mov qword [rsp + 0x20], rax
mov r9, rbx
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.18006cf90
mov ecx, edi
movzx eax, byte [rsp + 0x60]
cmp dword [rbp - 0x28], 0
cmove ecx, eax
mov byte [rsp + 0x60], cl
mov r10d, dword [rsp + 0x64]
mov edx, 0xf
jmp case.0x18000e33c.86
mov qword [rbp + 0x10], r12
jmp case.0x18000e33c.86
movsd xmm1, qword [r12]
subsd xmm1, qword [0x180377930]
addsd xmm1, qword [r9]
divsd xmm1, qword [0x1803776b0]
movaps xmm0, xmm1
mulsd xmm0, qword [0x180374c20]
subsd xmm0, qword [0x180374ae8]
mulsd xmm0, xmm1
subsd xmm0, qword [0x1803769c8]
mulsd xmm0, xmm1
addsd xmm0, qword [0x180377778]
mulsd xmm0, qword [0x180374620]
movsd qword [rbp - 0x20], xmm0
jmp case.0x18000e33c.86
cmp qword [r9], 0
ja case.0x18000e33c.86
mov dword [rbp - 0x20], edi
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x18000eb49
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000eb44
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000eb44
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov eax, r12d
sub eax, dword [rbp + 0x10]
mov dword [rbp - 0x20], eax
jmp case.0x18000e33c.86
mov dword [rbp + 0x82], 0x6b6365
mov byte [rsp + 0x60], 1
lea rax, [rbp + 0x68]
mov qword [rbp + 0x18], rax
inc r10d
mov dword [rsp + 0x64], r10d
cmp r10d, dword [rsp + 0x7c]
jae case.0x18000e33c.84
mov r9, qword [rsp + 0x70]
xor edi, edi
jmp 0x18000e30e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.18012bf88
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x88]
xor rcx, rsp
call fcn.18012c9a0
mov rbx, qword [rsp + 0x1d8]
add rsp, 0x190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret