Function at 0x1000d230
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10027dd0
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x13a4
call fcn.10012bf0
mov eax, dword [0x10036014]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, edx
mov dword [ebp - 0x1374], esi
mov dword [ebp - 0x13ac], esi
mov dword [ebp - 0x1370], ecx
mov eax, dword [ebp + 0xc]
xor edi, edi
mov edx, dword [ebp + 8]
mov ebx, dword [ebp + 0x18]
mov dword [ebp - 0x1388], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1384], eax
xor eax, eax
mov dword [ebp - 0x1390], eax
xor al, al
mov byte [ebp - 0x1365], al
xor eax, eax
mov dword [ebp - 0x136c], edx
mov dword [ebp - 0x137c], ebx
mov dword [ebp - 0x1378], edi
mov word [ebp - 0x1164], ax
nop
mov dword [ebp + eax*4 - 0xb54], edi
cmp eax, 0x7f
jae 0x1000dc38
mov byte [ebp + eax - 0x9c], 0
inc eax
cmp eax, 0x7f
jb 0x1000d2c0
mov eax, dword [0x100368b0]
cmp eax, 0x100368b0
je 0x1000d309
push ecx
push dword [eax + 0x14]
mov edx, 0x10030cf4
mov ecx, 0x2d
push dword [eax + 0x10]
call fcn.10001da0
mov edx, dword [ebp - 0x136c]
add esp, 0xc
mov dword [ebp - 4], 0
test ebx, ebx
je 0x1000d31e
mov eax, dword [ebx]
mov dword [ebx], 0
jmp 0x1000d320
xor eax, eax
mov dword [ebp - 0x1380], eax
test edx, edx
je 0x1000d616
test esi, 0xfffffffb
jne 0x1000d616
mov ebx, dword [edx]
mov dword [ebp - 0x138c], ebx
mov eax, dword [0x100368b0]
cmp eax, 0x100368b0
je 0x1000d36d
push ebx
push dword [eax + 0x14]
mov edx, 0x10030cf4
mov ecx, 0x2e
push dword [eax + 0x10]
call fcn.10001da0
mov edx, dword [ebp - 0x136c]
add esp, 0xc
cmp ebx, 0x7f
jbe 0x1000d38d
push 0x10032b84
lea eax, [ebp - 0x1394]
mov dword [ebp - 0x1394], 0x3ee
push eax
call fcn.10014d5f
lea ebx, [ebx*4 + 0x21c]
mov ecx, 7
lea eax, [ebx - 0x218]
mov esi, 0x100368f4
push eax
push edx
lea eax, [ebp - 0x520]
lea edi, [ebp - 0x754]
rep movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x744], 0x368d1396
call fcn.100151b0
mov eax, dword [ebp - 0x1374]
add esp, 0xc
mov word [ebp - 0x72e], ax
xor esi, esi
mov eax, dword [ebp - 0x1370]
xor edx, edx
mov dword [ebp - 0x734], eax
lea eax, [ebp - 0x72c]
mov dword [ebp - 0x73c], ebx
mov ebx, dword [ebp - 0x138c]
mov dword [ebp - 0x136c], eax
mov dword [ebp - 0x13b0], eax
lea eax, [ebp - 0x51c]
mov dword [ebp - 0x738], 0
cmp edx, ebx
jae 0x1000d4aa
mov cl, byte [eax]
cmp cl, 5
je 0x1000d448
cmp cl, 0xff
je 0x1000d441
push 0x10032b84
lea eax, [ebp - 0x1398]
mov dword [ebp - 0x1398], 0x3ee
push eax
call fcn.10014d5f
mov esi, 1
jmp 0x1000d452
test esi, esi
jne 0x1000d452
inc byte [ebp - 0x1365]
cmp byte [eax + 1], 0
jne 0x1000d46a
cmp byte [eax + 2], 0
jne 0x1000d46a
cmp byte [eax + 3], 0
jne 0x1000d46a
add eax, 4
inc edx
jmp 0x1000d412
mov eax, dword [0x100368b0]
cmp eax, 0x100368b0
je 0x1000d48f
push edx
push dword [eax + 0x14]
mov edx, 0x10030cf4
mov ecx, 0x30
push dword [eax + 0x10]
call fcn.10001da0
add esp, 0xc
push 0x10032b84
lea eax, [ebp - 0x139c]
mov dword [ebp - 0x139c], 0x3ee
push eax
call fcn.10014d5f
mov esi, dword [ebp - 0x1370]
test ebx, ebx
je 0x1000d540
mov ecx, esi
call fcn.1000e000
test eax, eax
jne 0x1000d4f9
mov eax, dword [0x100368b0]
cmp eax, 0x100368b0
je 0x1000d4e7
push dword [eax + 0x14]
mov edx, 0x10030cf4
mov ecx, 0x31
push dword [eax + 0x10]
call fcn.10001d00
add esp, 8
mov dword [ebp - 0x1378], 1
mov edi, dword [ebp - 0x1378]
jmp 0x1000d54b
mov eax, dword [0x100368b0]
cmp eax, 0x100368b0
je 0x1000d522
push dword [eax + 0x14]
mov edx, 0x10030cf4
mov ecx, 0x32
push dword [eax + 0x10]
call fcn.10001d00
mov eax, dword [0x100368b0]
add esp, 8
mov edi, dword [ebp - 0x1378]
test edi, edi
jne 0x1000d54b
mov esi, dword [ebp - 0x137c]
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1000d685
mov edi, 1
mov dword [ebp - 0x1378], edi
push 0x104
lea eax, [ebp - 0xd64]
push eax
push dword [0x10037a88]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x1000d5a6
mov eax, dword [0x100368b0]
cmp eax, 0x100368b0
je 0x1000d58b
push dword [eax + 0x14]
mov edx, 0x10030cf4
mov ecx, 0x33
push dword [eax + 0x10]
call fcn.10001d00
add esp, 8
push 0x10032b84
lea eax, [ebp - 0x13a0]
mov dword [ebp - 0x13a0], 0x3ee
push eax
call fcn.10014d5f
test dword [0x10037af0], 0x20000
jne 0x1000d5f4
cmp esi, 2
jne 0x1000d5f4
mov eax, dword [0x100368b0]
cmp eax, 0x100368b0
je 0x1000d5d9
push dword [eax + 0x14]
mov edx, 0x10030cf4
lea ecx, [esi + 0x32]
push dword [eax + 0x10]
call fcn.10001d00
add esp, 8
push 0x10032b84
lea eax, [ebp - 0x13a4]
mov dword [ebp - 0x13a4], 3
push eax
call fcn.10014d5f
mov esi, dword [ebp - 0x137c]
test esi, esi
je 0x1000d606
mov eax, dword [ebp - 0x1380]
mov dword [esi], eax
mov eax, dword [0x100368b0]
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1000d685
push 0x10032b84
lea eax, [ebp - 0x13a8]
mov dword [ebp - 0x13a8], 0x3ee
push eax
call fcn.10014d5f
mov eax, dword [ebp - 0x13b4]
mov dword [ebp - 0x136c], eax
mov eax, 0x1000d643
ret
test ecx, ecx
jne 0x1000dc0d
test edi, edi
je 0x1000d95b
push 0x80
push ecx
lea eax, [ebp - 0x31c]
push eax
call fcn.10015730
add esp, 0xc
lea eax, [ebp - 0xb54]
push 0
push eax
push 0
lea eax, [ebp - 0xd64]
push 0
push eax
call fcn.10018648
add esp, 0x14
lea eax, [ebp - 0xb54]
push eax
lea eax, [ebp - 0x31c]
push 0x40
push eax
call fcn.10016a2c
add esp, 0xc
test ebx, ebx
je 0x1000d916
mov ecx, dword [0x10037d1c]
lea eax, [ebp - 0x9c]
movzx edi, byte [ebp - 0x1365]
xor ebx, ebx
push eax
lea eax, [ebp - 0x11c]
test ecx, ecx
push eax
lea eax, [ebp - 0x19c]
setne bl
push eax
lea eax, [ebp - 0x21c]
shl edi, 8
push eax
or edi, 5
lea eax, [ebp - 0x29c]
cmp dword [ebp - 0x1370], 2
push eax
jne 0x1000d756
xor eax, eax
mov dword [ebp - 0x1374], 1
test ecx, ecx
mov edx, 1
mov ecx, dword [ebp - 0x1388]
sete al
push eax
call fcn.1000c750
add esp, 0x18
or edi, 0x20
jmp 0x1000d772
mov ecx, dword [ebp - 0x1388]
xor edx, edx
push 0
mov dword [ebp - 0x1374], 0
call fcn.1000c750
add esp, 0x18
or edi, 0x10010
mov ecx, dword [0x100368b0]
cmp ecx, 0x100368b0
je 0x1000d7a7
mov eax, edi
mov edx, 0x10030cf4
shr eax, 8
movzx eax, al
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
mov ecx, 0x36
call fcn.10001da0
add esp, 0xc
push esi
push dword [ebp - 0x1384]
mov edx, dword [ebp - 0x1370]
lea eax, [ebp - 0x31c]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x19c]
push eax
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x29c]
push eax
push ecx
mov ecx, dword [ebp - 0x1374]
push edi
call fcn.1000e8e0
cmp dword [ebp - 0x1370], 2
mov esi, eax
jne 0x1000d8c7
lea ebx, [ebx]
cmp esi, 2
jne 0x1000d8c7
test ebx, ebx
jne 0x1000d8d3
mov ecx, dword [ebp - 0x1388]
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x19c]
push eax
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x29c]
push eax
push ebx
lea edx, [esi - 1]
call fcn.1000c750
add esp, 0x18
lea ebx, [esi - 1]
mov eax, dword [0x100368b0]
cmp eax, 0x100368b0
je 0x1000d86b
push dword [eax + 0x14]
mov edx, 0x10030cf4
lea ecx, [esi + 0x35]
push dword [eax + 0x10]
call fcn.10001d00
add esp, 8
mov eax, dword [ebp - 0x137c]
test eax, eax
je 0x1000d87d
mov ecx, dword [ebp - 0x1380]
mov dword [eax], ecx
push eax
push dword [ebp - 0x1384]
lea eax, [ebp - 0x31c]
mov edx, 2
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x19c]
push eax
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x29c]
push eax
push ecx
mov ecx, dword [ebp - 0x1374]
push edi
call fcn.1000e8e0
mov esi, eax
jmp 0x1000d800
test esi, esi
jne 0x1000d8d3
push 0xffffffffffffffff
call dword [sym.imp.SETUPAPI.dll_CMP_WaitNoPendingInstallEvents]
mov eax, dword [0x100368b0]
cmp eax, 0x100368b0
je 0x1000d8f8
push esi
push dword [eax + 0x14]
mov edx, 0x10030cf4
mov ecx, 0x38
push dword [eax + 0x10]
call fcn.10001da0
add esp, 0xc
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.10011ed6
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x1374]
mov ecx, dword [ebp - 0x1370]
and edx, 0xfe
push esi
push dword [ebp - 0x1384]
or edx, 1
call fcn.1000ed10
add esp, 8
mov esi, eax
mov eax, dword [0x100368b0]
cmp eax, 0x100368b0
je 0x1000d8f8
push esi
push dword [eax + 0x14]
mov edx, 0x10030cf4
mov ecx, 0x39
push dword [eax + 0x10]
jmp 0x1000d8f0
call fcn.1000c060
test eax, eax
jne 0x1000d8fa
push ecx
mov ecx, dword [ebp - 0x1370]
lea edx, [ebp - 0x954]
mov dword [ebp - 0x954], 0x7f
call fcn.1000c640
add esp, 4
mov esi, eax
mov eax, dword [0x100368b0]
cmp eax, 0x100368b0
je 0x1000d9af
push esi
push dword [eax + 0x14]
mov edx, 0x10030cf4
mov ecx, 0x3a
push dword [eax + 0x10]
call fcn.10001da0
mov eax, dword [0x100368b0]
add esp, 0xc
test esi, esi
je 0x1000d9d0
cmp esi, 3
je 0x1000d9c1
cmp esi, 0xffffffff
jne 0x1000db97
test ebx, ebx
jne 0x1000db97
xor esi, esi
jmp 0x1000db9f
mov esi, dword [ebp - 0x954]
cmp esi, 0x7f
jbe 0x1000d9e6
mov esi, 0x7f
mov dword [ebp - 0x954], esi
cmp eax, 0x100368b0
je 0x1000da0b
push esi
push dword [eax + 0x14]
mov edx, 0x10030cf4
mov ecx, 0x3b
push dword [eax + 0x10]
call fcn.10001da0
mov eax, dword [0x100368b0]
add esp, 0xc
cmp ebx, esi
jbe 0x1000da98
cmp eax, 0x100368b0
je 0x1000da37
push dword [eax + 0x14]
mov edx, 0x10030cf4
mov ecx, 0x3c
push dword [eax + 0x10]
call fcn.10001d00
mov eax, dword [0x100368b0]
add esp, 8
mov esi, 0x3ee
cmp eax, 0x100368b0
je 0x1000da59
push dword [ebp - 0x738]
push esi
push esi
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1000ae60
add esp, 0x14
push dword [0x10037af4]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp - 0x137c]
lea eax, [ebp - 0x1164]
push dword [ebp - 0x1380]
push dword [ebp - 0x1384]
push eax
push dword [ebp - 0x136c]
push dword [ebp - 0x738]
push esi
call fcn.1000dc40
add esp, 0x1c
jmp 0x1000d8fa
xor ebx, ebx
test esi, esi
je 0x1000db85
xor edi, edi
jmp 0x1000dab0
mov cl, byte [ebp + edi - 0x950]
cmp cl, 0xff
je 0x1000db64
cmp ebx, dword [ebp - 0x138c]
jae 0x1000dad5
cmp cl, byte [ebp + edi - 0x51c]
je 0x1000db79
cmp eax, 0x100368b0
je 0x1000daf5
push ebx
push dword [eax + 0x14]
mov edx, 0x10030cf4
mov ecx, 0x3d
push dword [eax + 0x10]
call fcn.10001da0
add esp, 0xc
mov eax, dword [ebp - 0x1374]
mov dl, bl
push 0
push 0
push 0
push 0
push ecx
mov ecx, dword [ebp - 0x1370]
and eax, 4
push eax
call fcn.1000f000
add esp, 0x18
mov esi, eax
mov eax, dword [0x100368b0]
cmp eax, 0x100368b0
je 0x1000db44
push esi
push dword [eax + 0x14]
mov edx, 0x10030cf4
mov ecx, 0x3e
push dword [eax + 0x10]
call fcn.10001da0
mov eax, dword [0x100368b0]
add esp, 0xc
test esi, esi
je 0x1000db51
cmp esi, 3
jne 0x1000dbda
mov esi, dword [ebp - 0x954]
mov dword [ebp + ebx*4 - 0x1364], 1
jmp 0x1000db79
cmp byte [ebp + edi - 0x51c], 5
jne 0x1000db79
mov dword [ebp + ebx*4 - 0xb54], 1
inc ebx
add edi, 4
cmp ebx, esi
jb 0x1000dab0
lea ecx, [ebp - 0x754]
call fcn.1000c230
mov esi, eax
mov eax, dword [0x100368b0]
test esi, esi
jne 0x1000da3c
push 0xffffffffffffffff
call dword [sym.imp.SETUPAPI.dll_CMP_WaitNoPendingInstallEvents]
call dword [sym.VDriveLib.dll_void____cdecl___void__VDriveEngine::SendGlobalEvent]
mov eax, dword [0x100368b0]
cmp eax, 0x100368b0
je 0x1000da59
push dword [eax + 0x14]
mov edx, 0x10030cf4
mov ecx, 0x3f
push dword [eax + 0x10]
call fcn.10001d00
add esp, 8
jmp 0x1000da59
mov dword [ebp - 0x738], ebx
mov dword [ebp - 0x136c], 0
jmp 0x1000db97
cmp eax, 0x100368b0
je 0x1000dc2d
push ecx
push dword [eax + 0x14]
mov edx, 0x10030cf4
mov ecx, 0x35
push dword [eax + 0x10]
call fcn.10001da0
add esp, 0xc
mov eax, dword [ebp - 0x1390]
jmp 0x1000d8fa
call fcn.100126e6
int3