Function at 0x18000f190
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
movaps xmmword [rsp + 0x110], xmm6
mov rax, qword [0x180143ae0]
xor rax, rsp
mov qword [rbp], rax
mov rbx, qword [rbp + 0x88]
lea r14d, [rcx + 0x10]
mov rdi, qword [rbp + 0x90]
mov esi, ecx
mov r12, rdx
mov qword [rbp - 0x80], rdx
mov rdx, qword [rbp + 0x80]
xor r11d, r11d
mov dword [rsp + 0x44], ecx
mov r15d, ecx
mov qword [rsp + 0x68], rdx
mov r13, r9
mov qword [rsp + 0x60], r8
mov r10, r8
mov qword [rsp + 0x70], rbx
lea rcx, [0x180000000]
cmp esi, r14d
jae 0x18000f858
movzx eax, byte [rsp + 0x40]
mov rcx, qword [rbp - 0x78]
movss xmm6, dword [rsp + 0x58]
mov byte [rsp + 0x40], al
mov qword [rsp + 0x50], rcx
lea eax, [rsi - 0xdf]
lea r9, str.COpenGLInterceptionContext::glRasterPos2dv
lea r8, str.D3D11_MESSAGE_ID_LIVE_RASTERIZERSTATE_WIN7
cmp eax, 0x41
ja case.0x18000f268.228
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0xfe10]
mov ecx, dword [rcx + rax*4 + 0xfdcc]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov eax, dword [r10]
lea r8, [rbp - 0x60]
mov dword [rsp + 0x78], eax
mov r9, rbx
mov rax, qword [rdx]
mov rcx, r13
mov qword [rbp - 0x68], rax
mov edx, 0xc0
mov rax, qword [r12]
mov qword [rbp - 0x60], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.18001c660
cmp eax, 1
je 0x18000f303
mov ebx, 0x7a
nop
mov eax, ebx
sub eax, 0x79
je case.0x18000f8d5.208
cmp eax, 1
jne 0x18000f2fc
mov rax, qword [0x180195240]
lea r9, str.exports.createServer__function_requestListener__
mov edx, 0x72
mov qword [rsp + 0x20], rax
mov rcx, rdi
lea r8d, [rdx - 0x69]
call fcn.1800c8a10
mov dword [rsp + 0x48], 0xffffffff
dec ebx
cmp ebx, 0x78
ja 0x18000f2c0
mov dword [rsp + 0x48], 1
jmp case.0x18000f268.228
xorps xmm6, xmm6
jmp case.0x18000f268.228
xor dl, dl
mov byte [rsp + 0x40], dl
test r13, r13
jne 0x18000f835
mov ebx, 0x111
nop dword [rax]
mov eax, ebx
sub eax, 0x110
je case.0x18000f8d5.208
cmp eax, 1
jne 0x18000f373
mov rax, qword [0x180195238]
lea r9, str.Unrecognized_object_type
mov edx, 0x61
mov qword [rsp + 0x20], rax
mov rcx, r10
lea r8d, [rdx - 0x60]
call fcn.1800c8a10
mov r10, qword [rsp + 0x60]
mov dword [rsp + 0x48], 0xffffffff
dec ebx
cmp ebx, 0x10f
ja 0x18000f330
jmp case.0x18000f268.228
mov ecx, dword [rbx]
test ecx, ecx
jle 0x18000f3ac
mov rdx, r12
mov rax, r13
sub rdx, r13
movss xmm0, dword [rdx + rax]
subss xmm0, dword [rax]
add rax, 4
mulss xmm0, xmm0
addss xmm6, xmm0
sub rcx, 1
jne 0x18000f391
movss dword [rsp + 0x48], xmm6
jmp case.0x18000f268.228
movzx edx, byte [rsp + 0x40]
mov qword [0x180195238], r8
mov qword [rsp + 0x50], r11
jmp 0x18000f83a
mov qword [0x180195240], r9
jmp case.0x18000f268.228
mov r9, rbx
mov dword [rsp + 0x20], 0x7e
mov r8, r13
mov rcx, r12
call fcn.18005b370
test eax, eax
je 0x18000f420
mov eax, 0x121
cmp eax, 0x121
je 0x18000f40c
cmp eax, 0x1da
je case.0x18000f8d5.208
jmp 0x18000f414
mov dword [rsp + 0x48], 1
add eax, 0xb9
cmp eax, 0x293
jb 0x18000f3f8
xor eax, eax
mov r9, r13
mov qword [rsp + 0x30], rax
mov r8, r12
mov rax, qword [rsp + 0x68]
xor edx, edx
mov dword [rsp + 0x28], 0xe6
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1800bd930
test eax, eax
je case.0x18000f268.228
mov eax, 0x36
cmp eax, 0x36
je 0x18000f468
cmp eax, 0x1b00
je case.0x18000f8d5.208
jmp 0x18000f470
mov dword [rsp + 0x48], 1
add eax, 0x1aca
cmp eax, 0x3594
jbe 0x18000f456
jmp case.0x18000f268.228
mov qword [rbp - 0x78], r11
jmp case.0x18000f268.228
cmp qword [r12], 0x7fffffff
jbe 0x18000f4f4
mov ebx, 0x84
nop dword [rax]
mov eax, ebx
sub eax, 0x84
je 0x18000f4b4
cmp eax, 1
je case.0x18000f8d5.208
jmp 0x18000f4e5
mov rax, qword [0x180195238]
lea r9, str.i2___0__i2___static_cast_int__keypoints2.size___
mov edx, 0x61
mov qword [rsp + 0x20], rax
mov rcx, r10
lea r8d, [rdx - 0x5d]
call fcn.1800c8a10
mov r10, qword [rsp + 0x60]
mov dword [rsp + 0x48], 0xffffffff
inc ebx
cmp ebx, 0x86
jb 0x18000f4a0
mov rbx, qword [rsp + 0x70]
test rbx, rbx
jne case.0x18000f268.228
mov ebx, 0xa7
mov eax, ebx
sub eax, 0xa7
je 0x18000f51a
cmp eax, 0x26
jne 0x18000f53e
mov eax, 0xffffffff
jmp 0x18000fc67
mov rax, qword [0x180195238]
lea r9, str.NfcFile_LocalCopy:_Open_failed:
mov edx, 0x61
mov qword [rsp + 0x20], rax
mov rcx, r10
lea r8d, [rdx - 0x60]
call fcn.1800c8a10
mov r10, qword [rsp + 0x60]
add ebx, 0x26
cmp ebx, 0xf3
jb 0x18000f502
jmp case.0x18000f268.228
mov qword [rsp + 0x30], r13
xor r9d, r9d
mov dword [rsp + 0x28], 0x3d
mov r8, rbx
mov qword [rsp + 0x20], rdx
xor ecx, ecx
mov rdx, r12
call fcn.18002c8f0
test eax, eax
je 0x18000f5a0
mov ecx, 0xc6
nop
mov eax, ecx
sub eax, 0xc5
je case.0x18000f8d5.208
cmp eax, 1
jne 0x18000f596
mov dword [rsp + 0x48], eax
dec ecx
cmp ecx, 0xc4
ja 0x18000f580
mov rdx, qword [rsp + 0x68]
xor r9d, r9d
mov qword [rsp + 0x28], r12
mov r8, rbx
mov rcx, r13
mov dword [rsp + 0x20], 0x88
call fcn.180040070
test eax, eax
je case.0x18000f268.228
nop dword [rax + rax]
mov eax, 1
jmp 0x18000fc67
mov r8, rdx
mov dword [rsp + 0x28], 0xdf
mov rdx, r13
mov qword [rsp + 0x20], r12
mov r9, rbx
xor ecx, ecx
call fcn.180081f80
test eax, eax
je 0x18000f621
mov ecx, 0x7d
mov eax, ecx
sub eax, 0x7d
je 0x18000f612
cmp eax, 1
je case.0x18000f8d5.208
jmp 0x18000f61a
mov dword [rsp + 0x48], 1
inc ecx
cmp ecx, 0x7f
jb 0x18000f600
mov r9, qword [rsp + 0x68]
xor eax, eax
mov qword [rsp + 0x28], rax
mov r8d, 0x128
mov rdx, rbx
mov qword [rsp + 0x20], r13
mov rcx, r12
call fcn.1800b18c0
test eax, eax
jne 0x18000f5d0
jmp case.0x18000f268.228
mov dword [rsp + 0x30], 0x11b
mov r9, rdx
mov qword [rsp + 0x28], rbx
xor edx, edx
xor r8d, r8d
mov qword [rsp + 0x20], r12
mov rcx, r13
call fcn.1800a4f80
test eax, eax
je case.0x18000f268.228
mov eax, 0xd8
nop dword [rax + rax]
cmp eax, 0xd8
je 0x18000f694
cmp eax, 0x66f0
je case.0x18000f8d5.208
jmp 0x18000f69c
mov dword [rsp + 0x48], 1
add eax, 0x6618
cmp eax, 0xcc30
jbe 0x18000f680
jmp case.0x18000f268.228
mov rbx, qword [r13 + 8]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x18000f74f
nop
lea rdx, [rbx + 0x20]
mov qword [rsp + 0x20], r11
mov r9, r13
xor r8d, r8d
mov ecx, IUnknown_GetWindow
call fcn.18004e4d0
mov qword [rsp + 0x58], rax
movsd xmm0, qword [rsp + 0x58]
addsd xmm0, qword [r12]
movsd qword [r12], xmm0
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x18000f71c
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x18000f717
cmp rbx, qword [rax + 0x10]
jne 0x18000f717
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x18000f704
mov rbx, rax
jmp 0x18000f73f
mov rcx, qword [rax]
mov rbx, rax
cmp byte [rcx + 0x19], 0
jne 0x18000f73f
nop dword [rax + rax]
mov rax, qword [rcx]
mov rbx, rcx
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x18000f730
cmp byte [rbx + 0x19], 0
mov r11d, 0
je 0x18000f6c0
mov rcx, qword [r13 + 0x10]
xorps xmm1, xmm1
test rcx, rcx
js 0x18000f762
cvtsi2sd xmm1, rcx
jmp 0x18000f777
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm1, rax
addsd xmm1, xmm1
movsd xmm0, qword [r12]
divsd xmm0, xmm1
movsd qword [r12], xmm0
jmp case.0x18000f268.228
lea rax, [r13 + 8]
xor r9d, r9d
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov dword [rsp + 0x28], 0x79
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], r11
call fcn.18002c8f0
test al, al
jne 0x18000f7dc
mov ecx, 0x41
nop word [rax + rax]
mov eax, ecx
sub eax, 0x40
je case.0x18000f8d5.208
cmp eax, 1
jne 0x18000f7d5
mov byte [rsp + 0x48], 0
dec ecx
cmp ecx, 0x3f
ja 0x18000f7c0
xor eax, eax
mov qword [r12], rax
jmp case.0x18000f268.228
mov dword [rsp + 0x28], 0xfe
xor r9d, r9d
mov r8, rbx
mov qword [rsp + 0x20], r12
mov rcx, r13
call fcn.18008bb50
test eax, eax
je case.0x18000f268.228
mov eax, 0xca
cmp eax, 0xca
je 0x18000f81c
cmp eax, 0x6ce4
je case.0x18000f8d5.208
jmp 0x18000f824
mov dword [rsp + 0x48], 1
add eax, 0x6c1a
cmp eax, 0xd834
jbe 0x18000f808
movzx edx, byte [rsp + 0x40]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x60]
inc esi
mov rbx, qword [rsp + 0x70]
cmp esi, r14d
jae 0x18000f86c
mov rdx, qword [rsp + 0x68]
xor r11d, r11d
jmp 0x18000f22b
movzx edx, byte [rsp + 0x40]
mov r11, qword [rbp - 0x78]
mov byte [rsp + 0x40], dl
mov qword [rsp + 0x50], r11
jmp 0x18000f873
lea rcx, [0x180000000]
lea r14d, [r15 - 0x10]
mov dword [rsp + 0x58], r14d
cmp r15d, r14d
jbe case.0x18000f8d5.208
mov edi, dword [rsp + 0x58]
mov r12, qword [rbp - 0x70]
mov r15d, dword [rsp + 0x58]
mov esi, dword [rsp + 0x58]
mov eax, dword [rsp + 0x44]
add eax, 0xffffff36
movabs r8, 0x6e00610068
movabs r9, 0xcccccccccccccccd
cmp eax, 0x55
ja case.0x18000f8d5.216
movzx eax, byte [rcx + rax + 0xfe90]
mov ecx, dword [rcx + rax*4 + 0xfe54]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov r8d, 0x11c
call fcn.180059c30
test al, al
jne case.0x18000f8d5.216
mov r9, r13
xor r8d, r8d
mov edx, reloc.SHLWAPI.dll_StrCmpNICA
xor ecx, ecx
call fcn.180010860
jmp case.0x18000f8d5.208
cmp edi, 1
jne case.0x18000f8d5.216
mov ebx, 0xe8
cmp ebx, 0xe8
je 0x18000f92c
cmp ebx, 0x43f8
je case.0x18000f8d5.208
jmp 0x18000f944
xor r8d, r8d
mov rcx, r13
lea edx, [r8 + 0x7a]
call fcn.18000ff00
xor eax, eax
xchg dword [r13 + 0x120], eax
add ebx, 0x4310
cmp ebx, 0x8620
jbe 0x18000f916
jmp case.0x18000f8d5.216
mov rax, qword [rbp - 0x80]
xor r9d, r9d
mov rdx, qword [rsp + 0x68]
mov r8, rbx
mov dword [rsp + 0x38], 0x9b
xor ecx, ecx
mov qword [rsp + 0x30], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
call fcn.18008d520
test eax, eax
jne 0x18000f5d0
xor ebx, ebx
lea rcx, str._TYPE_CODE_STRING_
mov qword [rsp + 0x30], rbx
mov r9d, 0x111
mov qword [rsp + 0x28], rbx
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rbx
call fcn.180070ab0
mov dword [rsp + 0x48], eax
jmp case.0x18000f8d5.216
lea rdx, [rbp - 0x70]
mov rcx, r12
call qword [sym.imp.SHELL32.dll_DragQueryPoint]
mov edx, 0xbe
mov rcx, r13
call fcn.1800b77d0
test al, al
je 0x18000f9f4
mov r9, r13
xor r8d, r8d
mov edx, reloc.SHLWAPI.dll_StrCmpNICA
xor ecx, ecx
call fcn.180010860
jmp case.0x18000f8d5.216
xor r9d, r9d
mov r8, r13
xor edx, edx
mov ecx, 0x9b
call fcn.1800b7050
jmp case.0x18000f8d5.216
mov eax, 0xfe
cmp eax, 0xfe
je 0x18000f5d0
add eax, 0x486e
cmp eax, 0x486e
jbe 0x18000fa10
mov rax, qword [rbx]
shl rax, 3
mov qword [rbx], rax
test dl, dl
je case.0x18000f8d5.216
movzx r14d, byte [rsp + 0x40]
mov r9d, 0x69
mov eax, r9d
sub eax, 0x69
je 0x18000fa6a
cmp eax, 0x6e
jne 0x18000fa75
mov rax, qword [rbx]
xor edx, edx
div r14
lea rax, [r11 + 1]
test rdx, rdx
cmove rax, r11
add qword [rbx], rax
jmp 0x18000fa72
mov rax, qword [rbx]
xor edx, edx
div r14
mov r11, rax
add r9d, 0x6e
cmp r9d, 0x145
jb 0x18000fa45
mov r14d, dword [rsp + 0x58]
mov qword [rsp + 0x50], r11
jmp case.0x18000f8d5.216
mov rcx, qword [rbp - 0x80]
mov rax, r9
mul qword [rcx]
shr rdx, 2
mov qword [rbx], rdx
jmp case.0x18000f8d5.216
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax]
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*4]
cmp rcx, rax
mov eax, dword [rsp + 0x44]
je 0x18000fd9a
inc qword [rbx]
jmp 0x18000fd9a
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax]
test eax, eax
je 0x18000fb80
cmp eax, 0x40
jne 0x18000fb14
mov ecx, 0xd8
nop dword [rax + rax]
mov eax, ecx
sub eax, 0xd8
je 0x18000fb04
cmp eax, 0x39
je 0x18000fb86
jmp 0x18000fb09
mov byte [rsp + 0x40], 0x40
add ecx, 0x39
cmp ecx, 0x14a
jb 0x18000faf0
mov ebx, 0x9c
nop dword [rax]
mov eax, ebx
sub eax, 0x9b
je case.0x18000f8d5.208
cmp eax, 1
jne 0x18000fb5e
mov rax, qword [0x180195238]
lea r9, str._get_var_type_CvMLData__QBEHH_Z
mov edx, 0x61
mov qword [rsp + 0x20], rax
mov rcx, r10
lea r8d, [rdx - 0x59]
call fcn.1800c8a10
mov dword [rsp + 0x48], 0xffffffff
mov r10, qword [rsp + 0x60]
dec ebx
cmp ebx, 0x9a
ja 0x18000fb20
mov eax, 0xef
jmp 0x18000fd9a
xor al, al
mov byte [rsp + 0x40], al
mov eax, 0xef
jmp 0x18000fd9a
cmp r15d, 1
jne 0x18000fccf
mov ebx, 0xb
nop
cmp ebx, 0x1663
ja 0x18000fc41
je 0x18000fc10
cmp ebx, 0xb
je 0x18000fc04
cmp ebx, 0x5a1
je 0x18000fbfb
cmp ebx, 0xb37
je 0x18000fbdf
cmp ebx, 0x10cd
jne 0x18000fcbd
movups xmm0, xmmword [str._Shield]
movups xmmword [rbp - 0x1a], xmm0
jmp 0x18000fcbd
mov r8d, 3
lea rdx, [0x1801335f8]
lea rcx, [rbp - 0x28]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
jmp 0x18000fcb3
mov qword [rbp - 0x26], r8
jmp 0x18000fcbd
mov dword [rbp - 0x28], 0x43
jmp 0x18000fcbd
mov r8d, 1
lea rdx, [0x1801325f8]
lea rcx, [rbp - 0x28]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
movsd xmm0, qword [str.Name]
movzx eax, word [0x1801335f0]
movsd qword [rbp - 0xa], xmm0
mov word [rbp - 2], ax
jmp 0x18000fcb3
cmp ebx, 0x1bf9
je 0x18000fca1
cmp ebx, 0x2725
je 0x18000fc96
cmp ebx, 0x2cbb
jne 0x18000fcbd
lea rcx, [rbp - 0x28]
call qword [sym.imp.SHLWAPI.dll_PathIsLFNFileSpecW]
mov eax, dword [rsp + 0x48]
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1800c9c10
mov rbx, qword [rsp + 0x160]
movaps xmm6, xmmword [rsp + 0x110]
add rsp, 0x120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor eax, eax
xchg dword [r13 + 0x11c], eax
jmp 0x18000fcbd
mov r9, r13
xor r8d, r8d
mov edx, reloc.SHLWAPI.dll_StrCmpNICA
xor ecx, ecx
call fcn.180010860
movabs r8, 0x6e00610068
add ebx, 0x596
cmp ebx, 0x3246
jbe 0x18000fba0
xor eax, eax
xor ecx, ecx
lock cmpxchg dword [r13 + 0x120], ecx
mov edi, eax
jmp case.0x18000f8d5.216
mov byte [rsp + 0x48], 1
jmp case.0x18000f8d5.216
xor ebx, ebx
xor r9d, r9d
mov qword [rsp + 0x28], rbx
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], 0x8a
xor ecx, ecx
mov qword [rbp - 0x70], rbx
call fcn.1800c74e0
cmp rax, 2
jne case.0x18000f8d5.216
mov ebx, SHRegGetIntW
nop
mov eax, ebx
sub eax, 0x112
je case.0x18000f8d5.208
sub eax, 1
je 0x18000fd6b
sub eax, 1
je 0x18000fd53
cmp eax, 1
jne 0x18000fd77
mov r9, r13
lea esi, [rax + 6]
xor r8d, r8d
mov edx, reloc.SHLWAPI.dll_StrCmpNICA
xor ecx, ecx
call fcn.180010860
jmp 0x18000fd77
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov dword [rbp - 0x58], 0x30
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
jmp 0x18000fd77
lea rdx, [rbp - 0x58]
mov ecx, esi
call qword [sym.imp.SHELL32.dll_SHAppBarMessage]
dec ebx
cmp ebx, 0x111
ja 0x18000fd20
jmp case.0x18000f8d5.216
xor eax, eax
xor ecx, ecx
lock cmpxchg dword [r13 + 0x11c], ecx
mov r15d, eax
mov r12d, ecx
mov eax, dword [rsp + 0x44]
dec eax
mov dword [rsp + 0x44], eax
cmp eax, r14d
jbe case.0x18000f8d5.208
mov r10, qword [rsp + 0x60]
lea rcx, [0x180000000]
movzx edx, byte [rsp + 0x40]
mov r11, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x70]
jmp 0x18000f89a