Function at 0xa116c0
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 0xa120fe
mov ebx, dword [ebp + 0xc]
nop
push eax
push edx
lea eax, [ebp - 0x4c]
push eax
call fcn.00a12420
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x1c], edx
test edx, edx
je case.0xa11c74.7
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
cmp eax, ecx
jae 0xa120f0
nop dword [eax]
push ecx
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.00a12420
add esp, 0xc
mov dword [ebp - 0x18], eax
test eax, eax
je case.0xa11c74.7
mov edi, dword [ebp - 0x54]
lea eax, [ebp - 0x2c]
push edi
push dword [ebp - 0x58]
push eax
call fcn.00a12420
add esp, 0xc
test eax, eax
je case.0xa11c74.7
push edi
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00a12420
add esp, 0xc
test eax, eax
je case.0xa11c74.7
cmp byte [ebp - 0x1e], 0
jne case.0xa11c74.7
movzx ecx, byte [ebp - 0x1f]
mov dword [ebp - 0x10], ecx
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0xa11c74.7
movzx eax, byte [eax + 0xa1213c]
jmp dword [eax*4 + 0xa12114]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
sub eax, ecx
cmp eax, 1
je 0xa11799
xor edx, edx
jmp 0xa11bc2
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0xa93104]
add esp, 4
mov edx, eax
jmp 0xa11bc2
mov edi, dword [ebp - 0x24]
mov eax, edi
mov edx, dword [ebp - 0x28]
sub eax, edx
jne 0xa117cd
xor edx, edx
jmp 0xa11bc2
cmp eax, 4
jbe 0xa117e3
push edi
push edx
call fcn.00a12500
add esp, 8
mov edx, eax
jmp 0xa11bc2
movsx ecx, byte [edx]
sar ecx, 0x1f
nop dword [eax]
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, edi
jb 0xa117f0
push ecx
cmp ecx, 0xa
mov eax, 0xa7ba1c
mov ecx, 0xa578e4
cmovb eax, ecx
push eax
push str._s_x
call fcn.009e7a90
add esp, 0xc
mov edx, eax
jmp 0xa11bc2
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
inc eax
cmp eax, ecx
jbe 0xa11835
xor edx, edx
jmp 0xa11bc2
push ecx
push eax
call fcn.00a12500
add esp, 8
mov edx, eax
jmp 0xa11bc2
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.00a12500
add esp, 8
mov edx, eax
jmp 0xa11bc2
push 0xa578e4
call dword [0xa93104]
add esp, 4
mov edx, eax
jmp 0xa11bc2
push 1
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.00a10c40
add esp, 0xc
mov edx, eax
jmp 0xa11bc2
mov ebx, dword [ebp - 0x28]
mov ecx, ebx
mov edx, dword [ebp - 0x24]
cmp ecx, edx
jae 0xa118a0
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0xa118a0
inc ecx
cmp ecx, edx
jb 0xa11893
lea edi, [ebx + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0xa118be
sub eax, 2
je 0xa118c3
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0xa11bc5
mov edi, 0xa57c6c
cmp ecx, edx
jb 0xa118d4
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0xa11bc5
cmp byte [ecx], 0x5a
jne 0xa118e5
mov ecx, 0xa7ba5c
mov edx, 0xa7ba5f
jmp 0xa118e6
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.009e7a90
mov ebx, dword [ebp + 0xc]
add esp, 0x28
mov edx, eax
mov dword [ebp - 8], eax
jmp 0xa11bc5
mov edi, dword [ebp - 0x28]
mov ecx, edi
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], 0xa578e4
cmp ecx, ebx
jae 0xa11945
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0xa11945
inc ecx
cmp ecx, ebx
jb 0xa11938
mov eax, ecx
mov byte [ebp - 2], 0x30
sub eax, edi
sub eax, 0xc
sub eax, 0
je 0xa1197a
sub eax, 1
je 0xa11972
sub eax, 1
je 0xa1196c
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0xa11bc5
mov al, byte [ecx - 2]
mov byte [ebp - 2], al
mov al, byte [ecx - 1]
mov byte [ebp - 1], al
jmp 0xa1197e
mov byte [ebp - 1], 0x30
xor edx, edx
mov eax, ecx
cmp ecx, ebx
jae 0xa119eb
mov bl, byte [ecx]
mov byte [ebp - 3], bl
cmp bl, 0x2e
mov ebx, dword [ebp - 0x10]
je 0xa11999
cmp byte [ebp - 3], 0x2c
jne 0xa119ce
inc ecx
nop word [eax + eax]
inc eax
cmp eax, ebx
jae 0xa119b1
mov dl, byte [eax]
cmp dl, 0x30
jl 0xa119b1
cmp dl, 0x39
jle 0xa119a0
mov edx, eax
sub edx, ecx
sub edx, 1
je 0xa119ce
lea edi, [ecx - 1]
add edi, edx
nop
cmp byte [edi], 0x30
jne 0xa119cb
dec edi
sub edx, 1
jne 0xa119c0
mov edi, dword [ebp - 0x28]
cmp eax, ebx
jae 0xa119eb
cmp byte [eax], 0x5a
jne 0xa119e3
mov eax, str._GMT
mov ebx, 0xa7ba2c
jmp 0xa119eb
mov dword [ebp - 0x14], 0xa6f768
inc eax
push eax
sub ebx, eax
test edx, edx
push ebx
push dword [ebp - 0x14]
mov eax, 0xa6fe10
push ecx
push edx
mov ecx, 0xa578e4
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.009e7a90
mov ebx, dword [ebp + 0xc]
add esp, 0x38
mov edx, eax
mov dword [ebp - 8], eax
jmp 0xa11bc5
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.0xa11a62.13
movzx eax, byte [ecx + 0xa1216c]
jmp dword [eax*4 + 0xa1215c]
mov ecx, 2
mov dword [ebp - 0xc], ecx
jmp 0xa11a80
mov ecx, 4
mov dword [ebp - 0xc], ecx
jmp 0xa11a80
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov eax, ebx
div ecx
test edx, edx
jne case.0xa11a62.13
mov eax, ebx
div ecx
cmp eax, 0x3fffffff
ja case.0xa11a62.13
lea eax, [eax*4 + 1]
push eax
call dword [0xa930f8]
mov edx, eax
add esp, 4
mov dword [ebp - 0x14], edx
test edx, edx
je case.0xa11a62.13
cmp dword [ebp - 0x10], 0xc
jne 0xa11ade
test ebx, ebx
je 0xa11ad3
push ebx
push edi
push edx
call fcn.00a179a0
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov byte [ebx + edx], 0
mov eax, edx
jmp 0xa11bb8
xor ebx, ebx
cmp edi, dword [ebp - 0x24]
jae 0xa11ad3
mov eax, dword [ebp - 0xc]
xor ecx, ecx
sub eax, 2
je 0xa11b03
sub eax, 2
jne 0xa11b0c
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 0xa11b91
cmp ecx, 0x800
jb 0xa11b77
cmp ecx, 0x10000
jb 0xa11b5a
cmp ecx, 0x200000
jae 0xa11ba8
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 0xa11b63
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 0xa11b79
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 0xa11b93
add edx, ebx
add ebx, eax
mov byte [edx], cl
cmp edi, dword [ebp - 0x24]
jae 0xa11ad0
mov edx, dword [ebp - 0x14]
jmp 0xa11ae5
push edx
call dword [0xa930fc]
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.0xa11c74.7
test esi, esi
je 0xa11c1a
mov al, byte [edx]
mov ecx, edx
cmp al, 0x41
jl 0xa11bec
nop dword [eax]
cmp al, 0x5a
ja 0xa11bfc
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x41
jge 0xa11be0
test al, al
jne 0xa11bfc
sub ecx, edx
cmp ecx, 2
mov ecx, 0xa78b0c
jle 0xa11c01
mov ecx, 0xa6bf0c
mov edx, dword [ebp + 8]
sub ecx, esi
cmp esi, ebx
jae 0xa11c10
mov al, byte [ecx + esi]
mov byte [esi + edx], al
inc esi
cmp byte [ecx + esi], 0
jne 0xa11c06
mov edx, dword [ebp - 8]
cmp byte [edx], 0
je 0xa11c3a
mov ecx, edx
mov edx, dword [ebp + 8]
sub ecx, esi
cmp esi, ebx
jae 0xa11c30
mov al, byte [ecx + esi]
mov byte [esi + edx], al
inc esi
cmp byte [ecx + esi], 0
jne 0xa11c26
mov edx, dword [ebp - 8]
push edx
call dword [0xa930fc]
add esp, 4
cmp esi, ebx
jae 0xa11c4f
mov eax, dword [ebp + 8]
mov byte [esi + eax], 0x3d
inc esi
cmp byte [ebp - 0x2e], 0
jne case.0xa11c74.7
movzx ecx, byte [ebp - 0x2f]
mov dword [ebp - 0x14], ecx
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0xa11c74.7
movzx eax, byte [eax + 0xa121a8]
jmp dword [eax*4 + 0xa12180]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
sub eax, ecx
cmp eax, 1
je 0xa11c8f
xor edx, edx
jmp 0xa120b1
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0xa93104]
add esp, 4
mov edx, eax
jmp 0xa120b1
mov edi, dword [ebp - 0x34]
mov eax, edi
mov edx, dword [ebp - 0x38]
sub eax, edx
jne 0xa11cc3
xor edx, edx
jmp 0xa120b1
cmp eax, 4
jbe 0xa11cd9
push edi
push edx
call fcn.00a12500
add esp, 8
mov edx, eax
jmp 0xa120b1
movsx ecx, byte [edx]
sar ecx, 0x1f
nop
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, edi
jb 0xa11ce0
push ecx
cmp ecx, 0xa
mov eax, 0xa7ba1c
mov ecx, 0xa578e4
cmovb eax, ecx
push eax
push str._s_x
call fcn.009e7a90
add esp, 0xc
mov edx, eax
jmp 0xa120b1
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
inc eax
cmp eax, ecx
jbe 0xa11d25
xor edx, edx
jmp 0xa120b1
push ecx
push eax
call fcn.00a12500
add esp, 8
mov edx, eax
jmp 0xa120b1
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call fcn.00a12500
add esp, 8
mov edx, eax
jmp 0xa120b1
push 0xa578e4
call dword [0xa93104]
add esp, 4
mov edx, eax
jmp 0xa120b1
push 1
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call fcn.00a10c40
add esp, 0xc
mov edx, eax
jmp 0xa120b1
mov ebx, dword [ebp - 0x38]
mov ecx, ebx
mov edx, dword [ebp - 0x34]
cmp ecx, edx
jae 0xa11d90
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0xa11d90
inc ecx
cmp ecx, edx
jb 0xa11d83
lea edi, [ebx + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0xa11dae
sub eax, 2
je 0xa11db3
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0xa120b4
mov edi, 0xa57c6c
cmp ecx, edx
jb 0xa11dc4
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0xa120b4
cmp byte [ecx], 0x5a
jne 0xa11dd5
mov ecx, 0xa7ba5c
mov edx, 0xa7ba5f
jmp 0xa11dd6
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.009e7a90
mov ebx, dword [ebp + 0xc]
add esp, 0x28
mov edx, eax
mov dword [ebp - 8], eax
jmp 0xa120b4
mov edi, dword [ebp - 0x38]
mov ecx, edi
mov ebx, dword [ebp - 0x34]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], 0xa578e4
cmp ecx, ebx
jae 0xa11e35
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0xa11e35
inc ecx
cmp ecx, ebx
jb 0xa11e28
mov eax, ecx
mov byte [ebp - 1], 0x30
sub eax, edi
sub eax, 0xc
sub eax, 0
je 0xa11e6a
sub eax, 1
je 0xa11e62
sub eax, 1
je 0xa11e5c
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0xa120b4
mov al, byte [ecx - 2]
mov byte [ebp - 1], al
mov al, byte [ecx - 1]
mov byte [ebp - 2], al
jmp 0xa11e6e
mov byte [ebp - 2], 0x30
xor edx, edx
mov eax, ecx
cmp ecx, ebx
jae 0xa11edb
mov bl, byte [ecx]
mov byte [ebp - 3], bl
cmp bl, 0x2e
mov ebx, dword [ebp - 0x10]
je 0xa11e89
cmp byte [ebp - 3], 0x2c
jne 0xa11ebe
inc ecx
nop word [eax + eax]
inc eax
cmp eax, ebx
jae 0xa11ea1
mov dl, byte [eax]
cmp dl, 0x30
jl 0xa11ea1
cmp dl, 0x39
jle 0xa11e90
mov edx, eax
sub edx, ecx
sub edx, 1
je 0xa11ebe
lea edi, [ecx - 1]
add edi, edx
nop
cmp byte [edi], 0x30
jne 0xa11ebb
dec edi
sub edx, 1
jne 0xa11eb0
mov edi, dword [ebp - 0x38]
cmp eax, ebx
jae 0xa11edb
cmp byte [eax], 0x5a
jne 0xa11ed3
mov eax, str._GMT
mov ebx, 0xa7ba2c
jmp 0xa11edb
mov dword [ebp - 0x14], 0xa6f768
inc eax
push eax
sub ebx, eax
test edx, edx
push ebx
push dword [ebp - 0x14]
mov eax, 0xa6fe10
push ecx
push edx
mov ecx, 0xa578e4
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.009e7a90
mov ebx, dword [ebp + 0xc]
add esp, 0x38
mov edx, eax
mov dword [ebp - 8], eax
jmp 0xa120b4
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.0xa11f52.13
movzx eax, byte [ecx + 0xa121d8]
jmp dword [eax*4 + 0xa121c8]
mov ecx, 2
mov dword [ebp - 0xc], ecx
jmp 0xa11f70
mov ecx, 4
mov dword [ebp - 0xc], ecx
jmp 0xa11f70
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov eax, ebx
div ecx
test edx, edx
jne case.0xa11f52.13
mov eax, ebx
div ecx
cmp eax, 0x3fffffff
ja case.0xa11f52.13
lea eax, [eax*4 + 1]
push eax
call dword [0xa930f8]
mov edx, eax
add esp, 4
mov dword [ebp - 0x10], edx
test edx, edx
je case.0xa11f52.13
cmp dword [ebp - 0x14], 0xc
jne 0xa11fce
test ebx, ebx
je 0xa11fc3
push ebx
push edi
push edx
call fcn.00a179a0
add esp, 0xc
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], 0
mov eax, edx
jmp 0xa120a7
xor ebx, ebx
cmp edi, dword [ebp - 0x34]
jae 0xa11fc3
mov ecx, dword [ebp - 0xc]
xor eax, eax
sub ecx, 2
je 0xa11ff3
sub ecx, 2
jne 0xa11ffc
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 0xa12080
cmp eax, 0x800
jb 0xa12065
cmp eax, 0x10000
jb 0xa12047
cmp eax, 0x200000
jae 0xa12097
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 0xa12050
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 0xa12067
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 0xa12082
add edx, ebx
add ebx, ecx
mov byte [edx], al
cmp edi, dword [ebp - 0x34]
jae 0xa11fc0
mov edx, dword [ebp - 0x10]
jmp 0xa11fd5
push edx
call dword [0xa930fc]
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.0xa11c74.7
cmp byte [edx], 0
mov ecx, edx
je 0xa120d5
mov edx, dword [ebp + 8]
cmp esi, ebx
jae 0xa120cb
mov al, byte [ecx]
mov byte [esi + edx], al
inc ecx
inc esi
cmp byte [ecx], 0
jne 0xa120c2
mov edx, dword [ebp - 8]
push edx
call dword [0xa930fc]
mov eax, dword [ebp - 0x18]
add esp, 4
mov ecx, dword [ebp - 0x44]
cmp eax, ecx
jb 0xa11710
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
cmp edx, eax
jb 0xa116e0
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