Function at 0x4091d0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
or dword [0x441330], 0x2f9d28ae
add dword [0x43dd98], 0xbc5500a1
or dword [0x43fd34], 0x96fc74a8
and dword [0x43ec2c], 0xe3595b78
add dword [0x440af8], 0x44010249
push ebx
push esi
push edi
push 0x41
xor edi, edi
mov dword [0x43a0dc], 0xdf90effe
push 0x2632
mov dword [ebp - 0xc], edi
call fcn.0042b7e0
add dword [0x43fb7c], 0xec2cdeee
push 4
push 0x181d
mov dword [ebp - 0x10], eax
call fcn.0042b7e0
add dword [0x43fb3c], 0xbf3edff0
mov esi, eax
lea eax, [ebp - 0x14]
push esi
push eax
call fcn.0040b900
mov ecx, dword [0x43dbbc]
add esp, 0x18
not ecx
xor ecx, 0xd6018100
cmp ecx, 0x51969b5b
jl 0x409279
mov eax, 0xfffff35e
mov word [0x43753c], ax
push 4
push 0x34bb
call fcn.0042b7e0
mov cx, word [0x4361ee]
mov ebx, eax
movsx ecx, cx
or dword [0x43c29c], ecx
push esi
push 4
call fcn.00402d70
add dword [0x4398a8], 0xa36d5a98
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.0040b900
dec dword [0x4397e0]
add esp, 0x18
mov eax, dword [0x4397e0]
and eax, 0x6ef8970a
or eax, dword [0x441f90]
inc dword [0x441f90]
cmp eax, 0x89bf7b3c
je 0x4092e5
mov dword [0x4419e8], 0xae50b9f1
jmp 0x4092f8
movzx eax, word [0x4389b6]
imul eax, eax, 0x25b698a0
mov word [0x4389b6], ax
push 4
push 0x17e9
call fcn.0042b7e0
mov ecx, dword [0x43cf70]
mov esi, eax
mov edx, dword [0x43ae7c]
sar ecx, 3
imul edx, ecx
mov ecx, dword [0x43c300]
push ebx
push 4
or ecx, edx
or ecx, 0x8ffc6566
mov dword [0x43c300], ecx
inc dword [0x43ae7c]
call fcn.00402d70
and dword [0x439c2c], 0x3abbf92f
lea eax, [ebp - 0x1c]
push esi
push eax
call fcn.0040b900
imul eax, dword [0x43d994], 0x800d42e2
push esi
push 4
mov dword [0x43d994], eax
call fcn.00402d70
movzx eax, word [0x436066]
add esp, 0x20
mov edx, dword [ebp + 0xc]
and eax, 0xe517c5f9
mov ebx, dword [ebp + 0x14]
mov word [0x436066], ax
test edx, edx
je 0x40979f
jmp 0x409390
mov eax, dword [0x4408a4]
shl eax, 6
or eax, 0x4ff82e79
cmp eax, 0x39366570
jg 0x4093c7
mov ecx, dword [0x43ef18]
mov eax, dword [0x43ee5c]
sar ecx, 6
or eax, ecx
cmp eax, 0x2800ed
jne 0x4093d1
add dword [0x43bca0], 0x4f2de23a
jmp 0x4093d1
xor dword [0x440600], 0xa1b8d6a8
mov eax, dword [0x43bd50]
dec edx
imul ecx, eax, 0xe816cf46
mov eax, dword [0x440070]
xor eax, 0x4df74895
mov dword [ebp + 0xc], edx
cmp eax, ecx
jne 0x409409
inc dword [0x4415a8]
mov eax, dword [0x4415a8]
add eax, 0x6c2e9166
and eax, dword [0x441044]
mov dword [0x441044], eax
mov ecx, dword [ebp + 8]
mov al, byte [ecx]
mov byte [ebp + edi - 4], al
mov eax, dword [0x43aafc]
sub eax, 0x55f82269
cmp eax, 0xc62cbe72
je 0x40942d
add dword [0x441788], 0x14777528
mov eax, dword [0x43de84]
inc edi
sar eax, 5
inc ecx
xor eax, 0x542a362b
mov dword [ebp + 8], ecx
sub dword [0x43bc8c], eax
mov dword [0x43a910], 0x144b6987
cmp edi, 3
jne 0x409779
mov ecx, dword [0x43fa74]
mov eax, dword [0x43ec90]
imul ecx, eax
mov eax, dword [0x43d91c]
xor eax, ecx
xor eax, 0x810ad029
mov dword [0x43d91c], eax
dec dword [0x43ec90]
movzx eax, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
movzx eax, word [0x438c00]
sub eax, 0x2c100a05
mov word [0x438c00], ax
movzx eax, byte [ebp - 4]
mov ecx, dword [0x4419d8]
and al, 3
shl al, 4
or ecx, 0xba6bd297
mov byte [ebp - 7], al
mov eax, dword [0x43dfa8]
imul eax, ecx
mov dword [0x43dfa8], eax
movzx eax, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
mov eax, dword [0x43d5e0]
mov ecx, dword [0x441bb4]
add eax, 0xe4f9f009
inc dword [0x43d5e0]
xor ecx, eax
dec dword [0x441bb4]
cmp ecx, 0x17685996
je 0x4094f8
add dword [0x43df1c], 0xcf7f1b7f
mov al, byte [ebp - 3]
mov edx, 0x1dddffa6
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
inc dword [0x43edac]
mov ecx, dword [0x43edac]
mov eax, dword [0x4419bc]
sub edx, eax
dec dword [0x4419bc]
and edx, ecx
cmp edx, 0xf448cb3d
jle 0x40955d
movsx eax, word [0x438c62]
mov ecx, 0xb4acf177
imul eax, eax, 0x721d63
sub ecx, eax
cmp ecx, 0xda848602
jg 0x409553
add dword [0x43e4e8], 0xea28ead2
jmp 0x40955d
add dword [0x43b928], 0x7da8cbec
movzx eax, byte [ebp - 2]
mov ecx, 0x856509e9
shr al, 6
xor esi, esi
add byte [ebp - 6], al
mov eax, dword [0x43ce40]
sub ecx, eax
add dword [0x43ab4c], ecx
inc dword [0x43ce40]
movzx eax, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
movzx eax, word [0x438ac6]
or eax, 0xa7d6a1d1
mov word [0x438ac6], ax
inc word [0x4360c2]
movzx eax, word [0x4360c2]
movzx ecx, word [0x435d44]
sub ecx, eax
mov word [0x435d44], cx
lea ebx, [ebx]
or dword [0x442098], 0xceee2c95
cmp byte [ebp + 0x10], 0
je 0x4096ac
mov cl, byte [ebp + esi - 8]
cmp cl, 0x3d
jbe 0x4096ac
dec dword [0x43d354]
mov eax, dword [0x43d354]
xor eax, 0xba893ca
sub dword [0x43fc94], eax
cmp cl, 0x3e
jne 0x409642
mov eax, dword [0x43da84]
not eax
cmp eax, 0x3f6ee4fb
jl 0x409614
mov dword [0x43e43c], 0xd3ec0bfd
lea eax, [ebp - 0x14]
mov ecx, ebx
push eax
call fcn.0040d960
imul eax, dword [0x441d9c], 0x2f8d831a
mov dword [0x441d9c], eax
imul eax, dword [0x441e58], 0xa0e58008
mov dword [0x441e58], eax
jmp 0x409730
mov eax, dword [0x43f504]
imul eax, dword [0x43f2a8]
and eax, 0x68651e4b
cmp eax, 0xc67853e4
jge 0x40966c
movzx eax, word [0x436528]
sub eax, 0x6eec6b3f
mov word [0x436528], ax
lea eax, [ebp - 0x18]
mov ecx, ebx
push eax
call fcn.0040d960
mov eax, dword [0x43d2a4]
mov ecx, 0xb68d6957
not eax
imul eax, eax, 0x4f6bc0db
sub ecx, eax
mov eax, dword [0x440518]
imul eax, ecx
mov dword [0x440518], eax
imul eax, dword [0x441e58], 0xa0e58008
mov dword [0x441e58], eax
jmp 0x409730
mov eax, dword [0x440dcc]
sub eax, 0xaaa9066
cmp eax, 0x7ae489f7
jge 0x4096e9
movsx eax, word [0x4362f6]
mov edx, dword [0x43ba3c]
movsx ecx, word [0x438b2c]
shl eax, 2
and edx, eax
movzx eax, word [0x4366bc]
or ecx, edx
and eax, ecx
mov word [0x4366bc], ax
jmp 0x40970a
dec dword [0x43c758]
mov eax, dword [0x43c758]
imul eax, eax, 0xf5436689
or eax, 0xb291a8b0
xor eax, dword [0x4409f0]
mov dword [0x4409f0], eax
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.0041dcc0
movzx eax, word [0x436828]
or eax, 0xe2b1979a
mov word [0x436828], ax
mov dword [0x43bcb0], 0x4c97f187
inc esi
imul eax, dword [0x43de28], 0x489c32c3
mov dword [0x43de28], eax
cmp esi, 4
jne 0x4095c0
dec dword [0x43fcdc]
xor edi, edi
mov eax, dword [0x43fcdc]
and dword [0x4402ac], eax
mov eax, dword [0x441274]
mov edx, dword [ebp + 0xc]
add eax, 0x4177b799
and dword [0x44225c], eax
mov eax, dword [0x43fc50]
movzx ecx, word [0x43702c]
imul eax, eax, 0x3d4d99c0
sub ecx, eax
mov word [0x43702c], cx
test edx, edx
jne 0x409390
mov dword [ebp - 0xc], edi
cmp dword [0x43de6c], 0x68a99ce1
jg 0x4097b5
or dword [0x43c958], 0x6a0d4e2b
test edi, edi
je 0x409cf9
movzx eax, word [0x4357ec]
xor eax, 0x48b7bf87
mov word [0x4357ec], ax
cmp dword [0x43b094], 0xb328e50c
jne 0x40981d
mov eax, dword [0x43a39c]
mov ecx, dword [0x441150]
shl eax, 0xa
add ecx, eax
imul eax, dword [0x43bd4c], 0xfce684e
and ecx, 0x6cfadcab
xor eax, 0x744cabd9
cmp eax, ecx
jge 0x40981d
mov ecx, dword [0x439fd8]
mov eax, dword [0x4411d0]
and ecx, 0x1af8f9ab
xor eax, ecx
sub dword [0x43d3b0], eax
cmp edi, 3
jge 0x40987f
lea ecx, [ebp - 4]
mov esi, 3
sub esi, dword [ebp - 0xc]
add edi, ecx
mov ecx, esi
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
movsx eax, word [0x436ac8]
inc word [0x436ac8]
cmp eax, 0xa25ac0f5
jge 0x409860
mov dword [0x439938], 0xd883f0ac
imul eax, dword [0x43adf0], 0xd71be397
mov dword [0x43adf0], eax
xor dword [0x440a60], 0x38598886
dec esi
jne 0x409841
mov edi, dword [ebp - 0xc]
and dword [0x43ae9c], 0x25c67b94
xor esi, esi
movzx eax, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
movzx eax, word [0x436efa]
imul eax, eax, 0xddb320b0
mov word [0x436efa], ax
movzx eax, byte [ebp - 4]
and al, 3
shl al, 4
mov byte [ebp - 7], al
movzx eax, word [0x43901a]
sub eax, 0x4df4c5c
mov word [0x43901a], ax
movzx eax, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
imul eax, dword [0x43a104], 0x9869a74d
mov dword [0x43a104], eax
movzx eax, byte [ebp - 3]
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
xor dword [0x4409ac], 0x1db1e94a
movzx eax, byte [ebp - 2]
shr al, 6
add byte [ebp - 6], al
mov eax, dword [0x441004]
and eax, 0x6dd4f9e
shl eax, 4
xor eax, 0xc8315034
or dword [0x440010], eax
movzx eax, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
movzx eax, word [0x438c8e]
imul eax, eax, 0x36cc1339
mov word [0x438c8e], ax
mov dword [0x4404a0], 0x35ae3f7b
movzx eax, word [0x438fc2]
mov ecx, dword [0x43c4a4]
cwde
or ecx, eax
or ecx, 0xfcf9f917
mov word [0x438fc2], cx
test edi, edi
js 0x409bc6
mov eax, dword [0x43b020]
mov ecx, 0x67a038d
sub ecx, eax
movzx eax, word [0x43687a]
and ecx, 0x3a140a80
sub eax, ecx
cmp byte [ebp + 0x10], 0
mov word [0x43687a], ax
je 0x409aeb
mov al, byte [ebp + esi - 8]
mov byte [ebp + 0xf], al
cmp al, 0x3d
jbe 0x409aeb
movsx eax, word [0x43582e]
mov edx, 0x6fb3cdbb
sub edx, eax
mov ecx, 0xbbabd38e
mov eax, dword [0x43d900]
sub ecx, eax
cmp edx, ecx
jle 0x4099cc
movzx eax, word [0x43599a]
sub eax, 0x5b2d1838
mov word [0x43599a], ax
cmp byte [ebp + 0xf], 0x3e
jne 0x409a53
dec dword [0x43fa94]
mov eax, dword [0x43fa94]
inc dword [0x43dcac]
add eax, 0x2b7a2a2e
mov ecx, dword [0x43dcac]
add ecx, 0x7fb79236
cmp eax, ecx
jl 0x409a32
dec word [0x438ece]
mov ax, word [0x438ece]
cwde
cmp eax, 0x49c534e3
jge 0x409a3c
mov eax, dword [0x43e9d0]
imul ecx, eax, 0x2109be0
movzx eax, word [0x439102]
add eax, 0xdce24ac6
add eax, ecx
mov word [0x439102], ax
jmp 0x409a3c
or dword [0x43d378], 0xbaf0f811
lea eax, [ebp - 0x14]
mov ecx, ebx
push eax
call fcn.0040d960
xor dword [0x4397a8], 0x7ff55fff
jmp 0x409a98
inc word [0x43921e]
movzx eax, word [0x43921e]
cwde
imul ecx, eax, 0x1bdf7621
mov eax, dword [0x439b24]
and ecx, eax
mov eax, dword [0x43cc70]
and eax, ecx
mov ecx, ebx
mov dword [0x439b24], eax
lea eax, [ebp - 0x18]
push eax
call fcn.0040d960
movzx eax, word [0x43904e]
xor eax, 0x9c35ea3a
mov word [0x43904e], ax
mov eax, dword [0x43de28]
inc dword [0x43de28]
cmp eax, 0xa9b0ccaf
jg 0x409ab9
mov dword [0x441e44], 0x312b694b
jmp 0x409b66
inc word [0x4374e0]
mov ax, word [0x4374e0]
cwde
sub eax, 0x24765839
and eax, 0x563d8bfa
cmp eax, 0x20b5cd0
jne 0x409b66
mov dword [0x439710], 0x1c14725f
jmp 0x409b66
add dword [0x43c6e8], 0xdf06a5ec
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.0041dcc0
cmp dword [0x440cd0], 0xdcb4979c
jl 0x409b54
mov ax, word [0x4395ee]
movsx ecx, ax
mov eax, dword [0x43cdfc]
sub ecx, eax
sub ecx, 0x3eae7b44
cmp ecx, 0xaf4e2e1e
jge 0x409b66
mov ecx, dword [0x4411b4]
mov eax, dword [0x43bcd4]
or ecx, 0xfc7d5a90
imul eax, ecx
mov dword [0x43bcd4], eax
inc dword [0x4411b4]
jmp 0x409b66
movzx eax, word [0x438bde]
xor eax, 0x15469fba
mov word [0x438bde], ax
add dword [0x43db68], 0x74bb02fa
inc esi
dec word [0x4350f2]
mov ax, word [0x4350f2]
movsx ecx, word [0x438d88]
sar ecx, 1
add ecx, 0x20e0cf41
cwde
or ecx, 0xbd1b1ef8
cmp ecx, eax
jge 0x409ba2
or dword [0x43db98], 0xcca572ff
mov ax, word [0x438fc2]
mov ecx, dword [0x43c4a4]
cwde
or ecx, eax
or ecx, 0xfcf9f917
mov word [0x438fc2], cx
cmp esi, edi
jle 0x409962
movzx eax, word [0x438366]
or eax, 0x242cc1
mov word [0x438366], ax
cmp edi, 3
jge 0x409ce6
mov esi, 3
sub esi, edi
jmp 0x409bf0
mov eax, dword [0x43fc8c]
not eax
cmp eax, 0xf0d38d29
jl 0x409c31
movsx eax, word [0x435492]
or eax, 0xaad4fc0a
cmp eax, 0x2e9fcb0a
jle 0x409c54
movsx eax, word [0x437db2]
mov ecx, dword [0x43c184]
sar eax, 9
add ecx, eax
and ecx, 0x910f19ab
or dword [0x4410ec], ecx
jmp 0x409c54
dec dword [0x441fa0]
mov eax, dword [0x441fa0]
movsx ecx, word [0x435412]
not ecx
and ecx, eax
mov eax, dword [0x43f7b8]
imul eax, ecx
mov dword [0x43f7b8], eax
imul eax, dword [0x4411a4], 0x614a9621
mov ecx, 0xc5b21db7
sub ecx, eax
cmp byte [ebp + 0x10], 0
mov dword [0x43c0ec], ecx
je 0x409caf
mov ax, word [0x435bc0]
mov ecx, dword [0x4421e8]
inc dword [0x4421e8]
cwde
add ecx, eax
cmp ecx, 0x5212543
je 0x409c98
xor dword [0x440728], 0x93f1b5a5
lea eax, [ebp - 0x1c]
mov ecx, ebx
push eax
call fcn.0040d960
add dword [0x44012c], 0x968f01ef
jmp 0x409cd5
add dword [0x43daf4], 0x9a366b6f
mov ecx, ebx
push 0x3d
call fcn.0041dcc0
mov eax, dword [0x43bb78]
mov ecx, 0xe8437a02
sub ecx, eax
mov word [0x4389c4], cx
and dword [0x43df14], 0xffbefff7
dec esi
jne 0x409bf0
movzx eax, word [0x4360b6]
imul eax, eax, 0x664b5bba
mov word [0x4360b6], ax
movsx eax, word [0x43899a]
push dword [ebp - 0x10]
xor eax, 0x15e6c9ff
or dword [0x43bec0], eax
push 0x41
call fcn.00402d70
add dword [0x4407c0], 0x766ea59d
lea eax, [ebp - 0x14]
push 4
push 0
push eax
call fcn.00416df0
mov eax, 0xffffe3f6
mov word [0x435d06], ax
lea eax, [ebp - 0x18]
push 4
push 0
push eax
call fcn.00416df0
xor dword [0x43970c], 0xbd6965f7
lea eax, [ebp - 0x1c]
push 4
push 0
push eax
call fcn.00416df0
mov eax, dword [0x43f1c0]
add esp, 0x2c
add eax, 0x29acf914
pop edi
pop esi
pop ebx
cmp eax, 0x2371d725
jle 0x409da1
mov eax, dword [0x441e34]
or eax, 0xe1064ab9
cmp eax, dword [0x43a578]
jg 0x409da1
mov ecx, dword [0x43a52c]
mov eax, dword [0x439b64]
add eax, 0xd852743
add eax, ecx
mov dword [0x439b64], eax
dec dword [0x43a52c]
mov esp, ebp
pop ebp
ret