Function at 0x412bf9
Capabilities:
Encode data using base64

Disassembly:
mov ax, word [0x48e6e8]
inc eax
mov word [0x48e6e8], ax
mov eax, dword [0x4a82e0]
cmp eax, 0xddfef729
jg 0x412c1c
xor dword [0x495034], 0x201c84a0
mov eax, dword [0x4a53c8]
lea ecx, [eax - 1]
mov dword [0x4a53c8], ecx
cmp eax, 0xb2abda65
jg 0x412c3d
add dword [0x4a07fc], 0xde945b53
jmp 0x412c62
mov eax, dword [0x4a0a48]
dec eax
mov dword [0x4a0a48], eax
mov cx, word [0x48b480]
imul eax, eax, 0x1c5f86ff
lea eax, [eax + ecx + 0xbb9f]
mov word [0x48b480], ax
mov eax, dword [0x4975b4]
dec eax
mov dword [0x4975b4], eax
or eax, 0x6590
mov cx, word [0x48dbb8]
add ecx, eax
mov word [0x48dbb8], cx
mov eax, dword [0x4a6600]
lea ecx, [eax - 1]
mov dword [0x4a6600], ecx
add eax, 0x11d9bdc4
xor dword [0x49ffb0], eax
mov eax, dword [0x4976bc]
lea ecx, [eax + 1]
mov dword [0x4976bc], ecx
mov ecx, 0x1bd57687
sub ecx, eax
cmp ecx, 0x764e5578
jl 0x412cc9
mov ax, word [0x486d0a]
add eax, 0x480
mov word [0x486d0a], ax
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov ax, word [0x48c164]
and eax, 0x8482
mov word [0x48c164], ax
push 0x41
push 0x348c
call fcn.00421632
add esp, 8
mov esi, eax
xor dword [0x4a0020], 0x56653327
mov ebp, 4
push ebp
push 0x431c
call fcn.00421632
add esp, 8
mov edi, eax
mov eax, dword [0x499d18]
mov ecx, dword [0x4a7cd8]
lea eax, [eax + ecx - 0x576b1429]
mov dword [0x4a7cd8], eax
lea eax, [esp + 0xd]
push edi
push eax
call fcn.0043d7e0
add esp, 8
add dword [0x4a57f8], 0xdbfeab40
push ebp
push 0x2f95
call fcn.00421632
add esp, 8
mov ebx, eax
mov dword [0x49ecc0], 0x1a1d3041
push edi
push ebp
call fcn.00413689
add esp, 8
or dword [0x493674], 0xf99f2eae
lea eax, [esp + 9]
push ebx
push eax
call fcn.0043d7e0
add esp, 8
xor dword [0x4a0960], 0xab018078
push ebp
push 0x949a
call fcn.00421632
add esp, 8
mov edi, eax
mov eax, dword [0x49ba44]
dec eax
mov dword [0x49ba44], eax
xor dword [0x4a39c0], eax
push ebx
push ebp
call fcn.00413689
add esp, 8
mov eax, dword [0x4a158c]
shl eax, 8
mov ecx, dword [0x498868]
mov edx, 0x162a3e01
sub edx, ecx
xor edx, eax
mov eax, dword [0x49dc4c]
imul eax, edx
mov dword [0x49dc4c], eax
lea ebx, [esp + 5]
push edi
push ebx
call fcn.0043d7e0
add esp, 8
mov eax, dword [0x4a2b30]
shl eax, 0xa
add eax, 0xe1d09
or eax, 0xebc084de
mov ecx, dword [0x4a03b0]
imul ecx, eax
mov dword [0x4a03b0], ecx
push edi
push ebp
call fcn.00413689
add esp, 8
mov eax, dword [0x4aa2ec]
xor eax, 0xf93b10b8
mov ecx, dword [0x498130]
imul ecx, eax
mov dword [0x498130], ecx
mov edx, dword [esp + 0x30]
test edx, edx
je 0x4132e4
mov ebx, dword [esp + 0x2c]
xor ebp, ebp
lea edi, [esp + 0xd]
mov ax, word [0x4895cc]
xor eax, 0x896
mov word [0x4895cc], ax
and dword [0x4ab768], 0x30312005
mov al, byte [ebx]
mov byte [esp + ebp + 0x15], al
dec dword [0x497750]
mov eax, dword [0x4a7394]
lea ecx, [eax - 1]
mov dword [0x4a7394], ecx
cmp eax, 0xeffedffd
jl 0x412e8a
mov ax, word [0x48c55e]
add eax, 0xfffffffe
mov word [0x48c55e], ax
jmp 0x412e94
xor dword [0x499340], 0xdfdfbffc
dec edx
inc ebp
mov eax, dword [0x4a9888]
and eax, 0x8101dc99
xor eax, 0xfc684778
mov ecx, dword [0x49888c]
sub ecx, eax
mov dword [0x49888c], ecx
mov ax, word [0x487160]
lea ecx, [eax - 1]
mov word [0x487160], cx
cwde
mov ecx, 0xd11e284
sub ecx, eax
and ecx, 0xaa67ff0a
mov dword [0x4a077c], ecx
cmp ebp, 3
jne 0x4131a1
mov dword [esp], edx
and dword [0x4aa29c], 0xe165b2b5
mov al, byte [esp + 0x15]
shr al, 2
mov byte [esp + 0x11], al
add dword [0x4a52a4], 0x45e5181
mov al, byte [esp + 0x15]
shl al, 4
and al, 0x30
mov byte [esp + 0x12], al
mov eax, dword [0x49a3a0]
imul eax, eax, 0x80100082
mov dword [0x49a3a0], eax
mov al, byte [esp + 0x16]
shr al, 4
add byte [esp + 0x12], al
and dword [0x4aa904], 0xd060fc63
mov al, byte [esp + 0x16]
shl al, 2
and al, 0x3c
mov byte [esp + 0x13], al
mov dword [0x493104], 0xa1d59b41
mov al, byte [esp + 0x17]
shr al, 6
add byte [esp + 0x13], al
add dword [0x495364], 0xc0835e46
mov al, byte [esp + 0x17]
and al, 0x3f
mov byte [esp + 0x14], al
mov ax, word [0x4895f4]
cwde
mov cx, word [0x492c8e]
movsx ecx, cx
and ecx, 0xde6274ff
xor ecx, eax
cmp ecx, 0xf0fa023f
jl 0x412fa0
mov eax, dword [0x4a0a88]
dec eax
mov dword [0x4a0a88], eax
or eax, 0x87354a5c
mov dword [0x495ef0], eax
xor dword [0x49a988], 0x7b148137
xor ebp, ebp
mov dword [0x4a156c], 0xffbffa7f
cmp byte [esp + 0x34], 0
je 0x413018
movzx eax, byte [esp + ebp + 0x11]
cmp eax, 0x3e
jb 0x413018
mov eax, dword [0x4ab968]
or eax, 0x92f9f294
xor eax, 0x69020862
and dword [0x49b798], eax
movzx eax, byte [esp + ebp + 0x11]
cmp eax, 0x3e
jne 0x4130ea
mov eax, dword [0x49e9e8]
and dword [0x49f768], 0x1a93e018
mov ecx, dword [esp + 0x38]
push edi
call fcn.00401bba
mov eax, dword [0x4a0924]
imul eax, eax, 0xf74b7fdb
mov dword [0x4a0924], eax
jmp 0x413118
mov ax, word [0x48ec76]
cwde
mov cx, word [0x48f2a0]
movsx ecx, cx
sar ecx, 3
add ecx, eax
cmp ecx, 0xcb0213d3
jl 0x413042
and dword [0x493d44], 0xdf777fe2
jmp 0x4130a4
mov eax, dword [0x4a73f8]
lea ecx, [eax + 1]
mov dword [0x4a73f8], ecx
mov cx, word [0x48bd4e]
movsx ecx, cx
sar ecx, 2
imul ecx, ecx, 0x5fc7840e
and ecx, eax
cmp ecx, 0x2b58d49d
jl 0x41308b
mov eax, dword [0x493534]
mov ecx, dword [0x4a46dc]
shl eax, 0xa
neg eax
lea eax, [ecx + eax + 0x4745771e]
mov dword [0x4a46dc], eax
jmp 0x4130a4
mov eax, dword [0x4aa16c]
or eax, 0x2e83d08a
mov ecx, dword [0x4a093c]
imul ecx, eax
mov dword [0x4a093c], ecx
movzx eax, byte [esp + ebp + 0x11]
movsx eax, byte [esi + eax]
mov ecx, dword [esp + 0x38]
push eax
call fcn.004208d0
mov eax, dword [0x4a0328]
lea ecx, [eax + 1]
mov dword [0x4a0328], ecx
cmp eax, 0x64d78f13
jne 0x4130de
mov eax, dword [0x4ac144]
imul eax, eax, 0x361c36cc
mov dword [0x4ac144], eax
jmp 0x413122
add dword [0x499ec8], 0xdebf2870
jmp 0x413122
add dword [0x4a397c], 0xd0314c0a
mov ecx, dword [esp + 0x38]
lea eax, [esp + 9]
push eax
call fcn.00401bba
mov eax, dword [0x4a30e8]
shl eax, 5
mov ecx, dword [0x495c2c]
sub ecx, eax
mov dword [0x495c2c], ecx
mov dword [0x4a70d0], 0x39ad62ad
mov ax, word [0x487ac2]
cwde
mov ecx, 0x2adf5d46
sub ecx, eax
mov eax, dword [0x49a9fc]
lea edx, [eax - 1]
mov dword [0x49a9fc], edx
mov edx, dword [0x494148]
inc edx
mov dword [0x494148], edx
sub eax, edx
cmp ecx, eax
jne 0x413158
mov eax, dword [0x49e4d4]
jmp 0x413162
or dword [0x49eda8], 0x9b6affb5
inc ebp
mov eax, dword [0x4aab80]
shl eax, 2
and eax, 0xe3a55ea4
mov ecx, dword [0x4a353c]
imul ecx, eax
mov dword [0x4a353c], ecx
cmp ebp, 4
jne 0x412fac
or dword [0x4a2d70], 0x500f0304
or dword [0x4a60bc], 0xc1c5483e
xor ebp, ebp
mov edx, dword [esp]
inc ebx
mov dword [0x4a9360], 0x21394195
test edx, edx
jne 0x412e3d
add dword [0x49873c], 0xddafffbf
test ebp, ebp
lea ebx, [esp + 5]
je 0x4135e7
mov ax, word [0x490a78]
inc eax
mov word [0x490a78], ax
mov word [0x491d4a], 0x50b9
mov ax, word [0x48d3f8]
inc eax
mov word [0x48d3f8], ax
cmp ebp, 2
jg 0x413225
mov eax, ebp
or dword [0x4abb4c], 0x2bbad051
mov byte [esp + eax + 0x15], 0
mov ecx, dword [0x4972a4]
imul ecx, ecx, 0xe73dfd77
mov dword [0x4972a4], ecx
inc eax
or dword [0x49b7a4], 0x1137f823
cmp eax, 3
jne 0x4131f4
add dword [0x4a723c], 0xf624ebe3
mov al, byte [esp + 0x15]
shr al, 2
mov byte [esp + 0x11], al
mov ax, word [0x48bdfc]
dec eax
mov word [0x48bdfc], ax
cwde
add eax, 0x612148c2
mov cx, word [0x48708c]
movsx ecx, cx
shl ecx, 8
sub eax, ecx
cmp eax, 0xa8aab904
jl 0x41326d
xor dword [0x499d04], 0x7f9cee84
mov al, byte [esp + 0x15]
shl al, 4
and al, 0x30
mov byte [esp + 0x12], al
mov eax, dword [0x4a2120]
dec eax
mov dword [0x4a2120], eax
imul eax, eax, 0xdbae68ff
add eax, 0xdde95d41
mov dword [0x49802c], eax
mov al, byte [esp + 0x16]
shr al, 4
add byte [esp + 0x12], al
add dword [0x4a1d40], 0x5461cbbe
mov al, byte [esp + 0x16]
shl al, 2
and al, 0x3c
mov byte [esp + 0x13], al
and dword [0x4a5764], 0xd6d4813b
mov al, byte [esp + 0x17]
shr al, 6
add byte [esp + 0x13], al
mov eax, dword [0x4a8c74]
cmp eax, 0x71a55470
jg 0x4132f3
and dword [0x4a2620], 0x7ea54afa
jmp 0x4132fd
add dword [0x49873c], 0xddafffbf
jmp 0x4135e3
xor dword [0x4a6928], 0x9537fb8d
mov al, byte [esp + 0x17]
and al, 0x3f
mov byte [esp + 0x14], al
mov dword [0x49997c], 0x1dc399a8
or dword [0x493364], 0x2020a00a
and dword [0x4a0430], 0x3e9f0d1e
test ebp, ebp
js 0x4134d1
lea ebx, [ebp + 1]
lea edi, [esp + 0x11]
jmp 0x4133cc
and dword [0x49d1f4], 0xe9696f2f
mov ecx, dword [esp + 0x38]
lea eax, [esp + 9]
push eax
call fcn.00401bba
mov eax, dword [0x4abf74]
imul eax, eax, 0x3da5279e
mov dword [0x4abf74], eax
mov eax, dword [0x4981b4]
mov cx, word [0x48d32a]
movsx ecx, cx
sar ecx, 4
or ecx, eax
cmp ecx, 0x1845c005
jl 0x413496
mov eax, dword [0x49c8fc]
inc eax
mov dword [0x49c8fc], eax
mov cx, word [0x48bb1c]
movsx ecx, cx
imul ecx, ecx, 0xa7033cdb
or ecx, 0x38bd9cd
cmp eax, ecx
jne 0x4133b5
or dword [0x49eb2c], 0xe6c6a9a0
jmp 0x413496
mov eax, dword [0x49ec2c]
sar eax, 4
add eax, 0x51954e39
mov dword [0x49c350], eax
jmp 0x413496
mov ax, word [0x49135a]
inc eax
mov word [0x49135a], ax
cwde
xor eax, 0xa5566f52
mov ecx, dword [0x4a9b6c]
and ecx, 0x7288d06a
cmp eax, ecx
jg 0x4133f9
mov dword [0x4a9040], 0xcff7aa3b
cmp byte [esp + 0x34], 0
je 0x413463
movzx eax, byte [edi]
cmp eax, 0x3e
jb 0x413463
mov eax, dword [0x49e704]
lea ecx, [eax + 1]
mov dword [0x49e704], ecx
imul eax, eax, 0xc8541357
mov cx, word [0x48dde0]
lea eax, [eax + ecx + 0xe66e]
mov word [0x48dde0], ax
movzx eax, byte [edi]
cmp eax, 0x3e
jne 0x413339
xor dword [0x4a7700], 0xf1ae6f08
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0xd]
push eax
call fcn.00401bba
or dword [0x4abd2c], 0x367f4fd9
jmp 0x413361
mov ax, word [0x48f692]
add eax, 0x1287
mov word [0x48f692], ax
movzx eax, byte [edi]
movsx eax, byte [esi + eax]
mov ecx, dword [esp + 0x38]
push eax
call fcn.004208d0
mov ax, word [0x48b204]
add eax, 0x1f1f
mov word [0x48b204], ax
xor dword [0x4996ac], 0xbef67feb
mov eax, dword [0x4a984c]
lea ecx, [eax - 1]
mov dword [0x4a984c], ecx
cmp eax, 0xf2df1ac2
je 0x4134bf
and dword [0x49b7dc], 0xd18159e9
and dword [0x4a0430], 0x3e9f0d1e
inc edi
dec ebx
jne 0x4133cc
mov ax, word [0x489442]
add dword [0x4ab124], 0xe0246029
cmp ebp, 2
lea ebx, [esp + 5]
jg 0x4135d9
mov edi, 3
sub edi, ebp
mov eax, dword [0x4a1ecc]
lea ecx, [eax - 1]
mov dword [0x4a1ecc], ecx
mov ecx, dword [0x493e64]
cmp eax, ecx
jle 0x413526
mov eax, dword [0x4a2650]
lea ecx, [eax - 1]
mov dword [0x4a2650], ecx
add eax, 0x50112ee4
xor dword [0x49d044], eax
mov eax, dword [0x4abb48]
lea ecx, [eax + 1]
mov dword [0x4abb48], ecx
or eax, 0x6585b2dc
mov ecx, dword [0x49ae20]
mov dx, word [0x48e3aa]
movsx edx, dx
lea ecx, [ecx + edx*4]
and ecx, 0xeb90358c
cmp eax, ecx
jg 0x413566
mov eax, dword [0x4a0390]
add eax, 0x1dc486dd
xor dword [0x4a76d8], eax
cmp byte [esp + 0x34], 0
je 0x413593
mov dword [0x49f40c], 0xc20d8388
mov ecx, dword [esp + 0x38]
push ebx
call fcn.00401bba
mov eax, dword [0x4aba6c]
imul eax, eax, 0xd11eded7
mov dword [0x4aba6c], eax
jmp 0x4135b9
mov ax, word [0x48c3a8]
and eax, 0x68cb
mov word [0x48c3a8], ax
mov ecx, dword [esp + 0x38]
push 0x3d
call fcn.004208d0
mov dword [0x4a82f4], 0x1bcdcd1c
mov eax, dword [0x4a04d4]
lea ecx, [eax - 1]
mov dword [0x4a04d4], ecx
add eax, 0xa0994598
or dword [0x497878], eax
dec edi
jne 0x4134f5
and dword [0x4a83f4], 0xd6fffb33
lea edi, [esp + 0xd]
add dword [0x4a0af8], 0xbda0bb2f
push esi
push 0x41
call fcn.00413689
add esp, 8
mov ax, word [0x487f46]
add eax, 0x77fc
mov word [0x487f46], ax
mov esi, 4
push esi
push edi
call fcn.00417091
add esp, 8
mov ax, word [0x491ad6]
cwde
add eax, 0xf62681e5
xor dword [0x49eb9c], eax
push esi
lea eax, [esp + 0xd]
push eax
call fcn.00417091
add esp, 8
mov eax, dword [0x496744]
mov ecx, dword [0x4a1700]
imul ecx, ecx, 0x243c5c00
or ecx, eax
xor dword [0x4aa360], ecx
push esi
push ebx
call fcn.00417091
add esp, 8
mov eax, dword [0x497840]
lea ecx, [eax + 1]
mov dword [0x497840], ecx
or eax, 0x8055
mov word [0x49210c], ax
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret