Function at 0x424050
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
movzx eax, word [0x44af9c]
sub esp, 0x1c
add eax, 0x78f6c12
mov word [0x44af9c], ax
mov ecx, dword [0x4461e0]
mov eax, dword [0x437340]
sar ecx, 3
add eax, eax
xor eax, ecx
cmp eax, 0x474d8b34
jg 0x42408d
add dword [0x440ef0], 0x61aab90c
jmp 0x42409f
movsx eax, word [0x44944e]
and eax, 0xdf099f99
xor dword [0x43e060], eax
mov eax, dword [0x438cc0]
add eax, 0xca1e36ef
and dword [0x439ab0], eax
movsx eax, word [0x44e5a8]
cmp eax, 0x396a0499
je 0x4240dd
movsx eax, word [0x44c69e]
cmp eax, 0xe974c381
jg 0x4240dd
movzx eax, word [0x447e26]
or eax, 0x82981983
mov word [0x447e26], ax
dec dword [0x4373d8]
mov eax, dword [0x4373d8]
movzx ecx, word [0x44acf8]
imul ecx, eax
push ebx
push esi
push edi
push 0x41
mov word [0x44acf8], cx
imul eax, dword [0x43f3e4], 0xbb7f9ebb
push 0xab7
mov dword [ebp - 0xc], 0
mov dword [0x43f3e4], eax
call fcn.0041f620
dec word [0x449546]
movzx ecx, word [0x449546]
movsx ecx, cx
or ecx, dword [0x4442b0]
or ecx, 0x606112a6
mov dword [ebp - 0x10], eax
add dword [0x443454], ecx
push 4
push 0x1d0c
call fcn.0041f620
mov ecx, dword [0x447274]
mov esi, eax
add ecx, dword [0x438964]
lea eax, [ebp - 0x14]
push esi
mov dword [0x438964], ecx
push eax
call fcn.0040ad20
add dword [0x439f14], 0x49386e70
push 4
push 0x1034
call fcn.0041f620
xor dword [0x443b74], 0x189a75e2
mov edi, eax
push esi
push 4
call fcn.0042b810
lea eax, [ebp - 0x18]
mov dword [0x44765c], 0xce3dba5c
push edi
push eax
call fcn.0040ad20
mov eax, dword [0x444d44]
imul eax, eax, 0xe65a91bb
push 4
push 0x1017
and dword [0x443fa8], eax
call fcn.0041f620
mov esi, eax
mov eax, 0x1280
push edi
mov word [0x44d9d6], ax
push 4
call fcn.0042b810
and dword [0x44371c], 0xbf972fdd
lea eax, [ebp - 0x1c]
add esp, 0x40
push esi
push eax
call fcn.0040ad20
movzx eax, word [0x44dd20]
imul eax, eax, 0x80880115
push esi
push 4
mov word [0x44dd20], ax
call fcn.0042b810
dec dword [0x446f94]
mov ecx, 0x97f2d34e
mov eax, dword [0x446f94]
add esp, 0x10
sub ecx, eax
cmp ecx, 0xedbd8cd6
jl 0x42424c
mov ecx, dword [0x43bea8]
mov eax, dword [0x435910]
add ecx, 0x31a3f492
or ecx, 0xa64b07d3
imul eax, ecx
mov dword [0x435910], eax
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
test ecx, ecx
je 0x4246ba
mov edi, dword [ebp - 0x10]
xor edx, edx
mov esi, dword [ebp + 8]
mov eax, dword [0x438f34]
dec ecx
sar eax, 3
or dword [0x4365f4], eax
inc dword [0x439d44]
mov eax, dword [0x439d44]
xor eax, 0x958701b1
mov dword [ebp + 0xc], ecx
imul eax, dword [0x43a4cc]
mov dword [0x43a4cc], eax
mov al, byte [esi]
mov byte [ebp + edx - 4], al
mov eax, dword [0x446b2c]
sub eax, dword [0x443e04]
and eax, 0xfbbecc2c
cmp eax, 0xbf2f4a2c
je 0x4242ee
dec dword [0x4440f8]
mov ecx, dword [0x4440f8]
mov eax, dword [0x440418]
add ecx, eax
mov eax, dword [0x445448]
inc dword [0x440418]
cmp eax, ecx
jne 0x424304
dec dword [0x437818]
mov eax, dword [0x437818]
mov ecx, dword [0x43a184]
shl ecx, 4
imul ecx, eax
sub dword [0x43c560], ecx
jmp 0x424304
mov eax, dword [0x4371b4]
add eax, 0xd51adaf4
and dword [0x43c584], eax
inc dword [0x4371b4]
mov eax, dword [0x43a334]
inc edx
movzx ecx, word [0x44c542]
inc esi
imul eax, eax, 0xce546ef4
mov dword [ebp + 8], esi
xor ecx, eax
mov word [0x44c542], cx
movzx eax, word [0x44b7be]
add eax, 0xc80095
mov word [0x44b7be], ax
cmp edx, 3
jne 0x424691
mov eax, dword [0x440cec]
mov ecx, dword [0x43d1e8]
dec dword [0x440cec]
dec dword [0x43d1e8]
imul eax, eax, 0xf1b700f6
and ecx, eax
cmp ecx, 0xed160fbc
jge 0x42437b
mov eax, dword [0x43fd5c]
sub eax, 0xbfd42ab
xor eax, 0xf5db90d2
add dword [0x446b04], eax
movzx eax, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
or dword [0x4413c8], 0x3d66a3b6
movzx eax, byte [ebp - 4]
and al, 3
shl al, 4
mov byte [ebp - 7], al
add dword [0x43e928], 0x68108c72
movzx eax, byte [ebp - 3]
mov ecx, dword [0x43d248]
shr al, 4
and ecx, 0xff103c26
add byte [ebp - 7], al
mov eax, dword [0x43b4c8]
shl ecx, 6
sar eax, 9
and eax, ecx
cmp eax, 0x61fffeec
je 0x4243db
add dword [0x4378e4], 0x614fe09e
jmp 0x424428
mov eax, dword [0x442ec4]
mov edx, 0xa4bf0534
not eax
imul eax, eax, 0x2df1b44e
sub edx, eax
mov eax, dword [0x446f80]
movsx ecx, word [0x44a554]
inc word [0x44a554]
imul eax, eax, 0x732fd799
add ecx, eax
cmp edx, ecx
jl 0x424428
dec word [0x44b5c8]
mov ax, word [0x44b5c8]
cwde
imul eax, dword [0x43c5c0]
mov dword [0x43c5c0], eax
movzx eax, byte [ebp - 3]
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
imul eax, dword [0x44410c], 0x4e79b8a6
mov dword [0x44410c], eax
movzx eax, byte [ebp - 2]
movsx ecx, word [0x44835a]
shr al, 6
not ecx
add byte [ebp - 6], al
mov eax, dword [0x441858]
imul eax, ecx
add eax, 0x7b7fc801
cmp eax, 0x8271108
jle 0x424487
imul eax, dword [0x440574], 0x7b1a7b7b
mov ecx, 0xbe002185
sub ecx, eax
or dword [0x438644], ecx
inc dword [0x440574]
mov al, byte [ebp - 2]
xor esi, esi
and al, 0x3f
mov byte [ebp - 5], al
dec dword [0x438d14]
mov eax, dword [0x438d14]
movzx ecx, word [0x44beba]
xor ecx, eax
mov word [0x44beba], cx
mov eax, dword [0x435a44]
movzx ecx, word [0x45030a]
add eax, 0x41f27adf
xor ecx, eax
mov word [0x45030a], cx
jmp 0x4244d0
cmp byte [ebp + 0x10], 0
mov dword [0x438cd0], 0xf16ffeda
je 0x4245be
mov dl, byte [ebp + esi - 8]
cmp dl, 0x3d
jbe 0x4245be
dec dword [0x443f38]
mov eax, dword [0x443f38]
and eax, 0x5ac23f02
cmp eax, 0xba032d99
jg 0x424514
mov dword [0x43555c], 0xcbfd29ef
jmp 0x424546
mov eax, dword [0x435c8c]
and eax, 0x7fffffff
cmp eax, 0x5b686ffe
jne 0x424546
movsx eax, word [0x44f526]
mov ecx, dword [0x4430d4]
imul eax, eax, 0xfec910ac
and ecx, eax
and ecx, 0x7a82271
mov dword [0x4430d4], ecx
mov ecx, ebx
cmp dl, 0x3e
jne 0x42456c
lea eax, [ebp - 0x14]
mov dword [0x447480], 0x70ea692c
push eax
call fcn.00402d30
or dword [0x4413a8], 0xb40c192c
jmp 0x4245a9
mov eax, dword [0x442a64]
xor eax, 0xe478df68
or dword [0x445b10], eax
lea eax, [ebp - 0x18]
dec dword [0x442a64]
push eax
call fcn.00402d30
mov eax, dword [0x43de7c]
sar eax, 4
xor eax, 0xacc90d39
cmp eax, 0x88410a0
je 0x4245a9
and dword [0x446b88], 0x2ce97375
movzx eax, word [0x44c7a0]
imul eax, eax, 0x183616de
mov word [0x44c7a0], ax
jmp 0x4245f0
movzx eax, word [0x44e182]
mov ecx, ebx
or eax, 0x4e1dfd6b
mov word [0x44e182], ax
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + edi]
push eax
call fcn.0041e280
imul eax, dword [0x4419b8], 0x40100860
mov dword [0x4419b8], eax
movsx eax, word [0x44c27e]
add eax, eax
cmp eax, 0xbee64773
jne 0x42460a
xor dword [0x43c688], 0xb7f9befd
or dword [0x438d1c], 0x7e6eeb13
inc esi
cmp esi, 4
jne 0x4244d0
movzx eax, word [0x44b8a8]
xor edx, edx
mov esi, dword [ebp + 8]
add eax, 0x468ed215
mov word [0x44b8a8], ax
mov eax, dword [0x4431a4]
and eax, 0x6b25b160
cmp eax, 0xfdc07e32
jl 0x42466a
mov eax, dword [0x439298]
xor eax, 0xa1940
cmp eax, 0xfea7fde9
je 0x42465e
mov eax, dword [0x43b0ec]
jmp 0x424691
and dword [0x436a48], 0xaefe7ff8
jmp 0x424691
mov ax, word [0x44b39e]
mov ecx, dword [0x43e5bc]
inc dword [0x43e5bc]
cwde
add ecx, eax
cmp ecx, 0xb7da2f6e
jl 0x424691
mov dword [0x438aec], 0x7629d5b3
movsx eax, word [0x44ace2]
mov ecx, 0x89bf09b3
sub ecx, eax
xor dword [0x436f30], ecx
inc word [0x44ace2]
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jne 0x424262
mov dword [ebp - 0xc], edx
mov eax, dword [0x43ab9c]
not eax
or eax, 0xeeface0e
cmp eax, 0x18501a63
jl 0x4246e8
mov eax, dword [0x44365c]
movzx ecx, word [0x44f404]
imul eax, eax, 0x646771f4
sub ecx, eax
mov word [0x44f404], cx
mov esi, dword [ebp - 0xc]
test esi, esi
je 0x424b92
and dword [0x4389e4], 0x6f11a0dd
mov eax, dword [0x441f60]
sar eax, 0xa
and dword [0x4461b8], eax
cmp esi, 3
jge 0x424783
mov ebx, 3
lea edi, [ebp - 4]
sub ebx, esi
add edi, esi
mov ecx, ebx
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
mov edx, 0xffffa966
and ecx, 3
rep stosb byte es:[edi], al
movzx eax, word [0x44f9b4]
imul eax, eax, 0x52e078cf
mov word [0x44f9b4], ax
movsx eax, word [0x44e220]
xor eax, 0x45a947d5
cmp eax, 0x7a373838
jg 0x424760
mov word [0x4504ea], dx
imul ecx, dword [0x4401d0], 0x9d50c13
mov eax, dword [0x446034]
xor ecx, 0x5bbc443b
imul eax, ecx
mov dword [0x446034], eax
dec ebx
jne 0x424733
mov ebx, dword [ebp + 0x14]
imul ecx, dword [0x4436b8], 0xc9dec8dd
mov eax, dword [0x440640]
dec dword [0x440640]
sub eax, 0x7e65ff3c
and ecx, 0xb1279b67
cmp eax, ecx
jge 0x4247b6
imul eax, dword [0x436f18], 0x9d707afa
mov dword [0x436f18], eax
mov al, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
mov eax, dword [0x43562c]
mov ecx, dword [0x4441d8]
dec dword [0x43562c]
imul eax, eax, 0xb7fedb4c
xor ecx, eax
cmp ecx, 0x69590a89
jl 0x4247ec
mov dword [0x44434c], 0xf7321617
jmp 0x42480d
movsx ecx, word [0x449784]
mov eax, dword [0x447378]
or ecx, 0xe29d2469
imul eax, ecx
mov dword [0x447378], eax
inc word [0x449784]
movzx eax, byte [ebp - 4]
and al, 3
shl al, 4
mov byte [ebp - 7], al
movzx eax, word [0x44aeb0]
and eax, 0xafc469d6
mov word [0x44aeb0], ax
movzx eax, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
mov eax, dword [0x442a70]
inc dword [0x442a70]
cmp eax, 0x72c7aaf6
jle 0x424851
or dword [0x436060], 0x100a2
movzx eax, byte [ebp - 3]
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
or dword [0x436fc0], 0x1c071a03
movzx eax, byte [ebp - 2]
shr al, 6
add byte [ebp - 6], al
cmp dword [0x43f940], 0x69939cb1
jg 0x42489a
mov ax, word [0x44eea0]
movsx ecx, ax
mov eax, dword [0x43935c]
sub ecx, eax
add ecx, 0x28a78791
mov word [0x44eea0], cx
mov al, byte [ebp - 2]
xor edi, edi
and al, 0x3f
mov byte [ebp - 5], al
mov eax, dword [0x437a64]
and eax, 0x890b703a
mov dword [0x4465c0], eax
mov ecx, dword [0x441620]
movzx eax, word [0x44d860]
not ecx
imul eax, ecx
mov word [0x44d860], ax
imul eax, dword [0x43ae4c], 0xf2e6a47b
mov dword [0x43ae4c], eax
test esi, esi
js 0x424a62
jmp 0x4248f0
mov eax, dword [0x440c78]
and eax, dword [0x43ff88]
and eax, 0xcf7e17da
cmp byte [ebp + 0x10], 0
mov dword [0x43ff88], eax
je 0x4249e2
mov al, byte [ebp + edi - 8]
cmp al, 0x3d
jbe 0x4249e2
add dword [0x43c25c], 0x10012e36
mov ecx, ebx
cmp al, 0x3e
jne 0x424972
mov eax, dword [0x43f740]
add eax, dword [0x43d58c]
mov dword [0x43d58c], eax
lea eax, [ebp - 0x14]
push eax
call fcn.00402d30
imul eax, dword [0x43e630], 0xfa8fec00
and eax, 0x1e606938
cmp eax, 0xad8ce142
jne 0x4249ae
cmp dword [0x4417b8], 0x14227e2c
jl 0x4249ae
mov eax, dword [0x437c2c]
mov eax, dword [0x436dd0]
jmp 0x4249ae
movzx eax, word [0x44ceb8]
imul eax, eax, 0xa8fff7f7
mov word [0x44ceb8], ax
lea eax, [ebp - 0x18]
push eax
call fcn.00402d30
dec dword [0x442744]
mov ecx, dword [0x442744]
movzx eax, word [0x44e7d8]
add eax, 0xa9569c1b
add eax, ecx
mov word [0x44e7d8], ax
mov eax, dword [0x43c5d8]
xor eax, 0xf873ffef
or eax, 0x6043bfef
cmp eax, 0xbabdd838
jne 0x424a12
movsx ecx, word [0x44b8fa]
movzx eax, word [0x44c6d8]
xor ecx, 0x4d4031da
sub eax, ecx
mov word [0x44c6d8], ax
jmp 0x424a12
or dword [0x4467f8], 0xd0a1fb5d
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ebp + edi - 8]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.0041e280
movzx eax, word [0x44e26e]
xor eax, 0xff566cb5
mov word [0x44e26e], ax
mov eax, dword [0x438948]
mov ecx, 0x82d0af5a
sub ecx, eax
inc edi
add dword [0x444634], ecx
movsx eax, word [0x44cf14]
mov ecx, dword [0x43a934]
shl eax, 6
xor eax, 0x4ad90f7f
or ecx, eax
movzx eax, word [0x449e82]
xor eax, ecx
mov word [0x449e82], ax
imul eax, dword [0x43ae4c], 0xf2e6a47b
mov dword [0x43ae4c], eax
cmp edi, esi
jle 0x4248f0
mov eax, dword [0x445b24]
sub eax, 0x4616870a
cmp eax, 0x1c810004
jne 0x424aab
inc dword [0x439528]
mov eax, dword [0x439528]
movsx ecx, word [0x44b8f6]
sub ecx, eax
cmp ecx, 0x42bf296e
jg 0x424ab5
mov ecx, dword [0x439e94]
mov eax, dword [0x436514]
sar ecx, 8
and eax, ecx
and eax, 0xbd3bd6c0
mov dword [0x436514], eax
jmp 0x424ab5
and dword [0x438648], 0x422fb2a3
cmp esi, 3
jge 0x424b77
mov edi, 3
sub edi, esi
jmp 0x424ad0
movzx eax, word [0x44e42c]
xor eax, 0x5954f765
mov word [0x44e42c], ax
movzx eax, word [0x450988]
add eax, 0x539dda39
cmp byte [ebp + 0x10], 0
mov word [0x450988], ax
je 0x424b2a
mov ecx, dword [0x442f44]
mov eax, dword [0x43a094]
or ecx, 0xc70cd815
imul eax, ecx
mov ecx, ebx
mov dword [0x43a094], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00402d30
xor dword [0x43b57c], 0xee18235a
jmp 0x424b4c
imul eax, dword [0x43c0c4], 0xeefbfdde
mov ecx, ebx
push 0x3d
mov dword [0x43c0c4], eax
call fcn.0041e280
mov dword [0x435f2c], 0x570d02f2
movsx eax, word [0x44c1c0]
inc word [0x44c1c0]
cmp eax, 0x4c56139
je 0x424b70
mov eax, dword [0x444ce0]
sub eax, 0x5ccb0d5c
mov dword [0x435304], eax
dec edi
jne 0x424ad0
imul eax, dword [0x442814], 0x9ede9000
cmp eax, 0xf139725f
jle 0x424b92
or dword [0x440aa0], 0x366f1292
mov ecx, dword [0x43f720]
movzx eax, word [0x44886c]
not ecx
push dword [ebp - 0x10]
xor eax, ecx
mov word [0x44886c], ax
push 0x41
call fcn.0042b810
mov eax, dword [0x43f020]
or eax, 0xdb5b4327
xor dword [0x441114], eax
lea eax, [ebp - 0x14]
push 4
push 0
push eax
call fcn.00429b20
mov eax, dword [0x444dd4]
imul ecx, eax, 0x529ec522
mov eax, dword [0x43af6c]
push 4
push 0
sub ecx, eax
lea eax, [ebp - 0x18]
mov dword [0x439744], ecx
dec dword [0x444dd4]
push eax
call fcn.00429b20
and dword [0x441ef8], 0xa1fec248
lea eax, [ebp - 0x1c]
push 4
push 0
push eax
call fcn.00429b20
mov eax, dword [0x43eec8]
add esp, 0x2c
xor eax, 0xab855124
sub dword [0x4429dc], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret