Function at 0x42c9cd
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
sub esp, 0x154
mov edx, dword [edx + 4]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, ecx
mov ecx, dword [ebx]
mov esi, dword [edx + ecx*4]
movzx eax, word [esi + 8]
cmp ax, 0x4e
je 0x42ca6b
mov ebx, dword [ebp + 0x10]
cmp ax, 0x35
je 0x471c06
cmp ax, 0x47
je 0x471c22
mov esi, dword [ebp + 0x14]
cmp esi, ebx
je 0x42ca46
mov eax, dword [esi + 0xc]
cmp eax, 4
je 0x471da3
mov ecx, dword [esi + 8]
test ecx, ecx
jne 0x471dc6
cmp eax, 5
jge 0x471ddb
push ebx
mov ecx, esi
mov dword [esi + 0xc], 1
mov dword [esi], 0
call fcn.0042c8cd
cmp byte [edi + 0x102], 0
jne 0x471e2a
cmp byte [edi + 0x103], 0
jne 0x471e2a
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0xc]
cmp eax, 5
jne 0x471aeb
mov dword [ebp - 0x10], 0
mov esi, ebx
mov dword [ebp - 8], 0
mov dword [ebp - 4], 1
mov eax, dword [edx + ecx*4 - 4]
mov dword [ebp - 0x14], 0
movsx eax, word [eax + 0xa]
mov dword [ebp - 0x2c], eax
lea eax, [ecx + 1]
mov ecx, edi
mov dword [esi], eax
mov eax, dword [edx + eax*4]
push 0xffffffffffffffff
movsx eax, word [eax + 0xa]
mov dword [ebp + 0xc], eax
lea eax, [ebp - 0x10]
push eax
push esi
push dword [ebp + 8]
call fcn.0042b42d
test eax, eax
js 0x471a7f
mov edx, dword [ebp - 4]
cmp edx, 1
jne 0x42cbe6
mov ebx, dword [ebp - 0x10]
mov eax, ebx
test eax, eax
js 0x471a17
mov eax, dword [ebp + 8]
mov ecx, dword [esi]
mov eax, dword [eax + 4]
mov dword [ebp + 0xc], eax
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x4f
jne 0x4719a6
lea eax, [ecx + 1]
mov dword [esi], eax
cmp edx, 1
jne 0x42cc1d
mov eax, dword [ebp - 0x14]
mov ecx, dword [esi]
mov dword [ebp + eax*4 - 0x150], ebx
mov ebx, eax
mov eax, dword [ebp + 8]
inc ebx
mov dword [ebp - 0x14], ebx
mov edx, dword [eax + 4]
mov eax, dword [edx + ecx*4]
cmp word [eax + 8], 0x4e
je 0x42caa3
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0xc], 5
jne 0x47177a
mov edx, dword [eax]
mov eax, dword [edx]
xor ecx, ecx
mov dword [eax + 0x210], 0
test ebx, ebx
jle 0x42cb88
mov eax, dword [ebp - 0x14]
jmp 0x42cb5d
mov esi, dword [edx]
mov ebx, dword [esi + 0x210]
cmp ebx, 0x40
jge 0x42cb83
mov eax, dword [ebp + ecx*4 - 0x150]
mov dword [esi + ebx*4 + 0x110], eax
mov eax, dword [edx]
inc dword [eax + 0x210]
mov eax, dword [ebp - 0x14]
inc ecx
cmp ecx, eax
jl 0x42cb5d
push 0
push 1
push edx
call fcn.0042ccdd
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x471781
mov ecx, dword [ebp - 8]
test ecx, ecx
jne 0x4718aa
mov eax, dword [ebp - 4]
cmp eax, 5
jge 0x4718bc
mov esi, dword [ebp + 0x14]
cmp esi, ebx
je 0x42ca46
mov eax, dword [esi + 0xc]
cmp eax, 4
je 0x471b15
mov ecx, dword [esi + 8]
test ecx, ecx
jne 0x471b38
cmp eax, 5
jl 0x42ca31
jmp 0x471b4d
lea eax, [edx - 2]
cmp eax, 9
ja case.default.0x42cbf2
jmp dword [eax*4 + 0x410494]
lea eax, [edx - 2]
cmp eax, 9
ja case.default.0x42cc25
jmp dword [eax*4 + 0x4104bc]
xor ebx, ebx
jmp 0x42cb0b
add eax, dword [eax]
inc ebp
mov al, 0x6a
add bl, byte [edi + 3]
test dword [ecx - 0x48f0038b], 0xec7d893e
enter 0x5d89, 0xffffffffffffffe4
ret 0xf983
mov eax, 0x7d89c01b
and byte [ebx], 0xc1
inc dword [ebx - 0x3f7acb3c]
push ss
push ebp
clc
lodsb al, byte [esi]
mov edx, esi
mov eax, esi
shr edx, 3
and eax, 7
movzx ecx, byte [edx + edi]
bts ecx, eax
inc esi
mov byte [edx + edi], cl
cmp esi, ebx
jbe 0x471d94
stosd dword es:[edi], eax
rol dword [esi - 0x78], 0xc
cmp bh, byte [ebx]
jbe 0x471d94
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
cmp esi, 0xff
ja 0x471dc3
mov esi, 0x100
cmp edi, esi
jae 0x4b11aa
sbb edi, 0xfffffff3
add eax, dword [eax]
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret
test esi, esi
je 0x471df9
movzx edi, word [ecx]
dec esi
movzx eax, byte [edx]
lea ecx, [ecx + 2]
inc edx
cmp ax, di
je 0x471ddb
sbb eax, eax
and eax, 2
dec eax
pop edi
pop esi
pop ebp
ret
xor eax, eax
jmp 0x471df5
push 0x77
pop ebx
movzx edi, word [esi]
mov edx, esi
push 0x10
pop ecx
cmp edi, 0x7d
je 0x4b1213
cmp edi, 0x75
je 0x4b1229
mov eax, 0x92
cmp di, ax
je 0x4b141e
inc eax
cmp di, ax
je 0x4b141e
mov eax, 0xa1
cmp di, ax
je 0x4b141e
add eax, 0xfffffff3
cmp di, ax
je 0x4b141e
lea eax, [ecx + 0x78]
cmp di, ax
je 0x4b140a
inc eax
cmp di, ax
je 0x4b140a
lea eax, [ecx + 0x7a]
cmp di, ax
je 0x4b140a
inc eax
cmp di, ax
je 0x4b140a
lea eax, [ecx + 0x73]
cmp di, ax
je 0x4b13a3
inc eax
cmp di, ax
je 0x4b13a3
lea eax, [ecx + 0x75]
cmp di, ax
je 0x4b13a3
inc eax
cmp di, ax
je 0x4b13a3
lea eax, [ecx + 0x71]
cmp di, ax
je 0x4b13a3
inc eax
cmp di, ax
je 0x4b13a3
lea eax, [ecx + 0x77]
cmp di, ax
je 0x4b13a3
add eax, 5
cmp di, ax
je 0x4b13a3
lea eax, [edi - 6]
cmp eax, 0x95
ja case.default.0x471f14
movzx eax, byte [eax + 0x41c79b]
jmp dword [eax*4 + 0x41c773]
ret 0x558b
sbb byte [ebx - 0x367ef3bb], cl
add byte [eax], al
add byte [eax - 0x57], dl
add byte [eax], al
or byte [eax], al
jne 0x4b1415
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
push ebx
push dword [0x4d1904]
push dword [ebp + 0x2c]
push dword [edi]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push ecx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
call dword [0x49c72c]
mov esi, eax
test esi, esi
je 0x4b140c
cmp byte [ebp + 0x34], bl
je 0x4b1400
push ebx
push 0x11
call dword [0x49c138]
push eax
push 0x30
push esi
call dword [0x49c694]
cmp dword [edi + 0x18c], ebx
jge 0x4efd83
add eax, dword [eax]
pop edi
mov eax, esi
pop esi
pop ebx
pop ebp
ret 0x30
and eax, 0xfff7ffff
jmp 0x4b13b4
in al, dx
mov eax, dword [0x4d18b4]
mov ecx, dword [ebp + 0x18]
cmp eax, 1
jne 0x4efd9c
mov eax, dword [ebp + 8]
cmp eax, 0xffffffff
je 0x4b143b
mov dword [ecx + 0x58], eax
clc
push dword [ebx + eax - 0x77]
inc ecx
pop esp