Function at 0x50d230
Capabilities:
Delete registry value
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ad0d8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3c
push ebx
mov ebx, ecx
mov ecx, dword [ebx + 0x30c4]
push esi
lea esi, [ebx + 0x30c4]
push edi
xor eax, eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], eax
mov eax, dword [ebx]
push 0x1e
push ecx
mov ecx, ebx
mov dword [ebp - 0x30], ebx
call dword [eax + 0x14]
mov edi, eax
mov eax, dword [ebx + 0x30cc]
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x50d2a3
lea ecx, [eax + 0x48]
call fcn.004f73c0
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 0x50d322
mov dword [ebp - 0x2c], 0
push edi
mov ecx, ebx
call fcn.004f91a0
test eax, eax
jne 0x50d309
mov eax, dword [ebp - 0x2c]
inc eax
cmp eax, 5
mov dword [ebp - 0x2c], eax
jg 0x50d309
mov edx, dword [ebx]
push esi
mov ecx, ebx
call dword [edx + 0x10]
mov ecx, dword [esi]
mov eax, dword [ebx]
push 0x1e
push ecx
mov ecx, ebx
call dword [eax + 0x14]
mov edi, eax
mov eax, dword [ebx + 0x30cc]
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x50d2ae
lea ecx, [eax + 0x48]
call fcn.004f73c0
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 0x50d322
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 + 0x3108], 1
mov eax, dword [ebx + 0x84]
test eax, eax
je 0x50d33b
mov eax, dword [eax + 0x10]
jmp 0x50d344
mov edx, dword [ebx + 0x80]
mov eax, dword [edx + 0x24]
cmp eax, 2
jne 0x50d415
mov eax, dword [ebx + 0xb0]
cmp dword [eax], 0
je 0x50d3a3
push 1
mov ecx, ebx
call fcn.0050efb0
test eax, eax
jne 0x50e53e
cmp dword [ebx + 0x3114], 0xc8
je 0x50d39c
mov ecx, dword [ebx + 0x30f8]
push ecx
mov ecx, dword [ebx + 0x6c]
call fcn.004fbdd0
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 + 0x5c], 0x10
mov edx, dword [ebx + 0x3238]
lea esi, [ebx + 0x31e4]
push esi
push edx
mov ecx, ebx
call fcn.005529e0
test eax, eax
jne 0x50e53e
mov eax, dword [ebx + 0x84]
test eax, eax
jne 0x50d3d0
mov eax, dword [ebx + 0x80]
mov eax, dword [eax]
mov edx, dword [ebx + 0x30c4]
lea ecx, [ebx + 0x31f4]
lea edi, [ebx + 0x31ec]
push 1
push ecx
push edi
push eax
push esi
push edx
mov ecx, ebx
call fcn.00552e20
test eax, eax
je 0x50d40d
cmp eax, 0x757e
jne 0x50e53e
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x18]
jmp 0x50e2a1
push edi
mov ecx, ebx
call fcn.00553960
mov esi, dword [ebp + 8]
test esi, esi
je 0x50d425
mov ecx, ebx
call fcn.0050e860
jmp 0x50d42e
mov edx, dword [ebx]
push 0
mov ecx, ebx
call dword [edx + 0x1c]
test eax, eax
jne 0x50e53e
push esi
mov ecx, ebx
call fcn.0050e560
mov esi, eax
test esi, esi
jne 0x50d4de
cmp dword [ebx + 0x3114], 0xce
jne 0x50d4de
mov edi, dword [ebx + 0x3120]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x50d4de
mov eax, dword [ebx + 0x84]
test eax, eax
jne 0x50d489
mov eax, dword [ebx + 0x80]
mov ecx, dword [eax]
push ecx
lea ecx, [ebp - 0x34]
call fcn.0058872e
or dword [ebp - 0x18], 1
mov eax, dword [eax]
push str.sciencedirect.com
push eax
call fcn.0056c6b0
mov edi, eax
mov al, byte [ebp - 0x18]
add esp, 8
test al, 1
je 0x50d4aa
lea ecx, [ebp - 0x34]
call fcn.005886c0
test edi, edi
je 0x50d4de
cmp dword [ebx + 0x30c0], 2
je 0x50d4de
mov ecx, dword [ebx + 0x30cc]
test ecx, ecx
je 0x50d4c8
mov edx, dword [ecx]
push 2
call dword [edx + 0xc]
mov eax, dword [ebx]
mov ecx, ebx
mov dword [ebx + 0x30c0], 2
call dword [eax + 0x18]
jmp 0x50e2a1
cmp dword [ebx + 0x3114], 0xc8
jne 0x50d5f0
mov ecx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x1c]
or ecx, eax
jne 0x50d5f0
mov eax, dword [ebx + 0x24]
xor edi, edi
cmp eax, edi
jg 0x50d5f2
jl 0x50d514
cmp dword [ebx + 0x20], edi
ja 0x50d5f2
mov al, byte [ebx + 0x30d1]
test al, al
jne 0x50d5f2
mov eax, dword [ebx + 0x3140]
mov ecx, dword [ebx + 0x3144]
mov edx, eax
or edx, ecx
je 0x50d5f2
mov edx, dword [ebx + 0x3130]
add eax, 1
adc ecx, edi
cmp eax, edx
jne 0x50d5f2
cmp ecx, dword [ebx + 0x3134]
jne 0x50d5f2
mov esi, 0x7542
mov eax, dword [0x65ec1c]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x18]
push edi
push ecx
mov ecx, dword [ebx + 0x80]
mov byte [ebp - 4], 1
call fcn.0051adf0
mov edx, dword [ebp - 0x18]
push edx
call fcn.00468240
add esp, 4
cmp esi, 0x7565
je 0x50d598
cmp esi, 0x7542
jne 0x50d6ca
mov ecx, dword [ebx + 0x80]
mov dl, byte [ecx + 0x2a8]
test dl, dl
jne 0x50d656
test al, al
je 0x50d656
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x18]
mov edx, dword [ebx]
lea eax, [ebx + 0x30c4]
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov edi, eax
test edi, edi
je 0x50d61b
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.005886c0
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 0x50d7d5
cmp esi, 0x7563
jne 0x50d55c
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 + 0x80]
mov ecx, dword [ebp + 8]
push ecx
mov byte [eax + 0x2a8], 1
mov ecx, ebx
call fcn.0050d230
mov esi, eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.005886c0
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 0x50d6ca
cmp dword [ebp + 8], edi
jne 0x50d6ca
cmp dword [ebx + 0x24], edi
jl 0x50d6de
jg 0x50d66f
cmp dword [ebx + 0x20], edi
jbe 0x50d6ca
cmp dword [ecx + 0x2a0], edi
je 0x50d6ca
mov edx, dword [ebx + 0x30cc]
mov eax, dword [edx + 0x70]
push eax
push edi
call fcn.0054cd30
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x18]
mov edx, dword [ebx]
lea eax, [ebx + 0x30c4]
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov edi, eax
test edi, edi
je 0x50d6c3
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.005886c0
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 0x50d62c
cmp dword [ebx + 0x24], edi
jg 0x50d77e
jl 0x50d6de
cmp dword [ebx + 0x20], edi
ja 0x50d77e
mov al, byte [ebx + 0x30d1]
test al, al
jne 0x50d77e
cmp esi, 0x7565
je 0x50d714
cmp esi, 0x7566
je 0x50d714
cmp esi, 0x7542
je 0x50d714
cmp esi, 0x756e
je 0x50d714
cmp esi, 0x755e
jne 0x50d77e
mov eax, dword [ebx + 0x80]
mov byte [ebx + 0x30d0], 1
mov byte [ebx + 0x30d1], 1
mov cl, byte [eax + 0x2bc]
test cl, cl
je 0x50d739
mov byte [eax + 0x2be], 1
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x18]
mov edx, dword [ebx]
lea eax, [ebx + 0x30c4]
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov edi, eax
test edi, edi
je 0x50d775
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.005886c0
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 0x50d62c
mov ecx, dword [ebx + 0x30d8]
cmp ecx, edi
je 0x50d635
call fcn.0052f3c0
test al, al
jne 0x50d635
mov eax, dword [ebx + 0x80]
mov cl, byte [eax + 0x2bd]
test cl, cl
je 0x50d635
mov cl, byte [eax + 0x2be]
test cl, cl
jne 0x50d635
mov cl, byte [eax + 0x2bf]
test cl, cl
jne 0x50d635
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.005886c0
cmp dword [ebx + 0x30d8], edi
je 0x50df1a
mov ecx, dword [ebx + 0x80]
mov eax, dword [ecx + 0xbc]
cmp eax, edi
jne 0x50d7fd
cmp esi, edi
je 0x50df1a
cmp eax, edi
je 0x50d813
push str.text_html
push eax
call fcn.00575a20
add esp, 8
test eax, eax
sete byte [ebp - 0x11]
jmp 0x50d817
mov byte [ebp - 0x11], 0
mov ecx, dword [ebx + 0x30d8]
call fcn.0052f3c0
test al, al
jne 0x50df1a
mov eax, dword [ebx + 0x80]
mov cl, byte [eax + 0x2bd]
test cl, cl
je 0x50df1a
mov cl, byte [eax + 0x2be]
test cl, cl
jne 0x50df1a
mov cl, byte [eax + 0x2bf]
test cl, cl
jne 0x50df1a
mov al, byte [ebp - 0x11]
test al, al
jne 0x50d869
cmp esi, edi
je 0x50df1a
mov eax, dword [0x65ec1c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x40], edi
mov word [ebp - 0x44], di
lea edx, [ebp - 0x48]
lea eax, [ebp - 0x1c]
push edx
lea ecx, [ebp - 0x2c]
push eax
lea edx, [ebp - 0x38]
push ecx
lea eax, [ebp - 0x3c]
push edx
lea ecx, [ebp - 0x20]
push eax
lea edx, [ebp - 0x24]
push ecx
mov ecx, dword [ebx + 0x30d8]
lea eax, [ebp - 0x28]
push edx
push eax
mov byte [ebp - 4], 7
call fcn.0052f2e0
test al, al
je 0x50ded2
mov ecx, dword [ebx + 0x80]
mov byte [ecx + 0x2be], 1
mov edx, dword [ebx + 0x80]
mov byte [edx + 0x2bc], 1
mov eax, dword [ebx + 0x80]
mov byte [eax + 0x2bf], 1
mov ecx, dword [ebx + 0x30d8]
call fcn.0052f2b0
mov eax, dword [ebx + 0x80]
mov ecx, dword [ebp - 0x38]
mov dword [eax + 0x24], ecx
mov eax, dword [ebx + 0x80]
mov edx, dword [ebp - 0x3c]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x28]
mov esi, dword [ebx + 0x80]
mov dword [ebp - 0x18], eax
mov eax, dword [esi]
test eax, eax
je 0x50d923
push eax
call fcn.00584a85
add esp, 4
mov edi, dword [ebp - 0x18]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.00584a5c
mov edx, eax
add esp, 4
test edx, edx
mov dword [esi], edx
jne 0x50d9ac
push str.URL::set_serverName__:_Not_enough_memory__n
mov ecx, esi
call fcn.005479a0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 6
call fcn.00401070
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.005886c0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.005886c0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.005886c0
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.005886c0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.005886c0
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 - 0x18]
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 + 0x80]
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x18], edi
mov eax, dword [edi + 4]
test eax, eax
je 0x50d9e8
push eax
call fcn.00584a85
add esp, 4
xor edx, edx
cmp esi, edx
jne 0x50d9f3
mov dword [edi + 4], edx
jmp 0x50da52
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x50da09
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 4], edx
jmp 0x50da52
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.00584a5c
mov ecx, dword [ebp - 0x18]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 4], edx
jne 0x50da33
push str.URL::set_serverPath__:_Not_enough_memory__n
jmp 0x50d947
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 + 0x80]
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
mov eax, dword [eax + 8]
test eax, eax
je 0x50da6e
push eax
call fcn.00584a85
add esp, 4
mov cl, byte [0x663188]
test esi, esi
mov byte [ebp - 0x11], cl
jne 0x50da7e
lea esi, [ebp - 0x11]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.00584a5c
mov ecx, dword [ebp - 0x34]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 8], edx
jne 0x50daa8
push str.URL::set_fileName__:_Not_enough_memory__n
jmp 0x50d947
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 + 0x80]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edi
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x50dae3
push eax
call fcn.00584a85
add esp, 4
xor edx, edx
cmp esi, edx
jne 0x50daee
mov dword [edi + 0x1c], edx
jmp 0x50db4f
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x50db04
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x1c], edx
jmp 0x50db4f
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.00584a5c
mov ecx, dword [ebp - 0x18]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 0x1c], edx
jne 0x50db30
push str.URL::set_Cookie__:_Not_enough_memory__n
call fcn.005479a0
jmp 0x50db4f
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 + 0x80]
push 0x663188
add ecx, 0xc4
call fcn.00588849
mov ecx, dword [ebx + 0x80]
mov byte [ecx + 0x2ad], 0
mov esi, dword [ebx + 0x80]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x50db88
push eax
call fcn.00584a85
add esp, 4
mov edx, 0x663188
test edx, edx
jne 0x50db96
mov dword [esi + 0x18], edx
jmp 0x50dbfc
mov edi, 0x663188
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x50dbac
mov dword [esi + 0x18], eax
jmp 0x50dbfc
mov edi, 0x663188
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.00584a5c
mov edx, eax
add esp, 4
test edx, edx
mov dword [esi + 0x18], edx
jne 0x50dbda
push str.URL::set_Referer__:_Not_enough_memory__n
mov ecx, esi
call fcn.005479a0
jmp 0x50dbfc
mov edi, 0x663188
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 + 0x30cc]
test eax, eax
je 0x50dc3f
mov eax, dword [eax + 0x70]
test eax, eax
je 0x50dc3f
mov ecx, dword [ebx + 0x80]
mov edx, dword [ecx + 0x3a0]
test edx, edx
jne 0x50dc23
push eax
call fcn.0054cc00
mov ecx, dword [ebx + 0x80]
mov eax, dword [ecx + 0x3a0]
test eax, eax
je 0x50dc3f
push str.Referer
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x50dc49
lea eax, [ebp - 0x44]
push eax
call fcn.0056ca2e
add esp, 4
test eax, eax
je 0x50dcb1
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x50dc60
lea eax, [ebp - 0x44]
mov ecx, dword [ebx + 0x80]
push eax
call fcn.0054b300
mov eax, dword [ebx + 0x30cc]
test eax, eax
je 0x50dcb1
mov eax, dword [eax + 0x70]
test eax, eax
je 0x50dc89
mov ecx, dword [ebx + 0x80]
push eax
call fcn.00549760
mov eax, dword [ebx + 0x30cc]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x50dcb1
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 0x50dcb7
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebx + 0x80]
push 0x663188
mov byte [ecx + 0x172], 1
mov ecx, dword [ebx + 0x80]
add ecx, 0x15c
call fcn.00588849
mov edx, dword [ebx + 0x80]
mov byte [edx + 0x15b], 0
mov eax, dword [ebx + 0x80]
mov byte [eax + 0x2b1], 0
mov ecx, dword [ebx + 0x80]
push ecx
mov byte [ebx + 0x94], 0
call fcn.004c1170
add esp, 4
mov ecx, ebx
call fcn.00509070
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x50dd93
mov edx, dword [ebx + 0x70]
mov eax, dword [edx]
mov eax, dword [eax]
test eax, eax
je 0x50dd32
push 0
push 0x1390
push 0x111
push eax
call esi
mov eax, dword [ebx + 0x30cc]
test eax, eax
je 0x50dd93
mov eax, dword [eax + 0x70]
test eax, eax
je 0x50dd93
mov ecx, dword [ebx + 0x80]
push 0
push 0
push eax
call fcn.00549160
mov eax, dword [ebx + 0x30cc]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x50dd73
mov edx, dword [eax + 0x70]
mov eax, dword [ecx]
push edx
push 0x1395
push 0x111
push eax
call esi
mov eax, dword [ebx + 0x30cc]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x50dd93
mov edx, dword [eax + 0x70]
mov eax, dword [ecx]
push edx
push 0x1395
push 0x111
push eax
call esi
mov eax, dword [ebx + 0x310c]
mov byte [ebp - 4], 8
push eax
call fcn.00584a85
add esp, 4
jmp 0x50ddb1
mov ecx, dword [ebx + 0x80]
mov dword [ebp - 4], 7
mov dword [ebx + 0x310c], 0
call fcn.0054b6f0
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x18]
mov eax, dword [ebx]
lea ecx, [ebx + 0x30c4]
push ecx
mov ecx, ebx
call dword [eax + 0x10]
mov esi, eax
test esi, esi
jne 0x50de75
mov edx, dword [ebp + 8]
mov ecx, ebx
push edx
call fcn.0050d230
mov esi, eax
test esi, esi
jne 0x50de75
mov eax, dword [ebx + 0x80]
mov eax, dword [eax + 0xbc]
test eax, eax
je 0x50de75
push str.text_html
push eax
call fcn.00575a20
add esp, 8
test eax, eax
je 0x50de75
mov eax, dword [ebx + 0x30cc]
test eax, eax
je 0x50de75
mov eax, dword [eax + 0x70]
test eax, eax
je 0x50de75
mov ecx, dword [ebx + 0x80]
mov edx, dword [ecx + 0x3a0]
test edx, edx
jne 0x50de46
push eax
call fcn.0054cc00
mov ebx, dword [ebx + 0x80]
mov eax, dword [ebx + 0x3a0]
test eax, eax
je 0x50de75
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 - 0x48]
mov byte [ebp - 4], 6
call fcn.00401070
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.005886c0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.005886c0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.005886c0
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.005886c0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.005886c0
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 - 0x48]
mov byte [ebp - 4], 6
call fcn.00401070
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.005886c0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.005886c0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.005886c0
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.005886c0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.005886c0
mov esi, dword [ebx + 0x3114]
cmp esi, 0xc8
jne 0x50df44
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
or eax, ecx
jne 0x50df44
mov ecx, dword [ebx + 0x3130]
mov edx, dword [ebx + 0x3134]
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x1c], edx
cmp esi, 0xce
jne 0x50dff6
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
or eax, ecx
jne 0x50df92
mov eax, dword [ebx + 0x24]
test eax, eax
jg 0x50df92
jl 0x50df6a
mov eax, dword [ebx + 0x20]
test eax, eax
ja 0x50df92
mov eax, dword [ebx + 0x3130]
mov ecx, dword [ebx + 0x3134]
mov edx, eax
or edx, ecx
je 0x50df92
mov edx, dword [ebx + 0x3140]
mov edi, dword [ebx + 0x3144]
or edx, edi
jne 0x50df92
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
cmp esi, 0xce
jne 0x50dff6
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
or eax, ecx
jne 0x50dff6
mov eax, dword [ebx + 0x24]
test eax, eax
jg 0x50dfe4
jl 0x50dfb4
mov eax, dword [ebx + 0x20]
test eax, eax
ja 0x50dfe4
mov edi, dword [ebx + 0x3140]
mov ecx, dword [ebx + 0x3144]
mov edx, edi
or edx, ecx
je 0x50dfe4
mov eax, dword [ebx + 0x3134]
mov edx, dword [ebx + 0x3130]
cmp ecx, eax
jg 0x50dfe4
jl 0x50dfdc
cmp edi, edx
jae 0x50dfe4
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x1c], eax
jmp 0x50dff6
mov eax, dword [ebx + 0x3140]
mov ecx, dword [ebx + 0x3144]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
cmp esi, 0xc8
je 0x50e006
cmp esi, 0xce
jne 0x50e02c
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x1c]
or edx, eax
jne 0x50e02c
mov eax, dword [ebx + 0x315c]
mov ecx, dword [ebx + 0x3158]
test eax, eax
jl 0x50e02c
jg 0x50e026
test ecx, ecx
jbe 0x50e02c
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x1c], eax
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x1c]
mov ecx, edx
or ecx, eax
je 0x50e10f
mov edi, dword [ebx + 0x30cc]
mov eax, dword [edi + 0x88]
mov ecx, dword [edi + 0x8c]
mov esi, eax
or esi, ecx
je 0x50e10f
cmp eax, edx
jne 0x50e065
cmp ecx, dword [ebx + 0x1c]
je 0x50e10f
mov edx, dword [edi + 0x80]
mov esi, dword [edi + 0x84]
or edx, esi
je 0x50e10f
mov dl, byte [ebx + 0x311c]
test dl, dl
jne 0x50e10f
cmp dword [ebx + 0x3114], 0xce
jne 0x50e0c9
mov edx, dword [ebx + 0x3140]
mov esi, dword [ebx + 0x3144]
sub eax, 1
sbb ecx, 0
cmp edx, eax
jne 0x50e0c9
cmp esi, ecx
jne 0x50e0c9
mov eax, dword [ebx + 0x3148]
mov ecx, dword [ebx + 0x314c]
or eax, ecx
jne 0x50e0c9
mov dword [ebx + 0x3148], edx
mov dword [ebx + 0x314c], esi
mov esi, dword [ebx + 0x3148]
mov eax, dword [ebx + 0x314c]
mov ecx, esi
or ecx, eax
je 0x50e219
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 0x50e219
cmp dword [ebx + 0x314c], ecx
jne 0x50e219
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x1c], edi
mov al, byte [ebx + 0x311c]
test al, al
jne 0x50e35c
mov eax, dword [ebx + 0x80]
xor esi, esi
mov edx, dword [eax + 0xbc]
cmp edx, esi
je 0x50e334
mov eax, dword [eax + 0x100]
or ecx, 0xffffffff
mov dword [ebp - 0x18], eax
mov edi, eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x50e334
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x50e334
mov edi, dword [ebp - 0x18]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov eax, dword [ebp - 0x18]
not ecx
dec ecx
push ecx
push edx
push eax
call fcn.0056f9a0
add esp, 0xc
test eax, eax
je 0x50e334
mov ecx, dword [ebx + 0x80]
push 9
push str.text_html
mov eax, dword [ecx + 0x100]
push eax
call fcn.0056e7e0
add esp, 0xc
test eax, eax
jne 0x50e1c3
mov edx, dword [ebx + 0x80]
push 9
push str.text_html
mov eax, dword [edx + 0xbc]
push eax
call fcn.0056e7e0
add esp, 0xc
test eax, eax
jne 0x50e334
mov ecx, dword [ebx + 0x30cc]
cmp dword [ecx + 0xf4], esi
je 0x50e2d5
mov eax, dword [ebx + 0x80]
mov dl, byte [eax + 0x2c1]
test dl, dl
jne 0x50e1f3
mov dl, byte [eax + 0x158]
test dl, dl
je 0x50e2d5
mov edx, dword [ecx + 0x84]
lea eax, [ecx + 0x80]
mov ecx, dword [ecx + 0x80]
or ecx, edx
je 0x50e334
mov byte [ebx + 0x311c], 1
jmp 0x50e334
mov eax, dword [ebx + 0x30cc]
mov ecx, dword [eax + 0xf4]
test ecx, ecx
je 0x50e24f
mov eax, dword [ebx + 0x80]
mov cl, byte [eax + 0x2c1]
test cl, cl
jne 0x50e243
mov cl, byte [eax + 0x158]
test cl, cl
je 0x50e24f
mov byte [ebx + 0x311c], 1
jmp 0x50e10f
mov eax, dword [ebx + 0x24]
test eax, eax
jg 0x50e315
jl 0x50e267
mov eax, dword [ebx + 0x20]
test eax, eax
ja 0x50e315
mov al, byte [ebx + 0x30d1]
test al, al
jne 0x50e315
mov eax, dword [ebx + 0x80]
mov byte [ebx + 0x30d0], 1
mov byte [ebx + 0x30d1], 1
mov cl, byte [eax + 0x2bc]
test cl, cl
je 0x50e29a
mov byte [eax + 0x2be], 1
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x18]
mov edx, dword [ebx]
lea eax, [ebx + 0x30c4]
push eax
mov ecx, ebx
call dword [edx + 0x10]
test eax, eax
jne 0x50e53e
mov eax, dword [ebp + 8]
mov ecx, ebx
push eax
call fcn.0050d230
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 + 0x80]
push 9
push str.text_html
mov eax, dword [edx + 0xbc]
push eax
call fcn.0056e7e0
add esp, 0xc
test eax, eax
je 0x50e315
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0x1c]
mov eax, ecx
or eax, edx
je 0x50e315
mov eax, dword [ebx + 0x80]
add eax, 0x120
cmp ecx, dword [eax]
jne 0x50e315
cmp edx, dword [eax + 4]
je 0x50e334
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 + 0x311c]
test al, al
jne 0x50e35e
mov edx, dword [ebx + 0x30e4]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x50e35e
push edx
mov ecx, ebx
call fcn.00513d60
jmp 0x50e35e
xor esi, esi
push 0x663188
lea ecx, [ebx + 0x30e4]
call fcn.00588849
mov al, byte [ebx + 0x311c]
test al, al
je 0x50e4d1
lea ecx, [ebx + 0x10]
mov byte [ebx + 0x311c], 0
call fcn.004fbf30
mov eax, dword [ebx + 0x30cc]
mov ecx, dword [eax + 0x68]
cmp ecx, esi
lea ecx, [eax + 0x48]
setne byte [ebp - 0x11]
call fcn.004f2720
mov eax, dword [ebx + 0x30cc]
mov dword [eax + 0x80], esi
mov dword [eax + 0x84], esi
mov ecx, dword [ebx + 0x30cc]
mov dword [ecx + 0x88], esi
mov dword [ecx + 0x8c], esi
mov edx, dword [ebx + 0x30cc]
mov dword [edx + 0x148], esi
mov dword [edx + 0x14c], esi
mov eax, dword [ebx + 0x30cc]
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x38], esi
mov dword [ebx + 0x40], esi
mov dword [ebx + 0x28], esi
mov dword [ebx + 0x3130], esi
mov dword [ebx + 0x3138], esi
mov dword [ebx + 0x3140], esi
mov dword [ebx + 0x3148], esi
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x3158], esi
cmp eax, esi
mov dword [ebx + 0x3118], esi
mov dword [ebx + 0x60], esi
mov dword [ebx + 0x24], esi
mov dword [ebx + 0x34], esi
mov dword [ebx + 0x3c], esi
mov dword [ebx + 0x44], esi
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x3134], esi
mov dword [ebx + 0x313c], esi
mov dword [ebx + 0x3144], esi
mov dword [ebx + 0x314c], esi
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x315c], esi
je 0x50e452
mov byte [eax + 0x7e1], 0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x18]
mov edx, dword [ebx]
lea eax, [ebx + 0x30c4]
push eax
mov ecx, ebx
call dword [edx + 0x10]
cmp eax, esi
jne 0x50e53e
mov eax, dword [ebp + 8]
mov ecx, ebx
push eax
call fcn.0050d230
mov edi, eax
cmp edi, esi
je 0x50e493
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 - 0x11]
test al, al
je 0x50e4b5
mov ecx, dword [ebx + 0x80]
mov edx, dword [ecx + 0x30]
mov ecx, dword [ebx + 0x30cc]
push edx
push ebx
add ecx, 0x48
call fcn.004f2840
mov edi, eax
mov ecx, ebx
call fcn.004fa950
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 + 0x5c], 6
mov dword [ebx + 0x78], esi
mov eax, dword [0x664634]
push 1
push eax
mov ecx, ebx
call fcn.004f89b0
cmp dword [ebx + 0x7c], esi
jne 0x50e513
mov ebx, dword [ebx + 0x30cc]
mov eax, dword [ebx + 0x18]
cmp eax, esi
je 0x50e513
mov ecx, dword [ebx + 0x70]
mov edx, dword [eax]
push ecx
push 0x13f8
push 0x111
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
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