Function at 0x5aeea0
Capabilities:
Enumerate pe sections
Reference http user-agent string
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x118]
cmp eax, dword [ecx + 8]
jbe 0x5af330
sub esp, 0x198
lea edi, [esp + 0x1a4]
xor eax, eax
call fcn.004690c0
nop
lea edi, [esp + 0x50]
call fcn.004690f8
mov ecx, dword [esp + 0x19c]
mov dword [esp], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 4], ecx
call fcn.005aee30
mov ecx, dword [esp + 0xc]
cmp ecx, 0x1f
jbe 0x5af325
mov edx, dword [esp + 8]
cmp byte [edx + 0x1f], 0x7f
ja 0x5af30d
mov ebx, dword [esp + 0x1a0]
cmp ebx, 2
jb 0x5af2f5
cmp ebx, 8
ja 0x5af2dd
mov dword [esp + 0x14], ecx
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x98]
xor eax, eax
call fcn.004690c0
lea edi, [esp + 0x70]
call fcn.004690f6
mov ecx, dword [esp + 0x14]
xor eax, eax
jmp 0x5aefe3
mov dword [esp + 0x2c], eax
lea ebp, [esp + eax*8 + 0x70]
lea edi, [esp + eax*8 + 0x74]
movzx ebx, byte [edx + esi]
movzx ecx, byte [edx + esi + 1]
mov dword [esp + 0x4c], ecx
shl ecx, 8
or ebx, ecx
mov ecx, dword [esp + 0x4c]
shr ecx, 0x18
movzx eax, byte [edx + esi + 2]
mov dword [esp + 0x4c], eax
shr eax, 0x10
or eax, ecx
mov ecx, dword [esp + 0x4c]
shl ecx, 0x10
or ecx, ebx
movzx ebx, byte [edx + esi + 3]
mov dword [esp + 0x4c], ebx
shr ebx, 8
or ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 0x18
or eax, ecx
movzx ecx, byte [edx + esi + 4]
or ecx, ebx
movzx ebx, byte [edx + esi + 5]
shl ebx, 8
or ecx, ebx
movzx ebx, byte [edx + esi + 6]
shl ebx, 0x10
or ebx, ecx
movzx ecx, byte [edx + esi + 7]
mov dword [ebp], eax
shl ecx, 0x18
or ecx, ebx
mov dword [edi], ecx
mov eax, dword [esp + 0x2c]
inc eax
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1a0]
cmp eax, 4
jge 0x5af014
mov esi, eax
shl esi, 3
cmp ecx, esi
jb 0x5af2d6
mov edi, ecx
sub edi, esi
sub ebp, esi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and esi, ebp
cmp edi, 7
ja 0x5aef52
jmp 0x5af2ca
mov ecx, ebx
mov edx, 1
shl edx, cl
lea ebp, [ecx - 0x20]
mov ecx, ebp
mov eax, edx
mov edx, 1
shl edx, cl
neg ecx
mov esi, ebx
mov ebx, 1
shr ebx, cl
cmp ebp, 0x20
sbb ebp, ebp
and ebp, edx
cmp ecx, 0x20
sbb edx, edx
and ebx, edx
or ebx, ebp
mov dword [esp + 0x4c], ebx
cmp esi, 0x20
sbb edx, edx
and eax, edx
mov dword [esp + 0x20], eax
mov edx, eax
add eax, 0xffffffff
mov dword [esp + 0x1c], eax
mov ebp, ebx
adc ebx, 0xffffffff
mov dword [esp + 0x48], ebx
xor ecx, ecx
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x34], ecx
xor ecx, ecx
jmp 0x5af08e
mov edx, ebp
mov ebp, dword [esp + 0x4c]
mov edi, ecx
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x1a0]
mov ecx, ebx
mov ebx, dword [esp + 0x48]
cmp ecx, 0x100
jae 0x5af28e
mov dword [esp + 0x24], ecx
and ecx, 0x3f
mov dword [esp + 0x28], ecx
add esi, 0xffffffc0
xchg esi, ebx
neg ebx
xchg esi, ebx
mov edx, dword [esp + 0x24]
shr edx, 6
cmp esi, ecx
jbe 0x5af11a
cmp edx, 5
jae 0x5af2be
lea edx, [esp + edx*8 + 0x70]
mov esi, dword [edx + 4]
mov dword [esp + 0x44], esi
mov edx, dword [edx]
shr edx, cl
shr esi, cl
lea ebp, [ecx - 0x20]
mov dword [esp + 0x40], ebp
mov ecx, ebp
mov ebx, dword [esp + 0x44]
shr ebx, cl
mov dword [esp + 0x3c], ebx
neg ecx
mov ebx, dword [esp + 0x44]
shl ebx, cl
mov ebp, dword [esp + 0x28]
cmp ebp, 0x20
sbb ebp, ebp
and edx, ebp
and esi, ebp
cmp ecx, 0x20
sbb ebp, ebp
and ebx, ebp
or ebx, edx
mov edx, dword [esp + 0x40]
cmp edx, 0x20
sbb edx, edx
mov ebp, dword [esp + 0x3c]
and ebp, edx
or ebp, ebx
jmp 0x5af1e2
cmp edx, 5
jae 0x5af2b2
mov dword [esp + 0x30], edi
lea esi, [esp + edx*8 + 0x70]
mov ebp, dword [esi + 4]
mov dword [esp + 0x44], ebp
mov esi, dword [esi]
shr ebp, cl
mov dword [esp + 0x40], ebp
shr esi, cl
lea edi, [ecx - 0x20]
mov ecx, edi
mov ebx, dword [esp + 0x44]
shr ebx, cl
neg ecx
mov ebp, dword [esp + 0x44]
shl ebp, cl
lea eax, [edx + 1]
cmp edi, 0x20
sbb edi, edi
and ebx, edi
cmp ecx, 0x20
sbb ecx, ecx
and ebp, ecx
mov ecx, edx
mov edx, dword [esp + 0x28]
cmp edx, 0x20
sbb edi, edi
and esi, edi
or ebp, esi
mov esi, edx
mov edx, dword [esp + 0x40]
and edx, edi
or ebx, ebp
cmp eax, 5
jae 0x5af2a8
mov dword [esp + 0x44], edx
lea eax, [esp + ecx*8 + 0x78]
mov ebp, dword [eax]
mov dword [esp + 0x40], ebp
mov eax, dword [eax + 4]
lea ecx, [esi - 0x40]
neg ecx
mov dword [esp + 0x38], ecx
shl eax, cl
mov esi, ebp
shl ebp, cl
lea edi, [ecx - 0x20]
mov ecx, edi
shl esi, cl
neg ecx
mov edx, dword [esp + 0x40]
shr edx, cl
cmp edi, 0x20
sbb edi, edi
and esi, edi
mov edi, edx
mov edx, dword [esp + 0x38]
cmp edx, 0x20
sbb edx, edx
and eax, edx
and ebp, edx
or ebp, ebx
cmp ecx, 0x20
sbb edx, edx
and edi, edx
or edi, eax
or esi, edi
mov edx, dword [esp + 0x44]
or esi, edx
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
and esi, edx
and ebp, eax
add ebp, edi
mov ebx, dword [esp + 0x34]
adc esi, ebx
test ebp, 1
sete cl
and ecx, 1
test cl, cl
je 0x5af223
mov ebp, dword [esp + 0x24]
inc ebp
mov edx, dword [esp + 0x1a0]
mov ebx, ebp
mov ecx, edi
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x48]
jmp 0x5af075
mov ebx, dword [esp + 0x4c]
mov ecx, ebx
shr ebx, 1
mov edi, edx
mov edx, dword [esp + 0x20]
shr edx, 1
shl ecx, 0x1f
or ecx, edx
cmp ebx, esi
seta dl
sete bl
cmp ebp, ecx
setb cl
and ebx, ecx
or edx, ebx
test dl, dl
je 0x5af264
mov edx, dword [esp + 0x24]
xchg ebp, eax
mov byte [esp + edx + 0x98], al
xchg ebp, eax
mov ebx, edx
xor ecx, ecx
mov edx, dword [esp + 0x20]
jmp 0x5af27c
mov edx, dword [esp + 0x20]
sub ebp, edx
mov ebx, dword [esp + 0x24]
xchg ebp, eax
mov byte [esp + ebx + 0x98], al
xchg ebp, eax
mov ecx, 1
mov ebp, edx
mov edx, dword [esp + 0x1a0]
add ebx, edx
xor esi, esi
jmp 0x5af075
lea edi, [esp + 0x1a4]
lea esi, [esp + 0x98]
call fcn.00469390
add esp, 0x198
ret
mov ecx, 5
call fcn.00468ee0
mov eax, edx
mov ecx, 5
call fcn.00468ee0
mov eax, edx
mov ecx, 5
call fcn.00468ee0
mov eax, 7
mov ecx, edi
call fcn.00468ed0
mov eax, esi
call fcn.00468f30
lea eax, [0x6f44e0]
mov dword [esp], eax
lea eax, [0x7b09f0]
mov dword [esp + 4], eax
call fcn.00438b10
lea eax, [0x6f44e0]
mov dword [esp], eax
lea eax, [0x7b09e8]
mov dword [esp + 4], eax
call fcn.00438b10
lea eax, [0x6f44e0]
mov dword [esp], eax
lea eax, [0x7b09e0]
mov dword [esp + 4], eax
call fcn.00438b10
mov eax, 0x1f
call fcn.00468ed0
nop
call fcn.00467a60
jmp fcn.005aeea0