Function at 0x10082335
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x10]
sub esp, 0x5c
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
push ebx
push esi
xor esi, esi
push edi
cmp edx, eax
jae 0x10082cce
mov ebx, dword [ebp + 0xc]
nop
push eax
push edx
lea eax, [ebp - 0x4c]
push eax
call fcn.10082ff0
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x1c], edx
test edx, edx
je case.0x10082840.7
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
cmp eax, ecx
jae 0x10082cc0
nop dword [eax]
push ecx
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.10082ff0
add esp, 0xc
mov dword [ebp - 0x18], eax
test eax, eax
je case.0x10082840.7
mov edi, dword [ebp - 0x54]
lea eax, [ebp - 0x2c]
push edi
push dword [ebp - 0x58]
push eax
call fcn.10082ff0
add esp, 0xc
test eax, eax
je case.0x10082840.7
push edi
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.10082ff0
add esp, 0xc
test eax, eax
je case.0x10082840.7
cmp byte [ebp - 0x1e], 0
jne case.0x10082840.7
movzx ecx, byte [ebp - 0x1f]
mov dword [ebp - 0x10], ecx
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x10082840.7
movzx eax, byte [eax + 0x10082d0c]
jmp dword [eax*4 + 0x10082ce4]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
sub eax, ecx
cmp eax, 1
je 0x1008234e
xor eax, eax
mov dword [ebp - 8], eax
mov edx, eax
jmp 0x10082786
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x100dcb94]
add esp, 4
mov dword [ebp - 8], eax
mov edx, eax
jmp 0x10082786
mov edi, dword [ebp - 0x24]
mov eax, edi
mov edx, dword [ebp - 0x28]
sub eax, edx
jne 0x10082388
mov dword [ebp - 8], eax
mov edx, eax
jmp 0x10082786
cmp eax, 4
jbe 0x100823a1
push edi
push edx
call fcn.100830d0
add esp, 8
mov dword [ebp - 8], eax
mov edx, eax
jmp 0x10082786
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, edi
jb 0x100823a7
push ecx
cmp ecx, 0xa
mov eax, 0x100c3690
mov ecx, 0x100ba720
cmovb eax, ecx
push eax
push str._s_lx
call fcn.1005ed80
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, eax
jmp 0x10082786
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
inc eax
cmp eax, ecx
jbe 0x100823f4
xor eax, eax
mov dword [ebp - 8], eax
mov edx, eax
jmp 0x10082786
push ecx
push eax
call fcn.100830d0
add esp, 8
mov dword [ebp - 8], eax
mov edx, eax
jmp 0x10082786
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.100830d0
add esp, 8
mov edx, eax
jmp 0x10082783
push 0x100ba720
call dword [0x100dcb94]
add esp, 4
mov edx, eax
jmp 0x10082783
push 1
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.10081880
add esp, 0xc
mov edx, eax
jmp 0x10082783
mov ebx, dword [ebp - 0x28]
mov ecx, ebx
mov edx, dword [ebp - 0x24]
cmp ecx, edx
jae 0x10082462
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x10082462
inc ecx
cmp ecx, edx
jb 0x10082455
lea edi, [ebx + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x10082480
sub eax, 2
je 0x10082485
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x10082786
mov edi, 0x100c36d0
cmp ecx, edx
jb 0x10082496
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x10082786
cmp byte [ecx], 0x5a
jne 0x100824a7
mov ecx, 0x100c36d4
mov edx, 0x100c36d7
jmp 0x100824a8
inc ecx
push ecx
sub edx, ecx
lea eax, [ebx + 8]
push edx
push edi
push eax
lea eax, [ebx + 6]
push eax
lea eax, [ebx + 4]
push eax
lea eax, [ebx + 2]
push eax
xor eax, eax
cmp byte [ebx], 0x35
push ebx
setl al
add eax, 0x13
push eax
push str._u_.2s__.2s__.2s__.2s:_.2s:_.2s__.s
call fcn.1005ed80
mov ebx, dword [ebp + 0xc]
add esp, 0x28
mov edx, eax
mov dword [ebp - 8], eax
jmp 0x10082786
mov edi, dword [ebp - 0x28]
mov ecx, edi
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], 0x100ba720
cmp ecx, ebx
jae 0x1008250d
nop word [eax + eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x1008250d
inc ecx
cmp ecx, ebx
jb 0x10082500
mov eax, ecx
mov byte [ebp - 2], 0x30
sub eax, edi
sub eax, 0xc
sub eax, 0
je 0x10082542
sub eax, 1
je 0x1008253a
sub eax, 1
je 0x10082534
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x10082786
mov al, byte [ecx - 2]
mov byte [ebp - 2], al
mov al, byte [ecx - 1]
mov byte [ebp - 1], al
jmp 0x10082546
mov byte [ebp - 1], 0x30
xor edx, edx
mov eax, ecx
cmp ecx, ebx
jae 0x100825ac
mov bl, byte [ecx]
mov byte [ebp - 3], bl
cmp bl, 0x2e
mov ebx, dword [ebp - 0x10]
je 0x10082561
cmp byte [ebp - 3], 0x2c
jne 0x1008258f
inc ecx
inc eax
cmp eax, ebx
jae 0x10082573
mov dl, byte [eax]
cmp dl, 0x30
jl 0x10082573
cmp dl, 0x39
jle 0x10082562
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x1008258f
lea edi, [ecx - 1]
add edi, edx
cmp byte [edi], 0x30
jne 0x1008258c
dec edi
sub edx, 1
jne 0x10082581
mov edi, dword [ebp - 0x28]
cmp eax, ebx
jae 0x100825ac
cmp byte [eax], 0x5a
jne 0x100825a4
mov eax, str._GMT
mov ebx, 0x100c36a0
jmp 0x100825ac
mov dword [ebp - 0x14], 0x100bca48
inc eax
push eax
sub ebx, eax
test edx, edx
push ebx
push dword [ebp - 0x14]
mov eax, 0x100bad14
push ecx
push edx
mov ecx, 0x100ba720
cmove eax, ecx
push eax
movsx eax, byte [ebp - 1]
push eax
movsx eax, byte [ebp - 2]
push eax
lea eax, [edi + 0xa]
push eax
lea eax, [edi + 8]
push eax
lea eax, [edi + 6]
push eax
lea eax, [edi + 4]
push eax
push edi
push str._.4s__.2s__.2s__.2s:_.2s:_c_c_s_.s_s_.s
call fcn.1005ed80
mov ebx, dword [ebp + 0xc]
add esp, 0x38
mov edx, eax
mov dword [ebp - 8], eax
jmp 0x10082786
mov ebx, dword [ebp - 0x24]
add ecx, 0xfffffff4
mov edi, dword [ebp - 0x28]
sub ebx, edi
mov dword [ebp - 0xc], 1
mov dword [ebp - 8], 0
cmp ecx, 0x12
ja case.0x10082623.13
movzx eax, byte [ecx + 0x10082d3c]
jmp dword [eax*4 + 0x10082d2c]
mov ecx, 2
mov dword [ebp - 0xc], ecx
jmp 0x10082641
mov ecx, 4
mov dword [ebp - 0xc], ecx
jmp 0x10082641
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov eax, ebx
div ecx
test edx, edx
jne case.0x10082623.13
mov eax, ebx
div ecx
cmp eax, 0x3fffffff
ja case.0x10082623.13
lea eax, [eax*4 + 1]
push eax
call dword [0x100dcb88]
mov edx, eax
add esp, 4
mov dword [ebp - 0x14], edx
test edx, edx
je case.0x10082623.13
cmp dword [ebp - 0x10], 0xc
jne 0x1008269f
test ebx, ebx
je 0x10082694
push ebx
push edi
push edx
call fcn.1008dc20
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov byte [ebx + edx], 0
mov eax, edx
jmp 0x10082779
xor ebx, ebx
cmp edi, dword [ebp - 0x24]
jae 0x10082694
mov eax, dword [ebp - 0xc]
xor ecx, ecx
sub eax, 2
je 0x100826c4
sub eax, 2
jne 0x100826cd
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
add edi, 2
movzx eax, byte [edi]
shl ecx, 8
or ecx, eax
inc edi
movzx eax, byte [edi]
inc edi
shl ecx, 8
or ecx, eax
mov eax, 1
mov dword [ebp - 0x10], eax
cmp ecx, 0x80
jb 0x10082752
cmp ecx, 0x800
jb 0x10082738
cmp ecx, 0x10000
jb 0x1008271b
cmp ecx, 0x200000
jae 0x10082769
mov al, cl
mov dword [ebp - 0x10], 3
add edx, ebx
and al, 0x3f
or al, 0x80
or ecx, 0x400000
shr ecx, 6
mov byte [edx + 3], al
jmp 0x10082724
add edx, ebx
mov dword [ebp - 0x10], 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x1008273a
add edx, ebx
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
mov byte [edx + 1], al
mov eax, dword [ebp - 0x10]
inc eax
jmp 0x10082754
add edx, ebx
add ebx, eax
mov byte [edx], cl
cmp edi, dword [ebp - 0x24]
jae 0x10082691
mov edx, dword [ebp - 0x14]
jmp 0x100826a6
push edx
call dword [0x100dcb8c]
add esp, 4
mov eax, dword [ebp - 8]
or ebx, 0xffffffff
xor edx, edx
test ebx, ebx
mov ebx, dword [ebp + 0xc]
cmovns edx, eax
mov dword [ebp - 8], edx
test edx, edx
je case.0x10082840.7
test esi, esi
je 0x100827e6
movsx eax, byte [edx]
mov edi, edx
push eax
call fcn.10097db0
add esp, 4
test eax, eax
je 0x100827b6
movsx eax, byte [edi + 1]
inc edi
push eax
call fcn.10097db0
add esp, 4
test eax, eax
jne 0x100827a4
cmp byte [edi], 0
jne 0x100827c8
sub edi, dword [ebp - 8]
mov ecx, 0x100bcc3c
cmp edi, 2
jle 0x100827cd
mov ecx, 0x100ba6f4
mov edx, dword [ebp + 8]
sub ecx, esi
cmp esi, ebx
jae 0x100827dc
mov al, byte [ecx + esi]
mov byte [esi + edx], al
inc esi
cmp byte [ecx + esi], 0
jne 0x100827d2
mov edx, dword [ebp - 8]
cmp byte [edx], 0
je 0x10082806
mov ecx, edx
mov edx, dword [ebp + 8]
sub ecx, esi
cmp esi, ebx
jae 0x100827fc
mov al, byte [ecx + esi]
mov byte [esi + edx], al
inc esi
cmp byte [ecx + esi], 0
jne 0x100827f2
mov edx, dword [ebp - 8]
push edx
call dword [0x100dcb8c]
add esp, 4
cmp esi, ebx
jae 0x1008281b
mov eax, dword [ebp + 8]
mov byte [esi + eax], 0x3d
inc esi
cmp byte [ebp - 0x2e], 0
jne case.0x10082840.7
movzx ecx, byte [ebp - 0x2f]
mov dword [ebp - 0x14], ecx
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x10082840.7
movzx eax, byte [eax + 0x10082d78]
jmp dword [eax*4 + 0x10082d50]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
sub eax, ecx
cmp eax, 1
je 0x1008285b
xor edx, edx
jmp 0x10082c81
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x100dcb94]
add esp, 4
mov edx, eax
jmp 0x10082c81
mov edi, dword [ebp - 0x34]
mov eax, edi
mov edx, dword [ebp - 0x38]
sub eax, edx
jne 0x1008288f
xor edx, edx
jmp 0x10082c81
cmp eax, 4
jbe 0x100828a5
push edi
push edx
call fcn.100830d0
add esp, 8
mov edx, eax
jmp 0x10082c81
movsx ecx, byte [edx]
sar ecx, 0x1f
nop dword [eax + eax]
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, edi
jb 0x100828b0
push ecx
cmp ecx, 0xa
mov eax, 0x100c3690
mov ecx, 0x100ba720
cmovb eax, ecx
push eax
push str._s_lx
call fcn.1005ed80
add esp, 0xc
mov edx, eax
jmp 0x10082c81
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
inc eax
cmp eax, ecx
jbe 0x100828f5
xor edx, edx
jmp 0x10082c81
push ecx
push eax
call fcn.100830d0
add esp, 8
mov edx, eax
jmp 0x10082c81
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call fcn.100830d0
add esp, 8
mov edx, eax
jmp 0x10082c81
push 0x100ba720
call dword [0x100dcb94]
add esp, 4
mov edx, eax
jmp 0x10082c81
push 1
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call fcn.10081880
add esp, 0xc
mov edx, eax
jmp 0x10082c81
mov ebx, dword [ebp - 0x38]
mov ecx, ebx
mov edx, dword [ebp - 0x34]
cmp ecx, edx
jae 0x10082960
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x10082960
inc ecx
cmp ecx, edx
jb 0x10082953
lea edi, [ebx + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x1008297e
sub eax, 2
je 0x10082983
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x10082c84
mov edi, 0x100c36d0
cmp ecx, edx
jb 0x10082994
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x10082c84
cmp byte [ecx], 0x5a
jne 0x100829a5
mov ecx, 0x100c36d4
mov edx, 0x100c36d7
jmp 0x100829a6
inc ecx
push ecx
sub edx, ecx
lea eax, [ebx + 8]
push edx
push edi
push eax
lea eax, [ebx + 6]
push eax
lea eax, [ebx + 4]
push eax
lea eax, [ebx + 2]
push eax
xor eax, eax
cmp byte [ebx], 0x35
push ebx
setl al
add eax, 0x13
push eax
push str._u_.2s__.2s__.2s__.2s:_.2s:_.2s__.s
call fcn.1005ed80
mov ebx, dword [ebp + 0xc]
add esp, 0x28
mov edx, eax
mov dword [ebp - 8], eax
jmp 0x10082c84
mov edi, dword [ebp - 0x38]
mov ecx, edi
mov ebx, dword [ebp - 0x34]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], 0x100ba720
cmp ecx, ebx
jae 0x10082a05
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x10082a05
inc ecx
cmp ecx, ebx
jb 0x100829f8
mov eax, ecx
mov byte [ebp - 1], 0x30
sub eax, edi
sub eax, 0xc
sub eax, 0
je 0x10082a3a
sub eax, 1
je 0x10082a32
sub eax, 1
je 0x10082a2c
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x10082c84
mov al, byte [ecx - 2]
mov byte [ebp - 1], al
mov al, byte [ecx - 1]
mov byte [ebp - 2], al
jmp 0x10082a3e
mov byte [ebp - 2], 0x30
xor edx, edx
mov eax, ecx
cmp ecx, ebx
jae 0x10082aab
mov bl, byte [ecx]
mov byte [ebp - 3], bl
cmp bl, 0x2e
mov ebx, dword [ebp - 0x10]
je 0x10082a59
cmp byte [ebp - 3], 0x2c
jne 0x10082a8e
inc ecx
nop word [eax + eax]
inc eax
cmp eax, ebx
jae 0x10082a71
mov dl, byte [eax]
cmp dl, 0x30
jl 0x10082a71
cmp dl, 0x39
jle 0x10082a60
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x10082a8e
lea edi, [ecx - 1]
add edi, edx
nop
cmp byte [edi], 0x30
jne 0x10082a8b
dec edi
sub edx, 1
jne 0x10082a80
mov edi, dword [ebp - 0x38]
cmp eax, ebx
jae 0x10082aab
cmp byte [eax], 0x5a
jne 0x10082aa3
mov eax, str._GMT
mov ebx, 0x100c36a0
jmp 0x10082aab
mov dword [ebp - 0x14], 0x100bca48
inc eax
push eax
sub ebx, eax
test edx, edx
push ebx
push dword [ebp - 0x14]
mov eax, 0x100bad14
push ecx
push edx
mov ecx, 0x100ba720
cmove eax, ecx
push eax
movsx eax, byte [ebp - 2]
push eax
movsx eax, byte [ebp - 1]
push eax
lea eax, [edi + 0xa]
push eax
lea eax, [edi + 8]
push eax
lea eax, [edi + 6]
push eax
lea eax, [edi + 4]
push eax
push edi
push str._.4s__.2s__.2s__.2s:_.2s:_c_c_s_.s_s_.s
call fcn.1005ed80
mov ebx, dword [ebp + 0xc]
add esp, 0x38
mov edx, eax
mov dword [ebp - 8], eax
jmp 0x10082c84
mov ebx, dword [ebp - 0x34]
add ecx, 0xfffffff4
mov edi, dword [ebp - 0x38]
sub ebx, edi
mov dword [ebp - 0xc], 1
mov dword [ebp - 8], 0
cmp ecx, 0x12
ja case.0x10082b22.13
movzx eax, byte [ecx + 0x10082da8]
jmp dword [eax*4 + 0x10082d98]
mov ecx, 2
mov dword [ebp - 0xc], ecx
jmp 0x10082b40
mov ecx, 4
mov dword [ebp - 0xc], ecx
jmp 0x10082b40
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov eax, ebx
div ecx
test edx, edx
jne case.0x10082b22.13
mov eax, ebx
div ecx
cmp eax, 0x3fffffff
ja case.0x10082b22.13
lea eax, [eax*4 + 1]
push eax
call dword [0x100dcb88]
mov edx, eax
add esp, 4
mov dword [ebp - 0x10], edx
test edx, edx
je case.0x10082b22.13
cmp dword [ebp - 0x14], 0xc
jne 0x10082b9e
test ebx, ebx
je 0x10082b93
push ebx
push edi
push edx
call fcn.1008dc20
add esp, 0xc
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], 0
mov eax, edx
jmp 0x10082c77
xor ebx, ebx
cmp edi, dword [ebp - 0x34]
jae 0x10082b93
mov ecx, dword [ebp - 0xc]
xor eax, eax
sub ecx, 2
je 0x10082bc3
sub ecx, 2
jne 0x10082bcc
movzx eax, byte [edi]
movzx ecx, byte [edi + 1]
shl eax, 8
or eax, ecx
add edi, 2
movzx ecx, byte [edi]
shl eax, 8
or eax, ecx
inc edi
movzx ecx, byte [edi]
inc edi
shl eax, 8
or eax, ecx
mov ecx, 1
mov dword [ebp - 0x14], ecx
cmp eax, 0x80
jb 0x10082c50
cmp eax, 0x800
jb 0x10082c35
cmp eax, 0x10000
jb 0x10082c17
cmp eax, 0x200000
jae 0x10082c67
mov cl, al
mov dword [ebp - 0x14], 3
add edx, ebx
and cl, 0x3f
or cl, 0x80
or eax, 0x400000
shr eax, 6
mov byte [edx + 3], cl
jmp 0x10082c20
add edx, ebx
mov dword [ebp - 0x14], 2
mov cl, al
or eax, 0x20000
and cl, 0x3f
or cl, 0x80
shr eax, 6
mov byte [edx + 2], cl
jmp 0x10082c37
add edx, ebx
mov cl, al
or eax, 0x3000
and cl, 0x3f
shr eax, 6
or cl, 0x80
mov byte [edx + 1], cl
mov ecx, dword [ebp - 0x14]
inc ecx
jmp 0x10082c52
add edx, ebx
add ebx, ecx
mov byte [edx], al
cmp edi, dword [ebp - 0x34]
jae 0x10082b90
mov edx, dword [ebp - 0x10]
jmp 0x10082ba5
push edx
call dword [0x100dcb8c]
add esp, 4
mov eax, dword [ebp - 8]
or ebx, 0xffffffff
xor edx, edx
test ebx, ebx
mov ebx, dword [ebp + 0xc]
cmovns edx, eax
mov dword [ebp - 8], edx
test edx, edx
je case.0x10082840.7
cmp byte [edx], 0
mov ecx, edx
je 0x10082ca5
mov edx, dword [ebp + 8]
cmp esi, ebx
jae 0x10082c9b
mov al, byte [ecx]
mov byte [esi + edx], al
inc ecx
inc esi
cmp byte [ecx], 0
jne 0x10082c92
mov edx, dword [ebp - 8]
push edx
call dword [0x100dcb8c]
mov eax, dword [ebp - 0x18]
add esp, 4
mov ecx, dword [ebp - 0x44]
cmp eax, ecx
jb 0x100822c0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
cmp edx, eax
jb 0x10082290
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret