Function at 0x18005a3c0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rdi
push r12
sub rsp, 0x58
mov r12d, dword [r8]
mov rdi, rdx
mov rbp, rcx
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x80], 0
test rdx, rdx
jne 0x18005a3f5
xor ebx, ebx
jmp 0x18005a40f
or rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x18005a400
and ebx, 0x3fffffff
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r15
test r12b, 0x40
jne 0x18005a436
cmp dword [0x1800bce7c], 0
je 0x18005a8fb
cmp ebx, 5
jl 0x18005a8fb
mov eax, dword [rdx]
cmp eax, dword [str.file:]
jne 0x18005a8fb
movzx eax, byte [rdx + 4]
cmp al, byte [0x1800a9ed8]
jne 0x18005a8fb
or r12d, 0x40
lea eax, [rbx + 2]
movsxd r8, ebx
xor esi, esi
xor r14d, r14d
xor r15d, r15d
xor ecx, ecx
movsxd rbp, eax
mov dword [rsp + 0x88], r12d
cmp r8, 2
jl 0x18005a4b2
lea rdx, [r8 - 1]
nop word [rax + rax]
xor eax, eax
cmp byte [rdi + rcx], 0x26
sete al
add rsi, rax
xor eax, eax
cmp byte [rdi + rcx + 1], 0x26
sete al
add rcx, 2
add r14, rax
cmp rcx, rdx
jl 0x18005a490
cmp rcx, r8
jge 0x18005a4c3
xor eax, eax
cmp byte [rcx + rdi], 0x26
sete al
add rbp, rax
call sym.sqlite3.dll_sqlite3_initialize
test eax, eax
jne 0x18005aa17
lea rcx, [r14 + rsi]
add rcx, rbp
call fcn.180057350
mov rsi, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x18005aa17
cmp byte [rdi + 5], 0x2f
mov r9d, 5
jne 0x18005a56f
cmp byte [rdi + 6], 0x2f
jne 0x18005a56f
movzx ecx, byte [rdi + 7]
lea r8, [rdi + 7]
mov r9d, 7
test cl, cl
je 0x18005a56f
mov rax, r8
cmp cl, 0x2f
je 0x18005a527
movzx ecx, byte [rax + 1]
inc rax
inc r9d
test cl, cl
jne 0x18005a514
cmp r9d, 7
je 0x18005a56f
cmp r9d, 0x10
jne 0x18005a54c
mov rax, qword [str.localhost]
cmp rax, qword [r8]
jne 0x18005a54c
movzx eax, byte [0x1800a9ee8]
cmp al, byte [r8 + 8]
je 0x18005a56f
lea edx, [r9 - 7]
lea rcx, str.invalid_uri_authority:__.s
call sym.sqlite3.dll_sqlite3_mprintf
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x18005a984
movsxd rax, r9d
xor r11d, r11d
movzx edx, byte [rax + rdi]
test dl, dl
je 0x18005a704
xor r10d, r10d
lea rbx, [0x1800a0ee0]
nop dword [rax + rax]
cmp dl, 0x23
je 0x18005a6f4
inc r9d
cmp dl, 0x25
jne 0x18005a662
movsxd rax, r9d
movzx ecx, byte [rax + rdi]
test byte [rcx + rbx], 8
je 0x18005a662
movzx eax, byte [rax + rdi + 1]
test byte [rax + rbx], 8
je 0x18005a662
movsx edx, cl
inc r9d
mov ecx, edx
movsxd rax, r9d
inc r9d
movsx r8d, byte [rax + rdi]
sar ecx, 6
mov al, 7
and cl, 1
imul cl
mov ecx, r8d
sar ecx, 6
sub dl, al
and cl, 1
mov al, 7
and edx, 0xf
shl edx, 4
imul cl
movzx ecx, r8b
sub cl, al
and ecx, 0xf
add edx, ecx
jne 0x18005a6db
movsxd rax, r9d
lea rcx, [rax + rdi]
movzx eax, byte [rax + rdi]
test al, al
je 0x18005a6e5
movsxd rdx, r11d
nop
cmp al, 0x23
je 0x18005a6e5
test r11d, r11d
jne 0x18005a631
cmp al, 0x3f
jmp 0x18005a649
cmp rdx, 1
jne 0x18005a641
cmp al, 0x3d
je 0x18005a6e5
jmp 0x18005a647
cmp rdx, 2
jne 0x18005a64f
cmp al, 0x26
je 0x18005a6e5
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
test al, al
jne 0x18005a620
jmp 0x18005a6e5
cmp r11d, 1
jne 0x18005a6bc
cmp dl, 0x26
je 0x18005a672
cmp dl, 0x3d
jne 0x18005a6db
cmp byte [r10 + rsi - 1], 0
jne 0x18005a6a2
movsxd rax, r9d
movzx ecx, byte [rax + rdi]
test cl, cl
je 0x18005a6e5
cmp cl, 0x23
je 0x18005a6e5
cmp byte [rax + rdi - 1], 0x26
je 0x18005a6e5
movzx ecx, byte [rax + rdi + 1]
inc rax
inc r9d
test cl, cl
jne 0x18005a685
jmp 0x18005a6e5
cmp dl, 0x26
jne 0x18005a6b4
mov byte [r10 + rsi], 0
inc r15d
inc r10
jmp 0x18005a6d9
mov r11d, 2
jmp 0x18005a6d9
test r11d, r11d
jne 0x18005a6c8
cmp dl, 0x3f
je 0x18005a6d3
jmp 0x18005a6db
cmp r11d, 2
jne 0x18005a6db
cmp dl, 0x26
jne 0x18005a6db
mov r11d, 1
xor dl, dl
mov byte [r10 + rsi], dl
inc r15d
inc r10
movsxd rax, r9d
movzx edx, byte [rax + rdi]
test dl, dl
jne 0x18005a590
cmp r11d, 1
jne 0x18005a704
movsxd rax, r15d
inc r15d
mov byte [rax + rsi], 0
movsxd rax, r15d
mov word [rax + rsi], 0
or rax, 0xffffffffffffffff
inc rax
cmp byte [rsi + rax], 0
jne 0x18005a711
and eax, 0x3fffffff
inc eax
movsxd rdx, eax
add rdx, rsi
cmp byte [rdx], 0
je 0x18005a949
movzx r13d, byte [0x1800a9f0e]
nop dword [rax + rax]
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], 0
jne 0x18005a744
and ecx, 0x3fffffff
lea eax, [rcx + 1]
movsxd rsi, eax
add rsi, rdx
jne 0x18005a762
xor ebx, ebx
jmp 0x18005a775
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], 0
jne 0x18005a766
and ebx, 0x3fffffff
cmp ecx, 3
jne 0x18005a7a1
movzx eax, word [0x1800a9f0c]
cmp ax, word [rdx]
jne 0x18005a8aa
cmp r13b, byte [rdx + 2]
jne 0x18005a8aa
mov rbp, rsi
mov qword [rsp + 0x20], rsi
jmp 0x18005a8af
cmp ecx, 5
jne 0x18005a7dc
mov eax, dword [str.cache]
cmp eax, dword [rdx]
jne 0x18005a8aa
movzx eax, byte [0x1800a9f14]
cmp al, byte [rdx + 4]
jne 0x18005a8aa
mov ebp, 0x60000
lea r14, section..data
lea r12, str.cache
mov r15d, ebp
jmp 0x18005a80c
cmp ecx, 4
jne 0x18005a8aa
mov eax, dword [str.mode]
cmp eax, dword [rdx]
jne 0x18005a8aa
mov r15d, r12d
mov ebp, 0x87
lea r14, [0x1800bc030]
and r15d, ebp
lea r12, str.access
mov rcx, qword [r14]
xor edi, edi
test rcx, rcx
je 0x18005a856
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x18005a820
and eax, 0x3fffffff
cmp ebx, eax
jne 0x18005a844
mov rdx, rcx
movsxd r8, ebx
mov rcx, rsi
call fcn.180092b00
test eax, eax
je 0x18005a87b
inc rdi
mov rax, rdi
add rax, rax
mov rcx, qword [r14 + rax*8]
test rcx, rcx
jne 0x18005a816
lea rcx, str.no_such__s_mode:__s
mov r8, rsi
mov rdx, r12
call sym.sqlite3.dll_sqlite3_mprintf
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x18005a984
add rdi, rdi
mov ecx, dword [r14 + rdi*8 + 8]
test ecx, ecx
je 0x18005a856
mov eax, ecx
btr eax, 7
cmp eax, r15d
jg 0x18005a8cb
mov r12d, dword [rsp + 0x88]
not ebp
and r12d, ebp
or r12d, ecx
mov dword [rsp + 0x88], r12d
mov rbp, qword [rsp + 0x20]
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rsi
cmp byte [rdx], 0
jne 0x18005a740
mov rsi, qword [rsp + 0x28]
jmp 0x18005a94e
lea rcx, str._s_mode_not_allowed:__s
mov r8, rsi
mov rdx, r12
call sym.sqlite3.dll_sqlite3_mprintf
mov dword [rsp + 0x80], 3
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x18005a98f
call sym.sqlite3.dll_sqlite3_initialize
test eax, eax
jne 0x18005aa17
lea eax, [rbx + 2]
movsxd rcx, eax
call fcn.180057350
mov rsi, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x18005aa17
movsxd rbx, ebx
mov rdx, rdi
mov rcx, rax
mov r8, rbx
call fcn.180091e20
and r12d, 0xffffffbf
mov word [rbx + rsi], 0
mov dword [rsp + 0x88], r12d
jmp 0x18005a94e
mov rbp, qword [rsp + 0x20]
mov rcx, rbp
call sym.sqlite3.dll_sqlite3_vfs_find
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
test rax, rax
jne 0x18005a9f2
lea rcx, str.no_such_vfs:__s
mov rdx, rbp
call sym.sqlite3.dll_sqlite3_mprintf
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
mov dword [rsp + 0x80], 1
cmp dword [0x1800bce70], 0
je 0x18005a9e5
mov rcx, qword [0x1800bf700]
test rcx, rcx
je 0x18005a9aa
call qword [0x1800bcef8]
mov rcx, qword [rsp + 0x28]
call qword [0x1800bceb0]
dec qword [0x1800bf788]
movsxd rcx, eax
sub qword [0x1800bf740], rcx
mov rcx, qword [rsp + 0x28]
call qword [0x1800bcea0]
mov rcx, qword [0x1800bf700]
test rcx, rcx
je 0x18005a9f0
call qword [0x1800bcf08]
jmp 0x18005a9f0
mov rcx, qword [rsp + 0x28]
call qword [0x1800bcea0]
xor esi, esi
mov rcx, qword [rsp + 0x90]
mov eax, dword [rsp + 0x88]
mov dword [rcx], eax
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x80]
mov qword [rcx], rsi
jmp 0x18005aa1c
mov eax, 7
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x58
pop r12
pop rdi
pop rbp
pop rbx
ret