Function at 0x424240
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [0x43f990]
sub esp, 0x1c
mov eax, dword [0x4450a0]
and ecx, 0x3252c91
shl ecx, 5
imul eax, ecx
mov dword [0x4450a0], eax
movzx eax, word [0x4527fa]
sub eax, 0x754213f2
mov word [0x4527fa], ax
inc dword [0x436be4]
mov eax, dword [0x436be4]
add eax, 0x943b556a
mov dword [0x438b54], eax
dec word [0x457362]
movzx eax, word [0x457362]
cwde
sub eax, 0x6086511b
cmp eax, 0xdc5fbedd
jl 0x4242b0
or dword [0x439f24], 0xb5c3227e
jmp 0x4242c2
movzx eax, word [0x456190]
or eax, 0x87f2ae1d
mov word [0x456190], ax
mov eax, 0x10
mov dword [ebp - 0xc], 0
mov word [0x44fff0], ax
movsx eax, word [0x452e52]
not eax
and eax, 0x768d2b9b
cmp eax, 0x4bb31feb
jge 0x4242fd
movzx eax, word [0x451350]
xor eax, 0x6670f4ee
mov word [0x451350], ax
jmp 0x424307
add dword [0x44c8fc], 0x4888d437
push ebx
push esi
push edi
push 0x41
push 0xe9d
call fcn.004270f0
add dword [0x439364], 0x113bb453
push 4
push 0x2e8f
mov dword [ebp - 0x10], eax
call fcn.004270f0
movzx ecx, word [0x4511da]
mov esi, eax
lea eax, [ebp - 0x14]
xor ecx, 0x60a3b044
push esi
mov word [0x4511da], cx
push eax
call fcn.00405690
mov ecx, dword [0x440388]
add esp, 0x18
xor ecx, 0x532801
or ecx, 0xff0843de
cmp ecx, 0xb93f6a6a
jge 0x42437f
movsx eax, word [0x4555fe]
add eax, 0x412dc5e0
mov dword [0x44c0c0], eax
jmp 0x424391
movzx eax, word [0x456cfa]
or eax, 0x91300400
mov word [0x456cfa], ax
push 4
push 0x33f5
call fcn.004270f0
movsx ecx, word [0x453f8c]
mov edi, eax
movzx edx, word [0x4521fe]
add ecx, 0x9d9c3b33
xor edx, ecx
xor edx, 0x95355e01
push esi
mov word [0x4521fe], dx
push 4
call fcn.004077b0
lea eax, [ebp - 0x18]
mov dword [0x44a548], 0xbc9827bc
push edi
push eax
call fcn.00405690
xor dword [0x435f20], 0x276bcf80
push 4
push 0x3ca8
call fcn.004270f0
movzx ecx, word [0x44e646]
mov esi, eax
add ecx, 0x2fbf5c31
push edi
mov word [0x44e646], cx
push 4
call fcn.004077b0
movzx ecx, word [0x452d90]
movzx eax, word [0x44f266]
add eax, 0xf54780e1
movsx ecx, cx
add eax, ecx
mov word [0x44f266], ax
lea eax, [ebp - 0x1c]
push esi
push eax
call fcn.00405690
mov eax, dword [0x43fe20]
sar eax, 9
imul eax, eax, 0xb20b5d2e
push esi
push 4
or dword [0x44a7b0], eax
call fcn.004077b0
mov eax, dword [0x448404]
add esp, 0x38
sub eax, 0x2e54f446
xor eax, 0x258412a8
cmp eax, 0xd67daf13
je 0x4244c6
mov eax, dword [0x4368c0]
lea ecx, [eax*2 - 0x2207bf67]
mov eax, dword [0x441070]
not eax
xor ecx, 0x508f9035
add eax, 0x352324e3
cmp eax, ecx
je 0x4244a9
mov eax, dword [0x44a10c]
add eax, 0x24635942
mov word [0x454ef2], ax
dec dword [0x44a10c]
jmp 0x4244c6
inc dword [0x44a490]
mov eax, dword [0x44a490]
imul ecx, dword [0x435088], 0x87377640
or ecx, eax
mov dword [0x448628], ecx
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
test edx, edx
je 0x4248f8
mov edi, dword [ebp - 0x10]
xor esi, esi
lea esp, [esp]
inc dword [0x448e48]
dec edx
mov ecx, dword [0x448e48]
mov eax, dword [0x4473d8]
sub ecx, eax
mov dword [ebp + 0xc], edx
lea eax, [ecx + 0x71fe9b2d]
mov ecx, 0xf5df30b
and dword [0x44aedc], eax
inc dword [0x4473d8]
imul eax, dword [0x44d53c], 0x2081e8c0
mov dword [0x44d53c], eax
mov eax, dword [ebp + 8]
mov al, byte [eax]
mov byte [ebp + esi - 4], al
dec dword [0x43fb4c]
mov edx, dword [0x43fb4c]
mov eax, dword [0x44d668]
sar eax, 8
sub ecx, eax
movsx eax, word [0x44fabc]
add eax, 0x430e429b
and eax, edx
cmp eax, ecx
je 0x424584
movsx ecx, word [0x455714]
mov eax, dword [0x44b55c]
sar ecx, 6
sar eax, 9
imul eax, ecx
cmp eax, 0xe229fe53
jle 0x424595
mov eax, dword [0x438c98]
sar eax, 7
and eax, 0x329004b4
xor eax, 0x47e0b9c
sub dword [0x44d210], eax
jmp 0x424595
cmp dword [0x44ab80], 0x259bec66
je 0x424595
mov eax, dword [0x436c64]
and dword [0x440168], 0x94c295f0
inc esi
inc dword [ebp + 8]
add dword [0x4366f4], 0x5ad0e487
cmp esi, 3
jne 0x4248bf
mov eax, dword [0x444868]
not eax
cmp eax, 0x1d183710
jne 0x4245d6
mov eax, dword [0x446ab0]
mov ecx, 0x919adea7
sub ecx, eax
mov dword [0x441dac], ecx
mov al, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
movsx eax, word [0x457bea]
not eax
sub eax, 0x3a93e630
or eax, 0x3b295e3
cmp eax, 0x100f292
jl 0x42460b
movsx eax, word [0x44f1e0]
add eax, 0xb4ea007d
and dword [0x442118], eax
movzx eax, byte [ebp - 4]
xor esi, esi
and al, 3
shl al, 4
mov byte [ebp - 7], al
movzx eax, word [0x452384]
xor eax, 0xffa47100
mov word [0x452384], ax
movzx eax, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
movzx eax, word [0x453866]
cwde
sub dword [0x448b08], eax
inc word [0x453866]
movzx eax, byte [ebp - 3]
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
movzx eax, word [0x44e248]
mov cl, byte [ebp - 2]
sub eax, 0x445fc528
mov word [0x44e248], ax
mov al, cl
shr al, 6
and cl, 0x3f
add byte [ebp - 6], al
mov dword [0x4435dc], 0xf0f9bf59
imul eax, dword [0x43f284], 0x4adc9e72
mov byte [ebp - 5], cl
mov dword [0x43f284], eax
movsx eax, word [0x456c66]
not eax
sub eax, 0x520a3ee8
or eax, 0x726f48a3
xor dword [0x437f20], eax
jmp 0x4246b0
add dword [0x43f7b8], 0x38985f8
cmp byte [ebp + 0x10], 0
je 0x4247a2
mov cl, byte [ebp + esi - 8]
cmp cl, 0x3d
jbe 0x4247a2
mov eax, dword [0x440478]
not eax
or eax, 0x177d940f
cmp eax, 0xd22a754b
jl 0x4246ee
and dword [0x4417ac], 0xa86b8f74
cmp cl, 0x3e
mov ecx, ebx
jne 0x424719
xor dword [0x43f094], 0x89fa69e2
lea eax, [ebp - 0x14]
push eax
call fcn.0041a980
imul eax, dword [0x436918], 0xccca42fd
mov dword [0x436918], eax
jmp 0x424747
movzx eax, word [0x451626]
imul eax, eax, 0x5a60917
mov word [0x451626], ax
lea eax, [ebp - 0x18]
push eax
call fcn.0041a980
movzx eax, word [0x4540ea]
or eax, 0x80010a50
mov word [0x4540ea], ax
movsx eax, word [0x44fd02]
cmp eax, 0xe4047c5
jl 0x424822
movsx eax, word [0x453c48]
mov edx, dword [0x441fa4]
movsx ecx, word [0x44dcaa]
sar eax, 7
shl edx, 3
imul edx, eax
mov eax, dword [0x439040]
sub eax, 0x7f037654
imul ecx, edx
cmp eax, ecx
jl 0x424822
movzx eax, word [0x455016]
sub eax, 0x60090101
mov word [0x455016], ax
jmp 0x424822
dec dword [0x43c678]
mov ecx, dword [0x43c678]
mov eax, dword [0x449638]
and ecx, 0xbdedda62
sub eax, 0x7179fec7
cmp eax, ecx
jl 0x4247d5
movzx eax, word [0x4510b8]
imul eax, eax, 0x4db3563d
mov word [0x4510b8], ax
movzx eax, byte [ebp + esi - 8]
mov ecx, ebx
movzx eax, byte [eax + edi]
push eax
call fcn.00421cb0
inc dword [0x43ad48]
mov eax, dword [0x43ad48]
and eax, 0x905a333f
xor eax, dword [0x44a2dc]
cmp eax, 0x45c3c768
jle 0x424818
movzx eax, word [0x45143e]
imul eax, eax, 0xd03316b7
mov word [0x45143e], ax
jmp 0x424822
and dword [0x439200], 0x3540202
movzx eax, word [0x450afc]
inc esi
add eax, 0x354bbca7
mov word [0x450afc], ax
mov eax, dword [0x440174]
add eax, 0x67093dc8
mov dword [0x44ae1c], eax
dec dword [0x440174]
cmp esi, 4
jne 0x4246b0
movsx eax, word [0x455424]
xor esi, esi
imul ecx, eax, 0xbca6ac0d
movzx eax, word [0x457154]
or ecx, 0x4a3b8d0d
sub eax, ecx
mov word [0x457154], ax
dec dword [0x441808]
mov eax, dword [0x441808]
mov ecx, dword [0x4478d8]
imul ecx, eax
imul eax, dword [0x439434], 0x91e658f3
and ecx, 0x9278801b
and eax, 0x89478d7e
cmp eax, ecx
je 0x4248b0
mov dword [0x43eea4], 0x7b914e2e
jmp 0x4248bf
imul eax, dword [0x43c47c], 0x9cdb38ef
mov dword [0x43c47c], eax
mov ecx, dword [0x4459c0]
mov eax, dword [0x437d38]
or ecx, 0x7c249a3c
dec dword [0x4459c0]
dec dword [0x437d38]
cmp eax, ecx
je 0x4248ea
add dword [0x4350b8], 0x577effdf
mov edx, dword [ebp + 0xc]
test edx, edx
jne 0x4244e0
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0xc]
mov dword [0x437fec], 0x57a7eb57
test esi, esi
je 0x424ca4
movzx eax, word [0x456816]
and eax, 0xc695efb
mov word [0x456816], ax
mov eax, 0x1357
mov word [0x451188], ax
cmp esi, 3
jge 0x424986
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
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ecx]
mov dword [0x43f980], 0xa80c8508
movsx eax, word [0x454502]
cmp eax, 0x24218c82
jne 0x424972
mov dword [0x439ec8], 0xdfdd9bef
movsx eax, word [0x458b2c]
not eax
mov dword [0x43b944], eax
dec ebx
jne 0x424950
mov ebx, dword [ebp + 0x14]
mov eax, dword [0x4436f4]
xor edi, edi
and eax, 0x49cab08
mov dword [0x438628], eax
movzx eax, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
and dword [0x44ced8], 0xf77917cc
movzx eax, byte [ebp - 4]
and al, 3
shl al, 4
mov byte [ebp - 7], al
imul eax, dword [0x447cf8], 0xbf99f9ef
mov dword [0x447cf8], eax
movzx eax, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
movzx eax, word [0x45434e]
add eax, 0x7fe006df
mov word [0x45434e], ax
movzx eax, byte [ebp - 3]
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
mov eax, dword [0x43ccd8]
movzx ecx, word [0x4544a4]
sar eax, 0xa
add eax, 0x127f0bef
and ecx, eax
movzx eax, byte [ebp - 2]
shr al, 6
add byte [ebp - 6], al
mov word [0x4544a4], cx
add dword [0x4381dc], 0x9efb595f
movzx eax, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
xor dword [0x443340], 0xbb5da37f
and dword [0x43eba8], 0x5458a9be
imul eax, dword [0x438760], 0x3284337
mov dword [0x438760], eax
test esi, esi
js 0x424c08
cmp dword [0x4498a0], 0xfdf66744
jge 0x424a7b
mov ax, word [0x45591e]
mov ecx, dword [0x43778c]
cwde
or ecx, eax
mov word [0x45591e], cx
inc dword [0x43778c]
cmp byte [ebp + 0x10], 0
je 0x424b2b
mov cl, byte [ebp + edi - 8]
cmp cl, 0x3d
jbe 0x424b2b
dec dword [0x436c5c]
mov eax, dword [0x436c5c]
and eax, 0x254502e2
xor eax, dword [0x44d188]
cmp cl, 0x3e
mov dword [0x44d188], eax
mov ecx, ebx
jne 0x424ad8
xor dword [0x446c1c], 0x1e01336d
lea eax, [ebp - 0x14]
push eax
call fcn.0041a980
imul eax, dword [0x447824], 0xf6b8b292
mov dword [0x447824], eax
jmp 0x424afd
movzx eax, word [0x452c84]
xor eax, 0xdb698988
mov word [0x452c84], ax
lea eax, [ebp - 0x18]
push eax
call fcn.0041a980
add dword [0x43ee98], 0xd35bfb80
movsx ecx, word [0x454c76]
movzx eax, word [0x455a08]
xor ecx, 0x41001000
or ecx, 0x3e5aebfc
sub eax, ecx
mov word [0x455a08], ax
dec word [0x454c76]
jmp 0x424bb3
mov eax, dword [0x4489d8]
dec dword [0x4489d8]
or eax, 0x86c1352
cmp eax, 0xabff48fe
je 0x424b8b
mov eax, dword [0x4402c8]
mov ecx, 0x22e02a2c
mov edx, dword [0x43a5d4]
sub ecx, eax
movsx eax, word [0x456460]
and edx, ecx
inc dword [0x4402c8]
and eax, 0x23bc36ea
cmp eax, edx
jge 0x424b95
movsx eax, word [0x452d5a]
movzx ecx, word [0x44efd0]
imul eax, eax, 0x3d18e33
sub ecx, eax
mov word [0x44efd0], cx
jmp 0x424b95
mov dword [0x439568], 0xf601aca1
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ebp + edi - 8]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.00421cb0
mov dword [0x437b2c], 0x4dbfab07
dec dword [0x43e4d8]
mov eax, dword [0x43e4d8]
imul ecx, dword [0x44842c], 0x832018da
and ecx, eax
cmp ecx, 0xe2ecb83f
je 0x424be1
imul eax, dword [0x443904], 0x643be113
mov dword [0x443904], eax
imul eax, dword [0x4481e8], 0x2734ba99
inc edi
mov dword [0x4481e8], eax
imul eax, dword [0x438760], 0x3284337
mov dword [0x438760], eax
cmp edi, esi
jle 0x424a53
mov dword [0x449c00], 0x2c26ae7a
cmp esi, 3
jge 0x424c99
mov edi, 3
sub edi, esi
xor dword [0x448910], 0x95e4c9ac
mov ecx, ebx
and dword [0x440620], 0xe1cf1519
cmp byte [ebp + 0x10], 0
je 0x424c63
mov eax, dword [0x443640]
xor eax, 0x78de38c6
and dword [0x43f874], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0041a980
or dword [0x435f8c], 0x11400901
jmp 0x424c86
xor dword [0x435170], 0x6820e443
push 0x3d
call fcn.00421cb0
mov eax, dword [0x44aae0]
mov ecx, 0x1f8474d2
sub ecx, eax
add dword [0x43b264], ecx
mov eax, dword [0x444130]
or eax, dword [0x43ad4c]
mov dword [0x43ad4c], eax
dec edi
jne 0x424c22
mov eax, 0xfffff3bd
mov word [0x452794], ax
push dword [ebp - 0x10]
and dword [0x44652c], 0x34b0c83a
push 0x41
call fcn.004077b0
and dword [0x4366fc], 0xb8f6b58
lea eax, [ebp - 0x14]
push 4
push 0
push eax
call fcn.0041f5c0
push 4
lea eax, [ebp - 0x18]
mov dword [0x442824], 0xe8e7f48c
push 0
push eax
call fcn.0041f5c0
mov eax, dword [0x43e5c0]
push 4
push 0
lea eax, [eax*4 + 0x37181e6b]
and dword [0x44c114], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0041f5c0
mov eax, dword [0x435188]
add esp, 0x2c
shl eax, 7
or eax, 0x75715f60
add dword [0x4445ec], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret