Function at 0x10039070
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100fc49b
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
mov eax, dword [0x1014d084]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x9c], ecx
mov eax, dword [ecx + 0x160]
lea esi, [ecx + 0x15c]
mov dword [ebp - 0x98], esi
cmp eax, dword [esi + 8]
je 0x10039923
mov eax, dword [ecx + 0x144]
or ebx, 0xffffffff
shl eax, 2
mov dword [ebp - 0xb4], eax
lea edi, [eax - 4]
cmp edi, eax
jge 0x10039923
nop dword [eax]
mov ecx, dword [esi + 8]
mov eax, 0x4bda12f7
sub ecx, dword [esi + 4]
inc ebx
imul ecx
mov dword [ebp - 0xa8], ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
dec eax
add eax, edx
cmp edi, eax
jg 0x10039923
push edi
mov ecx, esi
call fcn.1003b1f0
cmp byte [eax + 0x66], 2
jne 0x1003974e
push edi
mov ecx, esi
call fcn.1003b1f0
cmp dword [eax + 0x20], 0
jle 0x1003974e
lea eax, [ebp - 0x33]
mov word [ebp - 0x34], 1
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x33], 0
call fcn.10007920
push edi
mov ecx, esi
mov dword [ebp - 4], 0
call fcn.1003b1f0
mov ecx, dword [eax + 0x20]
mov eax, 0xc22e4507
imul ecx
add edx, ecx
sar edx, 0x10
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
call fcn.100335c0
call fcn.10077321
mov ecx, dword [ebp - 0x98]
mov esi, eax
push edi
mov dword [ebp - 0xac], esi
call fcn.1003b1f0
imul ecx, esi, 0x15180
mov edx, dword [eax + 0x20]
mov eax, 0x91a2b3c5
sub edx, ecx
mov ecx, 0x18
mul edx
shr edx, 0xb
mov eax, edx
xor edx, edx
div ecx
mov ecx, edx
call fcn.1002c5e0
call fcn.10077321
mov ebx, eax
lea ecx, [esi + esi*2]
push edi
mov dword [ebp - 0xa0], ebx
lea esi, [ebx + ecx*8]
mov ecx, dword [ebp - 0x98]
call fcn.1003b1f0
imul ecx, esi, 0xe10
mov edx, dword [eax + 0x20]
mov eax, 0x88888889
sub edx, ecx
mov ecx, 0x3c
mul edx
shr edx, 5
mov eax, edx
xor edx, edx
div ecx
mov ecx, edx
call fcn.1002c5e0
call fcn.10077321
mov ecx, dword [ebp - 0x98]
push edi
mov dword [ebp - 0xa4], eax
call fcn.1003b1f0
mov edx, dword [ebp - 0xa4]
mov ecx, esi
shl ecx, 4
sub ecx, esi
mov eax, dword [eax + 0x20]
lea ecx, [edx + ecx*4]
mov edx, ecx
shl edx, 4
sub edx, ecx
mov ecx, 0x3c
shl edx, 2
sub eax, edx
xor edx, edx
div ecx
mov ecx, edx
call fcn.1002c5e0
call fcn.10077321
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x10039320
cmp ecx, 0xa
jae 0x1003926e
mov dl, 0x18
mov byte [ebp - 0x76], 0
mov al, 0x28
mov byte [ebp - 0x78], dl
xor al, dl
mov byte [ebp - 0x76], 0
mov byte [ebp - 0x77], al
lea eax, [ebp - 0x77]
jmp 0x1003927b
mov word [ebp - 0x38], 0x39
lea eax, [ebp - 0x37]
mov byte [ebp - 0x37], 0
push ecx
push eax
mov dword [ebp - 0x64], 0x297f290c
xor esi, esi
mov word [ebp - 0x60], 0x3679
mov byte [ebp - 0x5e], 0
cmp esi, 6
jb 0x100392ac
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov bl, byte [ebp + esi - 0x63]
xor bl, byte [ebp - 0x64]
cmp esi, 6
jb 0x100392cf
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov byte [ebp + esi - 0x63], bl
inc esi
cmp esi, 5
jb 0x10039290
sub esp, 0x1c
mov byte [ebp - 0x5e], 0
lea eax, [ebp - 0x63]
mov ecx, esp
push eax
call fcn.10007920
lea eax, [ebp - 0xd0]
push eax
call fcn.10006ba0
add esp, 0x28
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.1000cd00
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0
call fcn.10006cd0
mov ebx, dword [ebp - 0xa0]
test ebx, ebx
je 0x100393f4
cmp ebx, 0xa
jae 0x10039346
mov cl, 0x12
mov byte [ebp - 0x7a], 0
mov al, 0x22
mov byte [ebp - 0x7c], cl
xor al, cl
mov byte [ebp - 0x7a], 0
mov byte [ebp - 0x7b], al
lea eax, [ebp - 0x7b]
jmp 0x10039353
mov word [ebp - 0x3c], 0x76
lea eax, [ebp - 0x3b]
mov byte [ebp - 0x3b], 0
push ebx
push eax
mov dword [ebp - 0x6c], 0x590f597c
xor esi, esi
mov word [ebp - 0x68], 0x4609
mov byte [ebp - 0x66], 0
cmp esi, 6
jb 0x10039384
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov bl, byte [ebp + esi - 0x6b]
xor bl, byte [ebp - 0x6c]
cmp esi, 6
jb 0x100393a7
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov byte [ebp + esi - 0x6b], bl
inc esi
cmp esi, 5
jb 0x10039368
sub esp, 0x1c
mov byte [ebp - 0x66], 0
lea eax, [ebp - 0x6b]
mov ecx, esp
push eax
call fcn.10007920
lea eax, [ebp - 0xd0]
push eax
call fcn.10006ba0
add esp, 0x28
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.1000cd00
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0
call fcn.10006cd0
jmp 0x1003945a
mov dword [ebp - 0x4c], 0x10b0b3b
xor esi, esi
mov byte [ebp - 0x48], 0
cmp esi, 4
jb 0x1003941d
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov bl, byte [ebp + esi - 0x4b]
xor bl, byte [ebp - 0x4c]
cmp esi, 4
jb 0x10039440
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov byte [ebp + esi - 0x4b], bl
inc esi
cmp esi, 3
jb 0x10039401
lea eax, [ebp - 0x4b]
mov byte [ebp - 0x48], 0
push eax
lea ecx, [ebp - 0x2c]
call fcn.1000b060
mov ecx, dword [ebp - 0xa4]
test ecx, ecx
je 0x10039534
cmp ecx, 0xa
jae 0x10039486
mov dl, 0x7c
mov byte [ebp - 0x7e], 0
mov al, 0x4c
mov byte [ebp - 0x80], dl
xor al, dl
mov byte [ebp - 0x7e], 0
mov byte [ebp - 0x7f], al
lea eax, [ebp - 0x7f]
jmp 0x10039493
mov word [ebp - 0x40], 0x2d
lea eax, [ebp - 0x3f]
mov byte [ebp - 0x3f], 0
push ecx
push eax
mov dword [ebp - 0x74], 0x1a4c1a3f
xor esi, esi
mov word [ebp - 0x70], 0x54a
mov byte [ebp - 0x6e], 0
cmp esi, 6
jb 0x100394c4
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov bl, byte [ebp + esi - 0x73]
xor bl, byte [ebp - 0x74]
cmp esi, 6
jb 0x100394e7
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov byte [ebp + esi - 0x73], bl
inc esi
cmp esi, 5
jb 0x100394a8
sub esp, 0x1c
mov byte [ebp - 0x6e], 0
lea eax, [ebp - 0x73]
mov ecx, esp
push eax
call fcn.10007920
lea eax, [ebp - 0xd0]
push eax
call fcn.10006ba0
add esp, 0x28
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.1000cd00
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0
call fcn.10006cd0
jmp 0x1003959a
mov dword [ebp - 0x54], 0x62686858
xor esi, esi
mov byte [ebp - 0x50], 0
cmp esi, 4
jb 0x1003955d
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov bl, byte [ebp + esi - 0x53]
xor bl, byte [ebp - 0x54]
cmp esi, 4
jb 0x10039580
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov byte [ebp + esi - 0x53], bl
inc esi
cmp esi, 3
jb 0x10039541
lea eax, [ebp - 0x53]
mov byte [ebp - 0x50], 0
push eax
lea ecx, [ebp - 0x2c]
call fcn.1000b060
mov ecx, dword [ebp - 0xb0]
test ecx, ecx
je 0x1003967f
cmp ecx, 0xa
jae 0x100395d5
mov dl, 0xd
mov byte [ebp - 0x82], 0
mov al, 0x3d
mov byte [ebp - 0x84], dl
xor al, dl
mov byte [ebp - 0x82], 0
mov byte [ebp - 0x83], al
lea eax, [ebp - 0x83]
jmp 0x100395e2
mov word [ebp - 0x44], 0x4d
lea eax, [ebp - 0x43]
mov byte [ebp - 0x43], 0
push ecx
push eax
mov dword [ebp - 0x5c], 0x71277154
xor esi, esi
mov word [ebp - 0x58], 0x21
cmp esi, 5
jb 0x1003960f
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov bl, byte [ebp + esi - 0x5b]
xor bl, byte [ebp - 0x5c]
cmp esi, 5
jb 0x10039632
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov byte [ebp + esi - 0x5b], bl
inc esi
cmp esi, 4
jb 0x100395f3
sub esp, 0x1c
mov byte [ebp - 0x57], 0
lea eax, [ebp - 0x5b]
mov ecx, esp
push eax
call fcn.10007920
lea eax, [ebp - 0xd0]
push eax
call fcn.10006ba0
add esp, 0x28
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.1000cd00
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0
call fcn.10006cd0
jmp 0x100396e1
mov dword [ebp - 0x30], 0x101020
xor esi, esi
cmp esi, 3
jb 0x100396a4
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov bl, byte [ebp + esi - 0x2f]
xor bl, byte [ebp - 0x30]
cmp esi, 3
jb 0x100396c7
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov byte [ebp + esi - 0x2f], bl
inc esi
cmp esi, 2
jb 0x10039688
lea eax, [ebp - 0x2f]
mov byte [ebp - 0x2d], 0
push eax
lea ecx, [ebp - 0x2c]
call fcn.1000b060
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0xd0]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.10007920
mov ebx, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x9c]
mov byte [ebp - 4], 5
lea eax, [ebx + ebx*2]
mov esi, dword [ecx + eax*8 + 0x28]
test esi, esi
je 0x1003972f
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003972f
lea eax, [ebp - 0xd0]
mov ecx, esi
push eax
call dword [0x101384e4]
lea ecx, [ebp - 0xd0]
call fcn.10006cd0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.10006cd0
jmp 0x10039910
push edi
mov ecx, esi
call fcn.1003b1f0
cmp byte [eax + 0x66], 2
jne 0x1003984e
push edi
mov ecx, esi
call fcn.1003b1f0
cmp dword [eax + 0x20], 0
jne 0x1003984e
mov dword [ebp - 0x94], 0xe063067
xor esi, esi
mov dword [ebp - 0x90], 0x90e13
mov dword [ebp - 0x8c], 0x494949
cmp esi, 0xb
jb 0x100397ae
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov bl, byte [ebp + esi - 0x93]
xor bl, byte [ebp - 0x94]
cmp esi, 0xb
jb 0x100397d7
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov byte [ebp + esi - 0x93], bl
inc esi
cmp esi, 0xa
jb 0x10039792
lea eax, [ebp - 0x93]
mov byte [ebp - 0x89], 0
push eax
lea ecx, [ebp - 0xd0]
call fcn.10007920
mov ebx, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 4], 6
lea eax, [ebx + ebx*2]
mov esi, dword [ecx + eax*8 + 0x28]
test esi, esi
je 0x10039837
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10039837
lea eax, [ebp - 0xd0]
mov ecx, esi
push eax
call dword [0x101384e4]
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], 0xffffffff
call fcn.10006cd0
jmp 0x10039910
mov cl, 0x12
mov byte [ebp - 0x86], 0
mov al, 0x3f
mov byte [ebp - 0x88], cl
xor al, cl
mov byte [ebp - 0x86], 0
mov byte [ebp - 0x87], al
lea ecx, [ebp - 0xec]
lea eax, [ebp - 0x87]
push eax
call fcn.10007920
mov ecx, dword [ebp - 0x9c]
lea eax, [ebx + ebx*2]
mov dword [ebp - 4], 7
mov esi, dword [ecx + eax*8 + 0x28]
test esi, esi
je 0x100398b4
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100398b4
lea eax, [ebp - 0xec]
mov ecx, esi
push eax
call dword [0x101384e4]
mov eax, dword [ebp - 0xd4]
cmp eax, 0x10
jb 0x100398d1
inc eax
push 1
push eax
push dword [ebp - 0xe8]
call fcn.10007520
add esp, 0xc
mov dword [ebp - 0xd4], 0xf
mov dword [ebp - 0xd8], 0
mov byte [ebp - 0xe8], 0
lea ecx, [ebp - 0xec]
mov dword [ebp - 4], 8
call fcn.10007000
lea ecx, [ebp - 0xec]
call fcn.10006ea0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x98]
inc edi
cmp edi, dword [ebp - 0xb4]
jl 0x100390e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10075bf0
mov esp, ebp
pop ebp
ret