Function at 0x4b2410
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x10]
sub esp, 0x60
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
push ebx
push esi
push edi
xor edi, edi
cmp edx, eax
jae 0x4b2e6e
mov ebx, 0x53f8c8
push eax
push edx
lea eax, [ebp - 0x50]
push eax
call fcn.004b3180
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x20], edx
test edx, edx
je case.0x4b29cb.7
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
cmp eax, ecx
jae 0x4b2e60
nop word [eax + eax]
push ecx
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.004b3180
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
je case.0x4b29cb.7
mov esi, dword [ebp - 0x58]
lea eax, [ebp - 0x30]
push esi
push dword [ebp - 0x5c]
push eax
call fcn.004b3180
add esp, 0xc
test eax, eax
je case.0x4b29cb.7
push esi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.004b3180
add esp, 0xc
test eax, eax
je case.0x4b29cb.7
cmp byte [ebp - 0x22], 0
jne case.0x4b29cb.7
movzx edx, byte [ebp - 0x23]
mov dword [ebp - 0x14], edx
lea eax, [edx - 1]
cmp eax, 0x1d
ja case.0x4b29cb.7
movzx eax, byte [eax + 0x4b2eac]
jmp dword [eax*4 + 0x4b2e84]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
sub eax, ecx
cmp eax, 1
je 0x4b24e9
xor ebx, ebx
jmp 0x4b28f5
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
mov esi, dword [fcn.004fd4d0]
mov ecx, esi
call dword [0x51a4a0]
call esi
add esp, 4
mov ebx, eax
jmp 0x4b28f5
mov esi, dword [ebp - 0x28]
mov eax, esi
mov edx, dword [ebp - 0x2c]
sub eax, edx
jne 0x4b2527
xor ebx, ebx
jmp 0x4b28f5
cmp eax, 4
jbe 0x4b253d
push esi
push edx
call fcn.004b3260
add esp, 8
mov ebx, eax
jmp 0x4b28f5
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4b2543
cmp ecx, 0xa
mov eax, 0x525368
push ecx
cmovb eax, ebx
push eax
push str._s_lx
call fcn.004810a0
add esp, 0xc
mov ebx, eax
jmp 0x4b28f5
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
inc eax
cmp eax, ecx
jbe 0x4b2583
xor ebx, ebx
jmp 0x4b28f5
push ecx
push eax
call fcn.004b3260
add esp, 8
mov ebx, eax
jmp 0x4b28f5
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.004b3260
add esp, 8
mov ebx, eax
jmp 0x4b28f5
push 0x53f8c8
jmp 0x4b24fa
push 1
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.004b1aa0
add esp, 0xc
mov ebx, eax
jmp 0x4b28f5
mov ebx, dword [ebp - 0x2c]
mov ecx, ebx
mov edx, dword [ebp - 0x28]
cmp ecx, edx
jae 0x4b25e3
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4b25e3
inc ecx
cmp ecx, edx
jb 0x4b25d6
lea esi, [ebx + 0xa]
mov eax, ecx
sub eax, esi
sub eax, 0
je 0x4b25fb
sub eax, 2
je 0x4b2600
xor ebx, ebx
jmp 0x4b28f5
mov esi, 0x5253a8
cmp ecx, edx
jb 0x4b260b
xor ebx, ebx
jmp 0x4b28f5
cmp byte [ecx], 0x5a
jne 0x4b261c
mov ecx, 0x5253ac
mov edx, 0x5253af
jmp 0x4b261d
inc ecx
push ecx
sub edx, ecx
lea eax, [ebx + 8]
push edx
push esi
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.004810a0
add esp, 0x28
mov ebx, eax
jmp 0x4b28f5
mov esi, dword [ebp - 0x2c]
mov ecx, esi
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], 0x53f8c8
cmp ecx, ebx
jae 0x4b267d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4b267d
inc ecx
cmp ecx, ebx
jb 0x4b2670
mov eax, ecx
mov byte [ebp - 2], 0x30
sub eax, esi
sub eax, 0xc
sub eax, 0
je 0x4b26ac
sub eax, 1
je 0x4b26a4
sub eax, 1
je 0x4b269e
xor ebx, ebx
jmp 0x4b28f5
mov al, byte [ecx - 2]
mov byte [ebp - 2], al
mov al, byte [ecx - 1]
mov byte [ebp - 1], al
jmp 0x4b26b0
mov byte [ebp - 1], 0x30
xor edx, edx
mov eax, ecx
cmp ecx, ebx
jae 0x4b271b
mov bl, byte [ecx]
mov byte [ebp - 3], bl
cmp bl, 0x2e
mov ebx, dword [ebp - 0xc]
je 0x4b26cb
cmp byte [ebp - 3], 0x2c
jne 0x4b26fe
inc ecx
nop dword [eax]
inc eax
cmp eax, ebx
jae 0x4b26e1
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4b26e1
cmp dl, 0x39
jle 0x4b26d0
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4b26fe
lea esi, [ecx - 1]
add esi, edx
nop
cmp byte [esi], 0x30
jne 0x4b26fb
dec esi
sub edx, 1
jne 0x4b26f0
mov esi, dword [ebp - 0x2c]
cmp eax, ebx
jae 0x4b271b
cmp byte [eax], 0x5a
jne 0x4b2713
mov eax, str._GMT
mov ebx, 0x525378
jmp 0x4b271b
mov dword [ebp - 0x10], 0x51c9ac
inc eax
push eax
sub ebx, eax
test edx, edx
push ebx
push dword [ebp - 0x10]
mov eax, 0x51ec34
push ecx
push edx
mov ecx, 0x53f8c8
cmove eax, ecx
push eax
movsx eax, byte [ebp - 1]
push eax
movsx eax, byte [ebp - 2]
push eax
lea eax, [esi + 0xa]
push eax
lea eax, [esi + 8]
push eax
lea eax, [esi + 6]
push eax
lea eax, [esi + 4]
push eax
push esi
push str._.4s__.2s__.2s__.2s:_.2s:_c_c_s_.s_s_.s
call fcn.004810a0
add esp, 0x38
mov dword [ebp - 8], eax
mov ebx, eax
jmp 0x4b28f8
mov ecx, dword [ebp - 0x28]
add edx, 0xfffffff4
mov ebx, dword [ebp - 0x2c]
mov esi, 1
sub ecx, ebx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], 0
cmp edx, 0x12
ja case.0x4b2793.13
movzx eax, byte [edx + 0x4b2edc]
jmp dword [eax*4 + 0x4b2ecc]
mov esi, 2
jmp 0x4b27a6
mov esi, 4
mov dword [ebp - 0x10], esi
xor edx, edx
mov eax, ecx
div esi
test edx, edx
jne case.0x4b2793.13
mov eax, ecx
div esi
cmp eax, 0x3fffffff
ja case.0x4b2793.13
mov esi, dword [fcn.004f0180]
lea eax, [eax*4 + 1]
push eax
mov ecx, esi
call dword [0x51a4a0]
call esi
add esp, 4
mov dword [ebp - 8], eax
test eax, eax
je case.0x4b2793.13
cmp dword [ebp - 0x14], 0xc
jne 0x4b2810
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x4b2807
push esi
push ebx
push eax
call fcn.004e8240
mov eax, dword [ebp - 8]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x4b28ee
xor esi, esi
cmp ebx, dword [ebp - 0x28]
jae 0x4b2807
mov eax, dword [ebp - 0x10]
xor ecx, ecx
sub eax, 2
je 0x4b2835
sub eax, 2
jne 0x4b283e
movzx ecx, byte [ebx]
movzx eax, byte [ebx + 1]
shl ecx, 8
or ecx, eax
add ebx, 2
movzx eax, byte [ebx]
shl ecx, 8
or ecx, eax
inc ebx
movzx eax, byte [ebx]
mov edx, 1
shl ecx, 8
inc ebx
or ecx, eax
mov dword [ebp - 0x18], ebx
cmp ecx, 0x80
jb 0x4b28bb
cmp ecx, 0x800
jb 0x4b28a1
cmp ecx, 0x10000
jb 0x4b288a
cmp ecx, 0x200000
jae 0x4b28d2
mov edx, dword [ebp - 8]
mov al, cl
and al, 0x3f
or ecx, 0x400000
or al, 0x80
shr ecx, 6
mov byte [esi + edx + 3], al
mov edx, 2
mov ebx, dword [ebp - 8]
mov al, cl
and al, 0x3f
or ecx, 0x20000
or al, 0x80
shr ecx, 6
inc edx
mov byte [esi + ebx + 2], al
mov ebx, dword [ebp - 8]
mov al, cl
and al, 0x3f
or ecx, 0x3000
or al, 0x80
shr ecx, 6
inc edx
mov byte [esi + ebx + 1], al
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov byte [esi + eax], cl
add esi, edx
cmp ebx, dword [ebp - 0x28]
jb 0x4b2817
mov byte [esi + eax], 0
jmp 0x4b28ee
push dword [ebp - 8]
mov esi, dword [fcn.004ebfb0]
mov ecx, esi
call dword [0x51a4a0]
call esi
add esp, 4
mov eax, dword [ebp - 0xc]
or esi, 0xffffffff
xor ebx, ebx
test esi, esi
cmovns ebx, eax
mov dword [ebp - 8], ebx
test ebx, ebx
je case.0x4b29cb.7
test edi, edi
je 0x4b295c
movsx eax, byte [ebx]
mov esi, ebx
push eax
call fcn.004f1120
add esp, 4
test eax, eax
je 0x4b2928
movsx eax, byte [esi + 1]
inc esi
push eax
call fcn.004f1120
add esp, 4
test eax, eax
jne 0x4b2916
cmp byte [esi], 0
jne 0x4b2939
sub esi, ebx
mov ecx, 0x51c9a8
cmp esi, 2
jle 0x4b293e
mov ecx, 0x51eab8
mov edx, dword [ebp + 0xc]
sub ecx, edi
mov ebx, dword [ebp + 8]
cmp edi, edx
jae 0x4b2950
mov al, byte [ecx + edi]
mov byte [edi + ebx], al
inc edi
cmp byte [ecx + edi], 0
jne 0x4b2946
mov ebx, dword [ebp - 8]
jmp 0x4b295f
mov edx, dword [ebp + 0xc]
cmp byte [ebx], 0
je 0x4b2984
mov ecx, ebx
mov ebx, dword [ebp + 8]
sub ecx, edi
nop dword [eax + eax]
cmp edi, edx
jae 0x4b297a
mov al, byte [ecx + edi]
mov byte [edi + ebx], al
inc edi
cmp byte [ecx + edi], 0
jne 0x4b2970
mov ebx, dword [ebp - 8]
mov esi, dword [fcn.004ebfb0]
mov ecx, esi
push ebx
call dword [0x51a4a0]
call esi
mov ebx, dword [ebp + 0xc]
add esp, 4
cmp edi, ebx
jae 0x4b29a6
mov eax, dword [ebp + 8]
mov byte [edi + eax], 0x3d
inc edi
cmp byte [ebp - 0x32], 0
jne case.0x4b29cb.7
movzx edx, byte [ebp - 0x33]
mov dword [ebp - 0x18], edx
lea eax, [edx - 1]
cmp eax, 0x1d
ja case.0x4b29cb.7
movzx eax, byte [eax + 0x4b2f18]
jmp dword [eax*4 + 0x4b2ef0]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
sub eax, ecx
cmp eax, 1
je 0x4b29e6
xor edx, edx
jmp 0x4b2e12
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
mov esi, dword [fcn.004fd4d0]
mov ecx, esi
call dword [0x51a4a0]
call esi
add esp, 4
mov edx, eax
jmp 0x4b2e12
mov esi, dword [ebp - 0x38]
mov eax, esi
mov edx, dword [ebp - 0x3c]
sub eax, edx
jne 0x4b2a24
xor edx, edx
jmp 0x4b2e12
cmp eax, 4
jbe 0x4b2a3a
push esi
push edx
call fcn.004b3260
add esp, 8
mov edx, eax
jmp 0x4b2e12
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4b2a40
push ecx
cmp ecx, 0xa
mov eax, 0x525368
mov ecx, 0x53f8c8
cmovb eax, ecx
push eax
push str._s_lx
call fcn.004810a0
add esp, 0xc
mov edx, eax
jmp 0x4b2e12
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
inc eax
cmp eax, ecx
jbe 0x4b2a85
xor edx, edx
jmp 0x4b2e12
push ecx
push eax
call fcn.004b3260
add esp, 8
mov edx, eax
jmp 0x4b2e12
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
call fcn.004b3260
add esp, 8
mov edx, eax
jmp 0x4b2e12
push 0x53f8c8
jmp 0x4b29f7
push 1
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
call fcn.004b1aa0
add esp, 0xc
mov edx, eax
jmp 0x4b2e12
mov ebx, dword [ebp - 0x3c]
mov ecx, ebx
mov edx, dword [ebp - 0x38]
cmp ecx, edx
jae 0x4b2ae5
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4b2ae5
inc ecx
cmp ecx, edx
jb 0x4b2ad8
lea esi, [ebx + 0xa]
mov eax, ecx
sub eax, esi
sub eax, 0
je 0x4b2b03
sub eax, 2
je 0x4b2b08
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x4b2e15
mov esi, 0x5253a8
cmp ecx, edx
jb 0x4b2b19
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x4b2e15
cmp byte [ecx], 0x5a
jne 0x4b2b2a
mov ecx, 0x5253ac
mov edx, 0x5253af
jmp 0x4b2b2b
inc ecx
push ecx
sub edx, ecx
lea eax, [ebx + 8]
push edx
push esi
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.004810a0
mov ebx, dword [ebp + 0xc]
add esp, 0x28
mov edx, eax
mov dword [ebp - 8], eax
jmp 0x4b2e15
mov esi, dword [ebp - 0x3c]
mov ecx, esi
mov ebx, dword [ebp - 0x38]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], 0x53f8c8
cmp ecx, ebx
jae 0x4b2b8d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4b2b8d
inc ecx
cmp ecx, ebx
jb 0x4b2b80
mov eax, ecx
mov byte [ebp - 1], 0x30
sub eax, esi
sub eax, 0xc
sub eax, 0
je 0x4b2bc2
sub eax, 1
je 0x4b2bba
sub eax, 1
je 0x4b2bb4
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x4b2e15
mov al, byte [ecx - 2]
mov byte [ebp - 1], al
mov al, byte [ecx - 1]
mov byte [ebp - 2], al
jmp 0x4b2bc6
mov byte [ebp - 2], 0x30
xor edx, edx
mov eax, ecx
cmp ecx, ebx
jae 0x4b2c2c
mov bl, byte [ecx]
mov byte [ebp - 3], bl
cmp bl, 0x2e
mov ebx, dword [ebp - 0x18]
je 0x4b2be1
cmp byte [ebp - 3], 0x2c
jne 0x4b2c0f
inc ecx
inc eax
cmp eax, ebx
jae 0x4b2bf3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4b2bf3
cmp dl, 0x39
jle 0x4b2be2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4b2c0f
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x4b2c0c
dec esi
sub edx, 1
jne 0x4b2c01
mov esi, dword [ebp - 0x3c]
cmp eax, ebx
jae 0x4b2c2c
cmp byte [eax], 0x5a
jne 0x4b2c24
mov eax, str._GMT
mov ebx, 0x525378
jmp 0x4b2c2c
mov dword [ebp - 0x10], 0x51c9ac
inc eax
push eax
sub ebx, eax
test edx, edx
push ebx
push dword [ebp - 0x10]
mov eax, 0x51ec34
push ecx
push edx
mov ecx, 0x53f8c8
cmove eax, ecx
push eax
movsx eax, byte [ebp - 2]
push eax
movsx eax, byte [ebp - 1]
push eax
lea eax, [esi + 0xa]
push eax
lea eax, [esi + 8]
push eax
lea eax, [esi + 6]
push eax
lea eax, [esi + 4]
push eax
push esi
push str._.4s__.2s__.2s__.2s:_.2s:_c_c_s_.s_s_.s
call fcn.004810a0
mov ebx, dword [ebp + 0xc]
add esp, 0x38
mov edx, eax
mov dword [ebp - 8], eax
jmp 0x4b2e15
mov ecx, dword [ebp - 0x38]
add edx, 0xfffffff4
mov ebx, dword [ebp - 0x3c]
mov esi, 1
sub ecx, ebx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0xc], 0
cmp edx, 0x12
ja case.0x4b2ca7.13
movzx eax, byte [edx + 0x4b2f48]
jmp dword [eax*4 + 0x4b2f38]
mov esi, 2
jmp 0x4b2cba
mov esi, 4
mov dword [ebp - 0x10], esi
xor edx, edx
mov eax, ecx
div esi
test edx, edx
jne case.0x4b2ca7.13
mov eax, ecx
div esi
cmp eax, 0x3fffffff
ja case.0x4b2ca7.13
mov esi, dword [fcn.004f0180]
lea eax, [eax*4 + 1]
push eax
mov ecx, esi
call dword [0x51a4a0]
call esi
add esp, 4
mov dword [ebp - 8], eax
test eax, eax
je case.0x4b2ca7.13
cmp dword [ebp - 0x18], 0xc
jne 0x4b2d24
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x4b2d1b
push esi
push ebx
push eax
call fcn.004e8240
mov eax, dword [ebp - 8]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x4b2e08
xor esi, esi
cmp ebx, dword [ebp - 0x38]
jae 0x4b2d1b
nop dword [eax + eax]
mov ecx, dword [ebp - 0x10]
xor eax, eax
sub ecx, 2
je 0x4b2d4e
sub ecx, 2
jne 0x4b2d57
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 1]
shl eax, 8
or eax, ecx
add ebx, 2
movzx ecx, byte [ebx]
shl eax, 8
or eax, ecx
inc ebx
movzx ecx, byte [ebx]
mov edx, 1
shl eax, 8
inc ebx
or eax, ecx
mov dword [ebp - 0x18], ebx
cmp eax, 0x80
jb 0x4b2dd3
cmp eax, 0x800
jb 0x4b2db8
cmp eax, 0x10000
jb 0x4b2da0
cmp eax, 0x200000
jae 0x4b2dec
mov edx, dword [ebp - 8]
mov cl, al
and cl, 0x3f
or eax, 0x400000
or cl, 0x80
shr eax, 6
mov byte [esi + edx + 3], cl
mov edx, 2
mov ebx, dword [ebp - 8]
mov cl, al
and cl, 0x3f
or eax, 0x20000
or cl, 0x80
shr eax, 6
inc edx
mov byte [esi + ebx + 2], cl
mov ebx, dword [ebp - 8]
mov cl, al
and cl, 0x3f
or eax, 0x3000
or cl, 0x80
shr eax, 6
inc edx
mov byte [esi + ebx + 1], cl
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
mov byte [esi + ecx], al
add esi, edx
cmp ebx, dword [ebp - 0x38]
jb 0x4b2d30
mov eax, ecx
mov byte [esi + eax], 0
jmp 0x4b2e08
push dword [ebp - 8]
mov esi, dword [fcn.004ebfb0]
mov ecx, esi
call dword [0x51a4a0]
call esi
add esp, 4
mov eax, dword [ebp - 0xc]
or esi, 0xffffffff
mov ebx, dword [ebp + 0xc]
xor edx, edx
test esi, esi
cmovns edx, eax
mov dword [ebp - 8], edx
test edx, edx
je case.0x4b29cb.7
cmp byte [edx], 0
mov ecx, edx
je 0x4b2e36
mov edx, dword [ebp + 8]
cmp edi, ebx
jae 0x4b2e2c
mov al, byte [ecx]
mov byte [edi + edx], al
inc ecx
inc edi
cmp byte [ecx], 0
jne 0x4b2e23
mov edx, dword [ebp - 8]
mov esi, dword [fcn.004ebfb0]
mov ecx, esi
push edx
call dword [0x51a4a0]
call esi
mov eax, dword [ebp - 0x1c]
add esp, 4
mov ecx, dword [ebp - 0x48]
mov ebx, 0x53f8c8
cmp eax, ecx
jb 0x4b2460
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
cmp edx, eax
jb 0x4b2431
mov eax, edi
pop edi
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