Function at 0x42b96f
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x4502b0]
sub esp, 0x18
or eax, 0xf41facbd
mov dword [0x445a2c], eax
dec dword [0x4502b0]
push 0x54
mov dword [0x44a9f8], 0xfbffbf3f
pop eax
mov word [0x4361f6], ax
dec dword [0x44e694]
mov eax, dword [0x44e694]
cmp eax, 0xb78842f7
jle 0x42b9d5
dec dword [0x443c20]
mov eax, dword [0x443c20]
cmp eax, 0xc6bc6977
je 0x42b9d5
movsx eax, word [0x4385ca]
shl eax, 5
sub eax, 0x2bdaea53
mov dword [0x4430a4], eax
mov ax, word [0x43cc32]
mov ecx, dword [0x43f4e8]
cwde
add ecx, eax
push ebx
push edi
mov word [0x43cc32], cx
xor edi, edi
mov eax, dword [0x44cadc]
sar eax, 8
xor dword [0x4483e8], eax
push 0x41
push 0x1fc6
call fcn.0040b9c8
mov ecx, dword [0x44d940]
xor ecx, 0xf9fd2487
mov dword [ebp - 0xc], eax
or dword [0x43ef90], ecx
push 4
push 0x227
call fcn.0040b9c8
or dword [0x440420], 0xfc3e30e7
mov ebx, eax
lea eax, [ebp - 0x10]
push ebx
push eax
call fcn.0040823f
add esp, 0x18
inc dword [0x442334]
mov ecx, dword [0x442334]
movsx edx, word [0x43ba52]
mov eax, dword [0x446470]
add edx, 0x3ca639f2
and edx, 0x5c97ec1c
and eax, ecx
cmp edx, eax
je 0x42ba77
add dword [0x4433b8], 0xaf814431
push esi
push 4
push 0xf1c
call fcn.0040b9c8
movzx ecx, word [0x4389c4]
mov esi, eax
add ecx, 0x68988b7c
push ebx
mov word [0x4389c4], cx
push 4
call fcn.0042acc4
movzx ecx, word [0x43a47a]
lea eax, [ebp - 0x14]
add ecx, 0x237a8aaa
push esi
mov word [0x43a47a], cx
push eax
call fcn.0040823f
add dword [0x441ae8], 0x75299a8f
push 4
push 0x3408
call fcn.0040b9c8
dec word [0x4382e4]
mov edx, 0x194db97c
mov cx, word [0x4382e4]
mov ebx, eax
movsx ecx, cx
sub edx, ecx
or edx, 0xd28e592c
xor edx, dword [0x446da8]
push esi
mov dword [0x446da8], edx
push 4
call fcn.0042acc4
movzx eax, word [0x437712]
add eax, 0x4084d630
mov word [0x437712], ax
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.0040823f
mov eax, dword [0x448680]
add esp, 0x30
and eax, 0xf8260649
cmp eax, 0x80d8d99c
jge 0x42bb44
mov dword [0x43dd4c], 0xbae806c
push ebx
push 4
call fcn.0042acc4
movsx eax, word [0x43a69e]
pop ecx
add eax, 0x9fc577df
pop ecx
mov ecx, dword [0x4432d0]
and ecx, eax
imul eax, dword [0x43dfe8], 0x5927aab5
and eax, 0xb52da28a
cmp ecx, eax
jl 0x42bb87
movzx eax, word [0x43538e]
and eax, 0x9f4dcffb
mov word [0x43538e], ax
mov eax, dword [ebp + 0xc]
push 3
pop ebx
test eax, eax
je 0x42bffe
mov edx, dword [ebp + 8]
dec eax
mov dword [0x44e8a0], 0xfa53fbb7
or dword [0x44c7ec], 0xf777fdff
mov dword [ebp + 0xc], eax
mov al, byte [edx]
mov byte [ebp + edi - 4], al
mov ax, word [0x43c0c0]
mov ecx, dword [0x447fd4]
cwde
imul ecx, eax
mov word [0x43c0c0], cx
dec dword [0x447fd4]
inc edi
dec word [0x43685e]
mov ax, word [0x43685e]
cwde
or eax, 0x22f65b99
cmp eax, 0x322622
jge 0x42bc05
mov ax, word [0x439900]
movsx ecx, ax
mov eax, dword [0x44fdf8]
inc eax
add eax, ecx
mov word [0x439900], ax
add dword [0x447934], 0x39f7b40f
inc edx
mov dword [ebp + 8], edx
cmp edi, ebx
jne 0x42bfe9
or dword [0x44063c], 0xffec5fda
mov ecx, 0x15bf35f8
mov al, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
movsx eax, word [0x433a6a]
sub ecx, eax
mov eax, dword [0x45140c]
or ecx, 0x9e92a5c9
add eax, 0x4ded277a
inc dword [0x45140c]
dec word [0x433a6a]
cmp ecx, eax
jl 0x42bc6d
mov eax, dword [0x4482f4]
sub eax, dword [0x44d590]
mov dword [0x4482f4], eax
mov al, byte [ebp - 4]
and al, 3
shl al, 4
mov byte [ebp - 7], al
movzx eax, word [0x436c94]
xor eax, 0x4dfa2243
mov word [0x436c94], ax
mov al, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
mov eax, dword [0x441af8]
mov word [0x4361aa], ax
mov al, byte [ebp - 3]
and al, 0xf
shl al, 2
cmp dword [0x441400], 0x95c410b2
mov byte [ebp - 6], al
jge 0x42bcff
mov eax, dword [0x451588]
shl eax, 7
add eax, 0x64842106
cmp eax, 0x7d6d165d
jg 0x42bce9
movsx ecx, word [0x43535c]
movzx eax, word [0x43a7c2]
sar ecx, 8
sub eax, ecx
sub eax, 0x36f39ec4
mov word [0x43a7c2], ax
jmp 0x42bcff
mov ax, word [0x439074]
mov ecx, dword [0x448958]
cwde
xor ecx, eax
mov word [0x439074], cx
mov al, byte [ebp - 2]
shr al, 6
add byte [ebp - 6], al
movsx eax, word [0x438b5e]
movzx ecx, word [0x43b396]
add eax, 0x8b461b7c
or ecx, eax
mov word [0x43b396], cx
dec word [0x438b5e]
mov al, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
mov eax, dword [0x43ff5c]
movsx ecx, word [0x4390aa]
imul eax, eax, 0x23da8b00
not ecx
and ecx, eax
cmp ecx, 0x7a649ae0
jge 0x42bda9
mov eax, dword [0x4448e8]
mov ecx, dword [0x446c14]
not eax
xor eax, 0x317be6c7
not ecx
or ecx, eax
movsx eax, word [0x43949e]
imul eax, eax, 0xeb75cde8
xor eax, 0xe33e6d13
cmp ecx, eax
jne 0x42bd9a
mov ax, word [0x43579e]
mov ecx, dword [0x448158]
cwde
imul ecx, eax
imul eax, ecx, 0xf91b0276
mov dword [0x448130], eax
jmp 0x42bda9
mov eax, dword [0x445d60]
mov eax, dword [0x4506dc]
mov eax, dword [0x44c46c]
mov eax, dword [0x44c15c]
xor esi, esi
xor eax, 0xe5efc5f8
or eax, 0x618fc578
dec dword [0x44c15c]
cmp eax, 0x297d7fff
jle 0x42bdd6
imul eax, dword [0x44e010], 0xd6849f2d
mov dword [0x44e010], eax
mov bl, byte [ebp + 0x10]
dec dword [0x44d394]
mov eax, dword [0x44d394]
imul ecx, eax, 0x454069
mov eax, dword [0x44a828]
inc dword [0x44a828]
cmp eax, ecx
jne 0x42be03
add dword [0x44be14], 0x8e5272ed
test bl, bl
je 0x42bf26
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x42bf26
or dword [0x44e724], 0x46f4a306
cmp al, 0x3e
jne 0x42be85
dec dword [0x44009c]
mov eax, dword [0x44009c]
mov ecx, dword [0x43d9d4]
add ecx, 0x6d9f7598
xor ecx, eax
cmp ecx, 0x208e5342
jge 0x42be68
inc dword [0x444838]
mov ecx, dword [0x444838]
movzx eax, word [0x439f14]
or ecx, 0xcfdd5b00
add ecx, eax
mov word [0x439f14], cx
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x10]
push eax
call fcn.0042483b
imul eax, dword [0x4473bc], 0x262f5ad0
mov dword [0x4473bc], eax
jmp 0x42beb5
movsx eax, word [0x4371fc]
mov ecx, dword [ebp + 0x14]
sar eax, 6
and eax, 0x96ed7e83
xor eax, 0x5e043bed
add dword [0x44b21c], eax
lea eax, [ebp - 0x14]
push eax
call fcn.0042483b
add dword [0x451944], 0x8656eed0
movsx eax, word [0x4363c6]
mov ecx, 0x39b5c8f8
imul eax, eax, 0x377326a4
sub ecx, eax
mov eax, dword [0x448998]
dec dword [0x448998]
cmp eax, ecx
jl 0x42bef8
mov ecx, dword [0x43e794]
movzx eax, word [0x4370b4]
xor ecx, 0x2d274024
or eax, ecx
mov word [0x4370b4], ax
jmp 0x42bf9d
mov ax, word [0x4337be]
mov ecx, dword [0x44ab1c]
cwde
add ecx, eax
or ecx, 0xafb83f1
cmp ecx, 0xf0ef2bde
jg 0x42bf9d
mov eax, dword [0x446b04]
inc dword [0x446b04]
jmp 0x42bf9d
inc word [0x4370e6]
mov cx, word [0x4370e6]
dec dword [0x43de00]
mov eax, dword [0x43de00]
mov edx, dword [0x44c1a0]
imul edx, eax
movsx eax, cx
or eax, 0x89f7cc8f
dec dword [0x44c1a0]
cmp eax, edx
jg 0x42bf70
mov eax, dword [0x44a14c]
add eax, dword [0x441be0]
mov dword [0x44a14c], eax
dec dword [0x441be0]
mov ecx, dword [ebp - 0xc]
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + ecx]
mov ecx, dword [ebp + 0x14]
push eax
call fcn.00429761
mov eax, dword [0x442fcc]
mov ecx, dword [0x443634]
add eax, 0x9d398834
add ecx, eax
mov dword [0x442fcc], ecx
imul eax, dword [0x44efa0], 0x2809c203
inc esi
mov dword [0x44efa0], eax
inc dword [0x44caf4]
mov eax, dword [0x44caf4]
imul eax, eax, 0xe995cb0f
add dword [0x44c30c], eax
cmp esi, 4
jne 0x42bdd9
or dword [0x447fdc], 0x708bc5a0
xor edi, edi
and dword [0x449000], 0xb8a4d539
mov edx, dword [ebp + 8]
push 3
pop ebx
add dword [0x4424d0], 0x19d37668
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x42bb98
dec dword [0x44499c]
mov eax, dword [0x44499c]
movzx ecx, word [0x43852e]
sub ecx, eax
mov word [0x43852e], cx
test edi, edi
je 0x42c462
imul eax, dword [0x443fd4], 0x67d2bb8a
mov dword [0x443fd4], eax
mov ax, word [0x436e62]
movsx ecx, ax
mov eax, dword [0x44df70]
sub ecx, eax
mov eax, dword [0x43e1c4]
add ecx, 0xaaa306a8
xor eax, 0x731898
cmp eax, ecx
jge 0x42c074
mov eax, dword [0x446cb0]
movzx ecx, word [0x43754c]
add eax, 0x8d40cd43
xor ecx, eax
xor ecx, 0x56ee4800
mov word [0x43754c], cx
cmp edi, ebx
jge 0x42c0c9
mov esi, ebx
lea eax, [ebp - 4]
sub esi, edi
add eax, edi
push esi
push 0
push eax
call fcn.0041ecbb
add esp, 0xc
movzx eax, word [0x434d68]
and eax, 0x6cdde4ab
mov word [0x434d68], ax
mov eax, 0x48cc
mov word [0x43b4ce], ax
mov ecx, dword [0x451240]
mov eax, dword [0x442ed4]
sar ecx, 8
imul eax, ecx
imul eax, eax, 0x32532375
mov dword [0x442ed4], eax
dec esi
jne 0x42c08d
mov eax, dword [0x4476c4]
sub eax, 0x61bb240f
dec dword [0x4476c4]
cmp eax, 0x2d522874
je 0x42c10a
cmp dword [0x448020], 0xfbdf7fc7
jne 0x42c100
movzx eax, word [0x433160]
add eax, 0x42dd87d5
mov word [0x433160], ax
jmp 0x42c10a
or dword [0x4497e0], 0x40305924
mov al, byte [ebp - 4]
xor esi, esi
shr al, 2
mov byte [ebp - 8], al
movsx eax, word [0x439470]
mov ecx, dword [0x44f7a8]
sar eax, 9
sar ecx, 0xa
and ecx, eax
mov eax, dword [0x442da0]
imul eax, ecx
mov cl, byte [ebp - 4]
and cl, 3
shl cl, 4
mov byte [ebp - 7], cl
mov dword [0x442da0], eax
mov al, byte [ebp - 3]
shr al, 4
add cl, al
mov dword [0x44ace0], 0xdbe8e6ce
movzx eax, word [0x4382f8]
and eax, 0x85351d5f
mov byte [ebp - 7], cl
mov word [0x4382f8], ax
mov al, byte [ebp - 3]
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
dec dword [0x44853c]
mov ecx, dword [0x44853c]
imul eax, dword [0x44a3b0], 0x7e50971
neg ecx
sub ecx, eax
mov al, byte [ebp - 2]
shr al, 6
add byte [ebp - 6], al
mov dword [0x449790], ecx
mov eax, dword [0x43f114]
not eax
xor eax, 0xc500d84c
mov dword [0x44504c], eax
mov al, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
movzx eax, word [0x433ffe]
add eax, 0x6e6f3ffe
mov word [0x433ffe], ax
and dword [0x43e200], 0x3a00d90c
mov ecx, dword [0x4489b4]
inc ecx
mov dword [0x4489b4], ecx
or ecx, 0xecf771f7
movzx eax, word [0x436960]
imul ecx, eax
mov word [0x436960], cx
test edi, edi
js 0x42c38d
mov bl, byte [ebp + 0x10]
or dword [0x4406ac], 0x21945a77
test bl, bl
je 0x42c2b5
mov dl, byte [ebp + esi - 8]
cmp dl, 0x3d
jbe 0x42c2b5
mov eax, dword [0x448128]
xor eax, 0x5d83eaae
cmp eax, 0x6653c160
jge 0x42c255
inc word [0x4374d2]
mov ax, word [0x4374d2]
movsx ecx, word [0x43305c]
xor ecx, 0xc3a34b28
cwde
or ecx, eax
xor dword [0x448ac0], ecx
mov ecx, dword [ebp + 0x14]
cmp dl, 0x3e
jne 0x42c27c
xor dword [0x44d4f8], 0xe1f5aa2
lea eax, [ebp - 0x10]
push eax
call fcn.0042483b
xor dword [0x445fc0], 0x201120b
jmp 0x42c2a1
movzx eax, word [0x43a4a6]
add eax, 0x39a3a464
mov word [0x43a4a6], ax
lea eax, [ebp - 0x14]
push eax
call fcn.0042483b
xor dword [0x43d2b4], 0x66bfbfec
movzx eax, word [0x43bda4]
add eax, 0x1d9a7496
mov word [0x43bda4], ax
jmp 0x42c2de
mov ecx, dword [ebp - 0xc]
movzx eax, byte [ebp + esi - 8]
mov dword [0x43e690], 0xe7c1bfd0
movzx eax, byte [eax + ecx]
mov ecx, dword [ebp + 0x14]
push eax
call fcn.00429761
and dword [0x4506c8], 0x5c9f0ac1
inc word [0x433c5e]
mov ax, word [0x433c5e]
cwde
xor eax, 0x80804dd8
cmp eax, 0x830230
jge 0x42c32d
movsx eax, word [0x437ddc]
mov ecx, 0x7e71bab
sub ecx, eax
cmp ecx, 0x55c1fc0e
jg 0x42c322
movzx eax, word [0x43a506]
or eax, 0x3372552b
mov word [0x43a506], ax
jmp 0x42c32d
mov eax, 0xffffefe4
mov word [0x43b0ec], ax
inc esi
inc dword [0x443b14]
mov eax, dword [0x443b14]
mov ecx, dword [0x4446ec]
imul ecx, eax
cmp ecx, 0xac2d1e20
jge 0x42c35e
movsx eax, word [0x433ee6]
not eax
add eax, 0x26a741c0
xor dword [0x4518c0], eax
mov ecx, dword [0x4489b4]
inc ecx
mov dword [0x4489b4], ecx
or ecx, 0xecf771f7
movzx eax, word [0x436960]
imul ecx, eax
mov word [0x436960], cx
cmp esi, edi
jle 0x42c202
push 3
pop ebx
movzx eax, word [0x43c858]
sub eax, 0x76f6f577
mov word [0x43c858], ax
cmp edi, ebx
jge 0x42c44c
sub ebx, edi
mov eax, dword [0x44500c]
mov ecx, dword [ebp + 0x14]
and eax, 0xadf71a94
xor eax, 0xcedc5e7d
and dword [0x4496e8], eax
inc dword [0x44500c]
mov eax, dword [0x44dfec]
add eax, dword [0x44629c]
cmp byte [ebp + 0x10], 0
mov dword [0x44629c], eax
je 0x42c414
or dword [0x44fcfc], 0x7fbea1f3
lea eax, [ebp - 0x18]
push eax
call fcn.0042483b
dec word [0x43967a]
mov ax, word [0x43967a]
mov ecx, dword [0x447688]
cwde
add ecx, eax
xor ecx, 0xa2609420
add dword [0x445d68], ecx
jmp 0x42c43b
mov eax, dword [0x43e73c]
and eax, 0xf69bdf33
or dword [0x4406b8], eax
dec dword [0x43e73c]
push 0x3d
call fcn.00429761
add dword [0x44e9c4], 0x541c1039
xor dword [0x44bef8], 0xa4000009
dec ebx
jne 0x42c3a9
mov ecx, dword [0x447514]
mov eax, dword [0x4419ac]
shl ecx, 9
imul eax, ecx
mov dword [0x4419ac], eax
dec dword [0x44eee0]
mov eax, dword [0x44eee0]
movsx ecx, word [0x433c1e]
imul eax, eax, 0x38e00686
sub ecx, 0x16192cd6
dec word [0x433c1e]
pop esi
cmp ecx, eax
jle 0x42c4af
mov eax, dword [0x44ef3c]
add eax, dword [0x44406c]
inc dword [0x44ef3c]
cmp eax, 0xb0049880
je 0x42c4af
mov eax, dword [0x442c48]
mov word [0x43641c], ax
push dword [ebp - 0xc]
push 0x41
call fcn.0042acc4
mov ecx, dword [0x43d9f8]
xor ebx, ebx
movsx eax, word [0x43938a]
sar ecx, 6
or eax, ecx
sub dword [0x44791c], eax
lea eax, [ebp - 0x10]
push 4
push ebx
push eax
call fcn.0041ecbb
inc dword [0x43ecf4]
mov eax, dword [0x43ecf4]
inc dword [0x44e544]
mov ecx, dword [0x44e544]
xor ecx, eax
lea eax, [ebp - 0x14]
or ecx, dword [0x446b34]
push 4
push ebx
mov dword [0x446b34], ecx
push eax
call fcn.0041ecbb
add esp, 0x20
inc dword [0x447054]
mov eax, dword [0x447054]
movsx ecx, word [0x43be76]
imul eax, eax, 0xfaa3dc9b
xor ecx, 0x7bc349d6
xor eax, 0xaad17d93
cmp ecx, eax
jne 0x42c54c
mov eax, dword [0x4408dc]
sub eax, dword [0x43f6b8]
mov dword [0x4408dc], eax
jmp 0x42c55e
movzx eax, word [0x43cb1e]
add eax, 0x747a58db
mov word [0x43cb1e], ax
push 4
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.0041ecbb
movzx eax, word [0x43bac2]
add esp, 0xc
imul eax, eax, 0xbb010080
pop edi
pop ebx
mov word [0x43bac2], ax
mov esp, ebp
pop ebp
ret