Function at 0x414a44
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
mov eax, dword [0x48cfa8]
mov ecx, dword [0x48be3c]
inc ecx
mov dword [0x48be3c], ecx
sub eax, ecx
mov cx, word [0x4902b8]
or ecx, eax
mov word [0x4902b8], cx
mov ax, word [0x48e9da]
cwde
sar eax, 9
mov ecx, dword [0x4881cc]
imul ecx, ecx, 0x89bb13f1
xor ecx, eax
cmp ecx, 0xcd729b3b
jne 0x414a9a
mov eax, dword [0x4875d4]
add eax, 0x9b91720d
and dword [0x48a8a8], eax
jmp 0x414ac0
mov eax, dword [0x48a144]
lea ecx, [eax - 1]
mov dword [0x48a144], ecx
cmp eax, 0xcb6fee48
jg 0x414ac0
mov ax, word [0x48f5b0]
or eax, 0x4021
mov word [0x48f5b0], ax
and dword [0x4895ec], 0xbfcde2aa
mov eax, dword [0x48d9f4]
lea ecx, [eax + 1]
mov dword [0x48d9f4], ecx
mov cx, word [0x490e9e]
lea eax, [eax + ecx + 0xc17b]
mov word [0x490e9e], ax
mov eax, dword [0x487f54]
xor eax, 0x5081252c
mov ecx, dword [0x48710c]
lea edx, [ecx - 1]
mov dword [0x48710c], edx
or eax, ecx
cmp eax, 0x8a33a215
je 0x414b1f
mov ax, word [0x49086a]
add eax, 0xe2a
mov word [0x49086a], ax
push ebp
push ebx
push edi
push esi
sub esp, 0x18
xor dword [0x4885bc], 0xbdbc5f93
push 0x41
push 0xf12
call fcn.00422ac4
add esp, 8
mov esi, eax
or dword [0x487c9c], 0xfdc89f29
mov edi, 4
push edi
push 0x4692
call fcn.00422ac4
add esp, 8
mov ebp, eax
mov ax, word [0x49154e]
imul eax, eax, 0x6421
mov word [0x49154e], ax
lea eax, [esp + 0xd]
push ebp
push eax
call fcn.0043dc60
add esp, 8
mov ax, word [0x4902b2]
dec eax
mov word [0x4902b2], ax
cwde
and eax, 0x14060096
or eax, 0xc3895b08
add dword [0x48b15c], eax
push edi
push 0x57f
call fcn.00422ac4
add esp, 8
mov ebx, eax
mov ax, word [0x48e5c4]
lea ecx, [eax + 1]
mov word [0x48e5c4], cx
cwde
mov ecx, dword [0x48acc4]
imul ecx, eax
mov dword [0x48acc4], ecx
push ebp
push edi
call fcn.004228ac
add esp, 8
mov ax, word [0x48ff26]
cwde
mov ecx, 0x85132bba
sub ecx, eax
and dword [0x48d1c4], ecx
lea eax, [esp + 9]
push ebx
push eax
call fcn.0043dc60
add esp, 8
xor dword [0x488558], 0xfbb6cfda
push edi
push 0x46d6
call fcn.00422ac4
add esp, 8
mov ebp, eax
or dword [0x48d388], 0x646f6bbf
push ebx
push edi
call fcn.004228ac
add esp, 8
mov eax, dword [0x487150]
shl eax, 9
mov ecx, dword [0x488080]
sub eax, ecx
and dword [0x488270], eax
lea eax, [esp + 5]
push ebp
push eax
call fcn.0043dc60
add esp, 8
mov eax, dword [0x48cfb0]
mov ecx, 0xe7c20ec
sub ecx, eax
add dword [0x489184], ecx
push ebp
push edi
call fcn.004228ac
add esp, 8
mov ax, word [0x48ecc4]
and eax, 0x44d3
mov word [0x48ecc4], ax
xor ebp, ebp
mov edi, dword [esp + 0x30]
test edi, edi
je 0x415072
mov ebx, dword [esp + 0x2c]
xor ebp, ebp
mov eax, dword [0x488e48]
lea ecx, [eax + 1]
mov dword [0x488e48], ecx
or eax, 0x9c739c29
mov ecx, dword [0x4881b0]
imul ecx, eax
mov dword [0x4881b0], ecx
and dword [0x489514], 0x1ac4c5b3
mov al, byte [ebx]
mov byte [esp + ebp + 0x15], al
mov eax, dword [0x48960c]
mov ecx, dword [0x48a698]
lea edx, [ecx + 1]
mov dword [0x48a698], edx
lea eax, [ecx + eax + 1]
mov ecx, dword [0x489868]
imul ecx, eax
mov dword [0x489868], ecx
inc ebp
mov eax, dword [0x4882c8]
mov ecx, dword [0x48d508]
inc ecx
mov dword [0x48d508], ecx
imul ecx, ecx, 0xb811bd79
and ecx, eax
or dword [0x487310], ecx
mov eax, dword [0x489848]
lea ecx, [eax - 1]
mov dword [0x489848], ecx
add eax, 0xf207d6ff
cmp eax, 0xbfef7fcb
jl 0x414d4e
mov ax, word [0x48ee3c]
cwde
shl eax, 3
cmp eax, 0x93415ee2
jl 0x414d4e
mov eax, dword [0x48da80]
shl eax, 9
mov ecx, dword [0x4886ec]
and ecx, eax
and ecx, 0x1e6a7c00
mov dword [0x4886ec], ecx
dec edi
cmp ebp, 3
jne 0x41504e
mov ax, word [0x48e78c]
imul eax, eax, 0x455c
mov word [0x48e78c], ax
mov al, byte [esp + 0x15]
shr al, 2
mov byte [esp + 0x11], al
mov eax, dword [0x487954]
add dword [0x487184], 0x121255d
mov al, byte [esp + 0x15]
shl al, 4
and al, 0x30
mov byte [esp + 0x12], al
mov eax, dword [0x48aa18]
imul eax, eax, 0x4ea81b9e
mov dword [0x48aa18], eax
mov al, byte [esp + 0x16]
shr al, 4
add byte [esp + 0x12], al
mov eax, dword [0x48cda4]
imul eax, eax, 0x4a4edee2
cmp eax, 0xdc11180
jne 0x414dc8
mov dword [0x48c4cc], 0xf94323a8
mov al, byte [esp + 0x16]
shl al, 2
and al, 0x3c
mov byte [esp + 0x13], al
mov eax, dword [0x48ae68]
mov ecx, dword [0x48d844]
xor ecx, eax
cmp ecx, 0xb6991138
lea ebp, [esp + 0xd]
jl 0x414e0f
mov eax, dword [0x487e58]
lea ecx, [eax + 1]
mov dword [0x487e58], ecx
mov cx, word [0x48f77a]
imul ecx, eax
mov word [0x48f77a], cx
jmp 0x414e2f
mov eax, dword [0x487f6c]
dec eax
mov dword [0x487f6c], eax
xor eax, 0x73f2
mov cx, word [0x48ee70]
or ecx, eax
mov word [0x48ee70], cx
mov al, byte [esp + 0x17]
shr al, 6
add byte [esp + 0x13], al
xor dword [0x48c9d0], 0xba9627da
mov al, byte [esp + 0x17]
and al, 0x3f
mov byte [esp + 0x14], al
mov eax, dword [0x48b7e0]
lea ecx, [eax + 1]
mov dword [0x48b7e0], ecx
cmp eax, 0x526b3215
jne 0x414e78
mov dword [esp], edi
mov eax, dword [0x487da0]
imul eax, eax, 0xaf40ea5c
mov dword [0x487da0], eax
jmp 0x414e85
mov dword [esp], edi
or dword [0x4898ec], 0xfcbddbb1
mov ax, word [0x49020c]
cwde
mov ecx, dword [0x489670]
or ecx, eax
or ecx, 0x79f1115f
and dword [0x487a9c], ecx
xor edi, edi
mov eax, dword [0x48d454]
lea ecx, [eax - 1]
mov dword [0x48d454], ecx
mov cx, word [0x48ef4e]
imul ecx, eax
mov word [0x48ef4e], cx
cmp byte [esp + 0x34], 0
je 0x414f5c
movzx eax, byte [esp + edi + 0x11]
cmp eax, 0x3e
jb 0x414f5c
add dword [0x48d61c], 0x7868ba04
movzx eax, byte [esp + edi + 0x11]
cmp eax, 0x3e
jne 0x414f90
mov eax, dword [0x48c37c]
mov ecx, dword [0x48a7dc]
imul ecx, eax
mov eax, dword [0x489db0]
lea edx, [eax + 1]
mov dword [0x489db0], edx
sub ecx, eax
add dword [0x48b6e4], ecx
mov ecx, dword [esp + 0x38]
push ebp
call fcn.00405c32
mov eax, dword [0x488a94]
not eax
mov ecx, dword [0x489fd4]
and ecx, 0x7e207678
cmp ecx, eax
je 0x414fb2
mov ax, word [0x4913c4]
cwde
sar eax, 7
mov ecx, 0x8f735a1c
sub ecx, eax
cmp ecx, 0x66090d80
jg 0x414fb2
and dword [0x48859c], 0xfec72304
jmp 0x414fb2
add dword [0x48b118], 0x1941ce2f
movzx eax, byte [esp + edi + 0x11]
movsx eax, byte [esi + eax]
mov ecx, dword [esp + 0x38]
push eax
call fcn.00416bb2
mov eax, dword [0x48bcb8]
add eax, 0x22fd0ce
or eax, 0xf88f9e8c
xor dword [0x48bd68], eax
jmp 0x414fbe
add dword [0x48c050], 0x3f4a6a69
mov ecx, dword [esp + 0x38]
lea eax, [esp + 9]
push eax
call fcn.00405c32
or dword [0x488b04], 0xe1d47bec
mov ax, word [0x490a34]
cwde
mov dword [0x48cd58], eax
mov eax, dword [0x48c610]
imul eax, eax, 0xc7088c3b
mov dword [0x48c610], eax
inc edi
mov eax, dword [0x487408]
mov ecx, dword [0x48da4c]
lea edx, [ecx - 1]
mov dword [0x48da4c], edx
xor eax, ecx
mov ecx, dword [0x48a564]
sub ecx, eax
mov dword [0x48a564], ecx
cmp edi, 4
jne 0x414ea2
mov eax, dword [0x48d020]
mov ecx, 0xda52f134
sub ecx, eax
mov ax, word [0x48f3ee]
cwde
or eax, 0x9f0454bf
cmp ecx, eax
jle 0x415022
and dword [0x48b1a4], 0x4fbcd491
mov ax, word [0x48e84c]
dec eax
mov word [0x48e84c], ax
cwde
xor eax, 0xa45fea9e
xor ebp, ebp
cmp eax, 0x5c4400a0
mov edi, dword [esp]
jg 0x41504e
mov ax, word [0x490fb6]
cwde
and dword [0x48baf4], eax
inc ebx
mov ax, word [0x490f92]
cwde
mov ecx, dword [0x489860]
imul ecx, eax
imul eax, ecx, 0xab72cf15
mov dword [0x489860], eax
test edi, edi
jne 0x414c8d
mov ax, word [0x48e238]
cwde
mov ecx, dword [0x489adc]
sub eax, ecx
cmp eax, 0xda7cefed
jg 0x4150a8
mov eax, dword [0x48d1d4]
sar eax, 6
or eax, 0x21866708
xor eax, 0xd2319064
mov ecx, dword [0x48a154]
sub ecx, eax
mov dword [0x48a154], ecx
test ebp, ebp
lea ebx, [esp + 5]
je 0x41552c
mov eax, dword [0x487b54]
lea ecx, [eax - 1]
mov dword [0x487b54], ecx
add eax, 0x5e1c0581
and dword [0x48dd54], eax
mov eax, dword [0x48df8c]
or eax, 0x97db
mov cx, word [0x48e942]
xor ecx, eax
xor ecx, 0x6824
mov word [0x48e942], cx
cmp ebp, 2
jg 0x41513c
mov eax, ebp
mov cx, word [0x48ee10]
xor ecx, 0x44d5
mov word [0x48ee10], cx
mov byte [esp + eax + 0x15], 0
mov cx, word [0x48f68e]
add ecx, 0xffffbcf6
mov word [0x48f68e], cx
inc eax
mov ecx, dword [0x48d480]
shl ecx, 9
add ecx, 0x5d403912
or dword [0x48b460], ecx
cmp eax, 3
jne 0x4150f4
mov eax, dword [0x4878d0]
and eax, 0x3950c7c7
mov ecx, dword [0x48b3ac]
xor ecx, eax
not ecx
or dword [0x48bfc0], ecx
mov al, byte [esp + 0x15]
shr al, 2
mov byte [esp + 0x11], al
mov ax, word [0x48ea74]
mov ax, word [0x491684]
dec eax
mov word [0x491684], ax
mov ax, word [0x48fdd8]
imul eax, eax, 0xffffe1f8
mov word [0x48fdd8], ax
mov al, byte [esp + 0x15]
shl al, 4
and al, 0x30
mov byte [esp + 0x12], al
mov eax, dword [0x48ca08]
mov al, byte [esp + 0x16]
shr al, 4
add byte [esp + 0x12], al
mov eax, dword [0x48c5a8]
mov ecx, dword [0x489bfc]
sub ecx, eax
mov dword [0x489bfc], ecx
mov al, byte [esp + 0x16]
shl al, 2
and al, 0x3c
mov byte [esp + 0x13], al
mov eax, dword [0x48b14c]
mov ecx, dword [0x48d15c]
imul ecx, eax
shl ecx, 6
xor ecx, 0xf190bf04
or dword [0x48d9b0], ecx
mov al, byte [esp + 0x17]
shr al, 6
add byte [esp + 0x13], al
mov eax, dword [0x48bcd4]
dec eax
mov dword [0x48bcd4], eax
and eax, 0xd6ae
mov cx, word [0x48f7ec]
add ecx, eax
mov word [0x48f7ec], cx
mov al, byte [esp + 0x17]
and al, 0x3f
mov byte [esp + 0x14], al
mov eax, dword [0x48bb20]
add dword [0x48ae78], 0xe370ffb2
or dword [0x48d0a0], 0xa5616d24
test ebp, ebp
js 0x41541a
lea ebx, [ebp + 1]
lea edi, [esp + 0x11]
mov eax, dword [0x4881ec]
lea ecx, [eax + 1]
mov dword [0x4881ec], ecx
mov ecx, 0x6f5226ce
sub ecx, eax
mov eax, dword [0x48d8f8]
xor eax, ecx
not eax
mov cx, word [0x48f044]
and ecx, eax
mov word [0x48f044], cx
cmp byte [esp + 0x34], 0
je 0x415327
movzx eax, byte [edi]
cmp eax, 0x3e
jb 0x415327
mov eax, dword [0x489d18]
imul eax, eax, 0x9e02b000
add eax, 0xfeaf63fc
cmp eax, 0x3fcb811a
jg 0x4152c9
mov eax, dword [0x48d6a8]
dec eax
mov dword [0x48d6a8], eax
mov ecx, dword [0x48d794]
mov edx, dword [0x48cae8]
shl edx, 4
add edx, ecx
and edx, eax
cmp edx, 0x30582f
jg 0x4152c9
add dword [0x48bcc4], 0x3d4f5679
movzx eax, byte [edi]
cmp eax, 0x3e
jne 0x415388
mov ax, word [0x490d2e]
mov eax, dword [0x4874f8]
imul eax, eax, 0xe0552951
and eax, 0x9cca8f24
mov ecx, dword [0x48d65c]
imul ecx, eax
mov dword [0x48d65c], ecx
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0xd]
push eax
call fcn.00405c32
mov eax, dword [0x487b7c]
and eax, 0x3446
mov cx, word [0x490d40]
xor ecx, eax
mov word [0x490d40], cx
jmp 0x4153c8
mov eax, dword [0x48b768]
shl eax, 2
mov ecx, dword [0x489bd8]
xor ecx, 0xc37a1f96
cmp eax, ecx
jne 0x415349
xor dword [0x48a484], 0xab992f21
movzx eax, byte [edi]
movsx eax, byte [esi + eax]
mov ecx, dword [esp + 0x38]
push eax
call fcn.00416bb2
mov eax, dword [0x48ac44]
mov cx, word [0x4905ce]
inc ecx
mov word [0x4905ce], cx
movsx ecx, cx
or ecx, eax
or ecx, 0x63d3a7db
mov eax, dword [0x48b038]
imul eax, ecx
mov dword [0x48b038], eax
jmp 0x4153d9
mov eax, dword [0x48b348]
mov ecx, dword [0x489bcc]
mov edx, dword [0x48db9c]
imul edx, eax
imul edx, ecx
mov dword [0x48db9c], edx
mov ecx, dword [esp + 0x38]
lea eax, [esp + 9]
push eax
call fcn.00405c32
mov eax, dword [0x4886f8]
add eax, 0x1862f11
and eax, 0x66d08d0
xor dword [0x48ad34], eax
mov ax, word [0x49164c]
and eax, 0x3827
mov word [0x49164c], ax
mov eax, dword [0x48cd1c]
lea ecx, [eax - 1]
mov dword [0x48cd1c], ecx
cmp eax, 0xe3646e5c
jg 0x4153fe
mov eax, dword [0x487ec0]
imul eax, eax, 0x2dc4513a
mov dword [0x487ec0], eax
add dword [0x48d2cc], 0x17c90af7
or dword [0x48d0a0], 0xa5616d24
inc edi
dec ebx
jne 0x41523d
or dword [0x489e98], 0xf1bfca6d
cmp ebp, 2
lea ebx, [esp + 5]
jg 0x41550e
mov edi, 3
sub edi, ebp
mov ax, word [0x4906b0]
xor eax, 0x4c5c
mov word [0x4906b0], ax
mov ax, word [0x48f9e8]
add eax, 0xffffa3e1
mov word [0x48f9e8], ax
cmp byte [esp + 0x34], 0
je 0x41549f
mov eax, dword [0x48b294]
lea ecx, [eax - 1]
mov dword [0x48b294], ecx
mov ecx, 0x7f2489e7
sub ecx, eax
xor ecx, 0x89239072
mov eax, dword [0x4882d8]
imul eax, ecx
mov dword [0x4882d8], eax
mov ecx, dword [esp + 0x38]
push ebx
call fcn.00405c32
mov dword [0x48d5f4], 0xff2c3f30
jmp 0x4154fd
mov ax, word [0x490b66]
lea ecx, [eax - 1]
mov word [0x490b66], cx
cwde
add eax, 0xd72d839
cmp eax, 0x5da1085d
jg 0x4154d8
mov ax, word [0x48e504]
inc eax
mov word [0x48e504], ax
cwde
mov ecx, dword [0x48c3c0]
xor ecx, eax
mov dword [0x48a100], ecx
mov ecx, dword [esp + 0x38]
push 0x3d
call fcn.00416bb2
mov ax, word [0x48e8e0]
mov eax, dword [0x48770c]
lea ecx, [eax - 1]
mov dword [0x48770c], ecx
add dword [0x489c64], eax
add dword [0x48b560], 0x6cff210f
dec edi
jne 0x415438
mov eax, dword [0x48a74c]
lea ecx, [eax - 1]
mov dword [0x48a74c], ecx
mov cx, word [0x490300]
add ecx, eax
mov word [0x490300], cx
mov eax, dword [0x489570]
shr eax, 5
and eax, 0xf56a
mov word [0x48f418], ax
push esi
push 0x41
call fcn.004228ac
add esp, 8
mov eax, dword [0x48880c]
or eax, 0x7b6e5ff
cmp eax, 0x11968df4
jg 0x415565
xor dword [0x4894d0], 0xbda15b6
mov esi, 4
push esi
lea eax, [esp + 0x11]
push eax
call fcn.00430c4a
add esp, 8
xor dword [0x4895c4], 0x7a2fa818
push esi
lea eax, [esp + 0xd]
push eax
call fcn.00430c4a
add esp, 8
mov eax, dword [0x48c414]
lea ecx, [eax + 1]
mov dword [0x48c414], ecx
mov ecx, dword [0x48b5d8]
imul ecx, ecx, 0xad330b2f
or ecx, eax
cmp ecx, 0xc778f68a
jg 0x4155cc
mov ax, word [0x490c00]
cwde
and eax, 0xed4118c5
xor eax, 0x5ff5ea75
mov dword [0x489e78], eax
jmp 0x4155e4
mov eax, dword [0x487384]
and eax, 0x5d1d8c1c
mov ecx, dword [0x48a720]
or ecx, eax
xor dword [0x48ca14], ecx
push 4
push ebx
call fcn.00430c4a
add esp, 8
and dword [0x48d958], 0x1e009190
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret