Function at 0x18003ae90
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
lea edi, [rcx + 4]
mov rbp, r8
mov rsi, rdx
mov ebx, ecx
cmp ecx, edi
jae 0x18003b272
lea r14, [0x180000000]
xor r15d, r15d
mov eax, ebx
sub eax, 0x45
je 0x18003b22b
sub eax, 1
je 0x18003b272
sub eax, 3
je 0x18003aeec
cmp eax, 1
je 0x18003b272
jmp 0x18003b24a
movsxd rax, dword [rsi]
cmp eax, 0x3f
ja case.0x18003af0c.20
movzx eax, byte [r14 + rax + 0x3b2e4]
mov ecx, dword [r14 + rax*4 + 0x3b290]
add rcx, r14
jmp rcx
mov eax, 0x2b
cmp eax, 0x2b
je 0x18003af23
cmp eax, 0x66
je 0x18003b272
jmp 0x18003af2b
mov dword [rsp + 0x58], 2
add eax, 0x3b
cmp eax, 0xa1
jb 0x18003af13
mov eax, 0xae
nop word [rax + rax]
cmp eax, 0xae
je 0x18003af54
cmp eax, 0x3b22
je 0x18003b272
jmp 0x18003af5c
mov dword [rsp + 0x58], 2
add eax, 0x3a74
cmp eax, 0x74e8
jbe 0x18003af40
mov ecx, 0xbc
nop dword [rax]
mov eax, ecx
sub eax, 0xbc
je 0x18003af84
cmp eax, 0x22
je 0x18003b272
jmp 0x18003af8c
mov dword [rsp + 0x58], 2
add ecx, 0x22
cmp ecx, 0x100
jb 0x18003af70
mov eax, 0x44
nop dword [rax]
cmp eax, 0x44
je 0x18003afb2
cmp eax, 0x9d4
je 0x18003b272
jmp 0x18003afba
mov dword [rsp + 0x58], 2
add eax, 0x990
cmp eax, 0x1320
jbe 0x18003afa0
mov ecx, 0xb6
nop dword [rax + rax]
mov eax, ecx
sub eax, 0xb6
je 0x18003afe4
cmp eax, 0x4a
je 0x18003b272
jmp 0x18003afec
mov dword [rsp + 0x58], 1
add ecx, 0x4a
cmp ecx, 0x14a
jb 0x18003afd0
mov ecx, 0xb8
nop dword [rax]
mov eax, ecx
sub eax, 0xb8
je 0x18003b014
cmp eax, 0x49
je 0x18003b272
jmp 0x18003b01c
mov dword [rsp + 0x58], 1
add ecx, 0x49
cmp ecx, 0x14a
jb 0x18003b000
mov ecx, 0x36
nop dword [rax]
mov eax, ecx
sub eax, 0x36
je 0x18003b042
cmp eax, 1
je 0x18003b272
jmp 0x18003b04a
mov dword [rsp + 0x58], 2
inc ecx
cmp ecx, 0x38
jb 0x18003b030
mov eax, 0x60
cmp eax, 0x60
je 0x18003b26a
add eax, 0x20a0
cmp eax, 0x20a0
jbe 0x18003b056
mov eax, 0xa4
cmp eax, 0xa4
je 0x18003b26a
add eax, 0x2c
cmp eax, 0xd0
jb 0x18003b070
mov ecx, 0x4e
nop word [rax + rax]
mov eax, ecx
sub eax, 0x4e
je 0x18003b0a2
cmp eax, 0x3e
je 0x18003b272
jmp 0x18003b0aa
mov dword [rsp + 0x58], 1
add ecx, 0x3e
cmp ecx, 0xca
jb 0x18003b090
mov ecx, reloc.SHLWAPI.dll_IUnknown_AtomicRelease
nop word [rax + rax]
mov eax, ecx
sub eax, 0xa9
je 0x18003b0d4
cmp eax, 0x23
je 0x18003b272
jmp 0x18003b0dc
mov dword [rsp + 0x58], 1
add ecx, 0x23
cmp ecx, 0xef
jb 0x18003b0c0
mov eax, 0x93
nop dword [rax]
cmp eax, 0x93
je 0x18003b104
cmp eax, 0x1a6a
je 0x18003b272
jmp 0x18003b10c
mov dword [rsp + 0x58], 4
add eax, 0x19d7
cmp eax, 0x33ae
jbe 0x18003b0f0
mov eax, 0x1b
nop dword [rax]
cmp eax, 0x1b
je 0x18003b260
add eax, 0x50
cmp eax, 0x6b
jb 0x18003b120
mov eax, 0x7f
cmp eax, 0x7f
je 0x18003b256
add eax, 0x1457
cmp eax, 0x1457
jbe 0x18003b136
mov ecx, 0xc3
mov eax, ecx
sub eax, 0xc2
je 0x18003b272
cmp eax, 1
jne 0x18003b16a
mov dword [rsp + 0x58], 2
dec ecx
cmp ecx, 0xc1
ja 0x18003b150
mov eax, 0x45
nop dword [rax]
cmp eax, 0x45
je 0x18003b260
add eax, 0x28
cmp eax, 0x6d
jb 0x18003b180
mov ecx, 0x29
nop word [rax + rax]
mov eax, ecx
sub eax, 0x28
je 0x18003b272
cmp eax, 1
jne 0x18003b1b4
mov dword [rsp + 0x58], eax
dec ecx
cmp ecx, 0x27
ja 0x18003b1a0
mov eax, 5
cmp eax, 5
je 0x18003b1d2
cmp eax, 0xa5
je 0x18003b272
jmp 0x18003b1da
mov dword [rsp + 0x58], 1
add eax, 0xa0
cmp eax, 0x140
jbe 0x18003b1c0
mov ecx, 0x8b
nop dword [rax + rax]
mov eax, ecx
sub eax, 0x8b
je 0x18003b200
cmp eax, 0x4d
je 0x18003b272
jmp 0x18003b208
mov dword [rsp + 0x58], 1
add ecx, 0x4d
cmp ecx, 0x125
jb 0x18003b1f0
mov eax, 0x41
cmp eax, 0x41
je 0x18003b26a
inc eax
cmp eax, 0x42
jb 0x18003b218
mov dword [rsp + 0x58], r15d
jmp 0x18003b24a
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x58], rax
inc ebx
cmp ebx, edi
jb 0x18003aec5
jmp 0x18003b272
mov dword [rsp + 0x58], 2
jmp 0x18003b272
mov dword [rsp + 0x58], 4
jmp 0x18003b272
mov dword [rsp + 0x58], 1
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret