Function at 0x14001bdd4
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov rax, qword [0x1400c7a00]
xor r14d, r14d
mov r12, r8
mov r11, rdx
mov rsi, rcx
mov r15d, r14d
mov al, byte [rax + 0x1c]
mov byte [rsp + 0x90], al
cmp al, 8
jne 0x14001be19
cmp dword [0x1400c79d8], r14d
mov r13d, r14d
je 0x14001be1f
mov r13d, 1
mov r10, qword [rcx]
mov dword [rsp + 0xa8], r13d
mov byte [rdx], r14b
cmp r10, r12
jb 0x14001be3c
mov eax, reloc.ODBC32.dll_SQLFreeEnv
jmp 0x14001cc84
mov rax, qword [0x1400c7a00]
lea rbx, [0x1400c7580]
mov edx, SQLDriverConnect
mov r8d, dword [rax + 0x2d]
test r8d, r8d
je 0x14001bedf
test r13d, r13d
je 0x14001bedf
mov ebp, dword [0x1400c7be0]
movzx ecx, byte [r10]
test ebp, ebp
je 0x14001be82
cmp word [rbx + rcx*2], r14w
jge 0x14001be82
movzx eax, byte [r10 + 1]
shl ax, 8
or cx, ax
cmp cx, dx
je 0x14001bee5
mov rdx, qword [0x1400c7a00]
lea rax, [rsp + 0xa0]
mov dword [rsp + 0x28], r14d
lea r9, [rsp + 0x30]
mov rcx, r10
mov qword [rsp + 0x20], rax
mov rdx, qword [rdx + 0x25]
call fcn.14001bb80
mov edx, eax
mov edi, eax
mov ebx, 2
sub edx, 1
je 0x14001bfa9
sub edx, ebx
je 0x14001bf37
cmp edx, 1
je 0x14001bfa9
mov r11, qword [rsp + 0x98]
lea rbx, [0x1400c7580]
mov ebp, dword [0x1400c7be0]
mov r8, qword [rsi]
movzx r9d, byte [r8]
movzx ecx, r9w
test ebp, ebp
je 0x14001bf07
cmp word [rbx + r9*2], r14w
jge 0x14001bf07
movzx eax, byte [r8 + 1]
shl ax, 8
or cx, ax
mov r10, qword [0x1400c7a00]
movzx eax, byte [r10 + 0x49]
cmp cx, ax
jne 0x14001c07c
lea rax, [r8 + 1]
mov qword [rsi], rax
mov cl, byte [r10 + 0x49]
mov rdx, rsi
mov r8, r12
call fcn.14001cef8
jmp 0x14001cc84
movsxd rax, dword [rsp + 0xa0]
add qword [rsi], rax
mov rcx, qword [rsi]
mov r10, qword [rsp + 0x30]
mov r9d, dword [0x1400c7be0]
mov r8, rcx
cmp rcx, r12
jae 0x14001bf9a
movzx edx, byte [rcx]
test r9d, r9d
je 0x14001bf88
movzx eax, byte [rcx]
lea r8, [0x1400c7580]
cmp word [r8 + rax*2], r14w
jge 0x14001bf88
lea rax, [rcx + 1]
cmp byte [rax], r14b
je 0x14001bf88
mov rcx, rax
movzx eax, byte [rax]
shl ax, 8
or dx, ax
inc rcx
mov qword [rsi], rcx
mov r8, rcx
movzx eax, byte [r10]
cmp dx, ax
jne 0x14001bf51
cmp r12, r8
sbb eax, eax
not eax
and eax, 6
jmp 0x14001cc84
mov r14, qword [rsi]
xor r8d, r8d
movsxd rdx, dword [rsp + 0xa0]
mov ebp, dword [0x1400c7be0]
add rdx, r14
mov qword [rsi], rdx
movzx ecx, byte [rdx]
test ebp, ebp
je 0x14001bfe3
lea r9, [0x1400c7580]
cmp word [r9 + rcx*2], r8w
jge 0x14001bfe3
movzx eax, byte [rdx + 1]
shl ax, 8
or cx, ax
cmp cx, 0x2d
jne 0x14001bff0
lea rax, [rdx + 1]
mov qword [rsi], rax
mov rdx, r12
mov rcx, rsi
cmp edi, 4
jne 0x14001c008
call fcn.14001d628
mov ebp, dword [0x1400c7be0]
jmp 0x14001c00d
call fcn.14001d40c
mov rax, qword [rsp + 0x30]
xor r9d, r9d
mov r8b, byte [rax]
test r8b, r8b
je 0x14001c06a
mov rdx, qword [rsi]
movzx ecx, byte [rdx]
test ebp, ebp
je 0x14001c040
lea r10, [0x1400c7580]
cmp word [r10 + rcx*2], r9w
jge 0x14001c040
movzx eax, byte [rdx + 1]
shl ax, 8
or cx, ax
movzx eax, r8b
cmp cx, ax
je 0x14001c063
mov r11, qword [rsp + 0x98]
lea rbx, [0x1400c7580]
mov qword [rsi], r14
xor r14d, r14d
jmp 0x14001bee5
lea rcx, [rdx + 1]
mov qword [rsi], rcx
mov eax, reloc.ODBC32.dll_SQLNumResultCols
cmp edi, 4
cmove ebx, eax
mov eax, ebx
jmp 0x14001cc84
cmp dword [0x1400c79c8], r14d
jne 0x14001c8a3
mov r10, qword [0x1400c7a00]
test byte [r10 + 0x10], 0x60
je 0x14001c8a3
mov eax, dword [0x1400c79f8]
dec eax
movsxd rcx, eax
mov rax, qword [0x1400c79e0]
lea rdx, [rcx + rcx*2]
mov cl, byte [rax + rdx*2 + 1]
sub cl, 0x21
cmp cl, 1
jbe 0x14001c8a3
test ebp, ebp
je 0x14001c0ea
mov r15, r8
mov edi, r9d
cmp word [rbx + r9*2], r14w
jge 0x14001c0ee
lea rax, [r8 + 1]
cmp byte [rax], r14b
je 0x14001c0ee
mov r8, rax
movzx eax, byte [rax]
shl ax, 8
or di, ax
jmp 0x14001c0ee
movzx edi, byte [r8]
lea rcx, [r8 + 1]
mov qword [rsi], rcx
cmp di, 0x23
ja 0x14001c20c
je 0x14001c1f0
cmp di, 9
jb 0x14001c1aa
cmp di, 0x20
ja 0x14001c19a
movabs rdx, 0x1000027ff
bt rdx, rdi
jae 0x14001c19a
cmp rcx, r12
jae 0x14001c950
mov r9d, 0xa
lea r10d, [r9 + 3]
movzx edx, byte [rcx]
mov r8d, edx
test ebp, ebp
je 0x14001c158
cmp word [rbx + rdx*2], r14w
jge 0x14001c158
movzx eax, byte [rcx + 1]
shl ax, 8
or dx, ax
mov rax, r8
cmp dx, 0x20
je 0x14001c177
cmp dx, 9
je 0x14001c177
cmp dx, r9w
je 0x14001c177
cmp dx, r10w
jne 0x14001c950
inc rcx
test ebp, ebp
je 0x14001c18d
cmp word [rbx + rax*2], r14w
jge 0x14001c18d
cmp byte [rcx], r14b
je 0x14001c18d
inc rcx
mov qword [rsi], rcx
cmp rcx, r12
jb 0x14001c13c
jmp 0x14001c950
cmp di, 0x21
je 0x14001c1e5
cmp di, 0x22
je 0x14001cc73
test byte [r10 + 0x10], 0x40
je 0x14001c670
cmp di, 0x23
je 0x14001c1f9
cmp di, 0x7b
je 0x14001c666
test ebp, ebp
je 0x14001c245
mov qword [rsi], r15
movzx edi, byte [r15]
cmp word [rbx + rdi*2], r14w
jge 0x14001c24f
movzx eax, byte [r15 + 1]
shl ax, 8
or di, ax
jmp 0x14001c24f
cmp byte [rcx], 0x3d
je 0x14001c81c
jmp 0x14001c1aa
test r13d, r13d
je 0x14001c890
mov r8, r12
mov rdx, rsi
movzx ecx, di
call fcn.14001ce78
jmp 0x14001cc84
mov edx, SQLDriverConnect
cmp di, dx
je 0x14001cc73
cmp di, 0x28
je 0x14001c81c
cmp di, 0x3b
jbe 0x14001c1aa
cmp di, 0x3e
jbe 0x14001c81c
cmp di, 0x5b
jne 0x14001c1aa
mov cl, 0x5d
jmp 0x14001bf27
lea rax, [rcx - 1]
mov qword [rsi], rax
movzx edi, byte [rax]
test ebp, ebp
je 0x14001c287
movzx eax, di
shr rax, 8
cmp byte [rbx + rax*2], r14b
jge 0x14001c26b
movzx eax, dil
cmp word [rbx + rax*2], r14w
jl 0x14001c2ba
test ebp, ebp
je 0x14001c287
mov rax, qword [str.0_f_]
mov edx, 0x411
mov ecx, r14d
cmp word [rax + 4], dx
sete cl
jmp 0x14001c28a
mov ecx, r14d
mov r15d, 0xa0
test ecx, ecx
je 0x14001c2a1
movzx eax, di
sub ax, r15w
cmp ax, 0x3f
jbe 0x14001c2c0
mov cl, dil
call qword [sym.imp.USER32.dll_IsCharAlphaNumericA]
mov ebp, dword [0x1400c7be0]
test eax, eax
je 0x14001c61d
jmp 0x14001c2c0
mov r15d, 0xa0
mov r14d, r12d
sub r14d, dword [rsi]
cmp r14d, 3
jl 0x14001c61a
xor r13d, r13d
mov rdx, qword [rsi]
lea rcx, [rsp + 0x30]
mov r8d, r14d
call fcn.14001fd0c
test dword [rsp + 0x30], 0x7fff
jne 0x14001c656
mov ebp, dword [0x1400c7be0]
cmp r14d, 3
jl 0x14001c614
test ebp, ebp
je 0x14001c389
mov rbx, qword [rsi]
movsxd r13, r14d
mov rcx, rbx
lea rdx, [rbx - 1]
add rdx, r13
call fcn.1400ac30c
xor r8d, r8d
lea r15d, [rax + 1]
movsxd rcx, r15d
sub r13, rcx
add r13, rbx
lea rbx, [0x1400c7580]
movzx ecx, byte [r13]
cmp word [rbx + rcx*2], r8w
jge 0x14001c34d
movzx eax, byte [r13 + 1]
shl ax, 8
or cx, ax
movzx edx, cx
xor r13d, r13d
mov eax, edx
shr rax, 8
cmp byte [rbx + rax*2], r13b
jge 0x14001c36d
movzx eax, dl
cmp word [rbx + rax*2], r13w
jl 0x14001c483
test ebp, ebp
je 0x14001c389
mov rax, qword [str.0_f_]
mov edx, 0x411
mov ecx, r13d
cmp word [rax + 4], dx
sete cl
jmp 0x14001c38c
mov ecx, r13d
test ecx, ecx
je 0x14001c448
mov r13, qword [rsi]
xor r15d, r15d
movsxd rbx, r14d
test ebp, ebp
je 0x14001c3b4
lea rdx, [r13 - 1]
mov rcx, r13
add rdx, rbx
call fcn.1400ac30c
inc eax
jmp 0x14001c3b9
mov eax, 1
cdqe
mov rdx, rbx
sub rdx, rax
add rdx, r13
movzx ecx, byte [rdx]
test ebp, ebp
je 0x14001c3e4
lea r8, [0x1400c7580]
cmp word [r8 + rcx*2], r15w
jge 0x14001c3e4
movzx eax, byte [rdx + 1]
shl ax, 8
or cx, ax
mov eax, 0xa0
cmp cx, ax
jb 0x14001c445
test ebp, ebp
je 0x14001c407
lea rdx, [r13 - 1]
mov rcx, r13
add rdx, rbx
call fcn.1400ac30c
lea r15d, [rax + 1]
jmp 0x14001c40d
mov r15d, 1
movsxd rax, r15d
sub rbx, rax
add rbx, r13
xor r13d, r13d
movzx ecx, byte [rbx]
test ebp, ebp
je 0x14001c439
lea rdx, [0x1400c7580]
cmp word [rdx + rcx*2], r13w
jge 0x14001c439
movzx eax, byte [rbx + 1]
shl ax, 8
or cx, ax
mov eax, 0xdf
cmp cx, ax
jbe 0x14001c483
jmp 0x14001c448
xor r13d, r13d
mov rcx, qword [rsi]
movsxd rbx, r14d
test ebp, ebp
je 0x14001c464
lea rdx, [rcx - 1]
add rdx, rbx
call fcn.1400ac30c
lea r15d, [rax + 1]
jmp 0x14001c46a
mov r15d, 1
movsxd rax, r15d
sub rcx, rax
mov cl, byte [rcx + rbx]
call qword [sym.imp.USER32.dll_IsCharAlphaNumericA]
mov ebp, dword [0x1400c7be0]
test eax, eax
je 0x14001c490
sub r14d, r15d
cmp r14d, 3
jge 0x14001c301
cmp r14d, 3
jl 0x14001c614
test ebp, ebp
je 0x14001c519
mov r15, qword [rsi]
movsxd rbx, r14d
mov rcx, r15
lea rdx, [r15 - 1]
add rdx, rbx
call fcn.1400ac30c
movsxd rcx, eax
lea rax, [0x1400c7580]
sub rbx, rcx
movzx ecx, byte [rbx + r15 - 1]
cmp word [rax + rcx*2], r13w
jge 0x14001c4d9
movzx eax, byte [rbx + r15]
shl ax, 8
or cx, ax
movzx edx, cx
lea rbx, [0x1400c7580]
mov eax, edx
shr rax, 8
cmp byte [rbx + rax*2], r13b
jge 0x14001c4fd
movzx eax, dl
cmp word [rbx + rax*2], r13w
jl 0x14001c60a
test ebp, ebp
je 0x14001c519
mov rax, qword [str.0_f_]
mov edx, 0x411
mov ecx, r13d
cmp word [rax + 4], dx
sete cl
jmp 0x14001c51c
mov ecx, r13d
test ecx, ecx
je 0x14001c5bc
mov rcx, qword [rsi]
movsxd rbx, r14d
test ebp, ebp
je 0x14001c53e
lea rdx, [rcx - 1]
add rdx, rbx
call fcn.1400ac30c
inc eax
jmp 0x14001c543
mov eax, 1
cdqe
lea r15, [0x1400c7580]
mov r8, rcx
sub r8, rax
movzx edx, byte [r8 + rbx]
test ebp, ebp
je 0x14001c56f
cmp word [r15 + rdx*2], r13w
jge 0x14001c56f
movzx eax, byte [r8 + rbx + 1]
shl ax, 8
or dx, ax
mov eax, 0xa0
cmp dx, ax
jb 0x14001c5bc
test ebp, ebp
je 0x14001c58d
lea rdx, [rcx - 1]
add rdx, rbx
call fcn.1400ac30c
inc eax
jmp 0x14001c592
mov eax, 1
cdqe
sub rcx, rax
movzx edx, byte [rcx + rbx]
test ebp, ebp
je 0x14001c5b2
cmp word [r15 + rdx*2], r13w
jge 0x14001c5b2
movzx eax, byte [rcx + rbx + 1]
shl ax, 8
or dx, ax
mov eax, 0xdf
cmp dx, ax
jbe 0x14001c60a
mov rcx, qword [rsi]
movsxd r15, r14d
test ebp, ebp
je 0x14001c5d7
lea rdx, [rcx - 1]
add rdx, r15
call fcn.1400ac30c
lea ebx, [rax + 1]
jmp 0x14001c5dc
mov ebx, 1
movsxd rax, ebx
sub r15, rax
mov cl, byte [r15 + rcx]
call qword [sym.imp.USER32.dll_IsCharAlphaNumericA]
test eax, eax
jne 0x14001c604
sub r14d, ebx
cmp r14d, 3
jl 0x14001c604
mov ebp, dword [0x1400c7be0]
jmp 0x14001c49a
mov ebp, dword [0x1400c7be0]
cmp r14d, 3
jge 0x14001c2d3
mov r15d, 0xa0
xor r14d, r14d
mov rax, qword [rsi]
lea rdx, [rax + 1]
test ebp, ebp
je 0x14001c641
movzx eax, byte [rax]
lea rcx, [0x1400c7580]
cmp word [rcx + rax*2], r14w
jge 0x14001c641
cmp byte [rdx], r14b
je 0x14001c641
inc rdx
mov rax, qword [0x1400c7a00]
mov qword [rsi], rdx
test byte [rax + 0x10], 0x20
jne 0x14001c676
jmp 0x14001c991
movsxd rax, r14d
add qword [rsi], rax
mov eax, 6
jmp 0x14001cc84
mov edi, 0x7d
jmp 0x14001c1f9
mov r15d, 0xa0
cmp byte [rsp + 0x90], 0xe
jne 0x14001c727
lea eax, [rdi - 0x30]
cmp ax, 9
jbe 0x14001c714
test ebp, ebp
je 0x14001c6bc
movzx eax, di
lea rcx, [0x1400c7580]
shr rax, 8
cmp byte [rcx + rax*2], r14b
jge 0x14001c6bc
movzx eax, dil
cmp word [rcx + rax*2], r14w
jge 0x14001c6bc
movzx eax, di
movzx ebx, di
jmp 0x14001c6d7
movzx ebx, di
mov ecx, ebx
call qword [sym.imp.USER32.dll_CharUpperA]
mov ebp, dword [0x1400c7be0]
lea rcx, [0x1400c7580]
movzx eax, al
cmp eax, 0x41
jb 0x14001c727
test ebp, ebp
je 0x14001c6fd
movzx eax, di
shr rax, 8
cmp byte [rcx + rax*2], r14b
jge 0x14001c6fd
movzx eax, dil
cmp word [rcx + rax*2], r14w
jge 0x14001c6fd
movzx eax, di
jmp 0x14001c70f
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharUpperA]
mov ebp, dword [0x1400c7be0]
movzx eax, al
cmp eax, 0x46
ja 0x14001c727
dec qword [rsi]
mov rdx, r12
mov rcx, rsi
call fcn.14001d628
jmp 0x14001cc84
mov r13d, dword [rsp + 0xa8]
test r13d, r13d
je 0x14001c7bc
lea eax, [rdi - 0x30]
cmp ax, 9
jbe 0x14001c7ac
mov rax, qword [0x1400c79f0]
movzx ecx, byte [rax + 9]
cmp di, cx
je 0x14001c75b
cmp di, 0x2d
jne 0x14001c81c
mov rdx, qword [rsi]
lea r9, [0x1400c7580]
movzx ecx, byte [rdx]
mov r8d, ecx
test ebp, ebp
je 0x14001c783
cmp word [r9 + rcx*2], r14w
jge 0x14001c783
movzx eax, byte [rdx + 1]
shl ax, 8
or ax, cx
jmp 0x14001c786
movzx eax, cx
cmp ax, 0x30
jb 0x14001c81c
test ebp, ebp
je 0x14001c7a6
cmp word [r9 + r8*2], r14w
jge 0x14001c7a6
movzx eax, byte [rdx + 1]
shl ax, 8
or cx, ax
cmp cx, 0x39
ja 0x14001c81c
mov rdx, r12
mov rcx, rsi
call fcn.14001d40c
jmp 0x14001cc84
test ebp, ebp
je 0x14001c7fb
movzx eax, di
lea rcx, [0x1400c7580]
shr rax, 8
cmp byte [rcx + rax*2], r14b
jge 0x14001c7df
movzx eax, dil
cmp word [rcx + rax*2], r14w
jl 0x14001c81c
test ebp, ebp
je 0x14001c7fb
mov rax, qword [str.0_f_]
mov edx, 0x411
mov ecx, r14d
cmp word [rax + 4], dx
sete cl
jmp 0x14001c7fe
mov ecx, r14d
test ecx, ecx
je 0x14001c80f
movzx eax, di
sub ax, r15w
cmp ax, 0x3f
jbe 0x14001c81c
mov cl, dil
call qword [sym.imp.USER32.dll_IsCharAlphaA]
test eax, eax
je 0x14001c890
mov rax, qword [rsi]
lea rdx, [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
mov r9, r12
mov r8, rbx
mov qword [rsp + 0x90], rax
movzx ecx, di
call fcn.14001cc98
mov edx, eax
test eax, eax
je 0x14001c890
mov r9d, 0xa
lea r10d, [r9 + 3]
cmp eax, r10d
jne 0x14001c86f
mov al, byte [rbx]
lea ecx, [rax - 5]
cmp cl, r9b
jbe 0x14001c86f
test r13d, r13d
je 0x14001c890
sub al, 0x11
cmp al, 1
ja 0x14001c890
test r13d, r13d
jne 0x14001c87e
cmp edx, r9d
jne 0x14001c87e
cmp byte [rbx], 0x23
jne 0x14001c890
mov rax, qword [rsp + 0x90]
mov qword [rsi], rax
mov eax, edx
jmp 0x14001cc84
mov r8, r12
mov rdx, rsi
movzx ecx, di
call fcn.14001d080
jmp 0x14001cc84
test ebp, ebp
je 0x14001c8ce
mov rax, r9
cmp word [rbx + r9*2], r14w
jge 0x14001c8c8
lea rax, [r8 + 1]
cmp byte [rax], r14b
je 0x14001c8c8
mov r8, rax
movzx eax, byte [rax]
shl ax, 8
or r9w, ax
movzx edi, r9w
jmp 0x14001c8d1
mov edi, r9d
lea rcx, [r8 + 1]
mov qword [rsi], rcx
cmp di, 0x23
ja 0x14001c95a
je 0x14001cc4f
mov rdx, rcx
cmp di, 9
jb 0x14001c98b
cmp di, 0x20
ja 0x14001c907
movabs rdx, 0x1000027ff
bt rdx, rdi
jb 0x14001c94b
cmp di, 0x22
je 0x14001cc73
mov rdx, rcx
jmp 0x14001c98b
movzx edx, byte [rcx]
test ebp, ebp
je 0x14001c92f
cmp word [rbx + rdx*2], r14w
jge 0x14001c92f
movzx eax, byte [rcx + 1]
shl ax, 8
or dx, ax
cmp dx, 0x20
ja 0x14001c950
movabs rax, 0x100002600
bt rax, rdx
jae 0x14001c950
inc rcx
mov qword [rsi], rcx
cmp rcx, r12
jb 0x14001c916
mov eax, reloc.ODBC32.dll_SQLFreeStmt
jmp 0x14001cc84
mov r9d, SQLDriverConnect
cmp di, r9w
je 0x14001cc73
cmp di, 0x3f
je 0x14001cc6c
cmp di, 0x5b
je 0x14001c23e
mov rdx, rcx
cmp di, 0x7b
je 0x14001cb66
mov r15d, 0xa0
cmp dword [0x1400c79c8], r14d
jne 0x14001c9fe
mov rax, qword [0x1400c79f0]
movzx ecx, byte [rax + 9]
cmp di, cx
je 0x14001c9b0
cmp di, 0x2d
jne 0x14001c9fe
movzx ecx, byte [rdx]
lea r9, [0x1400c7580]
mov r8d, ecx
test ebp, ebp
je 0x14001c9d5
cmp word [r9 + rcx*2], r14w
jge 0x14001c9d5
movzx eax, byte [rdx + 1]
shl ax, 8
or ax, cx
jmp 0x14001c9d8
movzx eax, cx
cmp ax, 0x30
jb 0x14001c9fe
test ebp, ebp
je 0x14001c9f4
cmp word [r9 + r8*2], r14w
jge 0x14001c9f4
movzx eax, byte [rdx + 1]
shl ax, 8
or cx, ax
cmp cx, 0x39
jbe 0x14001c7ac
mov r8, qword [rsp + 0x98]
mov r9, r12
mov rdx, rsi
movzx ecx, di
call fcn.14001cc98
test eax, eax
jne 0x14001cc84
cmp byte [rsp + 0x90], 0xe
jne 0x14001cac5
lea eax, [rdi - 0x30]
cmp ax, 9
jbe 0x14001c714
mov ecx, dword [0x1400c7be0]
test ecx, ecx
je 0x14001ca68
movzx eax, di
lea rdx, [0x1400c7580]
shr rax, 8
cmp byte [rdx + rax*2], r14b
jge 0x14001ca68
movzx eax, dil
cmp word [rdx + rax*2], r14w
jge 0x14001ca68
movzx eax, di
movzx ebx, di
jmp 0x14001ca83
movzx ebx, di
mov ecx, ebx
call qword [sym.imp.USER32.dll_CharUpperA]
mov ecx, dword [0x1400c7be0]
lea rdx, [0x1400c7580]
movzx eax, al
cmp eax, 0x41
jb 0x14001cacb
test ecx, ecx
je 0x14001caa9
movzx eax, di
shr rax, 8
cmp byte [rdx + rax*2], r14b
jge 0x14001caa9
movzx eax, dil
cmp word [rdx + rax*2], r14w
jge 0x14001caa9
movzx eax, di
jmp 0x14001cabb
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharUpperA]
mov ecx, dword [0x1400c7be0]
movzx eax, al
cmp eax, 0x46
ja 0x14001cacb
jmp 0x14001c714
mov ecx, dword [0x1400c7be0]
lea eax, [rdi - 0x30]
cmp ax, 9
jbe 0x14001c7ac
test ecx, ecx
je 0x14001cb17
movzx eax, di
lea rdx, [0x1400c7580]
shr rax, 8
cmp byte [rdx + rax*2], r14b
jge 0x14001cafb
movzx eax, dil
cmp word [rdx + rax*2], r14w
jl 0x14001cb56
test ecx, ecx
je 0x14001cb17
mov rax, qword [str.0_f_]
mov edx, 0x411
mov ecx, r14d
cmp word [rax + 4], dx
sete cl
jmp 0x14001cb1a
mov ecx, r14d
test ecx, ecx
je 0x14001cb2b
movzx eax, di
sub ax, r15w
cmp ax, 0x3f
jbe 0x14001cb56
mov cl, dil
call qword [sym.imp.USER32.dll_IsCharAlphaA]
test eax, eax
jne 0x14001cb56
mov rax, qword [0x1400c79f0]
movzx ecx, byte [rax + 0x1d]
cmp di, cx
jne 0x14001cc44
mov eax, 7
jmp 0x14001cc84
mov r8, r12
mov rdx, rsi
call fcn.14001d29c
jmp 0x14001cc84
movzx edx, byte [rcx]
mov r8d, edx
test ebp, ebp
je 0x14001cb84
cmp word [rbx + rdx*2], r14w
jge 0x14001cb84
movzx eax, byte [rcx + 1]
shl ax, 8
or ax, dx
jmp 0x14001cb87
movzx eax, dx
cmp ax, 0x74
je 0x14001cbb3
test ebp, ebp
je 0x14001cba3
cmp word [rbx + r8*2], r14w
jge 0x14001cba3
movzx eax, byte [rcx + 1]
shl ax, 8
or dx, ax
cmp dx, 0x64
je 0x14001cbb3
mov edi, 0x7d
jmp 0x14001cc4f
test ebp, ebp
je 0x14001cbf0
cmp word [rbx + r8*2], r14w
jge 0x14001cbcf
inc rcx
cmp byte [rcx], r14b
jne 0x14001cbcf
mov qword [rsi], rcx
movzx edx, r14w
jmp 0x14001cbf9
lea rax, [rcx + 1]
mov qword [rsi], rax
mov rcx, rax
movzx edx, byte [rax]
cmp word [rbx + rdx*2], r14w
jge 0x14001cbf9
movzx eax, byte [rax + 1]
shl ax, 8
or dx, ax
jmp 0x14001cbf9
inc rcx
mov qword [rsi], rcx
movzx edx, byte [rcx]
cmp dx, 0x73
jne 0x14001cc05
inc rcx
mov qword [rsi], rcx
cmp byte [rcx], 0x20
jne 0x14001cc10
inc rcx
mov qword [rsi], rcx
movzx edx, byte [rcx]
test ebp, ebp
je 0x14001cc37
movzx eax, byte [rcx]
cmp word [rbx + rax*2], r14w
jge 0x14001cc37
lea rax, [rcx + 1]
cmp byte [rax], r14b
je 0x14001cc37
mov rcx, rax
movzx eax, byte [rax]
shl ax, 8
or dx, ax
lea rax, [rcx + 1]
mov qword [rsi], rax
cmp dx, r9w
je 0x14001cc4b
mov eax, SQLPrepare
jmp 0x14001cc84
movzx edi, r9w
mov r8, r12
mov rdx, rsi
movzx ecx, di
call fcn.14001ce78
mov edx, SQLDriverConnect
cmp di, dx
jne 0x14001cc84
inc qword [rsi]
jmp 0x14001cc84
mov eax, reloc.ODBC32.dll_SQLPrepare
jmp 0x14001cc84
mov r9, r12
mov r8, r11
mov rdx, rsi
mov cl, dil
call fcn.14001cf80
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret