Function at 0xd43222
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push ebx
push esi
mov esi, dword [ebp + 8]
test esi, esi
push edi
jne 0xd4323a
or eax, 0xffffffff
jmp 0xd437eb
and dword [ebp + 8], 0
and dword [ebp - 4], 0
mov edi, dword [ebp + 0xc]
sub esi, 8
add esi, 8
movzx eax, word [esi]
cmp eax, 0x64
jg 0xd43484
je 0xd4347f
cmp eax, 0x2c
jg 0xd4332a
je 0xd43325
cmp eax, 0xc
jg 0xd432be
je 0xd432b6
cmp eax, 7
ja 0xd437e9
jmp dword [eax*4 + 0x15682]
mov dword [ebp - 4], eax
jmp 0xd43248
lea esi, [esi + eax*8]
jmp 0xd43248
mov eax, dword [ebp - 4]
add dword [ebp + 8], eax
jmp 0xd43248
sub eax, 0x14
je 0xd43320
dec eax
je 0xd43315
dec eax
je 0xd437f7
sub eax, 6
je 0xd4330a
dec eax
je 0xd432ff
sub eax, 7
je 0xd432f3
dec eax
jne 0xd437e9
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 4]
jg 0xd43582
movzx eax, byte [esi + 3]
jmp 0xd432a7
mov eax, dword [esi + 4]
imul eax, dword [ebp + 8]
jmp 0xd4342e
mov eax, dword [ebp - 4]
cmp dword [ebp + 8], eax
jmp 0xd4357c
mov eax, dword [ebp - 4]
sub dword [ebp + 8], eax
jmp 0xd43248
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 4]
jmp 0xd4357c
mov eax, dword [esi + 4]
jmp 0xd4330d
mov eax, dword [ebp - 4]
jmp 0xd432f6
cmp eax, 0x4c
jg 0xd433f9
je 0xd433ee
cmp eax, 0x3d
jg 0xd433ad
je 0xd4339c
sub eax, 0x2d
je 0xd4338b
sub eax, 7
je 0xd4337e
dec eax
je 0xd4336d
sub eax, 7
jne 0xd437e9
cmp dword [ebp - 4], 0
je 0xd437e9
mov eax, dword [ebp + 8]
xor edx, edx
div dword [ebp - 4]
jmp 0xd4342e
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 4]
jl 0xd432ed
jmp 0xd43582
mov eax, dword [ebp + 8]
xor edx, edx
div dword [esi + 4]
jmp 0xd4342e
mov eax, dword [ebp - 4]
cmp dword [ebp + 8], eax
jbe 0xd432ed
jmp 0xd43582
mov eax, dword [ebp - 4]
cmp dword [ebp + 8], eax
jb 0xd432ed
jmp 0xd43582
sub eax, 0x3f
je 0xd433d4
sub eax, 5
je 0xd433cf
dec eax
jne 0xd437e9
mov eax, dword [ebp + 8]
test dword [esi + 4], eax
je 0xd432ed
jmp 0xd43582
mov eax, dword [esi + 4]
jmp 0xd433f1
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push dword [esi + 4]
imul ecx, ecx, 0x4c
lea eax, [ecx + eax + 0xc]
push eax
call fcn.00d431e4
jmp 0xd43248
mov eax, dword [ebp - 4]
or dword [ebp + 8], eax
jmp 0xd43248
sub eax, 0x4d
je 0xd43474
dec eax
dec eax
je 0xd43464
sub eax, 5
je 0xd4345f
sub eax, 8
je 0xd43454
sub eax, 3
je 0xd43436
dec eax
je 0xd43427
dec eax
jne 0xd437e9
mov eax, dword [esi + 4]
mov eax, dword [ebp + eax*4 - 0x48]
jmp 0xd4328e
mov eax, dword [esi + 4]
mov eax, dword [ebp + eax*4 - 0x48]
mov dword [ebp + 8], eax
jmp 0xd43248
mov eax, dword [esi + 4]
test eax, eax
jl 0xd437e9
cmp eax, 4
jge 0xd437e9
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
jmp 0xd43248
mov eax, dword [ebp - 4]
and dword [ebp + 8], eax
jmp 0xd43248
mov eax, dword [esi + 4]
jmp 0xd43457
push dword [esi + 4]
push dword [ebp + 0x10]
call fcn.00d42dde
jmp 0xd437e1
mov eax, dword [ebp + 8]
test dword [ebp - 4], eax
jmp 0xd433c4
mov ecx, dword [esi + 4]
jmp 0xd434fa
mov ecx, 0xc9
cmp eax, ecx
jg 0xd43683
je 0xd43665
add ecx, 0xffffffd6
cmp eax, ecx
jg 0xd4358b
je 0xd4355f
cmp eax, 0x7f
jg 0xd4352c
je 0xd43502
cmp eax, 0x6c
je 0xd434f7
cmp eax, 0x6f
je 0xd434d7
cmp eax, 0x74
je 0xd434d2
cmp eax, 0x7c
jne 0xd437e9
mov ecx, dword [ebp - 4]
shr dword [ebp + 8], cl
jmp 0xd43248
mov ecx, dword [esi + 4]
jmp 0xd434ca
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push 1
imul ecx, ecx, 0x4c
push dword [ebp + 8]
lea eax, [ecx + eax + 0xc]
push dword [esi + 4]
push edi
push eax
call fcn.00d430fa
jmp 0xd437e1
mov ecx, dword [ebp - 4]
shl dword [ebp + 8], cl
jmp 0xd43248
lea eax, [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push dword [esi + 4]
imul ecx, ecx, 0x4c
push edi
lea eax, [ecx + eax + 0xc]
push eax
call fcn.00d43006
test eax, eax
je 0xd437e9
mov eax, dword [ebp + 0xc]
jmp 0xd4342e
sub eax, 0x84
je 0xd43557
sub eax, 3
je 0xd4354f
sub eax, 8
jne 0xd437e9
push edi
push dword [esi + 4]
call fcn.00d42d98
jmp 0xd437e1
mov eax, dword [ebp - 4]
jmp 0xd4342e
neg dword [ebp + 8]
jmp 0xd43248
push dword [ebp + 0x14]
push dword [esi + 4]
push dword [ebp + 0x10]
push edi
call fcn.00d42f34
test eax, eax
mov dword [ebp + 0xc], eax
je 0xd437e9
cmp eax, 2
jne 0xd432ed
movzx eax, byte [esi + 2]
jmp 0xd432a7
sub eax, 0xaf
je 0xd43652
sub eax, 0x10
je 0xd43642
dec eax
je 0xd43627
dec eax
je 0xd4360c
dec eax
je 0xd435f1
dec eax
je 0xd435d6
sub eax, 5
jne 0xd437e9
mov eax, dword [esi + 4]
add eax, dword [edi]
mov dword [ebp - 8], eax
push eax
push ebx
mov ebx, dword [ebp - 8]
xor eax, eax
mov ax, word [ebx]
bswap eax
mov dword [ebp + 8], eax
pop ebx
pop eax
jmp 0xd43248
mov eax, dword [esi + 4]
add eax, dword [edi]
mov dword [ebp - 8], eax
push eax
push ebx
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 4]
bswap eax
mov dword [ebx], eax
pop ebx
pop eax
jmp 0xd43248
mov eax, dword [esi + 4]
add eax, dword [edi]
mov dword [ebp - 8], eax
push eax
push ebx
mov ebx, dword [ebp - 8]
mov eax, dword [ebp + 8]
bswap eax
mov dword [ebx], eax
pop ebx
pop eax
jmp 0xd43248
mov eax, dword [esi + 4]
add eax, dword [edi]
mov dword [ebp - 8], eax
push eax
push ebx
mov ebx, dword [ebp - 8]
mov eax, dword [ebx]
bswap eax
mov dword [ebp - 4], eax
pop ebx
pop eax
jmp 0xd43248
mov eax, dword [esi + 4]
add eax, dword [edi]
mov dword [ebp - 8], eax
push eax
push ebx
mov ebx, dword [ebp - 8]
mov eax, dword [ebx]
bswap eax
mov dword [ebp + 8], eax
pop ebx
pop eax
jmp 0xd43248
push dword [esi + 4]
push dword [ebp + 0x10]
call fcn.00d42e04
jmp 0xd437e1
push dword [esi + 4]
push 0
push dword [ebp + 0x10]
push edi
call fcn.00d42f64
jmp 0xd437e1
mov eax, dword [esi + 4]
add eax, dword [edi]
mov dword [ebp - 8], eax
push eax
push ebx
mov ebx, dword [ebp - 8]
xor eax, eax
mov ax, word [ebx]
bswap eax
mov dword [ebp - 4], eax
pop ebx
pop eax
jmp 0xd43248
sub eax, 0xca
cmp eax, 0x28
ja 0xd437e9
movzx eax, byte [eax + 0x156e2]
jmp dword [eax*4 + 0x156a2]
test eax, eax
jne 0xd43248
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x10
mov eax, dword [ebp + 8]
jmp 0xd437eb