Function at 0x413d57
Capabilities:
Encode data using base64

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
movsx eax, word [0x445efc]
or eax, 0xd2d39828
xor eax, 0x2d2c67d7
mov ecx, dword [0x454af4]
lea edx, [ecx - 1]
mov dword [0x454af4], edx
or ecx, 0x7d979f74
cmp eax, ecx
jle 0x413d98
mov eax, dword [0x450bd0]
inc eax
mov dword [0x450bd0], eax
mov dword [0x4522a8], eax
mov ax, word [0x44690c]
imul eax, dword [0x44b3a4], 0x60ca8e14
mov dword [0x44b3a4], eax
mov eax, dword [0x457d6c]
cmp eax, 0xfff7bdee
jg 0x413dee
mov eax, 0x82a4a44
xor eax, dword [0x4515a4]
cmp eax, 0xaf0c823a
jl 0x413e0a
mov eax, dword [0x456d08]
and eax, 0xd4ee
mov ecx, dword [0x449f4c]
xor ecx, eax
movzx eax, word [0x440eea]
sub eax, ecx
mov word [0x440eea], ax
jmp 0x413e0a
mov eax, 0x3ca9bea8
xor eax, dword [0x447fe4]
cmp eax, 0x4981452
jg 0x413e0a
mov dword [0x455834], 0x55c456d0
mov eax, dword [0x457b64]
shl eax, 7
and eax, 0xc3b99580
cmp eax, 0x979fab8b
jg 0x413e3a
imul eax, dword [0x44fc08], 0x368e401
cmp eax, 0x704275c4
je 0x413e45
xor word [0x444622], 0x6d7a
jmp 0x413e45
mov eax, dword [0x4541e4]
xor dword [0x452648], eax
add word [0x441276], 0x644f
movsx eax, word [0x446be2]
xor eax, 0x7aef7f5f
movsx ecx, word [0x442e84]
add ecx, 0xdd5355d1
cmp eax, ecx
jne 0x413e7a
imul eax, dword [0x450d8c], 0xfbbcf295
mov dword [0x450d8c], eax
push 0x41
push 0x2e55
call fcn.004103ea
add esp, 8
mov esi, eax
add dword [0x4575e4], 0xcef8681d
push 4
push 0x2054
call fcn.004103ea
add esp, 8
mov ebx, eax
movsx eax, word [0x4461be]
add eax, 0xc1752d83
cmp eax, 0xe894ba0b
jl 0x413ed8
movsx eax, word [0x44024e]
xor eax, 0x54500503
cmp eax, 0x2499a51c
jl 0x413ef7
mov eax, dword [0x4567f0]
mov eax, dword [0x455f7c]
jmp 0x413f01
movsx eax, word [0x4421fe]
lea ecx, [eax + 1]
mov word [0x4421fe], cx
imul eax, dword [0x4531f0]
mov dword [0x4531f0], eax
jmp 0x413f01
add dword [0x44ad08], 0x76f1ba6d
lea eax, [esp + 0xd]
push ebx
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
mov eax, dword [0x448370]
dec eax
mov dword [0x448370], eax
xor eax, 0x3795d3a0
cmp eax, 0x1e88a833
jl 0x413f37
movsx eax, word [0x442870]
xor eax, 0xfe2321ba
mov dword [0x4505d8], eax
push 4
push 0x255c
call fcn.004103ea
add esp, 8
mov edi, eax
or dword [0x450360], 0x4f4c5834
push ebx
push 4
call fcn.0040d60f
add esp, 8
mov eax, dword [0x4577c4]
cmp eax, 0x4c8b4f6d
je 0x413f72
mov word [0x440e70], 0xe21
mov ebp, dword [esp + 0x30]
lea eax, [esp + 9]
push edi
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
mov eax, dword [0x44bd40]
inc eax
mov dword [0x44bd40], eax
and eax, 0xe462527d
mov dword [0x454da8], eax
push 4
push 0x4951
call fcn.004103ea
add esp, 8
mov ebx, eax
mov eax, dword [0x44e6f8]
lea ecx, [eax - 1]
mov dword [0x44e6f8], ecx
add eax, 0xb6f44669
cmp eax, 0x36b7fd17
jg 0x413ff4
mov eax, dword [0x456c20]
sar eax, 5
mov ecx, dword [0x448428]
lea edx, [ecx + 1]
mov dword [0x448428], edx
add ecx, 0xaaecde16
and ecx, eax
cmp ecx, 0xc2fd4d50
je 0x413ff4
or word [0x44400e], 0x3ed3
push edi
push 4
call fcn.0040d60f
add esp, 8
mov eax, 0x3b0169ea
xor eax, dword [0x44d260]
imul eax, dword [0x44e730]
mov dword [0x44e730], eax
lea eax, [esp + 5]
push ebx
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
xor dword [0x455c18], 0x27bb8e58
push ebx
push 4
call fcn.0040d60f
add esp, 8
add dword [0x451954], 0x161121
mov ecx, ebp
test ecx, ecx
je 0x414866
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x2c]
xor ebx, ebx
mov eax, 0xfa6ab88
sub eax, dword [0x455c74]
xor eax, 0xc82a18be
add dword [0x45584c], eax
dec ecx
mov dword [esp], ecx
xor dword [0x448670], 0xfbf5dff5
mov al, byte [ebp]
mov byte [esp + ebx + 0x15], al
mov eax, dword [0x452a04]
mov eax, dword [0x44a158]
dec eax
mov dword [0x44a158], eax
xor eax, 0x291492f9
imul eax, dword [0x44be70]
mov dword [0x44be70], eax
inc ebx
mov dword [0x458234], 0x91ceb00a
mov dword [0x4540fc], 0xcbb6ddcf
cmp ebx, 3
jne 0x414326
mov ax, word [0x447058]
xor dword [0x452f4c], 0x4b4ada95
mov al, byte [esp + 0x15]
shr al, 2
mov byte [esp + 0x11], al
add word [0x445f12], 0xaeed
mov al, byte [esp + 0x15]
shl al, 4
and al, 0x30
mov byte [esp + 0x12], al
or dword [0x44ee24], 0x7e15c1c8
mov al, byte [esp + 0x16]
shr al, 4
add byte [esp + 0x12], al
mov dword [0x456ebc], 0x8b4aa4a4
mov al, byte [esp + 0x16]
shl al, 2
and al, 0x3c
mov byte [esp + 0x13], al
add dword [0x44c5f8], 0x24710dd7
mov al, byte [esp + 0x17]
shr al, 6
add byte [esp + 0x13], al
mov eax, dword [0x456128]
lea ecx, [eax - 1]
mov dword [0x456128], ecx
cmp eax, 0x57a2c1a6
jl 0x414152
and dword [0x448e78], 0xa9023131
mov al, byte [esp + 0x17]
and al, 0x3f
mov byte [esp + 0x14], al
mov dword [0x453310], 0xe41e8852
imul eax, dword [0x450778], 0xdcc7f7be
mov dword [0x450778], eax
xor ebx, ebx
jmp 0x41421e
imul eax, dword [0x456d30], 0xa0610a31
mov dword [0x456d30], eax
mov ecx, edi
lea eax, [esp + 9]
push eax
call fcn.00427514
movsx eax, word [0x446d46]
and eax, 0xf7693669
xor eax, 0x678f26b9
or dword [0x4553a0], eax
mov eax, dword [0x454be8]
inc eax
mov dword [0x454be8], eax
imul eax, eax, 0x5079c886
or eax, 0x9f90d7f0
cmp eax, 0xd891f277
ja 0x41420f
mov eax, dword [0x4494f4]
dec eax
mov dword [0x4494f4], eax
or eax, 0x2a2c778a
movzx ecx, word [0x4437b2]
dec ecx
mov word [0x4437b2], cx
movsx ecx, cx
add ecx, 0x49aa798b
cmp eax, ecx
jne 0x4142de
imul eax, dword [0x449ccc], 0xe3f2e7f1
mov dword [0x449ccc], eax
jmp 0x4142de
mov dword [0x45006c], 0xd1e7d820
jmp 0x4142de
and dword [0x44bc40], 0xbff6fef9
cmp byte [esp + 0x34], 0
je 0x41428a
movzx eax, byte [esp + ebx + 0x11]
cmp eax, 0x3e
jb 0x41428a
mov eax, dword [0x457300]
lea ecx, [eax + 1]
mov dword [0x457300], ecx
and eax, dword [0x454bf8]
and eax, 0x23c083ed
mov dword [0x454bf8], eax
movzx eax, byte [esp + ebx + 0x11]
cmp eax, 0x3e
jne 0x41417c
or dword [0x4553c0], 0x378fceab
mov ecx, edi
lea eax, [esp + 0xd]
push eax
call fcn.00427514
xor dword [0x45166c], 0x1964b4cc
jmp 0x4141ae
movsx eax, word [0x444298]
lea ecx, [eax + 1]
mov word [0x444298], cx
or eax, 0x91482316
xor eax, 0x24059ca9
and dword [0x44d508], eax
movzx eax, byte [esp + ebx + 0x11]
movsx eax, byte [esi + eax]
mov ecx, edi
push eax
push 1
call fcn.00430b26
mov eax, dword [0x449558]
inc eax
mov dword [0x449558], eax
or eax, 0xfc86
movzx ecx, word [0x44077e]
and ecx, eax
mov word [0x44077e], cx
or dword [0x4541bc], 0xbaa30f7f
inc ebx
movsx eax, word [0x44008c]
and eax, 0xd1a7e633
imul eax, dword [0x453f2c]
mov dword [0x453f2c], eax
cmp ebx, 4
jne 0x41421e
imul eax, dword [0x452210], 0xd74339a0
add dword [0x45426c], eax
add dword [0x44e440], 0x856ac33c
xor ebx, ebx
inc ebp
mov eax, dword [0x447f74]
imul eax, eax, 0xaf2fb2b9
mov ecx, dword [0x454068]
dec ecx
mov dword [0x454068], ecx
sub eax, ecx
and dword [0x44cd60], eax
mov ecx, dword [esp]
test ecx, ecx
jne 0x414057
add dword [0x4529f8], 0x29041041
test ebx, ebx
je 0x414870
mov eax, dword [0x44c0b4]
lea ecx, [eax + 1]
mov dword [0x44c0b4], ecx
add eax, 0x2211
xor eax, 0x23fe
mov word [0x44750e], ax
mov eax, dword [0x447e58]
inc eax
mov dword [0x447e58], eax
xor eax, 0x17b53158
movzx ecx, word [0x443718]
inc ecx
mov word [0x443718], cx
movsx ecx, cx
or ecx, 0x4ac56e6d
cmp eax, ecx
jl 0x4143b8
or dword [0x453978], 0xffcafbf7
cmp ebx, 2
jg 0x414453
mov eax, ebx
add dword [0x4563cc], 0xf239d094
mov byte [esp + eax + 0x15], 0
mov ecx, dword [0x44fef0]
dec ecx
mov dword [0x44fef0], ecx
xor ecx, 0x2cb445f5
cmp ecx, 0x60e21f0c
jl 0x4143ff
imul ecx, dword [0x44bf68], 0x12b78422
mov dword [0x44bf68], ecx
jmp 0x414428
mov ecx, dword [0x44cb0c]
xor ecx, 0x1bdc2bba
mov edx, dword [0x45130c]
dec edx
mov dword [0x45130c], edx
and edx, 0xea34300d
cmp ecx, edx
jge 0x414428
mov ecx, dword [0x451614]
inc eax
mov ecx, dword [0x456000]
lea edx, [ecx - 1]
mov dword [0x456000], edx
add ecx, 0x2390f312
and ecx, 0x508b43ac
xor dword [0x454cf8], ecx
cmp eax, 3
jne 0x4143c3
mov eax, dword [0x44f244]
and eax, dword [0x448ba4]
cmp eax, 0x8dd52fce
je 0x41446f
add dword [0x452868], 0x1acaf14b
mov al, byte [esp + 0x15]
shr al, 2
mov byte [esp + 0x11], al
mov eax, dword [0x45816c]
shl eax, 8
mov ecx, dword [0x44915c]
lea edx, [ecx - 1]
mov dword [0x44915c], edx
xor eax, ecx
cmp eax, 0xf6709c89
jl 0x4144b4
imul eax, dword [0x456890], 0xb42945
cmp eax, 0x3df6320b
jg 0x4144b4
mov word [0x43f5d8], 0x9484
mov al, byte [esp + 0x15]
shl al, 4
and al, 0x30
mov byte [esp + 0x12], al
mov eax, dword [0x4565d0]
not eax
imul eax, eax, 0x55ced330
movzx ecx, word [0x447202]
or ecx, eax
mov word [0x447202], cx
mov al, byte [esp + 0x16]
shr al, 4
add byte [esp + 0x12], al
mov eax, dword [0x456610]
dec eax
mov dword [0x456610], eax
xor eax, 0xedd2acf1
cmp eax, 0x377f5d47
jg 0x41450a
xor dword [0x452c44], 0x196db57c
mov al, byte [esp + 0x16]
shl al, 2
and al, 0x3c
mov byte [esp + 0x13], al
add dword [0x44a5f4], 0x3344b8bd
mov al, byte [esp + 0x17]
mov cl, al
shr cl, 6
add byte [esp + 0x13], cl
movsx ecx, word [0x446ce4]
not ecx
imul ecx, ecx, 0x9b80e270
cmp ecx, 0x665a00ba
jg 0x41455f
mov eax, dword [0x449e40]
dec eax
mov dword [0x449e40], eax
or eax, 0x61116927
add dword [0x454fec], eax
mov al, byte [esp + 0x17]
and al, 0x3f
mov byte [esp + 0x14], al
movsx eax, word [0x44165a]
mov ecx, dword [0x453314]
lea edx, [ecx - 1]
mov dword [0x453314], edx
and ecx, 0xbb4a067a
xor ecx, eax
cmp ecx, 0xfdf65fdf
jl 0x414595
xor dword [0x454c7c], 0x8260000
mov eax, dword [0x44efa8]
mov ecx, dword [0x457e14]
lea edx, [ecx + 1]
mov dword [0x457e14], edx
add eax, ecx
cmp eax, 0xbf7bd994
jl 0x4145ce
mov eax, 0xb084463
add eax, dword [0x44bb3c]
or eax, 0xd273caf0
imul eax, dword [0x456ca8]
mov dword [0x456ca8], eax
mov eax, dword [0x45143c]
shl eax, 6
add eax, 0x898f6ee3
and dword [0x450584], eax
test ebx, ebx
mov dword [esp], ebx
js 0x414796
mov eax, dword [esp]
lea ebp, [eax + 1]
lea ebx, [esp + 0x11]
mov dword [0x44f0e8], 0x25610030
cmp byte [esp + 0x34], 0
je 0x414686
movzx eax, byte [ebx]
cmp eax, 0x3e
jb 0x414686
mov eax, dword [0x4560d4]
lea ecx, [eax + 1]
mov dword [0x4560d4], ecx
cmp eax, 0x723499cd
jne 0x41462e
mov dword [0x44a4cc], 0x3e613f0e
movzx eax, byte [ebx]
cmp eax, 0x3e
jne 0x4146e9
mov eax, dword [0x45550c]
dec eax
mov dword [0x45550c], eax
cmp eax, 0xfeaad918
je 0x41465b
mov eax, dword [0x454454]
xor dword [0x44e000], 0x1ffa367f
mov ecx, edi
lea eax, [esp + 0xd]
push eax
call fcn.00427514
mov eax, dword [0x450f30]
mov ecx, dword [0x44d9fc]
inc ecx
mov dword [0x44d9fc], ecx
or ecx, eax
xor dword [0x4566ec], ecx
jmp 0x414732
movsx eax, word [0x4411a0]
mov ecx, dword [0x45475c]
inc ecx
mov dword [0x45475c], ecx
and ecx, eax
cmp ecx, 0x39e93750
jg 0x4146c5
mov eax, dword [0x44b464]
xor eax, dword [0x44a7cc]
xor eax, 0x59d4
movzx ecx, word [0x441f3c]
imul ecx, eax
mov word [0x441f3c], cx
movzx eax, byte [ebx]
movsx eax, byte [esi + eax]
mov ecx, edi
push eax
push 1
call fcn.00430b26
mov eax, dword [0x452410]
or eax, dword [0x455a80]
xor dword [0x44f494], eax
jmp 0x41473b
mov eax, dword [0x4543c0]
dec eax
mov dword [0x4543c0], eax
xor eax, 0x76211d34
mov ecx, dword [0x458044]
lea edx, [ecx + 1]
mov dword [0x458044], edx
or eax, ecx
add dword [0x456ee4], eax
mov ecx, edi
lea eax, [esp + 9]
push eax
call fcn.00427514
mov eax, dword [0x4553c4]
dec eax
mov dword [0x4553c4], eax
or eax, 0xd0166f5a
sub dword [0x44db2c], eax
add word [0x447444], 0xc7b
xor dword [0x452c94], 0x8504518
mov eax, dword [0x452044]
lea ecx, [eax - 1]
mov dword [0x452044], ecx
movsx ecx, word [0x4451a6]
add ecx, 0x191759fa
or ecx, 0x7c6b66ec
cmp eax, ecx
jle 0x41477b
mov eax, dword [0x44fd64]
mov ecx, 0xfab0a3c4
or eax, ecx
mov dword [0x449b80], eax
mov eax, dword [0x45143c]
shl eax, 6
add eax, 0x898f6ee3
and dword [0x450584], eax
inc ebx
dec ebp
jne 0x4145f6
mov dword [0x44dcfc], 0x5a1fa86f
mov eax, dword [esp]
cmp eax, 2
jg 0x41485b
mov ebx, 3
sub ebx, eax
mov ebp, 0xf3f67fd7
imul eax, dword [0x454410], 0xf1e92716
mov dword [0x454410], eax
mov eax, dword [0x457704]
cmp eax, 0xf94e28ac
jl 0x4147f7
mov eax, dword [0x45527c]
xor eax, ebp
cmp eax, 0x6a5ce2e6
jg 0x4147ed
and dword [0x44a7ac], 0x47a77ed8
jmp 0x4147f7
add dword [0x44ff50], 0xc5685961
cmp byte [esp + 0x34], 0
je 0x414820
and dword [0x447c14], 0x5daddf35
mov ecx, edi
lea eax, [esp + 5]
push eax
call fcn.00427514
and dword [0x453e30], 0x84a108e0
jmp 0x41483f
add dword [0x452180], 0xc912b218
mov ecx, edi
push 0x3d
push 1
call fcn.00430b26
and dword [0x456d70], 0x411a5aaf
mov eax, dword [0x44a8e4]
movzx ecx, word [0x445d52]
and ecx, eax
mov word [0x445d52], cx
dec ebx
jne 0x4147b8
mov word [0x442a24], 0x229b
jmp 0x414870
add dword [0x4529f8], 0x29041041
and dword [0x44ce18], 0x3c461a38
push esi
push 0x41
call fcn.0040d60f
add esp, 8
mov eax, dword [0x456d28]
lea ecx, [eax + 1]
mov dword [0x456d28], ecx
mov ecx, 0xa8bd0b6
sub ecx, eax
cmp ecx, 0x9e6215e9
jg 0x4148ac
xor dword [0x4558c8], 0xe9144fe6
mov dword [0x44ae0c], 0xc6ed8a2a
mov eax, dword [0x457318]
lea ecx, [eax - 1]
mov dword [0x457318], ecx
and eax, 0x4cc3aeee
add dword [0x457598], eax
xor eax, eax
mov byte [esp + eax + 0xd], 0
inc eax
cmp eax, 4
jne 0x4148d1
mov eax, dword [0x4530b8]
lea ecx, [eax - 1]
mov dword [0x4530b8], ecx
mov ecx, dword [0x454224]
sar ecx, 6
or ecx, eax
sub dword [0x454368], ecx
mov dword [0x44ae0c], 0xc6ed8a2a
mov eax, dword [0x457318]
lea ecx, [eax - 1]
mov dword [0x457318], ecx
and eax, 0x4cc3aeee
add dword [0x457598], eax
xor eax, eax
mov byte [esp + eax + 9], 0
inc eax
cmp eax, 4
jne 0x414920
imul ax, word [0x43f812], 0x298b
mov word [0x43f812], ax
mov dword [0x44ae0c], 0xc6ed8a2a
mov eax, dword [0x457318]
lea ecx, [eax - 1]
mov dword [0x457318], ecx
and eax, 0x4cc3aeee
add dword [0x457598], eax
xor eax, eax
mov byte [esp + eax + 5], 0
inc eax
cmp eax, 4
jne 0x41495f
xor dword [0x450668], 0x2df6a354
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret