Function at 0x4174a5
Capabilities:
Encode data using base64

Disassembly:
movzx edi, word [esi]
mov dword [ebp - 0x24], edi
mov edi, edi
je 0x44ce7aa3
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0x2c]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x10]
lea eax, [eax + ecx*2]
add eax, 0xffffff38
mov edx, edx
je 0x417203
cmp ebx, eax
ja 0x454205
mov eax, dword [ebp - 0xaf00a8]
cmp ebx, eax
jb 0x1408079
mov edx, dword [edx]
mov ecx, ebx
sub ecx, eax
mov eax, 0x7ff944eb
sar ecx, 1
sub eax, edx
cmp eax, ecx
jl 0x45415d
lea eax, [edx + ecx]
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp - 0x10]
mov dword [ecx], eax
mov edx, edx
je 0x417211
mov ecx, dword [ebp - 0xaf00a4]
cmp edx, ecx
jbe 0x41721a
mov eax, ebx
sub eax, edx
and eax, 0xfffffffe
push eax
push edx
push ecx
call fcn.00427dfe
dec esp
push ebp
invalid
mov ecx, dword [ebp + 0x28]
cmp dword [ecx + 0x20], eax
ja 0x454205
jmp 0x417226
mov ebx, dword [ebp - 0xaf00a4]
mov dword [ebp - 8], ebx
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 0xaf00a8], ebx
cmp dword [ebp - 0x3c], 8
jne 0x804517ee
add byte [ebp - 0x34], dl
mov ebx, edx
and ebx, 8
mov dword [ebp - 0x54], ebx
jne 0x1408083
push 0x2a
pop eax
cmp edi, eax
je 0x4176e8
push 0x2b
pop eax
cmp edi, eax
je 0x4176e8
push 0x3f
pop eax
cmp edi, eax
je 0x4176e8
push 0x7b
pop eax
cmp edi, eax
je 0x451959
xor eax, eax
cmp dword [ebp - 0x80], eax
mov ecx, eax
mov eax, dword [ebp - 0x73]
dec ebp
test esp, esi
cmpsb byte [esi], byte es:[edi]
add eax, dword [eax]
test edx, 0x4c240db
jne 0x804519b2
add byte [ebp - 8], dl
push 0x3f
pop eax
cmp edi, eax
ja 0x417408
je 0x457972
push ebp
invalid
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 0x40]
push 2
pop eax
add esi, eax
mov dword [ebp - 4], esi
jmp 0x41716b
mov eax, edi
sub eax, 0x5b
je 0x417494
dec eax
je 0x41772d
dec eax
je 0x302f44
invalid
lea edi, [esi + 2]
mov edx, 0x48fbb8
push 6
mov ecx, edi
call 0xf34181e8
push esi
mov esi, ecx
je 0x80453784
push 6
mov edx, 0x48fbb0
mov ecx, edi
call 0xf34181e8
push esi
mov esi, ecx
je 0x45378e
mov eax, dword [ebp - 8]
push 0x3a
mov dword [ebp - 0x10], eax
movzx eax, word [edi]
pop ebx
cmp ax, bx
je 0x804537a6
push 0x2e
pop ecx
cmp ax, cx
je 0x804537a6
push 0x3d
pop ecx
cmp ax, cx
je 0x804537a6
push 2
pop edx
push 0x5c
pop ecx
push 0x45
xor eax, eax
add byte [ecx - 0xdfc37bb], cl
mov dword [ebp - 4], esi
movzx ebx, word [esi]
mov dword [ebp - 0x24], ebx
cmp ebx, ecx
je 0xd47fdb
push eax
lea esi, [ebp + 9]
cmp ebx, 0x5e
je 0x1d8d80f6
push 0x5d
pop ecx
cmp ebx, ecx
je 0xffc537e5
add esi, dword [eax + edi*8 + 0x33]
shr byte [edx + 0x20], cl
pop eax
push eax
add edi, 6
mov dword [ebp - 0x28], edx
push edx
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x54], edx
push eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x4c], edx
call 0xc2422dfe
add al, 0x75
cld
mov eax, esp
or al, 0x50
fisttp dword [edi]
test byte [ecx], bh
leave
add ebx, dword [0xbc7d8b]
je 0x417586
mov eax, ebx
mov ecx, 0xfc00
and eax, ecx
mov edx, 0xd800
cmp eax, edx
je 0xffc5382a
add edx, dword [ebp + 0x2c]
mov edx, edx
je 0x417598
mov eax, dword [ebp - 0x78]
cmp edi, eax
ja 0x453861
cmp dword [ebp - 0x3c], 8
jne 0x45387a
cmp ebx, 0x5b
je 0x804538a7
push 0x5c
pop eax
cmp ebx, eax
je 0x418001
add byte [ebp + 0xc], dl
xor ecx, ecx
push 0x5c
pop edi
cmp word [esi + 2], di
je 0x1d8d810f
push 0xd
pop eax
mov ecx, esi
cmp ebx, eax
je 0x80453d45
push 0xa
pop eax
cmp ebx, eax
je 0xffc53d45
add esi, dword [esp + eax*8 - 0x7b]
push dword [ebp + 0xd]
push 0x2d
pop eax
cmp word [esi + 2], ax
je 0x417cfc
mov eax, dword [ebp - 0x18]
push 2
pop ecx
cmp eax, ecx
jl 0x159f76df
cmp eax, dword [ebp - 0xc]
je 0x1417960
push ebx
push ebx
push dword [ebp + 0x28]
push dword [ebp - 0x34]
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xd0]
call fcn.00418144
mov ecx, dword [ebp - 0x20]
add esp, 0x10
mov edi, dword [ebp - 0x1c]
add ecx, eax
mov dword [ebp - 0x20], ecx
add al, 0x75
cld
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x28]
push 2
pop ebx
add esi, ebx
mov dword [ebp - 4], esi
movzx ebx, word [esi]
mov dword [ebp - 0x24], ebx
push eax
fisttp dword [edi]
test byte [esi], ch
enter 3, 0xffffffffffffff83
sti
pop ebp
jne 0x23b6756a
test eax, eax
jne 0xff92756a
mov eax, dword [ebp - 0xc]
cmp edi, dword [ebp - 0x78]
ja 0x41766d
mov eax, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x2c]
cmp ebx, 0xfffffffe
je 0x417dca
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0x70], ebx
mov ebx, dword [ebp - 0x64]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x60]
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x20], ebx
test eax, eax
jne 0x454002
mov esi, dword [ebp - 0x38]
xor eax, eax
mov ebx, dword [ebp - 8]
cmp esi, edx
push 0x6e
setne al
pop ecx
add eax, ecx
mov word [ebx], ax
push 2
pop eax
add ebx, eax
cmp dword [ebp + 0x2c], 0
jne 0x4176d2
test esi, esi
jne 0x418121
push 0x20
pop eax
dec eax
lea eax, [ebp - 0xd0]
push eax
push ebx
call 0x1d420e5e
mov eax, esp
or al, 0x6a
and byte [eax + 3], bl
fmul dword [ecx + 0x16e9f85d]
std
invalid
push 0x20
pop eax
add ebx, eax
mov dword [ebp - 8], ebx
jmp 0x4173f5
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x40]
jmp 0xf986727d
mov eax, dword [ebp + 0x28]
lea edx, [ebp - 0xaf0090]
xor ebx, ebx
sbb byte [ebp - 0x74], dh
push ebx
push dword [ebp - 0x34]
lea ecx, [ebp - 4]
push dword [eax + 0x40]
add dword [ecx], 0xc
call fcn.00418217
add byte [ebp + 0xc], dl
add esp, 0x10
mov edi, eax
cmp dword [edx], ebx
jne 0x1065813c
mov edi, edi
jne 0x417f17
cmp dword [ebp - 0x90], 0xbffff
ja 0x4452f90
mov di, word [ebp - 0x90]
add byte [ebp - 0xc], cl
mov ebx, ecx
mov dword [ebp - 0x24], edi
mov word [ebp + 0xff0c], di
jmp 0xf98672ff
push 4
pop eax
add esi, eax
push 0x5c
pop eax
mov dword [ebp - 4], esi
cmp word [esi], ax
push 4
pop eax
je 0x453d54
movzx eax, word [esi]
mov si, cx
je 0x10658117
mov edi, edi
jne 0x417d2f
push 0x5d
pop edi
cmp ax, di
je 0x1d8d8117
mov edi, dword [ebp - 0x44]
add byte [eax], al
clc
mov dword [ebp - 0x30], edi
je 0x417d4e
mov ecx, 0xfc00
and eax, ecx
mov ecx, 0x8b00d800
cmp eax, ecx
je 0x453dc3
cmp dword [ebp - 0x3c], 8
jne 0x417d68
push 0x5c
pop eax
cmp edi, eax
je 0x453de8
cmp edi, 0x5b
je 0x453e30
mov ecx, dword [ebp + 0xc]
cmp edi, ebx
jb 0x4541fd
je 0x6b2e75f4
push 2
pop eax
push 0xd
mov dword [ebp - 0x18], eax
pop eax
cmp edi, eax
je 0x80453e70
push 0xa
pop eax
cmp edi, eax
je 0x453e70
mov eax, dword [ebp + 0x28]
push edi
push ebx
push eax
jmp 0x417610
or ebx, 0xffffffff
mov dword [ebp - 0x2c], ebx
jmp 0x417679
cmp edi, 0x1a
je 0x452fc2
cmp edi, 0x19
je 0x4536a7
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
jne 0x417f3f
lea eax, [edi - 6]
cmp eax, 0x10
ja 0x417f3f
dec ebp
leave
dec dword [ecx - 0x76742bb3]
xchg esp, eax
mov dword [ebp - 0x7c], eax
mov ecx, dword [ecx - 0x7bba766c]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x60]
push 0x1b
mov dword [ebp - 0x20], eax
pop eax
mov dword [ebp - 0x70], ecx
cmp edi, eax
je 0x452fea
push 0x1c
pop eax
cmp edi, eax
je 0x104532d8
mov edi, edi
js 0x5e270ae5
push 0xf
pop esi
cmp edi, esi
je 0x453722
push 0x10
pop eax
cmp edi, eax
je 0x453722
mov ecx, dword [ebp - 0xc]
cmp edi, 5
je 0x4536e0
push 4
pop eax
cmp edi, eax
je 0x4536e0
cmp edi, ecx
je 0x4536e0
push 0x1d
pop eax
cmp edi, eax
jge 0x804536f4
mov ebx, dword [ebp - 8]
lea eax, [edi - 6]
push 0x10
pop ecx
cmp ecx, eax
sbb edx, edx
not edx
and edx, ebx
mov edi, dword [ebp - 0x44]
add byte [ecx - 0x7bf00fab], cl
aas
mov bh, 3
add byte [edx + 2], ch
mov word [ebx], di
pop edx
jmp 0x6b2df511
push dword [ebp - 0xc]
mov ebx, dword [ebp + 0x28]
lea edx, [ebp - 0xaf0090]
push dword [ebp - 0x34]
lea ecx, [ebp - 4]
push dword [ebx + 0x40]
add dword [ecx], 0xc
call fcn.00418217
add byte [ebp + 0xc], dl
xor ecx, ecx
add esp, 0x10
mov esi, eax
cmp dword [edx], ecx
jne 0xf140813c
test esi, esi
jne 0x4180fe
add byte [ebp - 0x90], bl
mov esi, dword [ebp - 4]
mov dword [ebp - 0x24], ebx
jmp 0x23b675bb
cmp esi, 5
jne 0x453ab2
push 8
pop ebx
jmp 0x4a803e
push 0x20
xor eax, eax
pop ecx
jmp fcn.004540b7
out dx, eax
add al, bh
mov edi, 0x40d38b18
mov ecx, edi
invalid
test ah, bl
inc edi
add byte [eax], al
lea si, [eax - 4]
not dword [ecx - 1]
add cl, byte [ebx + 0xc958dcb]
cld
not dword [ecx - 0x18]
cmp dword [ebx + eax - 0x42749a00], 0x51f7fc0c
mov ebx, eax
jl 0x452ff6
or dword [ecx + 0x3de9dc7d], 0x43
cld
salc
call 0x5caff29e
pop eax
fsub st(1), st(0)
cmp eax, 0xe8d6fc43
test eax, 0x585c6ac2
cmp word [esi + 2], ax
jne 0x45300d
push 0x45
mov eax, dword [ebp + 0x39]
dec esi
add al, 0x75
or byte [ebx + 0x79e904c6], al
dec ecx
add bh, bh
je 0x453054
hlt
add bl, byte [ecx - 0x77]
pop ebp
cwde
cmp eax, ecx
je 0x45307e
push 0x2d
pop ecx
add byte [edx + 0x74], ch
sbb ch, byte [edx + 0x30]
pop ecx
add byte [edx + 0x72], ch
add eax, 0x7639f883
push cs
dec ebp
mov dword [ebp - 0x75], eax
inc ebp
or al, 0x84
aam 0xe8
jmp 0x8b4b9b63
iretd
jne 0x4536ea
add al, 4
ret 0x874
push esi
std
invalid
jmp 0xe3453440
fadd dword [ecx]
and cl, byte [edi]
invalid
ror byte [edi], 1
sub esi, 0x66
mov eax, dword [ebp - 0x68]
setne cl
add ecx, esi
mov word [ebx], cx
pop edx
add ebx, edx
push es
add dword [ebx], 3
fisub dword [esi - 0x75]
inc ebp
mov ah, 6
add dword [ebx], 0xffffffe9
lea eax, [esi - 4]
salc
lea edx, [esi + 0xe]
mov esi, 0x4b5ddc
jmp 0x4537c4
push 2
pop ebx
sub esi, ebx
mov dword [ebp - 0x40], edx
cli
pop ebp
sbb cl, ch
push ebp
cmp al, 0xfc
salc
lea edx, [ebp - 0x74]
mov ecx, esi
call 0x8b45dd76
inc ebp
sbb byte [ebx - 0x3c2c57c], cl
push dword [ebx]
shl byte [esi + 0x39], 0x5e
add ch, byte [edx + 0x1f]
setne al
dec eax
pop ecx
and eax, 0xffffffee
add eax, ecx
shr byte [edx + 0x19], cl
pop esi
mov edi, dword [ebp + 0x3a]
or al, byte [eax - 0x77]
dec ebp
mov eax, ecx
add esi, 6
pop ecx
add bl, byte [edx + 0x6a]
pop esp
pop ecx
jmp 0x7e80752e
rol ecx, 0xc2
jne 0xd74175b4
rol dword [edx], 0x89
mov ecx, 0x10000c6
inc ebp
fld st(1)
jecxz 0x453881
movzx eax, word [esi]
and eax, ecx
add edi, edi
jge 0x45388b
fadd dword [ecx + 0x558bc2c3]
in al, dx
add ebx, 0xec558bc2
rcr dword [ebp - 0x24], 0xe9
and eax, 0x7c7e3b3d
pmuludq mm5, qword [ebx]
clc
shl ebp, 1
add dword [edx], edi
mov edi, eax
mov dword [ebp - 0x54], ecx
mov dword [esi - 0x1bffff64], eax
jmp 0xe48a75c6
add bl, byte [edx + 0x3b]
jne 0x453a73
and byte [ebp - 0x3978377], 0xc3
jmp 0x453a7e
cmp esi, edx
jne 0x453a7e
and byte [ebp - 0x397836d], 0x7f
xor eax, eax
mov ecx, eax
push 0x20
pop edx
test edi, edi
clc
pop ss
mov al, byte [ebp + ecx - 0x3978378]
not al
or byte [ebp + ecx + 0x16a01e2], al
inc ecx
cmp ecx, edx
jb 0x453a89
jmp 0x453ab3
in eax, dx
mov esi, dword [ebp - 0x74]
mov ecx, ebx
push 2
pop edx
add esi, edx
mov dword [ebp - 0x18], edx
jmp 0x453ad5
mov dword [esi - 0x1fb2ff64], 0xd33b83e9
loop 0x453a64
dec byte [edi + ecx]
test byte [edi], ch
dec dword [ebp + 0x1afebe3b]
jne 0x453b15
call 0x5caffd9c
pop eax
cmp word [esi + 2], ax
jne 0x453b07
push 0x45
mov eax, dword [ebp + 0x39]
dec esi
add al, 0xf
test bl, al
std
hlt
inc ebp
call 0xe092c61c
mov dword [ebp - 0x3c], eax
jmp 0x6b417666
jle 0x453b2b
lea ecx, [edi]
invalid
cmovge esp, eax
mov dword [ebp - 0x18], eax
cmp esi, 0x10
jg 0x747e74a0
hlt
cmp dword [esi + 4], ebx
jne 0x453d68
push 4
add al, 0x74
dec ebp
les eax, [ebx]
invalid
add byte [ebp + 0xc5574db], al
jmp 0xff4575f6
add bh, bh
or al, 0x33
rcl byte [esi + 0x1c], cl
adc byte [ecx], bh
adc dword [edi], ecx
test dword [ebx + eax*2], ebp
cld
salc
call 0x70f700ec
cld
adc dword [ebx - 0x7af0fa08], eax
aad 0
add byte [ecx], al
push 8
pop edi
jmp 0xff457d99
iretd
not byte [ebp + eax + 0x16a01e2]
add dword [edx + 1], ebp
inc eax
cmp eax, ecx
jb 0x4540e5
jmp 0x4576ec
mov dword [esi], edx
xor eax, eax
dec ebx
and al, 0x74
jbe 0x4540e9
cmp byte [ebx], bh
jle 0x454180
jns 0x3c057420
mov dword [esi], edx
xor eax, eax
cmp esp, dword [esp + esi*2]
and al, 0x74
jbe 0x4540f7
sub bh, byte [ebx]
jle 0x45418e
jns 0x4305742e
and al, 0x74
jbe 0x454105
sbb al, 0x3b
jle 0x45419c
jns 0x5505743c
add byte [edi], cl
test bl, dh
push cs
cmp edi, dword [esi + 0x7c]
jns 0x2405744a
add byte [edi], cl
test bl, dh
add byte [ebx], bh
jle 0x4541b8
jns 0x1d057458
add byte [edi], cl
test bl, dh
or byte [ebx - 0x1fd895bb], cl
fild dword [ebp - 0x20]
test dword [edx + 0x2b], ebp
jmp 0x7cc34208
adc eax, 0xf3840f00
add al, 0x40
add byte [eax], al
mov word [esi], dx
xor eax, eax
xor edi, edi
adc eax, 0x4548f680
loopne 0x4540f9
push 0x2a
cmp edi, dword [esi + 0x7c]
jae 0x35bcae5
mov dword [eax], 0x8015ff18
mov dword [eax], 0x8015ff18
div byte [ecx + 0x66830f7c]
mov dword [esi], edx
xor eax, eax
adc al, 0xf
mov dh, 4
jmp 0x8354be3c
sub esi, edx
mov dword [eax], 0x558bcb8b
jmp 0x8354be3c
mov dword [esi], edx
xor eax, eax
sbb eax, dword [eax]
je 0x84e7b7
add byte [esi - 0x77], ah
push ss
xor eax, eax
push cs
xchg byte [eax + 0x6a6ceb00], dh
cmp ch, bl
xor al, 0x6a
sbb eax, 0x306a30eb
jmp fcn.004541e2
push 0x6a86c73f
push ds
jmp 0x454208
add ch, byte [edx + 0x1f]
mov word [esi], dx
pop ecx
mov dword [eax], ecx
jmp fcn.0045423c
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 0x30]
push edx
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
test eax, eax
jne 0x4576dc
mov ecx, dword [ecx - 0x13aa7204]
push edx
push dword [ebp - 0x30]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x38]
pop ecx
add ch, ah
lea edx, [ebp - 0x18]
push edx
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
push ecx
dec eax
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1c]
mov eax, dword [ebx]
in al, dx
push eax
mov ecx, dword [eax]
je 0x8354f3a8
call dword [ecx + 8]
inc edi
cmp edi, dword [ebp - 0x20]
jb 0x457696
inc ebp
call 0x8d0c6f7
call dword [ecx + 8]
mov edi, dword [ebp - 0x24]
jge 0x4576ca
inc esi
in al, 0x83
dec byte [0xfffcff44]
cmp dword [ebp - 0x10], 0xf850f05
test dword [ebx - 0x1c], edi
invalid
std
push 0x15ff50fc
xor al, bh
dec eax
add byte [ebx - 0x78a0010], cl
call edi
cmp edi, 0x8dd7fff0
dec ebp
shr al, 0xc0
invalid