Function at 0x439298
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x11
push 0
push 0
dec ecx
jne 0x4392a0
push ebx
push esi
push edi
mov dword [ebp - 0x18], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404cd4
xor eax, eax
push ebp
push 0x439b5e
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x34], 0xffffffff
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 4]
call fcn.00407da0
mov edx, dword [ebp - 0x38]
mov ecx, 1
mov eax, 0x439b74
call fcn.0041d118
mov edi, eax
test edi, edi
jns 0x4392f5
call fcn.0040394c
test edi, edi
jne 0x439321
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 4]
call fcn.00407da0
mov edx, dword [ebp - 0x3c]
mov ecx, 1
mov eax, 0x439b84
call fcn.0041d118
mov edi, eax
test edi, edi
jns 0x439321
call fcn.0040394c
test edi, edi
jne 0x43934d
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 4]
call fcn.00407da0
mov edx, dword [ebp - 0x40]
mov ecx, 1
mov eax, 0x439b98
call fcn.0041d118
mov edi, eax
test edi, edi
jns 0x43934d
call fcn.0040394c
test edi, edi
jle 0x439b0a
mov byte [ebp - 0x2d], 1
lea edx, [ebp - 0x44]
mov eax, dword [ebp - 4]
call fcn.00407da0
mov edx, dword [ebp - 0x44]
mov ecx, edi
add ecx, 5
jno 0x439373
call fcn.00403954
test ecx, ecx
jns 0x43937c
call fcn.0040394c
mov eax, 0x439ba8
call fcn.0041d118
test eax, eax
jns 0x43938f
call fcn.0040394c
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x43939e
mov byte [ebp - 0x2d], 0
jmp 0x4393cf
mov ebx, edi
mov esi, dword [ebp - 0x28]
sub esi, 1
jno 0x4393ad
call fcn.00403954
sub esi, ebx
jl 0x4393cf
inc esi
mov ecx, 0x439bac
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0041d76c
test al, al
je 0x4393cb
mov byte [ebp - 0x2d], 0
jmp 0x4393cf
inc ebx
dec esi
jne 0x4393b2
cmp byte [ebp - 0x2d], 0
je 0x43944c
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.00407da0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x28]
add ecx, 1
jno 0x4393f0
call fcn.00403954
test ecx, ecx
jns 0x4393f9
call fcn.0040394c
mov eax, 0x439ba8
call fcn.0041d118
test eax, eax
jns 0x43940c
call fcn.0040394c
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x43941b
mov byte [ebp - 0x2d], 0
jmp 0x43944c
mov ebx, edi
mov esi, dword [ebp - 0x28]
sub esi, 1
jno 0x43942a
call fcn.00403954
sub esi, ebx
jl 0x43944c
inc esi
mov ecx, 0x439bac
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0041d76c
test al, al
je 0x439448
mov byte [ebp - 0x2d], 0
jmp 0x43944c
inc ebx
dec esi
jne 0x43942f
cmp byte [ebp - 0x2d], 0
je 0x439a03
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 4]
call fcn.00407da0
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x28]
add ecx, 1
jno 0x439471
call fcn.00403954
test ecx, ecx
jns 0x43947a
call fcn.0040394c
mov eax, 0x439bd4
call fcn.0041d118
test eax, eax
jns 0x43948d
call fcn.0040394c
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jle 0x439a03
mov ebx, edi
mov esi, dword [ebp - 0x28]
sub esi, 1
jno 0x4394a9
call fcn.00403954
sub esi, ebx
jl 0x4394cb
inc esi
mov ecx, 0x439bac
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0041d76c
test al, al
je 0x4394c7
mov byte [ebp - 0x2d], 0
jmp 0x4394cb
inc ebx
dec esi
jne 0x4394ae
cmp byte [ebp - 0x2d], 0
je 0x4395d3
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x28]
sub ecx, edi
jno 0x4394e5
call fcn.00403954
add ecx, 2
jno 0x4394ef
call fcn.00403954
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00404d44
mov ebx, 1
mov edx, dword [ebp - 0x14]
mov eax, 0x439ba8
call fcn.00404e28
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x14]
call fcn.00404ae4
mov ecx, eax
sub ecx, dword [ebp - 0x1c]
jno 0x439526
call fcn.00403954
add ecx, 1
jno 0x439530
call fcn.00403954
mov edx, dword [ebp - 0x1c]
add edx, 1
jno 0x43953d
call fcn.00403954
mov eax, dword [ebp - 0x14]
call fcn.00404d44
cmp ebx, 1
jne 0x439576
lea eax, [ebp - 0xc]
push eax
mov edx, dword [ebp - 0x14]
mov eax, 0x439ba8
call fcn.00404e28
mov ecx, eax
sub ecx, 1
jno 0x439567
call fcn.00403954
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404d44
jmp 0x439591
cmp ebx, 2
jne 0x439591
lea eax, [ebp - 8]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404d44
inc ebx
cmp ebx, 4
jne 0x4394fe
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x14]
call fcn.00404ae4
mov edx, eax
sub edx, 1
jno 0x4395b3
call fcn.00403954
mov ecx, 2
mov eax, dword [ebp - 0x14]
call fcn.00404d44
mov eax, dword [ebp - 0x50]
mov edx, 0x439bd4
call fcn.00404c30
je 0x4395d3
mov byte [ebp - 0x2d], 0
cmp dword [ebp - 0x34], 0
setge al
and al, byte [ebp - 0x2d]
je 0x43964c
test edi, edi
jle 0x43964c
mov byte [ebp - 0x2e], 1
mov ebx, dword [ebp - 0x34]
mov esi, edi
sub esi, 1
jno 0x4395f6
call fcn.00403954
sub esi, ebx
jl 0x439618
inc esi
mov ecx, 0x439bac
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0041d76c
test al, al
jne 0x439614
mov byte [ebp - 0x2e], 0
jmp 0x439618
inc ebx
dec esi
jne 0x4395fb
cmp byte [ebp - 0x2e], 0
je 0x43964c
mov ecx, edi
sub ecx, dword [ebp - 0x34]
jno 0x43962a
call fcn.00403954
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x34]
call fcn.00404d84
sub edi, dword [ebp - 0x34]
jno 0x43963f
call fcn.00403954
sub dword [ebp - 0x28], edi
jno 0x439649
call fcn.00403954
mov edi, dword [ebp - 0x34]
mov edx, 0x439be0
mov eax, dword [ebp - 8]
call fcn.0041d754
and al, byte [ebp - 0x2d]
je 0x439821
mov ebx, 1
lea eax, [ebp - 0x10]
call fcn.00404824
mov eax, dword [ebp - 0x14]
dec ebx
test eax, eax
je 0x43967c
cmp ebx, dword [eax - 4]
jb 0x439681
call fcn.0040394c
inc ebx
cmp byte [eax + ebx - 1], 0x5f
jne 0x43969b
lea eax, [ebp - 0x10]
mov edx, 0x439bec
call fcn.00404aec
jmp 0x4397ca
mov eax, dword [ebp - 0x14]
dec ebx
test eax, eax
je 0x4396a8
cmp ebx, dword [eax - 4]
jb 0x4396ad
call fcn.0040394c
inc ebx
cmp byte [eax + ebx - 1], 0x3d
jne 0x43979f
mov eax, dword [ebp - 0x14]
call fcn.00404ae4
mov edx, ebx
add edx, 2
jno 0x4396cd
call fcn.00403954
add edx, 2
jno 0x4396d7
call fcn.00403954
cmp eax, edx
jl 0x43979f
mov edx, 0x439bf0
lea eax, [ebp - 0x5c]
call fcn.00402fc4
lea eax, [ebp - 0x60]
mov edx, ebx
add edx, 1
jno 0x4396fb
call fcn.00403954
mov ecx, dword [ebp - 0x14]
dec edx
test ecx, ecx
je 0x439708
cmp edx, dword [ecx - 4]
jb 0x43970d
call fcn.0040394c
inc edx
movzx edx, byte [ecx + edx - 1]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x5c]
mov cl, 2
call fcn.00402f94
lea edx, [ebp - 0x5c]
lea eax, [ebp - 0x64]
call fcn.00402fc4
lea eax, [ebp - 0x60]
mov edx, ebx
add edx, 2
jno 0x439740
call fcn.00403954
mov ecx, dword [ebp - 0x14]
dec edx
test ecx, ecx
je 0x43974d
cmp edx, dword [ecx - 4]
jb 0x439752
call fcn.0040394c
inc edx
movzx edx, byte [ecx + edx - 1]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x64]
mov cl, 3
call fcn.00402f94
lea edx, [ebp - 0x64]
lea eax, [ebp - 0x58]
call fcn.00404a88
mov eax, dword [ebp - 0x58]
call fcn.004083c4
mov edx, eax
lea eax, [ebp - 0x54]
call fcn.00404a0c
mov edx, dword [ebp - 0x54]
lea eax, [ebp - 0x10]
call fcn.00404aec
add ebx, 2
jno 0x43979d
call fcn.00403954
jmp 0x4397ca
lea eax, [ebp - 0x68]
mov edx, dword [ebp - 0x14]
dec ebx
test edx, edx
je 0x4397af
cmp ebx, dword [edx - 4]
jb 0x4397b4
call fcn.0040394c
inc ebx
movzx edx, byte [edx + ebx - 1]
call fcn.00404a0c
mov edx, dword [ebp - 0x68]
lea eax, [ebp - 0x10]
call fcn.00404aec
add ebx, 1
jno 0x4397d4
call fcn.00403954
mov eax, dword [ebp - 0x14]
dec ebx
test eax, eax
je 0x4397e1
cmp ebx, dword [eax - 4]
jb 0x4397e6
call fcn.0040394c
inc ebx
cmp byte [eax + ebx - 1], 0x3f
jne 0x43966f
mov eax, ebx
add eax, 1
jno 0x4397fe
call fcn.00403954
mov edx, dword [ebp - 0x14]
dec eax
test edx, edx
je 0x43980b
cmp eax, dword [edx - 4]
jb 0x439810
call fcn.0040394c
inc eax
cmp byte [edx + eax - 1], 0x3d
jne 0x43966f
jmp 0x439967
cmp byte [ebp - 0x2d], 0
je 0x439967
jmp 0x439956
mov eax, 1
mov edx, dword [ebp - 0x14]
dec eax
test edx, edx
je 0x439842
cmp eax, dword [edx - 4]
jb 0x439847
call fcn.0040394c
inc eax
movzx eax, byte [edx + eax - 1]
call fcn.00439274
mov byte [ebp - 0x23], al
mov eax, 2
mov edx, dword [ebp - 0x14]
dec eax
test edx, edx
je 0x439867
cmp eax, dword [edx - 4]
jb 0x43986c
call fcn.0040394c
inc eax
movzx eax, byte [edx + eax - 1]
call fcn.00439274
mov byte [ebp - 0x22], al
mov eax, 3
mov edx, dword [ebp - 0x14]
dec eax
test edx, edx
je 0x43988c
cmp eax, dword [edx - 4]
jb 0x439891
call fcn.0040394c
inc eax
movzx eax, byte [edx + eax - 1]
call fcn.00439274
mov byte [ebp - 0x21], al
mov eax, 4
mov edx, dword [ebp - 0x14]
dec eax
test edx, edx
je 0x4398b1
cmp eax, dword [edx - 4]
jb 0x4398b6
call fcn.0040394c
inc eax
movzx eax, byte [edx + eax - 1]
call fcn.00439274
mov byte [ebp - 0x20], al
movzx eax, byte [ebp - 0x23]
add eax, eax
add eax, eax
movzx edx, byte [ebp - 0x22]
shr edx, 4
or eax, edx
mov byte [ebp - 0x1f], al
movzx eax, byte [ebp - 0x22]
shl eax, 4
movzx edx, byte [ebp - 0x21]
shr edx, 2
or eax, edx
mov byte [ebp - 0x1e], al
movzx eax, byte [ebp - 0x21]
shl eax, 6
movzx edx, byte [ebp - 0x20]
shr edx, 0
or eax, edx
mov byte [ebp - 0x1d], al
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x14]
call fcn.00404ae4
mov ecx, eax
mov edx, 5
mov eax, dword [ebp - 0x14]
call fcn.00404d44
push dword [ebp - 0x10]
lea eax, [ebp - 0x6c]
movzx edx, byte [ebp - 0x1f]
call fcn.00404a0c
push dword [ebp - 0x6c]
lea eax, [ebp - 0x70]
movzx edx, byte [ebp - 0x1e]
call fcn.00404a0c
push dword [ebp - 0x70]
lea eax, [ebp - 0x74]
movzx edx, byte [ebp - 0x1d]
call fcn.00404a0c
push dword [ebp - 0x74]
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.00404ba4
mov eax, dword [ebp - 0x14]
call fcn.00404ae4
cmp eax, 4
jge 0x439830
cmp byte [ebp - 0x2d], 0
je 0x439a03
mov edx, 0x439bfc
mov eax, dword [ebp - 0xc]
call fcn.0041d754
test al, al
je 0x43998f
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00439c14
jmp 0x43999a
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.004048bc
lea eax, [ebp - 0x78]
push eax
mov ecx, edi
sub ecx, 1
jno 0x4399aa
call fcn.00403954
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00404d44
push dword [ebp - 0x78]
push dword [ebp - 0x14]
lea eax, [ebp - 0x7c]
push eax
mov eax, dword [ebp - 4]
call fcn.00404ae4
mov ecx, eax
mov edx, dword [ebp - 0x28]
add edx, 2
jno 0x4399d8
call fcn.00403954
mov eax, dword [ebp - 4]
call fcn.00404d44
push dword [ebp - 0x7c]
lea eax, [ebp - 4]
mov edx, 3
call fcn.00404ba4
mov eax, dword [ebp - 0x14]
call fcn.00404ae4
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x14]
call fcn.00404824
add dword [ebp - 0x28], edi
jno 0x439a0d
call fcn.00403954
mov dword [ebp - 0x2c], edi
lea edx, [ebp - 0x80]
mov eax, dword [ebp - 4]
call fcn.00407da0
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x2c]
add ecx, 1
jno 0x439a2b
call fcn.00403954
test ecx, ecx
jns 0x439a34
call fcn.0040394c
mov eax, 0x439b74
call fcn.0041d118
mov edi, eax
test edi, edi
jns 0x439a49
call fcn.0040394c
test edi, edi
jne 0x439a8c
lea edx, [ebp - 0x84]
mov eax, dword [ebp - 4]
call fcn.00407da0
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x2c]
add ecx, 1
jno 0x439a6e
call fcn.00403954
test ecx, ecx
jns 0x439a77
call fcn.0040394c
mov eax, 0x439b84
call fcn.0041d118
mov edi, eax
test edi, edi
jns 0x439a8c
call fcn.0040394c
test edi, edi
jne 0x439acf
lea edx, [ebp - 0x88]
mov eax, dword [ebp - 4]
call fcn.00407da0
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x2c]
add ecx, 1
jno 0x439ab1
call fcn.00403954
test ecx, ecx
jns 0x439aba
call fcn.0040394c
mov eax, 0x439b98
call fcn.0041d118
mov edi, eax
test edi, edi
jns 0x439acf
call fcn.0040394c
cmp byte [ebp - 0x2d], 0
je 0x439add
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
jmp 0x439ae4
mov dword [ebp - 0x34], 0xffffffff
test edi, edi
jg 0x439355
jmp 0x439b0a
mov edx, dword [ebp - 4]
mov eax, 0x439c10
call fcn.00404e28
mov edx, eax
lea eax, [ebp - 4]
mov ecx, 1
call fcn.00404d84
mov edx, dword [ebp - 4]
mov eax, 0x439c10
call fcn.00404e28
test eax, eax
jg 0x439aee
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 4]
call fcn.00404878
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x439b65
lea eax, [ebp - 0x88]
mov edx, 9
call fcn.00404848
lea eax, [ebp - 0x58]
mov edx, 9
call fcn.00404848
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.00404848
ret