Function at 0x52aba0
Capabilities:
Delete registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d46b8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x10], esp
push 0x1e
mov ecx, dword [ebx + 0x30e4]
mov eax, dword [ebx]
xor esi, esi
push ecx
mov ecx, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], esi
mov dword [ebp - 4], esi
call dword [eax + 0x14]
mov edi, eax
mov eax, dword [ebx + 0x30ec]
cmp dword [eax + 0x38], esi
je 0x52ac0b
lea ecx, [eax + 0x48]
call fcn.00511c40
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp edi, esi
je 0x52ac85
xor esi, esi
push edi
mov ecx, ebx
call fcn.00514780
test eax, eax
jne 0x52ac6c
inc esi
cmp esi, 5
jg 0x52ac6c
mov edx, dword [ebx]
lea edi, [ebx + 0x30e4]
push edi
mov ecx, ebx
call dword [edx + 0x10]
mov ecx, dword [edi]
mov eax, dword [ebx]
push 0x1e
push ecx
mov ecx, ebx
call dword [eax + 0x14]
mov edi, eax
mov eax, dword [ebx + 0x30ec]
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x52ac11
lea ecx, [eax + 0x48]
call fcn.00511c40
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test edi, edi
je 0x52ac85
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [ebx + 0x3128], 1
mov eax, dword [ebx + 0xd4]
test eax, eax
je 0x52ad11
mov al, byte [eax + 0x144]
test al, al
mov byte [ebp - 0x12], al
je 0x52ad15
mov ecx, ebx
call fcn.0052a8f0
mov edi, eax
test edi, edi
je 0x52ad15
mov ecx, dword [ebx + 0xd4]
mov al, byte [ecx + 0x145]
test al, al
jne 0x52ad24
cmp edi, 0x7559
jne 0x52ad24
cmp dword [ecx + 0x140], 5
jne 0x52ad24
mov dl, byte [ecx + 0x146]
test dl, dl
jne 0x52ad24
mov dl, byte [ecx + 0x147]
test dl, dl
jne 0x52ad24
mov byte [ecx + 0x146], 1
mov edx, dword [ebx + 0xd4]
mov byte [edx + 0x147], 1
mov eax, dword [ebx + 0xd4]
mov dword [eax + 0x140], 4
jmp 0x52bd05
mov byte [ebp - 0x12], 0
mov eax, dword [ebx + 0xa4]
test eax, eax
je 0x52ad99
mov eax, dword [eax + 0x10]
jmp 0x52ada2
mov edx, dword [ecx + 0x140]
cmp edx, 5
jne 0x52ad5c
cmp edi, 0x7580
jne 0x52ad5c
cmp byte [ecx + 0x146], 0
jne 0x52ad5c
mov byte [ecx + 0x146], 1
mov ecx, dword [ebx + 0xd4]
mov dword [ecx + 0x140], 4
jmp 0x52bd05
test al, al
jne 0x52ad84
cmp edx, 4
jne 0x52ad84
mov al, byte [ecx + 0x146]
test al, al
je 0x52ad84
mov al, byte [ecx + 0x147]
test al, al
je 0x52ad84
mov dword [ecx + 0x140], edx
mov edi, 0x7559
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebx + 0xa0]
mov eax, dword [ecx + 0x24]
cmp eax, 2
jne 0x52ae7a
mov edx, dword [ebx + 0xd4]
cmp dword [edx], 0
je 0x52ae04
push 1
mov ecx, ebx
call fcn.0052cd10
test eax, eax
jne 0x52bff2
cmp dword [ebx + 0x3134], 0xc8
je 0x52adfd
mov eax, dword [ebx + 0x3118]
mov ecx, dword [ebx + 0x8c]
push eax
call fcn.00518410
mov eax, 0x756d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [ebx + 0x7c], 0x10
mov ecx, dword [ebx + 0x325c]
lea esi, [ebx + 0x3208]
push esi
push ecx
mov ecx, ebx
call fcn.00576a20
test eax, eax
jne 0x52bff2
mov eax, dword [ebx + 0xa4]
test eax, eax
je 0x52ae2f
mov eax, dword [eax]
jmp 0x52ae37
mov edx, dword [ebx + 0xa0]
mov eax, dword [edx]
mov edx, dword [ebx + 0x30e4]
lea ecx, [ebx + 0x3218]
lea edi, [ebx + 0x3210]
push 1
push ecx
push edi
push eax
push esi
push edx
mov ecx, ebx
call fcn.00576e70
test eax, eax
je 0x52ae72
cmp eax, 0x757e
jne 0x52bff2
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x18]
jmp 0x52bd0c
push edi
mov ecx, ebx
call fcn.005779d0
mov esi, dword [ebp + 8]
test esi, esi
je 0x52ae8a
mov ecx, ebx
call fcn.0052c310
jmp 0x52ae93
mov edx, dword [ebx]
push 0
mov ecx, ebx
call dword [edx + 0x1c]
test eax, eax
jne 0x52bff2
push esi
mov ecx, ebx
call fcn.0052c010
mov esi, eax
test esi, esi
jne 0x52af43
cmp dword [ebx + 0x3134], 0xce
jne 0x52af43
mov edi, dword [ebx + 0x3140]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x52af43
mov eax, dword [ebx + 0xa4]
test eax, eax
jne 0x52aeee
mov eax, dword [ebx + 0xa0]
mov ecx, dword [eax]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.005adcbb
or dword [ebp - 0x28], 1
mov eax, dword [eax]
push str.sciencedirect.com
push eax
call fcn.00591800
mov edi, eax
mov al, byte [ebp - 0x28]
add esp, 8
test al, 1
je 0x52af0f
lea ecx, [ebp - 0x2c]
call fcn.005adc4d
test edi, edi
je 0x52af43
cmp dword [ebx + 0x30e0], 2
je 0x52af43
mov ecx, dword [ebx + 0x30ec]
test ecx, ecx
je 0x52af2d
mov edx, dword [ecx]
push 2
call dword [edx + 0xc]
mov eax, dword [ebx]
mov ecx, ebx
mov dword [ebx + 0x30e0], 2
call dword [eax + 0x18]
jmp 0x52bd0c
cmp dword [ebx + 0x3134], 0xc8
jne 0x52b055
mov ecx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x3c]
or ecx, eax
jne 0x52b055
mov eax, dword [ebx + 0x44]
xor edi, edi
cmp eax, edi
jg 0x52b057
jl 0x52af79
cmp dword [ebx + 0x40], edi
ja 0x52b057
mov al, byte [ebx + 0x30f1]
test al, al
jne 0x52b057
mov eax, dword [ebx + 0x3160]
mov ecx, dword [ebx + 0x3164]
mov edx, eax
or edx, ecx
je 0x52b057
mov edx, dword [ebx + 0x3150]
add eax, 1
adc ecx, edi
cmp eax, edx
jne 0x52b057
cmp ecx, dword [ebx + 0x3154]
jne 0x52b057
mov esi, 0x7542
mov eax, dword [0x68d01c]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x18]
push edi
push ecx
mov ecx, dword [ebx + 0xa0]
mov byte [ebp - 4], 1
call fcn.0053a0d0
mov edx, dword [ebp - 0x18]
push edx
call fcn.00476250
add esp, 4
cmp esi, 0x7565
je 0x52affd
cmp esi, 0x7542
jne 0x52b12f
mov ecx, dword [ebx + 0xa0]
mov dl, byte [ecx + 0x2c8]
test dl, dl
jne 0x52b0bb
test al, al
je 0x52b0bb
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x18]
mov edx, dword [ebx]
lea eax, [ebx + 0x30e4]
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov edi, eax
test edi, edi
je 0x52b080
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.005adc4d
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor edi, edi
cmp esi, edi
je 0x52b23a
cmp esi, 0x7563
jne 0x52afc1
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 0xa0]
mov ecx, dword [ebp + 8]
push ecx
mov byte [eax + 0x2c8], 1
mov ecx, ebx
call fcn.0052aba0
mov esi, eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.005adc4d
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp esi, 0x7542
jne 0x52b12f
cmp dword [ebp + 8], edi
jne 0x52b12f
cmp dword [ebx + 0x44], edi
jl 0x52b143
jg 0x52b0d4
cmp dword [ebx + 0x40], edi
jbe 0x52b12f
cmp dword [ecx + 0x2c0], edi
je 0x52b12f
mov edx, dword [ebx + 0x30ec]
mov eax, dword [edx + 0x70]
push eax
push edi
call fcn.00570d70
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x18]
mov edx, dword [ebx]
lea eax, [ebx + 0x30e4]
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov edi, eax
test edi, edi
je 0x52b128
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.005adc4d
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0
jmp 0x52b091
cmp dword [ebx + 0x44], edi
jg 0x52b1e3
jl 0x52b143
cmp dword [ebx + 0x40], edi
ja 0x52b1e3
mov al, byte [ebx + 0x30f1]
test al, al
jne 0x52b1e3
cmp esi, 0x7565
je 0x52b179
cmp esi, 0x7566
je 0x52b179
cmp esi, 0x7542
je 0x52b179
cmp esi, 0x756e
je 0x52b179
cmp esi, 0x755e
jne 0x52b1e3
mov eax, dword [ebx + 0xa0]
mov byte [ebx + 0x30f0], 1
mov byte [ebx + 0x30f1], 1
mov cl, byte [eax + 0x2dc]
test cl, cl
je 0x52b19e
mov byte [eax + 0x2de], 1
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x18]
mov edx, dword [ebx]
lea eax, [ebx + 0x30e4]
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov edi, eax
test edi, edi
je 0x52b1da
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.005adc4d
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp + 8]
push eax
jmp 0x52b091
mov ecx, dword [ebx + 0x30f8]
cmp ecx, edi
je 0x52b09a
call fcn.0054f8a0
test al, al
jne 0x52b09a
mov eax, dword [ebx + 0xa0]
mov cl, byte [eax + 0x2dd]
test cl, cl
je 0x52b09a
mov cl, byte [eax + 0x2de]
test cl, cl
jne 0x52b09a
mov cl, byte [eax + 0x2df]
test cl, cl
jne 0x52b09a
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.005adc4d
cmp dword [ebx + 0x30f8], edi
je 0x52b985
mov ecx, dword [ebx + 0xa0]
mov eax, dword [ecx + 0xbc]
cmp eax, edi
jne 0x52b262
cmp esi, edi
je 0x52b985
cmp eax, edi
je 0x52b278
push str.text_html
push eax
call fcn.0059adb0
add esp, 8
test eax, eax
sete byte [ebp - 0x11]
jmp 0x52b27c
mov byte [ebp - 0x11], 0
mov ecx, dword [ebx + 0x30f8]
call fcn.0054f8a0
test al, al
jne 0x52b985
mov eax, dword [ebx + 0xa0]
mov cl, byte [eax + 0x2dd]
test cl, cl
je 0x52b985
mov cl, byte [eax + 0x2de]
test cl, cl
jne 0x52b985
mov cl, byte [eax + 0x2df]
test cl, cl
jne 0x52b985
mov al, byte [ebp - 0x11]
test al, al
jne 0x52b2ce
cmp esi, edi
je 0x52b985
mov eax, dword [0x68d01c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x3c], edi
mov word [ebp - 0x40], di
lea edx, [ebp - 0x44]
lea eax, [ebp - 0x18]
push edx
lea ecx, [ebp - 0x28]
push eax
lea edx, [ebp - 0x34]
push ecx
lea eax, [ebp - 0x38]
push edx
lea ecx, [ebp - 0x1c]
push eax
lea edx, [ebp - 0x20]
push ecx
mov ecx, dword [ebx + 0x30f8]
lea eax, [ebp - 0x24]
push edx
push eax
mov byte [ebp - 4], 7
call fcn.0054f7c0
test al, al
je 0x52b93d
mov ecx, dword [ebx + 0xa0]
mov byte [ecx + 0x2de], 1
mov edx, dword [ebx + 0xa0]
mov byte [edx + 0x2dc], 1
mov eax, dword [ebx + 0xa0]
mov byte [eax + 0x2df], 1
mov ecx, dword [ebx + 0x30f8]
call fcn.0054f790
mov eax, dword [ebx + 0xa0]
mov ecx, dword [ebp - 0x34]
mov dword [eax + 0x24], ecx
mov eax, dword [ebx + 0xa0]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x24]
mov esi, dword [ebx + 0xa0]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi]
test eax, eax
je 0x52b388
push eax
call fcn.005aa012
add esp, 4
mov edi, dword [ebp - 0x2c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.005a9fe9
mov edx, eax
add esp, 4
test edx, edx
mov dword [esi], edx
jne 0x52b411
push str.URL::set_serverName__:_Not_enough_memory__n
mov ecx, esi
call fcn.0056b3b0
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 6
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.005adc4d
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call fcn.005adc4d
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.005adc4d
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.005adc4d
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0
call fcn.005adc4d
mov eax, 0x753b
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edi, dword [ebp - 0x2c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebx + 0xa0]
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edi
mov eax, dword [edi + 4]
test eax, eax
je 0x52b44d
push eax
call fcn.005aa012
add esp, 4
xor edx, edx
cmp esi, edx
jne 0x52b458
mov dword [edi + 4], edx
jmp 0x52b4b7
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x52b46e
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 4], edx
jmp 0x52b4b7
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.005a9fe9
mov ecx, dword [ebp - 0x2c]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 4], edx
jne 0x52b498
push str.URL::set_serverPath__:_Not_enough_memory__n
jmp 0x52b3ac
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0xa0]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, dword [eax + 8]
test eax, eax
je 0x52b4d3
push eax
call fcn.005aa012
add esp, 4
mov cl, byte [0x691568]
test esi, esi
mov byte [ebp - 0x12], cl
jne 0x52b4e3
lea esi, [ebp - 0x12]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.005a9fe9
mov ecx, dword [ebp - 0x2c]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 8], edx
jne 0x52b50d
push str.URL::set_fileName__:_Not_enough_memory__n
jmp 0x52b3ac
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebx + 0xa0]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x2c], edi
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x52b548
push eax
call fcn.005aa012
add esp, 4
xor edx, edx
cmp esi, edx
jne 0x52b553
mov dword [edi + 0x1c], edx
jmp 0x52b5b4
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x52b569
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x1c], edx
jmp 0x52b5b4
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.005a9fe9
mov ecx, dword [ebp - 0x2c]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 0x1c], edx
jne 0x52b595
push str.URL::set_Cookie__:_Not_enough_memory__n
call fcn.0056b3b0
jmp 0x52b5b4
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0xa0]
push 0x691568
add ecx, 0xc4
call fcn.005addd6
mov ecx, dword [ebx + 0xa0]
mov byte [ecx + 0x2cd], 0
mov esi, dword [ebx + 0xa0]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x52b5ed
push eax
call fcn.005aa012
add esp, 4
mov edx, 0x691568
test edx, edx
jne 0x52b5fb
mov dword [esi + 0x18], edx
jmp 0x52b661
mov edi, 0x691568
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x52b611
mov dword [esi + 0x18], eax
jmp 0x52b661
mov edi, 0x691568
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.005a9fe9
mov edx, eax
add esp, 4
test edx, edx
mov dword [esi + 0x18], edx
jne 0x52b63f
push str.URL::set_Referer__:_Not_enough_memory__n
mov ecx, esi
call fcn.0056b3b0
jmp 0x52b661
mov edi, 0x691568
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x30ec]
test eax, eax
je 0x52b6a4
mov eax, dword [eax + 0x70]
test eax, eax
je 0x52b6a4
mov ecx, dword [ebx + 0xa0]
mov edx, dword [ecx + 0x3c0]
test edx, edx
jne 0x52b688
push eax
call fcn.00570c40
mov ecx, dword [ebx + 0xa0]
mov eax, dword [ecx + 0x3c0]
test eax, eax
je 0x52b6a4
push str.Referer
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x52b6ae
lea eax, [ebp - 0x40]
push eax
call fcn.00591712
add esp, 4
test eax, eax
je 0x52b716
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x52b6c5
lea eax, [ebp - 0x40]
mov ecx, dword [ebx + 0xa0]
push eax
call fcn.0056f0c0
mov eax, dword [ebx + 0x30ec]
test eax, eax
je 0x52b716
mov eax, dword [eax + 0x70]
test eax, eax
je 0x52b6ee
mov ecx, dword [ebx + 0xa0]
push eax
call fcn.0056d4d0
mov eax, dword [ebx + 0x30ec]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x52b716
mov edx, dword [eax + 0x70]
mov eax, dword [ecx]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push edx
push 0x13c9
push 0x111
push eax
call esi
jmp 0x52b71c
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebx + 0xa0]
push 0x691568
mov byte [ecx + 0x176], 1
mov ecx, dword [ebx + 0xa0]
add ecx, 0x160
call fcn.005addd6
mov edx, dword [ebx + 0xa0]
mov byte [edx + 0x15c], 0
mov eax, dword [ebx + 0xa0]
mov byte [eax + 0x2d1], 0
mov ecx, dword [ebx + 0xa0]
push ecx
mov byte [ebx + 0xb4], 0
call fcn.004d7140
add esp, 4
mov ecx, ebx
call fcn.00526510
mov eax, dword [ebx + 0x9c]
test eax, eax
jne 0x52b7fe
mov edx, dword [ebx + 0x90]
mov eax, dword [edx]
mov eax, dword [eax]
test eax, eax
je 0x52b79d
push 0
push 0x1478
push 0x111
push eax
call esi
mov eax, dword [ebx + 0x30ec]
test eax, eax
je 0x52b7fe
mov eax, dword [eax + 0x70]
test eax, eax
je 0x52b7fe
mov ecx, dword [ebx + 0xa0]
push 0
push 0
push eax
call fcn.0056ce80
mov eax, dword [ebx + 0x30ec]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x52b7de
mov edx, dword [eax + 0x70]
mov eax, dword [ecx]
push edx
push 0x1395
push 0x111
push eax
call esi
mov eax, dword [ebx + 0x30ec]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x52b7fe
mov edx, dword [eax + 0x70]
mov eax, dword [ecx]
push edx
push 0x1395
push 0x111
push eax
call esi
mov eax, dword [ebx + 0x312c]
mov byte [ebp - 4], 8
push eax
call fcn.005aa012
add esp, 4
jmp 0x52b81c
mov ecx, dword [ebx + 0xa0]
mov dword [ebp - 4], 7
mov dword [ebx + 0x312c], 0
call fcn.0056f690
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x18]
mov eax, dword [ebx]
lea ecx, [ebx + 0x30e4]
push ecx
mov ecx, ebx
call dword [eax + 0x10]
mov esi, eax
test esi, esi
jne 0x52b8e0
mov edx, dword [ebp + 8]
mov ecx, ebx
push edx
call fcn.0052aba0
mov esi, eax
test esi, esi
jne 0x52b8e0
mov eax, dword [ebx + 0xa0]
mov eax, dword [eax + 0xbc]
test eax, eax
je 0x52b8e0
push str.text_html
push eax
call fcn.0059adb0
add esp, 8
test eax, eax
je 0x52b8e0
mov eax, dword [ebx + 0x30ec]
test eax, eax
je 0x52b8e0
mov eax, dword [eax + 0x70]
test eax, eax
je 0x52b8e0
mov ecx, dword [ebx + 0xa0]
mov edx, dword [ecx + 0x3c0]
test edx, edx
jne 0x52b8b1
push eax
call fcn.00570c40
mov ebx, dword [ebx + 0xa0]
mov eax, dword [ebx + 0x3c0]
test eax, eax
je 0x52b8e0
lea ecx, [ebp + 8]
push 4
push ecx
push 4
push 0
mov edx, eax
push str.noSyntRef
push edx
mov dword [ebp + 8], 1
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 6
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.005adc4d
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call fcn.005adc4d
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.005adc4d
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.005adc4d
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0
call fcn.005adc4d
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 6
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.005adc4d
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call fcn.005adc4d
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.005adc4d
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.005adc4d
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0
call fcn.005adc4d
mov esi, dword [ebx + 0x3134]
cmp esi, 0xc8
jne 0x52b9af
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x3c]
or eax, ecx
jne 0x52b9af
mov ecx, dword [ebx + 0x3150]
mov edx, dword [ebx + 0x3154]
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x3c], edx
cmp esi, 0xce
jne 0x52ba61
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x3c]
or eax, ecx
jne 0x52b9fd
mov eax, dword [ebx + 0x44]
test eax, eax
jg 0x52b9fd
jl 0x52b9d5
mov eax, dword [ebx + 0x40]
test eax, eax
ja 0x52b9fd
mov eax, dword [ebx + 0x3150]
mov ecx, dword [ebx + 0x3154]
mov edx, eax
or edx, ecx
je 0x52b9fd
mov edx, dword [ebx + 0x3160]
mov edi, dword [ebx + 0x3164]
or edx, edi
jne 0x52b9fd
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], ecx
cmp esi, 0xce
jne 0x52ba61
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x3c]
or eax, ecx
jne 0x52ba61
mov eax, dword [ebx + 0x44]
test eax, eax
jg 0x52ba4f
jl 0x52ba1f
mov eax, dword [ebx + 0x40]
test eax, eax
ja 0x52ba4f
mov edi, dword [ebx + 0x3160]
mov ecx, dword [ebx + 0x3164]
mov edx, edi
or edx, ecx
je 0x52ba4f
mov eax, dword [ebx + 0x3154]
mov edx, dword [ebx + 0x3150]
cmp ecx, eax
jg 0x52ba4f
jl 0x52ba47
cmp edi, edx
jae 0x52ba4f
mov dword [ebx + 0x38], edx
mov dword [ebx + 0x3c], eax
jmp 0x52ba61
mov eax, dword [ebx + 0x3160]
mov ecx, dword [ebx + 0x3164]
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], ecx
cmp esi, 0xc8
je 0x52ba71
cmp esi, 0xce
jne 0x52ba97
mov edx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x3c]
or edx, eax
jne 0x52ba97
mov eax, dword [ebx + 0x317c]
mov ecx, dword [ebx + 0x3178]
test eax, eax
jl 0x52ba97
jg 0x52ba91
test ecx, ecx
jbe 0x52ba97
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x3c], eax
mov edx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x3c]
mov ecx, edx
or ecx, eax
je 0x52bb7a
mov edi, dword [ebx + 0x30ec]
mov eax, dword [edi + 0x88]
mov ecx, dword [edi + 0x8c]
mov esi, eax
or esi, ecx
je 0x52bb7a
cmp eax, edx
jne 0x52bad0
cmp ecx, dword [ebx + 0x3c]
je 0x52bb7a
mov edx, dword [edi + 0x80]
mov esi, dword [edi + 0x84]
or edx, esi
je 0x52bb7a
mov dl, byte [ebx + 0x313c]
test dl, dl
jne 0x52bb7a
cmp dword [ebx + 0x3134], 0xce
jne 0x52bb34
mov edx, dword [ebx + 0x3160]
mov esi, dword [ebx + 0x3164]
sub eax, 1
sbb ecx, 0
cmp edx, eax
jne 0x52bb34
cmp esi, ecx
jne 0x52bb34
mov eax, dword [ebx + 0x3168]
mov ecx, dword [ebx + 0x316c]
or eax, ecx
jne 0x52bb34
mov dword [ebx + 0x3168], edx
mov dword [ebx + 0x316c], esi
mov esi, dword [ebx + 0x3168]
mov eax, dword [ebx + 0x316c]
mov ecx, esi
or ecx, eax
je 0x52bc84
mov edx, dword [edi + 0x88]
mov edi, dword [edi + 0x8c]
mov eax, edx
mov ecx, edi
sub eax, 1
sbb ecx, 0
cmp esi, eax
jne 0x52bc84
cmp dword [ebx + 0x316c], ecx
jne 0x52bc84
mov dword [ebx + 0x38], edx
mov dword [ebx + 0x3c], edi
mov al, byte [ebx + 0x313c]
test al, al
jne 0x52bdc7
mov eax, dword [ebx + 0xa0]
xor esi, esi
mov edx, dword [eax + 0xbc]
cmp edx, esi
je 0x52bd9f
mov eax, dword [eax + 0x100]
or ecx, 0xffffffff
mov dword [ebp - 0x2c], eax
mov edi, eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x52bd9f
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x52bd9f
mov edi, dword [ebp - 0x2c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov eax, dword [ebp - 0x2c]
not ecx
dec ecx
push ecx
push edx
push eax
call fcn.00594c90
add esp, 0xc
test eax, eax
je 0x52bd9f
mov ecx, dword [ebx + 0xa0]
push 9
push str.text_html
mov eax, dword [ecx + 0x100]
push eax
call fcn.00593990
add esp, 0xc
test eax, eax
jne 0x52bc2e
mov edx, dword [ebx + 0xa0]
push 9
push str.text_html
mov eax, dword [edx + 0xbc]
push eax
call fcn.00593990
add esp, 0xc
test eax, eax
jne 0x52bd9f
mov ecx, dword [ebx + 0x30ec]
cmp dword [ecx + 0xf4], esi
je 0x52bd40
mov eax, dword [ebx + 0xa0]
mov dl, byte [eax + 0x2e1]
test dl, dl
jne 0x52bc5e
mov dl, byte [eax + 0x159]
test dl, dl
je 0x52bd40
mov edx, dword [ecx + 0x84]
lea eax, [ecx + 0x80]
mov ecx, dword [ecx + 0x80]
or ecx, edx
je 0x52bd9f
mov byte [ebx + 0x313c], 1
jmp 0x52bd9f
mov eax, dword [ebx + 0x30ec]
mov ecx, dword [eax + 0xf4]
test ecx, ecx
je 0x52bcba
mov eax, dword [ebx + 0xa0]
mov cl, byte [eax + 0x2e1]
test cl, cl
jne 0x52bcae
mov cl, byte [eax + 0x159]
test cl, cl
je 0x52bcba
mov byte [ebx + 0x313c], 1
jmp 0x52bb7a
mov eax, dword [ebx + 0x44]
test eax, eax
jg 0x52bd80
jl 0x52bcd2
mov eax, dword [ebx + 0x40]
test eax, eax
ja 0x52bd80
mov al, byte [ebx + 0x30f1]
test al, al
jne 0x52bd80
mov eax, dword [ebx + 0xa0]
mov byte [ebx + 0x30f0], 1
mov byte [ebx + 0x30f1], 1
mov cl, byte [eax + 0x2dc]
test cl, cl
je 0x52bd05
mov byte [eax + 0x2de], 1
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x18]
mov edx, dword [ebx]
lea eax, [ebx + 0x30e4]
push eax
mov ecx, ebx
call dword [edx + 0x10]
test eax, eax
jne 0x52bff2
mov eax, dword [ebp + 8]
mov ecx, ebx
push eax
call fcn.0052aba0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [ebx + 0xa0]
push 9
push str.text_html
mov eax, dword [edx + 0xbc]
push eax
call fcn.00593990
add esp, 0xc
test eax, eax
je 0x52bd80
mov ecx, dword [ebx + 0x38]
mov edx, dword [ebx + 0x3c]
mov eax, ecx
or eax, edx
je 0x52bd80
mov eax, dword [ebx + 0xa0]
add eax, 0x120
cmp ecx, dword [eax]
jne 0x52bd80
cmp edx, dword [eax + 4]
je 0x52bd9f
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x18]
mov eax, 0x757a
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov al, byte [ebx + 0x313c]
test al, al
jne 0x52bdc9
mov edx, dword [ebx + 0x3104]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x52bdc9
push edx
mov ecx, ebx
call fcn.00532d60
jmp 0x52bdc9
xor esi, esi
push 0x691568
lea ecx, [ebx + 0x3104]
call fcn.005addd6
mov al, byte [ebx + 0x313c]
test al, al
je 0x52bf3f
lea ecx, [ebx + 0x10]
mov byte [ebx + 0x313c], 0
call fcn.00518570
mov eax, dword [ebx + 0x30ec]
mov ecx, dword [eax + 0x68]
cmp ecx, esi
lea ecx, [eax + 0x48]
setne byte [ebp - 0x12]
call fcn.0050c390
mov eax, dword [ebx + 0x30ec]
mov dword [eax + 0x80], esi
mov dword [eax + 0x84], esi
mov ecx, dword [ebx + 0x30ec]
mov dword [ecx + 0x88], esi
mov dword [ecx + 0x8c], esi
mov edx, dword [ebx + 0x30ec]
mov dword [edx + 0x158], esi
mov dword [edx + 0x15c], esi
mov eax, dword [ebx + 0x30ec]
mov dword [ebx + 0x40], esi
mov dword [ebx + 0x50], esi
mov dword [ebx + 0x58], esi
mov dword [ebx + 0x60], esi
mov dword [ebx + 0x48], esi
mov dword [ebx + 0x3150], esi
mov dword [ebx + 0x3158], esi
mov dword [ebx + 0x3160], esi
mov dword [ebx + 0x3168], esi
mov dword [ebx + 0x38], esi
mov dword [ebx + 0x3178], esi
cmp eax, esi
mov dword [ebx + 0x3138], esi
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x44], esi
mov dword [ebx + 0x54], esi
mov dword [ebx + 0x5c], esi
mov dword [ebx + 0x64], esi
mov dword [ebx + 0x4c], esi
mov dword [ebx + 0x3154], esi
mov dword [ebx + 0x315c], esi
mov dword [ebx + 0x3164], esi
mov dword [ebx + 0x316c], esi
mov dword [ebx + 0x3c], esi
mov dword [ebx + 0x317c], esi
je 0x52bec0
mov byte [eax + 0x7f1], 0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x18]
mov edx, dword [ebx]
lea eax, [ebx + 0x30e4]
push eax
mov ecx, ebx
call dword [edx + 0x10]
cmp eax, esi
jne 0x52bff2
mov eax, dword [ebp + 8]
mov ecx, ebx
push eax
call fcn.0052aba0
mov edi, eax
cmp edi, esi
je 0x52bf01
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov al, byte [ebp - 0x12]
test al, al
je 0x52bf23
mov ecx, dword [ebx + 0xa0]
mov edx, dword [ecx + 0x30]
mov ecx, dword [ebx + 0x30ec]
push edx
push ebx
add ecx, 0x48
call fcn.0050c4d0
mov edi, eax
mov ecx, ebx
call fcn.00515fa0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [ebx + 0x7c], 6
mov dword [ebx + 0x98], esi
mov eax, dword [0x692bac]
push 1
push eax
mov ecx, ebx
call fcn.005132d0
cmp dword [ebx + 0x9c], esi
jne 0x52bf87
mov eax, dword [ebx + 0x30ec]
mov ecx, dword [eax + 0x18]
cmp ecx, esi
je 0x52bf87
mov edx, dword [eax + 0x70]
mov eax, dword [ecx]
push edx
push 0x13f8
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov al, byte [ebp - 0x12]
test al, al
je 0x52bfc7
mov ebx, dword [ebx + 0xd4]
mov eax, 4
cmp dword [ebx + 0x140], eax
jne 0x52bfc7
mov cl, byte [ebx + 0x146]
test cl, cl
je 0x52bfc7
mov edx, dword [0x691b84]
lea ecx, [ebp + 8]
push eax
push ecx
push eax
push esi
push str.SocksType
push edx
mov dword [ebp + 8], eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4