Function at 0x42baf0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
fld qword [0x442548]
sub esp, 0x18
fsub dword [0x459cf8]
push ebx
mov ebx, 1
push esi
fstp qword [0x442548]
mov ax, word [0x453376]
cwde
add eax, eax
add eax, eax
add eax, eax
xor dword [0x43c494], eax
movzx ecx, word [0x452dfa]
xor ecx, 0x9d0815b8
mov word [0x452dfa], cx
push edi
fld dword [0x458f5c]
xor edi, edi
fstp dword [0x454cb8]
fld dword [0x458f5c]
fsub qword [0x43a0e8]
fstp dword [0x458f5c]
add dword [0x440d74], ebx
mov edx, dword [0x440d74]
cmp edx, 0xdb517180
je 0x42bba9
mov eax, dword [0x43e8f8]
mov ecx, dword [0x43fa40]
add dword [0x43fa40], ebx
not eax
imul ecx, eax
and ecx, 0x91290e66
cmp ecx, 0xabebf795
jne 0x42bba9
dec dword [0x43ddd0]
mov edx, dword [0x43c7d0]
mov eax, dword [0x43ddd0]
imul edx, eax
mov dword [0x43c7d0], edx
mov ecx, dword [0x43be70]
mov edx, dword [0x43c898]
lea eax, [edx + ecx + 1]
push 0x41
mov dword [0x43c898], eax
push 0x20d
call fcn.00419f80
movzx ecx, word [0x452ace]
imul ecx, ecx, 0x664f6d44
push 4
mov word [0x452ace], cx
push 0x2dbf
mov dword [ebp - 0xc], eax
call fcn.00419f80
mov edx, dword [0x43e5b4]
add esp, 0x10
cmp edx, 0x6cf296eb
mov esi, eax
jl 0x42bc2f
fld dword [0x456118]
fld qword [0x443940]
fsub dword [0x4548b0]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x42bc2f
mov eax, dword [0x440e30]
mov ecx, dword [0x43e248]
dec dword [0x440e30]
lea edx, [ebp - 0x10]
push esi
push edx
call fcn.0040fdd0
mov eax, dword [0x441d70]
mov ecx, dword [0x4408b4]
sub ecx, eax
and ecx, 0x1cc3c09a
push 4
mov dword [0x43bff8], ecx
add dword [0x441d70], ebx
push 0x945
call fcn.00419f80
fld dword [0x4595a8]
fmul dword [0x45a0ac]
push esi
push 4
mov ebx, eax
fadd qword [0x445958]
fstp qword [0x445958]
fld dword [0x45a0ac]
fadd qword [0x43a0e8]
fstp dword [0x45a0ac]
call fcn.0040d550
add dword [0x43f5b4], 0xffeff1f5
lea edx, [ebp - 0x14]
push ebx
push edx
call fcn.0040fdd0
mov ax, word [0x45300a]
mov ecx, dword [0x43c3d4]
cwde
sar eax, 4
xor eax, 0xd70bfd2b
add esp, 0x20
cmp eax, ecx
je 0x42bcdb
mov edx, dword [0x43ecec]
cmp edx, 0xb708e177
je 0x42bcdb
mov eax, dword [0x43c4dc]
push 4
push 0x2dcf
call fcn.00419f80
add dword [0x43fe98], 0xffaf5f1b
push ebx
push 4
mov esi, eax
call fcn.0040d550
mov ecx, dword [0x43d314]
imul ecx, ecx, 0x76736e4
lea edx, [ebp - 0x18]
push esi
mov dword [0x43d314], ecx
push edx
call fcn.0040fdd0
mov eax, dword [0x440ca4]
movzx ecx, word [0x453678]
imul eax, eax, 0x5851ad10
or ecx, eax
push esi
mov word [0x453678], cx
push 4
call fcn.0040d550
mov eax, dword [0x440b54]
mov edx, dword [0x43d4c4]
imul eax, eax, 0x13e9b7a3
lea eax, [edx + eax + 0x784e74b0]
mov edx, 1
mov dword [0x43d4c4], eax
add dword [0x440b54], edx
add esp, 0x20
cmp dword [ebp + 0xc], edi
je 0x42c141
mov edi, edi
mov ecx, dword [0x43da8c]
sub ecx, 0xba1f3dc
mov dword [0x44019c], ecx
movzx eax, word [0x450fdc]
mov ecx, dword [0x43bfac]
cwde
imul ecx, eax
mov eax, dword [ebp + 8]
imul ecx, ecx, 0x63f85eff
mov word [0x450fdc], cx
mov cl, byte [eax]
mov byte [ebp + edi - 4], cl
movzx ecx, word [0x45371a]
add ecx, 0x64df4d9d
mov word [0x45371a], cx
sub dword [ebp + 0xc], edx
fld dword [0x459b8c]
add eax, edx
fmul dword [0x4580a8]
or ebx, 0xffffffff
mov dword [ebp + 8], eax
add edi, edx
fadd dword [0x4591f8]
fadd dword [0x45580c]
fstp dword [0x45580c]
fld dword [0x4591f8]
fadd qword [0x43a0e8]
fstp dword [0x4591f8]
add word [0x451ed4], bx
movzx eax, word [0x45141a]
movzx ecx, word [0x451ed4]
cwde
imul ecx, eax
mov word [0x45141a], cx
cmp edi, 3
jne 0x42c119
mov eax, dword [0x43f334]
movzx ecx, byte [ebp - 4]
imul eax, eax, 0x43ff4bee
mov dword [0x43f334], eax
mov eax, dword [0x43f3fc]
shr cl, 2
mov byte [ebp - 8], cl
mov ecx, dword [0x43c8a4]
xor eax, ecx
mov dword [0x43f3fc], eax
movzx eax, byte [ebp - 4]
and al, 3
shl al, 4
mov byte [ebp - 7], al
add word [0x452886], dx
movzx ecx, word [0x452886]
movsx eax, cx
and eax, 0xf9ffef8f
or eax, 0xf1f9ce0b
and dword [0x43b19c], eax
movzx eax, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
add word [0x45371c], bx
movzx ecx, word [0x45371c]
movsx ecx, cx
imul ecx, ecx, 0x43bde549
mov eax, 0x55d67906
sub eax, ecx
add dword [0x43ec80], eax
movzx eax, byte [ebp - 3]
and al, 0xf
add al, al
add al, al
mov byte [ebp - 6], al
mov eax, dword [0x43c1e4]
lea ecx, [eax*8]
mov eax, dword [0x4402e8]
xor eax, ecx
and dword [0x43dc68], eax
movzx ecx, byte [ebp - 2]
shr cl, 6
add byte [ebp - 6], cl
add dword [0x43e3d4], 0x7e9b8ba5
movzx eax, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
add dword [0x440394], ebx
mov eax, dword [0x43bc64]
mov ecx, dword [0x440394]
or eax, 0x7ff97f63
xor ecx, 0x8a42e866
cmp eax, ecx
jl 0x42bf17
add dword [0x4414a8], 0x613b7407
add word [0x451a64], dx
mov ax, word [0x451a64]
movsx ecx, ax
xor esi, esi
cmp ecx, 0x8732e386
jl 0x42bf50
fld dword [0x456548]
fsub dword [0x457948]
fstp dword [0x456548]
jmp 0x42bf50
mov ax, word [0x450aa2]
movsx ecx, ax
cmp ecx, 0x9b7e5153
jl 0x42bf8a
mov edx, dword [0x43f038]
sar edx, 2
add edx, 0x7408a111
or edx, 0x3ac3ee71
cmp edx, 0xb1660d40
jne 0x42bfab
or dword [0x43f988], 0xc84b6045
jmp 0x42bfab
add dword [0x43b114], edx
mov eax, dword [0x43b114]
movzx ecx, word [0x450f44]
and eax, 0x8d4dff7a
imul ecx, eax
mov word [0x450f44], cx
cmp byte [ebp + 0x10], 0
je 0x42c057
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x42c057
fld dword [0x45414c]
fadd dword [0x457274]
fstp dword [0x45414c]
cmp al, 0x3e
jne 0x42c01b
mov eax, dword [0x4419b8]
mov edx, dword [0x43e178]
imul eax, eax, 0x16a6c9cc
mov ecx, dword [ebp + 0x14]
or eax, 0xd2c13b
imul edx, eax
lea eax, [ebp - 0x10]
mov dword [0x43e178], edx
push eax
call fcn.00419f60
add dword [0x43eaa8], 0x41004800
and dword [0x4400d0], 0x31281c5a
jmp 0x42c0b8
fld dword [0x45702c]
lea ecx, [ebp - 0x14]
fmul dword [0x459424]
push ecx
mov ecx, dword [ebp + 0x14]
fstp dword [0x45702c]
call fcn.00419f60
mov edx, dword [0x441348]
add edx, dword [0x43f304]
mov dword [0x441348], edx
and dword [0x4400d0], 0x31281c5a
jmp 0x42c0b8
add word [0x4537c6], bx
mov ax, word [0x4537c6]
movsx ecx, ax
cmp ecx, 0xb2d31410
jne 0x42c08b
fld dword [0x45a770]
fld dword [0x455074]
fcompi st(1)
fstp st(0)
jb 0x42c08b
add dword [0x43e998], 0x6c3a0950
movzx edx, byte [ebp + esi - 8]
mov eax, dword [ebp - 0xc]
movzx ecx, byte [edx + eax]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.00417cb0
fld qword [0x4459f8]
fadd qword [0x445970]
fmul dword [0x455120]
fstp dword [0x455120]
mov eax, dword [0x440ccc]
mov edx, dword [0x43cf70]
and eax, 0xbfc0e7d6
imul edx, eax
mov dword [0x43cf70], edx
mov ax, word [0x4539bc]
movsx ecx, ax
not ecx
or ecx, 0x9f6a6ba0
inc esi
cmp ecx, 0x211cdc20
jne 0x42c0f5
add dword [0x43ee94], 0x75ef507e
mov edx, 1
cmp esi, 4
jne 0x42bf50
add dword [0x43bfc0], 0x23077724
xor edi, edi
add dword [0x43d774], 0xf6a34e21
mov ax, word [0x450802]
movzx ecx, word [0x4511d6]
cwde
or eax, 0x7d2c7a4a
add ecx, eax
cmp dword [ebp + 0xc], 0
mov word [0x4511d6], cx
jne 0x42bd70
jmp 0x42c144
or ebx, 0xffffffff
mov eax, dword [0x43d818]
xor eax, 0xe6756b19
add eax, eax
cmp eax, 0x1c33609d
jl 0x42c16f
fld dword [0x4573bc]
fadd dword [0x4559e0]
fsub dword [0x459230]
fstp qword [0x449898]
test edi, edi
je 0x42c714
or dword [0x43e828], 0x88fcca20
mov cx, word [0x4521c6]
movsx eax, cx
not eax
xor eax, 0x2da2298e
cmp eax, 0xa06c3de1
jge 0x42c1bd
mov cx, word [0x453ac4]
movsx eax, cx
mov ecx, dword [0x43eb30]
not eax
and ecx, eax
movzx eax, word [0x450d36]
imul eax, ecx
mov word [0x450d36], ax
cmp edi, 3
jge 0x42c220
mov esi, 3
sub esi, edi
push esi
lea eax, [ebp + edi - 4]
push 0
push eax
call fcn.00417950
add esp, 0xc
mov ecx, 0xb23039c6
mov edi, edi
movzx edx, word [0x453b4a]
sub edx, 0x44c5d520
mov word [0x453b4a], dx
mov eax, dword [0x43b370]
mov edx, dword [0x441c6c]
add eax, 0xe03242be
and edx, eax
and edx, 0xf4463603
sub esi, 1
mov dword [0x441c6c], edx
mov dword [0x43c0c4], ecx
jne 0x42c1e0
lea edx, [esi + 1]
fld dword [0x456ba4]
xor esi, esi
fadd qword [0x4428a0]
fstp qword [0x4428a0]
fld dword [0x456ba4]
movzx eax, byte [ebp - 4]
fadd qword [0x43a0e8]
shr al, 2
mov byte [ebp - 8], al
fstp dword [0x456ba4]
add dword [0x43e52c], 0x821b4f75
mov ax, word [0x452960]
movzx ecx, byte [ebp - 4]
and cl, 3
shl cl, 4
mov byte [ebp - 7], cl
movsx ecx, ax
movzx eax, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
not ecx
xor ecx, 0x63206ba
mov dword [0x43cc30], ecx
mov eax, dword [0x44185c]
mov ecx, dword [0x43dbdc]
sub eax, 0x7a64f11c
xor eax, 0x6cc7d0f8
imul ecx, eax
movzx eax, byte [ebp - 3]
mov dword [0x43dbdc], ecx
and al, 0xf
fld dword [0x459340]
add al, al
fadd qword [0x447e28]
add al, al
mov byte [ebp - 6], al
fsub dword [0x454334]
fadd dword [0x459a98]
movzx ecx, byte [ebp - 2]
shr cl, 6
add byte [ebp - 6], cl
fstp dword [0x459a98]
add dword [0x43e08c], ebx
mov eax, dword [0x43e08c]
mov ecx, dword [0x43d31c]
add eax, 0x4db32c05
imul ecx, eax
movzx eax, byte [ebp - 2]
mov dword [0x43d31c], ecx
and al, 0x3f
fld qword [0x448a10]
mov byte [ebp - 5], al
fadd qword [0x444eb0]
fstp qword [0x448a10]
add dword [0x4416ac], ebx
mov eax, dword [0x4416ac]
movzx ecx, word [0x452718]
or eax, 0x82b1392f
sub ecx, eax
mov word [0x452718], cx
add dword [0x440da0], 0x3377a2b0
test edi, edi
jl 0x42c584
jmp 0x42c350
mov eax, dword [0x43f2d8]
mov ecx, dword [0x440908]
lea eax, [ecx + eax + 1]
cmp eax, 0x45be861
jg 0x42c385
mov cx, word [0x451c08]
movsx eax, cx
mov ecx, dword [0x4408d8]
and ecx, eax
mov word [0x451c08], cx
add dword [0x4408d8], ebx
cmp byte [ebp + 0x10], 0
je 0x42c442
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x42c442
movzx edx, word [0x453c7c]
imul edx, edx, 0x9c982fc9
mov word [0x453c7c], dx
cmp al, 0x3e
jne 0x42c3db
mov eax, dword [0x43bc78]
mov ecx, dword [ebp + 0x14]
add eax, 0x62e999f6
xor dword [0x43b488], eax
lea eax, [ebp - 0x10]
push eax
call fcn.00419f60
add dword [0x43b9f0], 0xb2d451cc
jmp 0x42c416
movzx ecx, word [0x451c00]
add ecx, 0x46abbbb6
mov word [0x451c00], cx
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x14]
push edx
call fcn.00419f60
add dword [0x43c0b4], ebx
mov eax, dword [0x43c0b4]
sub eax, 0x707cfc
xor eax, 0xe5b86c11
add dword [0x43f284], eax
fld dword [0x45aa1c]
fadd qword [0x44f190]
fadd dword [0x4593b0]
fstp dword [0x454ff4]
fld qword [0x44f190]
fld1
fsub st(1), st(0)
fxch st(1)
fstp qword [0x44f190]
jmp 0x42c4a2
add word [0x45394e], bx
add word [0x453a9e], dx
mov ax, word [0x453a9e]
mov dx, word [0x45394e]
movsx ecx, ax
movsx eax, dx
mov edx, dword [ebp - 0xc]
and eax, ecx
mov ecx, dword [0x440494]
xor ecx, eax
mov eax, dword [0x4416c8]
xor eax, ecx
movzx ecx, byte [ebp + esi - 8]
mov dword [0x440494], eax
movzx eax, byte [ecx + edx]
mov ecx, dword [ebp + 0x14]
push eax
call fcn.00417cb0
fld dword [0x455e78]
fadd dword [0x45655c]
fstp dword [0x455e78]
fld1
fld dword [0x456b2c]
fmul qword [0x4446b8]
fmul dword [0x45ab14]
fld qword [0x444530]
fld qword [0x444530]
fadd st(3)
fstp qword [0x444530]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x42c516
add word [0x4539b6], bx
mov cx, word [0x4539b6]
movsx edx, cx
cmp edx, 0xc815a0f5
jl 0x42c516
add dword [0x440058], ebx
mov eax, dword [0x43b71c]
mov cx, word [0x45228a]
movsx edx, cx
mov ecx, dword [0x440058]
sar eax, 0xa
add eax, edx
add ecx, eax
mov word [0x4506ae], cx
fld dword [0x4576dc]
inc esi
fld dword [0x45a788]
fld dword [0x45a788]
fsubrp st(3)
fxch st(2)
fstp dword [0x45a788]
fcompi st(1)
fstp st(0)
jbe 0x42c54a
mov edx, dword [0x43c31c]
sar edx, 4
mov dword [0x43c1fc], edx
jmp 0x42c56d
add word [0x4538bc], bx
mov ax, word [0x4538bc]
movzx ecx, word [0x450a9e]
cwde
add eax, 0xed0bf789
and ecx, eax
mov word [0x450a9e], cx
add dword [0x440da0], 0x3377a2b0
cmp esi, edi
mov edx, 1
jle 0x42c350
mov ax, word [0x4532b4]
add word [0x4532b4], bx
movsx ecx, ax
or ecx, 0xd49ecd50
cmp ecx, 0xab25ca37
jne 0x42c5ac
add dword [0x43e1b0], 0x32289051
cmp edi, 3
jge 0x42c701
mov esi, 3
sub esi, edi
lea esp, [esp]
cmp byte [ebp + 0x10], 0
fld dword [0x459860]
fmul qword [0x44dac0]
fstp dword [0x459860]
fld dword [0x458298]
fadd qword [0x448248]
fstp dword [0x458298]
je 0x42c6ae
fld dword [0x458574]
mov ecx, dword [ebp + 0x14]
fsub qword [0x447228]
lea edx, [ebp - 0x18]
push edx
fstp dword [0x458574]
call fcn.00419f60
inc dword [0x43ca80]
mov eax, dword [0x43ca80]
cmp eax, 0x40302256
jle 0x42c6dc
fld dword [0x456b5c]
fmul dword [0x45ac6c]
fmul dword [0x45739c]
fld dword [0x45aa84]
fld qword [0x444858]
fld qword [0x44cc20]
fmulp st(2)
fsubrp st(1)
fld qword [0x444858]
fld1
fsub st(1), st(0)
fxch st(1)
fstp qword [0x444858]
fld dword [0x45ac6c]
fadd st(1)
fstp dword [0x45ac6c]
fxch st(2)
fcompi st(1)
fstp st(0)
jbe 0x42c6da
fld dword [0x458e74]
fld dword [0x4565a8]
fmul qword [0x44fbc8]
fsubp st(1)
fadd dword [0x459f2c]
fstp dword [0x459f2c]
fld qword [0x44fbc8]
fadd st(1)
fstp qword [0x44fbc8]
fadd dword [0x4565a8]
fstp dword [0x4565a8]
jmp 0x42c6dc
movzx ecx, word [0x45100e]
add ecx, 0x2ea34c07
mov word [0x45100e], cx
mov ecx, dword [ebp + 0x14]
push 0x3d
call fcn.00417cb0
mov edx, 0xffffe8d5
mov word [0x453188], dx
jmp 0x42c6dc
fstp st(0)
mov eax, dword [0x441e3c]
mov ecx, dword [0x43ff98]
and eax, ecx
and eax, 0xcb607e10
sub esi, 1
mov dword [0x441e3c], eax
jne 0x42c5c0
mov edx, 1
add dword [0x440d28], edx
mov edx, dword [0x440d28]
mov word [0x452210], dx
mov ax, word [0x4537d8]
mov ecx, dword [ebp - 0xc]
cwde
not eax
imul eax, eax, 0xed8d4c3a
push ecx
and eax, 0xeaefbea6
or dword [0x43b8a8], eax
push 0x41
call fcn.0040d550
mov edx, dword [0x43f828]
add esp, 8
add edx, edx
add edx, edx
pop edi
add edx, edx
pop esi
pop ebx
cmp edx, 0x59e84046
je 0x42c75d
add dword [0x440790], 0xa193f42d
push 4
lea eax, [ebp - 0x10]
push 0
push eax
call fcn.00417950
mov eax, dword [0x440978]
movzx ecx, word [0x452d02]
imul eax, eax, 0x305e7038
push 4
lea edx, [ebp - 0x14]
add ecx, eax
push 0
mov word [0x452d02], cx
push edx
call fcn.00417950
push 4
fld dword [0x45a2f4]
lea eax, [ebp - 0x18]
fld dword [0x4587e0]
push 0
fmul dword [0x4564d0]
push eax
fsub dword [0x454a04]
fsubp st(1)
fstp dword [0x45a2f4]
fld dword [0x454a04]
fadd qword [0x43a0e8]
fstp dword [0x454a04]
call fcn.00417950
fld dword [0x45ace8]
add esp, 0x24
fmul dword [0x45a9cc]
fsub qword [0x443450]
fmul qword [0x445e58]
fstp qword [0x445e58]
mov esp, ebp
pop ebp
ret