Function at 0x6971f0
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 - 0x98]
cmp eax, dword [ecx + 8]
jbe 0x697eb4
sub esp, 0x118
mov eax, dword [esp + 0x124]
test eax, eax
je 0x697264
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0x128]
mov dword [esp + 0xd8], ecx
mov edx, dword [esp + 0xd4]
test edx, edx
je 0x69725c
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x697253
or ebx, 0x80
mov ebp, dword [esp + 0xd8]
jmp 0x697271
xor ebx, ebx
xor edx, edx
xor ebp, ebp
jmp 0x697271
mov ecx, dword [esp + 0x128]
xor ebx, ebx
xor edx, edx
xor ebp, ebp
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
mov eax, dword [esp + 0xdc]
test eax, eax
je 0x697292
lea ecx, [0x7b31a4]
jmp 0x697296
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x3c], ecx
mov esi, ebx
and ebx, 0x1f
nop
cmp ebx, 0x16
jne 0x6972e4
mov dword [esp + 0x54], esi
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], edx
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004ba8b0
mov eax, dword [esp + 0x14]
and eax, 0x160
cmp eax, 0x100
jne 0x69734c
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x54]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004ba8b0
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x9c], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x54], ebx
mov ebp, dword [esp + 0x80]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 0x64]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov dword [esp + 0x4c], eax
xor ecx, ecx
jmp 0x69738f
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x74efe4]
mov dword [eax], ecx
lea ecx, [0x7b0bb8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], eax
add esp, 0x118
ret
lea ecx, [eax + 1]
mov eax, dword [esp + 0x4c]
cmp ecx, eax
jge 0x697e97
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x54]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.004baa60
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004bb0e0
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x98], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x94], ebx
mov ebp, dword [esp + 0x84]
mov dword [esp], ebp
mov esi, dword [esp + 0x48]
mov dword [esp + 4], esi
call ecx
lea edi, [esp + 0xe4]
lea esi, [esp + 8]
call fcn.0046958e
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x54]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004bad90
mov eax, dword [esp + 0x98]
test eax, eax
je 0x697e5b
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x8c], ebx
cmp eax, 0x81044065
ja 0x6979c2
cmp eax, 0xe23848a
ja 0x69764d
cmp eax, 0x778cdb8
jne 0x697548
mov eax, dword [esp + 0x94]
lea ebp, [0x6f44e0]
cmp eax, ebp
jne 0x697e5b
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x697388
mov eax, dword [0x967090]
mov ecx, dword [0x967094]
mov edx, dword [esp + 0x11c]
mov dword [esp], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00697fb0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x697d56
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x8c]
mov dword [esp], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004bc6e0
mov eax, dword [esp + 0x48]
lea ebp, [0x6f44e0]
jmp 0x697388
cmp eax, 0xe23848a
jne 0x697e5b
mov eax, dword [esp + 0x94]
lea ebp, [0x6f0b80]
cmp eax, ebp
jne 0x697e5b
mov dword [esp], ebp
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.00697ec0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x697d73
lea eax, [0x6f0b80]
mov dword [esp], eax
mov ecx, dword [esp + 0xac]
mov dword [esp + 4], ecx
call fcn.00409b60
mov eax, dword [esp + 8]
lea ecx, [0x6f0b80]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
mov edx, dword [esp + 0xcc]
test edx, edx
je 0x69760a
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x697610
or ebx, 0x80
jmp 0x697610
xor ebx, ebx
xor edx, edx
xor eax, eax
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
call fcn.004bc070
mov eax, dword [esp + 0x48]
lea ebp, [0x6f44e0]
jmp 0x697388
cmp eax, 0x51256514
je 0x6978c8
cmp eax, 0x81044065
jne 0x697e5b
mov eax, dword [esp + 0x94]
lea ebp, [0x6e9a40]
cmp eax, ebp
jne 0x697e5b
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov ebx, dword [esp + 0x48]
mov dword [esp + 4], ebx
call ecx
lea edi, [esp + 0xe4]
lea esi, [esp + 8]
call fcn.0046958e
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
lea edx, [esp + 0x58]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x73a62b]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 3
call fcn.00452120
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x54]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004bad90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004bb0e0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x6977be
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x10]
cmp eax, 0x8fc52ddb
jne 0x697761
lea eax, [0x6f48e0]
cmp ecx, eax
jne 0x697759
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x6977c8
lea eax, [0x6f47e0]
jmp 0x6977b2
cmp eax, 0xd9632893
jne 0x69778b
lea eax, [0x6f4960]
cmp ecx, eax
jne 0x697783
mov ebx, dword [esp + 0x14]
movzx edx, word [ebx]
lea eax, [0x6f48e0]
xor ecx, ecx
jmp 0x6977c8
lea eax, [0x6f47e0]
jmp 0x6977b2
cmp eax, 0xe927f9e3
jne 0x6977ac
lea eax, [0x6f47e0]
cmp ecx, eax
jne 0x6977b2
mov ebx, dword [esp + 0x14]
mov edx, dword [ebx]
lea eax, [0x6f48e0]
xor ecx, ecx
jmp 0x6977c8
lea eax, [0x6f47e0]
lea eax, [0x6f48e0]
xor edx, edx
xor ecx, ecx
jmp 0x6977c8
lea eax, [0x6f48e0]
xor edx, edx
xor ecx, ecx
test ecx, ecx
setne bl
test edx, edx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebx, ebp
test bl, bl
je 0x6978b9
mov ebx, dword [0x937290]
mov ebp, ebx
sar ebx, 0x1f
add ebp, 0x5000
adc ebx, 0
cmp ecx, ebx
sete bl
xchg esi, ebx
seta bl
xchg esi, ebx
cmp ebp, edx
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebx, ebp
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
jne 0x697dad
mov dword [esp + 0x44], edx
lea eax, [0x6f4820]
mov dword [esp], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
call fcn.0044e620
mov eax, dword [esp + 0x14]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x44]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
call fcn.00697ec0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x697d90
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
call fcn.004bc250
lea eax, [0x6f48e0]
mov eax, dword [esp + 0x48]
lea ebp, [0x6f44e0]
jmp 0x697388
mov eax, dword [esp + 0x94]
lea ebp, [0x6efb40]
cmp eax, ebp
jne 0x697e5b
mov dword [esp], ebp
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 4
call fcn.00697ec0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x697dca
lea eax, [0x6efb40]
mov dword [esp], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp + 4], ecx
call fcn.00409b60
mov eax, dword [esp + 8]
lea ecx, [0x6efb40]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
mov edx, dword [esp + 0xc4]
test edx, edx
je 0x69797f
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x697985
or ebx, 0x80
jmp 0x697985
xor ebx, ebx
xor edx, edx
xor eax, eax
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
call fcn.004bc070
mov eax, dword [esp + 0x48]
lea ebp, [0x6f44e0]
jmp 0x697388
cmp eax, 0x9293abaa
ja 0x697bd8
cmp eax, 0x8fc52ddb
jne 0x697ad3
mov eax, dword [esp + 0x94]
lea ebp, [0x6f48e0]
cmp eax, ebp
jne 0x697e5b
lea eax, [0x6ef820]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 8
mov dword [esp + 0x10], 8
call fcn.00697ec0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x697de7
mov eax, dword [esp + 0xb0]
movzx ecx, byte [eax + 7]
movzx edx, byte [eax + 6]
mov ebx, edx
shl edx, 8
or ecx, edx
shr ebx, 0x18
movzx edx, byte [eax + 5]
mov ebp, edx
shr edx, 0x10
or edx, ebx
shl ebp, 0x10
or ecx, ebp
movzx ebx, byte [eax + 4]
mov ebp, ebx
shr ebx, 8
or ebx, edx
shl ebp, 0x18
or ecx, ebp
movzx edx, byte [eax + 3]
or edx, ebx
movzx ebx, byte [eax + 2]
shl ebx, 8
or edx, ebx
movzx ebx, byte [eax + 1]
shl ebx, 0x10
or edx, ebx
movzx eax, byte [eax]
shl eax, 0x18
or eax, edx
nop
mov edx, dword [esp + 0x8c]
mov dword [esp], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004bc5e0
mov eax, dword [esp + 0x48]
lea ebp, [0x6f44e0]
jmp 0x697388
cmp eax, 0x9293abaa
jne 0x697e5b
mov eax, dword [esp + 0x94]
lea ebp, [0x6efa60]
cmp eax, ebp
jne 0x697e5b
mov dword [esp], ebp
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x20
mov dword [esp + 0x10], 0x20
call fcn.00697ec0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x697e04
lea eax, [0x6efa60]
mov dword [esp], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
call fcn.00409b60
mov eax, dword [esp + 8]
lea ecx, [0x6efa60]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
mov edx, dword [esp + 0xbc]
test edx, edx
je 0x697b95
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x697b9b
or ebx, 0x80
jmp 0x697b9b
xor ebx, ebx
xor edx, edx
xor eax, eax
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
call fcn.004bc070
mov eax, dword [esp + 0x48]
lea ebp, [0x6f44e0]
jmp 0x697388
cmp eax, 0xd9632893
jne 0x697c9a
mov eax, dword [esp + 0x94]
lea ebp, [0x6f4960]
cmp eax, ebp
jne 0x697e5b
lea eax, [0x6f0b80]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.00697ec0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x697e21
mov eax, dword [esp + 0xb8]
movzx eax, word [eax]
rol ax, 8
movzx eax, ax
nop
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
call fcn.004bc5e0
mov eax, dword [esp + 0x48]
lea ebp, [0x6f44e0]
jmp 0x697388
cmp eax, 0xe927f9e3
jne 0x697e5b
mov eax, dword [esp + 0x94]
lea ebp, [0x6f47e0]
cmp eax, ebp
jne 0x697e5b
lea eax, [0x6efb40]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 4
call fcn.00697ec0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x697e3e
mov eax, dword [esp + 0xb4]
mov eax, dword [eax]
bswap eax
nop
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
call fcn.004bc5e0
mov eax, dword [esp + 0x48]
lea ebp, [0x6f44e0]
jmp 0x697388
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
add esp, 0x118
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
add esp, 0x118
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
add esp, 0x118
ret
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
add esp, 0x118
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
add esp, 0x118
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
add esp, 0x118
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
add esp, 0x118
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
add esp, 0x118
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
add esp, 0x118
ret
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xe
lea ecx, [0x73d8c1]
mov dword [eax], ecx
lea ecx, [0x7b0bb8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], eax
add esp, 0x118
ret
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
add esp, 0x118
ret
call fcn.00467a60
jmp fcn.006971f0