Function at 0x41874e
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
xor dword [0x4365c8], 0xc29126ed
sub esp, 0x18
inc dword [0x4387c4]
mov eax, dword [0x4387c4]
imul ecx, eax, 0x80a090b3
movzx eax, word [0x43a0fc]
push ebx
xor ebx, ebx
and ecx, eax
and ecx, 0xaffb71c2
mov word [0x43a0fc], cx
mov eax, dword [0x438514]
xor eax, dword [0x437974]
mov dword [0x437974], eax
inc dword [0x438514]
dec word [0x43a90a]
mov cx, word [0x43a90a]
inc dword [0x435c74]
mov eax, dword [0x435c74]
movsx ecx, cx
imul ecx, eax
add ecx, 0xe69936c
mov dword [0x4350d0], ecx
movzx eax, word [0x43a8d4]
sub eax, 0x10002121
mov word [0x43a8d4], ax
dec dword [0x438044]
mov ecx, dword [0x438044]
movsx eax, word [0x43af9e]
add eax, 0xfeb335a
add eax, ecx
cmp eax, 0x68507a66
jl 0x418815
mov ecx, dword [0x436628]
mov eax, dword [0x4380a8]
and ecx, 0xa192e16
imul eax, ecx
mov dword [0x4380a8], eax
push 0x41
push 0x2bb2
call fcn.00425ce0
pop ecx
pop ecx
mov ecx, dword [0x435c28]
not ecx
mov dword [ebp - 0xc], eax
add ecx, 0xda4a9d7c
cmp ecx, dword [0x436934]
jle 0x418875
movsx ecx, word [0x43a656]
mov eax, dword [0x434df4]
not ecx
or ecx, 0xfefb9e5
or eax, 0x8362ce52
cmp eax, ecx
je 0x418875
mov ecx, dword [0x434590]
mov eax, dword [0x4344c0]
shl ecx, 0xa
or ecx, 0x6c69ba3
imul eax, ecx
mov dword [0x4344c0], eax
push esi
push edi
push 4
push 0x977
call fcn.00425ce0
mov esi, eax
mov eax, 0x7563
mov word [0x43b1a4], ax
lea eax, [ebp - 0x10]
push esi
push eax
call fcn.00423a6f
mov ecx, dword [0x4374c0]
add esp, 0x10
shl ecx, 0xa
cmp ecx, 0x4116a74c
jg 0x4188bd
imul eax, dword [0x437980], 0xff43669f
mov dword [0x437980], eax
push 4
push 0x9a0
call fcn.00425ce0
movzx ecx, word [0x43aed2]
mov edi, eax
xor ecx, 0x97de2d8b
push esi
mov word [0x43aed2], cx
push 4
call fcn.0040a2ca
mov ecx, dword [0x434154]
movzx eax, word [0x43ab5a]
add ecx, 0x9c03ca22
imul eax, ecx
push edi
mov word [0x43ab5a], ax
lea eax, [ebp - 0x14]
push eax
call fcn.00423a6f
add dword [0x438988], 0x522e07b
push 4
push 0x379
call fcn.00425ce0
add dword [0x435e54], 0x73e8ff4d
mov esi, eax
push edi
push 4
call fcn.0040a2ca
xor dword [0x437c94], 0xeb27deb9
lea eax, [ebp - 0x18]
push esi
push eax
call fcn.00423a6f
add dword [0x4369a0], 0xfeef1dfc
push esi
push 4
call fcn.0040a2ca
mov ecx, dword [ebp + 0xc]
add esp, 0x38
mov dword [0x435ffc], 0x4d7f0e90
push 3
pop edi
test ecx, ecx
je 0x418d51
mov edx, dword [ebp + 8]
mov eax, dword [0x435ca0]
and eax, 0x2ccc8699
sub dword [0x438044], eax
dec dword [0x435ca0]
dec ecx
add dword [0x433f4c], 0xe32285c3
mov al, byte [edx]
mov byte [ebp + ebx - 4], al
dec dword [0x437c00]
mov eax, dword [0x437c00]
or dword [0x435de8], eax
inc ebx
mov eax, dword [0x434c60]
and eax, 0x4f85702e
mov dword [ebp + 0xc], ecx
cmp eax, 0xe12496fe
jg 0x4189e7
mov eax, dword [0x4346a0]
mov ecx, dword [0x438014]
imul eax, eax, 0x7ee99772
sub ecx, eax
and dword [0x434068], ecx
dec dword [0x438014]
mov ecx, dword [0x4360fc]
inc edx
movsx eax, word [0x43ab12]
sar ecx, 6
imul eax, ecx
mov dword [ebp + 8], edx
cmp eax, 0x8086a
jg 0x418a11
mov dword [0x435410], 0x2fd8920c
jmp 0x418a20
imul eax, dword [0x435a6c], 0x294a6341
mov dword [0x435a6c], eax
cmp ebx, edi
jne 0x418d23
mov eax, dword [0x438044]
shl eax, 7
or eax, 0x14361da8
cmp eax, 0x337b0217
jne 0x418a48
xor dword [0x437bcc], 0x16029a0
jmp 0x418a5a
movzx eax, word [0x438f74]
sub eax, 0x4d35a8f9
mov word [0x438f74], ax
mov al, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
xor dword [0x4351bc], 0x8fd7befd
mov al, byte [ebp - 4]
and al, 3
shl al, 4
mov byte [ebp - 7], al
mov eax, dword [0x43485c]
add eax, 0xb8ddb7b6
xor dword [0x437b28], eax
mov al, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
mov eax, dword [0x4383b4]
shl eax, 5
add eax, 0x88b748f
cmp eax, 0x76dceb13
jg 0x418aaf
xor dword [0x434998], 0x91dccae4
mov al, byte [ebp - 3]
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
dec dword [0x43473c]
mov eax, dword [0x43473c]
xor eax, 0x5fc6b08a
add eax, dword [0x4374dc]
mov dword [0x4374dc], eax
mov al, byte [ebp - 2]
movsx ecx, word [0x438b50]
shr al, 6
xor ecx, 0x75599644
add byte [ebp - 6], al
mov eax, dword [0x43443c]
shl eax, 4
or eax, ecx
inc word [0x438b50]
cmp eax, 0xf79fdf3d
jge 0x418b12
imul eax, dword [0x435ebc], 0xa4901f2c
mov dword [0x435ebc], eax
mov al, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
movsx eax, word [0x43ad22]
cmp eax, 0xda782d3
jg 0x418b4c
mov eax, dword [0x4365ac]
dec dword [0x4365ac]
cmp eax, 0xfa6b3d33
jle 0x418b4c
movzx eax, word [0x4397fa]
sub eax, 0x7fea2790
mov word [0x4397fa], ax
mov edi, dword [ebp - 0xc]
xor esi, esi
mov dword [0x435f6c], 0xd966c9d8
and dword [0x4347c0], 0xce443352
cmp byte [ebp + 0x10], 0
je 0x418c1e
mov dl, byte [ebp + esi - 8]
cmp dl, 0x3d
jbe 0x418c1e
mov ecx, dword [0x435014]
mov eax, dword [0x4346c8]
sar ecx, 7
and ecx, 0x3dffcf2
xor eax, ecx
xor eax, 0x279405cb
mov dword [0x4346c8], eax
cmp dl, 0x3e
jne 0x418be1
mov eax, dword [0x4345cc]
imul eax, dword [0x4341a4]
xor eax, 0x62eb6b
dec dword [0x4345cc]
cmp eax, 0x64256252
jg 0x418bc9
xor dword [0x43554c], 0x8f476e5f
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x10]
push eax
call fcn.00405502
or dword [0x434ea8], 0xac75eb01
jmp 0x418c11
movzx eax, word [0x43a0f4]
mov ecx, dword [ebp + 0x14]
add eax, 0x6a2deebf
mov word [0x43a0f4], ax
lea eax, [ebp - 0x14]
push eax
call fcn.00405502
movzx eax, word [0x4395e4]
and eax, 0x7567a399
mov word [0x4395e4], ax
mov eax, 0x131
mov word [0x439ac8], ax
jmp 0x418c94
movsx eax, word [0x4393c6]
mov ecx, dword [0x435680]
sar eax, 2
imul eax, eax, 0x307bd387
xor ecx, eax
cmp ecx, 0x825932f2
jl 0x418c78
mov eax, dword [0x434de8]
not eax
sub eax, 0x449774ff
xor eax, 0x55f724c5
cmp eax, 0x5f7a4071
jge 0x418c78
mov ax, word [0x43a886]
mov ecx, dword [0x4350b0]
cwde
imul ecx, eax
imul eax, ecx, 0xa573deb5
and dword [0x437b8c], eax
inc dword [0x4350b0]
movzx eax, byte [ebp + esi - 8]
mov ecx, dword [ebp + 0x14]
movzx eax, byte [eax + edi]
push eax
call fcn.0041f71c
mov dword [0x437958], 0xba013fd5
mov ax, word [0x43a37a]
cwde
xor dword [0x43608c], eax
dec word [0x43a37a]
inc esi
movsx eax, word [0x43acf0]
cmp eax, 0xf2b3d885
jl 0x418cc5
movsx eax, word [0x43a6e0]
mov dword [0x4385e4], eax
jmp 0x418ce3
cmp dword [0x43597c], 0xb0cb9c02
jne 0x418ce3
movzx eax, word [0x43a82c]
sub eax, 0x484d0f19
mov word [0x43a82c], ax
cmp esi, 4
jne 0x418b5b
or dword [0x4373fc], 0xdf7ea4ef
xor ebx, ebx
dec dword [0x4347ac]
mov eax, dword [0x4347ac]
mov ecx, dword [0x435c9c]
mov edx, dword [ebp + 8]
and ecx, eax
xor ecx, 0xc5e044ce
sub dword [0x438528], ecx
inc dword [0x435c9c]
push 3
pop edi
inc word [0x439dce]
mov ax, word [0x439dce]
mov ecx, dword [ebp + 0xc]
cwde
and eax, 0xae430b50
xor eax, dword [0x435a2c]
xor eax, 0x1f39dec8
mov dword [0x435a2c], eax
test ecx, ecx
jne 0x41897b
mov eax, dword [0x436f1c]
mov ecx, 0xaf8cb912
sub ecx, eax
xor dword [0x437818], ecx
test ebx, ebx
je 0x4191ed
mov eax, dword [0x4347b8]
xor eax, dword [0x437c94]
xor eax, 0x8a02b2d0
mov dword [0x4347b8], eax
dec dword [0x43534c]
mov eax, dword [0x43534c]
xor dword [0x4376b8], eax
cmp ebx, edi
jge 0x418e29
mov esi, edi
lea eax, [ebp - 4]
sub esi, ebx
add eax, ebx
push esi
push 0
push eax
call fcn.0041833b
add esp, 0xc
mov eax, dword [0x436024]
movzx ecx, word [0x439c78]
imul eax, eax, 0x9859dc3f
or ecx, eax
mov word [0x439c78], cx
inc dword [0x436a88]
mov eax, dword [0x436a88]
and eax, 0xffcffaff
or eax, 0x11cb28bc
cmp eax, 0x80710088
jl 0x418e10
movsx eax, word [0x43a32c]
inc word [0x43a32c]
cmp eax, 0x45e10f62
jne 0x418e06
xor dword [0x436148], 0xb4c0bc0c
jmp 0x418e10
xor dword [0x4343dc], 0xe1a8835d
cmp dword [0x4356e0], 0x82b0a0d1
jne 0x418e26
xor dword [0x436540], 0x4b87258d
dec esi
jne 0x418dae
add dword [0x436cd4], 0xa695e212
mov cl, byte [ebp - 4]
mov al, cl
and cl, 3
shr al, 2
mov byte [ebp - 8], al
mov dword [0x4341d0], 0xfc149535
movzx eax, word [0x43b0e0]
add eax, 0x3188402
shl cl, 4
mov byte [ebp - 7], cl
mov cl, byte [ebp - 3]
mov word [0x43b0e0], ax
mov al, cl
shr al, 4
and cl, 0xf
add byte [ebp - 7], al
shl cl, 2
mov dword [0x437134], 0x86470621
mov byte [ebp - 6], cl
and dword [0x437bf8], 0xcd984877
mov al, byte [ebp - 2]
shr al, 6
add byte [ebp - 6], al
imul eax, dword [0x434940], 0x52a696c3
xor eax, 0x6ace75bc
cmp eax, 0xdd2316c1
jl 0x418ebc
movsx eax, word [0x439b32]
and eax, 0xb72109b
xor dword [0x438398], eax
mov al, byte [ebp - 2]
xor esi, esi
and al, 0x3f
mov byte [ebp - 5], al
movsx eax, word [0x4391e8]
not eax
xor eax, 0x6d5ff1b2
sub dword [0x438450], eax
imul eax, dword [0x4370d0], 0x124c6da5
mov dword [0x4370d0], eax
and dword [0x436cf8], 0xbf29c5b2
test ebx, ebx
js 0x41908e
mov edi, dword [ebp - 0xc]
inc dword [0x4368b4]
mov ecx, dword [0x4368b4]
mov eax, dword [0x4347ec]
inc dword [0x4347ec]
cmp eax, ecx
je 0x418f39
inc dword [0x43846c]
mov ecx, dword [0x43846c]
movzx eax, word [0x43a038]
add eax, 0xdc0669f5
add eax, ecx
mov word [0x43a038], ax
cmp byte [ebp + 0x10], 0
je 0x418fe7
mov cl, byte [ebp + esi - 8]
cmp cl, 0x3d
jbe 0x418fe7
movsx eax, word [0x439458]
not eax
cmp eax, 0xac604f0a
je 0x418f6f
movsx eax, word [0x439bec]
shl eax, 8
mov dword [0x436814], eax
cmp cl, 0x3e
jne 0x418fa2
mov ecx, dword [ebp + 0x14]
mov eax, 0x80
mov word [0x43987a], ax
lea eax, [ebp - 0x10]
push eax
call fcn.00405502
inc dword [0x4365b0]
mov eax, dword [0x4365b0]
or eax, 0x2ff03493
mov dword [0x437b44], eax
jmp 0x418fd8
mov ecx, dword [0x438130]
movzx eax, word [0x4391f2]
not ecx
imul eax, ecx
mov ecx, dword [ebp + 0x14]
mov word [0x4391f2], ax
lea eax, [ebp - 0x14]
push eax
call fcn.00405502
movsx eax, word [0x43af5c]
add eax, 0x52d66dcd
xor dword [0x435104], eax
mov ax, word [0x43a8a0]
cwde
add dword [0x438290], eax
jmp 0x41902d
mov ecx, dword [0x435308]
movzx eax, word [0x439b8e]
sar ecx, 4
and ecx, 0x9d1ff7fa
or ecx, 0x180a53ba
xor eax, ecx
mov ecx, dword [ebp + 0x14]
mov word [0x439b8e], ax
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + edi]
push eax
call fcn.0041f71c
mov eax, dword [0x4363ac]
add eax, 0x899f251c
or dword [0x437374], eax
mov eax, dword [0x4385f8]
mov ecx, 0x90c39e37
sar eax, 7
sub ecx, eax
or ecx, 0x4e452584
cmp ecx, 0x860bdb83
jl 0x419054
or dword [0x43489c], 0xee28e7bc
movsx eax, word [0x43a43a]
inc esi
movzx ecx, word [0x43afac]
imul eax, eax, 0x22e0bb21
or ecx, eax
mov word [0x43afac], cx
inc word [0x43a43a]
and dword [0x436cf8], 0xbf29c5b2
cmp esi, ebx
jle 0x418efe
push 3
pop edi
inc dword [0x4389ec]
mov eax, dword [0x4389ec]
movsx ecx, word [0x43ad98]
or ecx, eax
dec word [0x43ad98]
cmp ecx, 0xc0484104
jl 0x4190bd
and dword [0x435e78], 0x3f5ffebd
jmp 0x4190da
mov eax, dword [0x437c78]
or eax, 0xc433c345
cmp eax, 0x99ba1b64
jne 0x4190da
dec word [0x43a186]
mov eax, dword [0x43416c]
cmp ebx, edi
jge 0x4191dd
sub edi, ebx
movzx eax, word [0x43a7a2]
or eax, 0xb1d547ad
mov word [0x43a7a2], ax
cmp dword [0x436230], 0xbee765a3
je 0x419122
mov eax, dword [0x436010]
mov ecx, dword [0x437794]
add eax, 0xfa661cfa
not ecx
and ecx, eax
sub dword [0x4383a8], ecx
dec dword [0x436010]
cmp byte [ebp + 0x10], 0
je 0x4191a6
dec dword [0x43704c]
mov edx, dword [0x43704c]
mov eax, dword [0x436b10]
movsx ecx, word [0x43a0b4]
sar eax, 2
imul ecx, eax
mov eax, dword [0x433f74]
shl eax, 0xa
and eax, ecx
cmp eax, edx
jle 0x419173
mov ecx, dword [0x4362e0]
mov eax, dword [0x434f6c]
xor ecx, 0x6b52eaa6
imul eax, ecx
mov dword [0x434f6c], eax
dec dword [0x4362e0]
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x18]
push eax
call fcn.00405502
mov ecx, dword [0x4382b0]
mov eax, dword [0x4382cc]
and ecx, 0x506c300d
dec dword [0x4382b0]
cmp eax, ecx
je 0x4191cc
xor dword [0x435910], 0x2978c2b9
jmp 0x4191cc
movzx eax, word [0x43a0a4]
mov ecx, dword [ebp + 0x14]
sub eax, 0x10ae8400
mov word [0x43a0a4], ax
push 0x3d
call fcn.0041f71c
add dword [0x435ec0], 0x783d2b14
and dword [0x434ca8], 0x10c04001
dec edi
jne 0x4190e4
mov eax, dword [0x438438]
or eax, dword [0x4365f8]
mov dword [0x4365f8], eax
mov eax, dword [0x434544]
add eax, 0x2a73f32f
xor eax, 0x1e713443
pop edi
pop esi
cmp eax, 0xbfffaf54
jge 0x419237
dec dword [0x433e48]
mov eax, dword [0x433e48]
and eax, 0xd5829706
cmp eax, 0x4d160147
jne 0x419237
movsx eax, word [0x43a360]
movsx ecx, word [0x439194]
add eax, 0xb047800a
and ecx, eax
xor dword [0x43877c], ecx
push dword [ebp - 0xc]
push 0x41
call fcn.0040a2ca
movsx eax, word [0x43931c]
and eax, 0x23800510
or eax, 0x986f5867
pop ecx
pop ecx
cmp eax, 0x80b02919
jle 0x419266
mov eax, 0xffff903f
mov word [0x43aa60], ax
push 4
xor ebx, ebx
lea eax, [ebp - 0x10]
push ebx
push eax
call fcn.0041833b
movzx eax, word [0x4393d2]
sub eax, 0x47cf4caa
mov word [0x4393d2], ax
lea eax, [ebp - 0x14]
push 4
push ebx
push eax
call fcn.0041833b
movsx eax, word [0x43ab06]
add esp, 0x18
sar eax, 1
cmp eax, 0x65b5ca46
jge 0x4192c8
movsx eax, word [0x43b058]
mov ecx, dword [0x435a88]
imul eax, eax, 0x2d8b41e3
add ecx, eax
neg ecx
or dword [0x43480c], ecx
dec dword [0x435a88]
push 4
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.0041833b
mov eax, dword [0x4348e0]
add esp, 0xc
sub eax, 0x1099a84e
and eax, 0x6fcfa020
pop ebx
cmp eax, 0xee40ec3d
je 0x419309
mov ecx, dword [0x4386c8]
mov eax, dword [0x433df8]
not ecx
or ecx, 0x7ec7b80d
imul eax, ecx
mov dword [0x433df8], eax
mov esp, ebp
pop ebp
ret