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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ab478
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 0x50bbf3
lea ecx, [eax + 0x48]
call fcn.004f5d10
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 0x50bc72
mov dword [ebp - 0x2c], 0
push edi
mov ecx, ebx
call fcn.004f7ae0
test eax, eax
jne 0x50bc59
mov eax, dword [ebp - 0x2c]
inc eax
cmp eax, 5
mov dword [ebp - 0x2c], eax
jg 0x50bc59
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 0x50bbfe
lea ecx, [eax + 0x48]
call fcn.004f5d10
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 0x50bc72
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 0x50bc8b
mov eax, dword [eax + 0x10]
jmp 0x50bc94
mov edx, dword [ebx + 0x80]
mov eax, dword [edx + 0x24]
cmp eax, 2
jne 0x50bd52
mov eax, dword [ebx + 0xb0]
cmp dword [eax], 0
je 0x50bcf3
push 1
mov ecx, ebx
call fcn.0050d8e0
test eax, eax
jne 0x50ce70
cmp dword [ebx + 0x3114], 0xc8
je 0x50bcec
mov ecx, dword [ebx + 0x30f8]
push ecx
mov ecx, dword [ebx + 0x6c]
call fcn.004fa710
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 + 0x3200]
lea esi, [ebx + 0x31e4]
push esi
push edx
mov ecx, ebx
call fcn.00550ec0
test eax, eax
jne 0x50ce70
mov eax, dword [ebx + 0x84]
test eax, eax
jne 0x50bd20
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.00551320
test eax, eax
jne 0x50ce70
push edi
mov ecx, ebx
call fcn.00551de0
mov esi, dword [ebp + 8]
test esi, esi
je 0x50bd62
mov ecx, ebx
call fcn.0050d190
jmp 0x50bd6b
mov eax, dword [ebx]
push 0
mov ecx, ebx
call dword [eax + 0x1c]
test eax, eax
jne 0x50ce70
push esi
mov ecx, ebx
call fcn.0050ce90
mov esi, eax
test esi, esi
jne 0x50be10
cmp dword [ebx + 0x3114], 0xce
jne 0x50be10
mov edi, dword [ebx + 0x3120]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x50be10
mov eax, dword [ebx + 0x84]
test eax, eax
jne 0x50bdc2
mov ecx, dword [ebx + 0x80]
mov edx, dword [ecx]
lea ecx, [ebp - 0x34]
push edx
call fcn.00586ba1
or dword [ebp - 0x18], 1
mov eax, dword [eax]
push str.sciencedirect.com
push eax
call fcn.0056ab30
mov edi, eax
mov al, byte [ebp - 0x18]
add esp, 8
test al, 1
je 0x50bde3
lea ecx, [ebp - 0x34]
call fcn.00586b33
test edi, edi
je 0x50be10
cmp dword [ebx + 0x30c0], 2
je 0x50be10
mov ecx, dword [ebx + 0x30cc]
test ecx, ecx
je 0x50be01
mov eax, dword [ecx]
push 2
call dword [eax + 0xc]
mov dword [ebx + 0x30c0], 2
jmp 0x50cbcc
cmp dword [ebx + 0x3114], 0xc8
jne 0x50bf22
mov ecx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x1c]
or ecx, eax
jne 0x50bf22
mov eax, dword [ebx + 0x24]
xor edi, edi
cmp eax, edi
jg 0x50bf24
jl 0x50be46
cmp dword [ebx + 0x20], edi
ja 0x50bf24
mov al, byte [ebx + 0x30d1]
test al, al
jne 0x50bf24
mov eax, dword [ebx + 0x3140]
mov ecx, dword [ebx + 0x3144]
mov edx, eax
or edx, ecx
je 0x50bf24
mov edx, dword [ebx + 0x3130]
add eax, 1
adc ecx, edi
cmp eax, edx
jne 0x50bf24
cmp ecx, dword [ebx + 0x3134]
jne 0x50bf24
mov esi, 0x7542
mov eax, dword [0x65ca8c]
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.00519510
mov edx, dword [ebp - 0x18]
push edx
call fcn.00467b70
add esp, 4
cmp esi, 0x7565
je 0x50beca
cmp esi, 0x7542
jne 0x50bffc
mov ecx, dword [ebx + 0x80]
mov dl, byte [ecx + 0x2a8]
test dl, dl
jne 0x50bf88
test al, al
je 0x50bf88
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 0x50bf4d
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.00586b33
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 0x50c107
cmp esi, 0x7563
jne 0x50be8e
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.0050bb80
mov esi, eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.00586b33
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 0x50bffc
cmp dword [ebp + 8], edi
jne 0x50bffc
cmp dword [ebx + 0x24], edi
jl 0x50c010
jg 0x50bfa1
cmp dword [ebx + 0x20], edi
jbe 0x50bffc
cmp dword [ecx + 0x2a0], edi
je 0x50bffc
mov edx, dword [ebx + 0x30cc]
mov eax, dword [edx + 0x70]
push eax
push edi
call fcn.0054b210
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 0x50bff5
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.00586b33
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 0x50bf5e
cmp dword [ebx + 0x24], edi
jg 0x50c0b0
jl 0x50c010
cmp dword [ebx + 0x20], edi
ja 0x50c0b0
mov al, byte [ebx + 0x30d1]
test al, al
jne 0x50c0b0
cmp esi, 0x7565
je 0x50c046
cmp esi, 0x7566
je 0x50c046
cmp esi, 0x7542
je 0x50c046
cmp esi, 0x756e
je 0x50c046
cmp esi, 0x755e
jne 0x50c0b0
mov eax, dword [ebx + 0x80]
mov byte [ebx + 0x30d0], 1
mov byte [ebx + 0x30d1], 1
mov cl, byte [eax + 0x2ba]
test cl, cl
je 0x50c06b
mov byte [eax + 0x2bc], 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 0x50c0a7
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.00586b33
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 0x50bf5e
mov ecx, dword [ebx + 0x30d8]
cmp ecx, edi
je 0x50bf67
call fcn.0052dae0
test al, al
jne 0x50bf67
mov eax, dword [ebx + 0x80]
mov cl, byte [eax + 0x2bb]
test cl, cl
je 0x50bf67
mov cl, byte [eax + 0x2bc]
test cl, cl
jne 0x50bf67
mov cl, byte [eax + 0x2bd]
test cl, cl
jne 0x50bf67
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.00586b33
cmp dword [ebx + 0x30d8], edi
je 0x50c84c
mov ecx, dword [ebx + 0x80]
mov eax, dword [ecx + 0xbc]
cmp eax, edi
jne 0x50c12f
cmp esi, edi
je 0x50c84c
cmp eax, edi
je 0x50c145
push str.text_html
push eax
call fcn.00573ec0
add esp, 8
test eax, eax
sete byte [ebp - 0x11]
jmp 0x50c149
mov byte [ebp - 0x11], 0
mov ecx, dword [ebx + 0x30d8]
call fcn.0052dae0
test al, al
jne 0x50c84c
mov eax, dword [ebx + 0x80]
mov cl, byte [eax + 0x2bb]
test cl, cl
je 0x50c84c
mov cl, byte [eax + 0x2bc]
test cl, cl
jne 0x50c84c
mov cl, byte [eax + 0x2bd]
test cl, cl
jne 0x50c84c
mov al, byte [ebp - 0x11]
test al, al
jne 0x50c19b
cmp esi, edi
je 0x50c84c
mov eax, dword [0x65ca8c]
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.0052da00
test al, al
je 0x50c804
mov ecx, dword [ebx + 0x80]
mov byte [ecx + 0x2bc], 1
mov edx, dword [ebx + 0x80]
mov byte [edx + 0x2ba], 1
mov eax, dword [ebx + 0x80]
mov byte [eax + 0x2bd], 1
mov ecx, dword [ebx + 0x30d8]
call fcn.0052d9d0
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 0x50c255
push eax
call fcn.00582ef5
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.00582ecc
mov edx, eax
add esp, 4
test edx, edx
mov dword [esi], edx
jne 0x50c2de
push str.URL::set_serverName__:_Not_enough_memory__n
mov ecx, esi
call fcn.00546070
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 6
call fcn.00401070
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.00586b33
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.00586b33
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.00586b33
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.00586b33
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00586b33
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 0x50c31a
push eax
call fcn.00582ef5
add esp, 4
xor edx, edx
cmp esi, edx
jne 0x50c325
mov dword [edi + 4], edx
jmp 0x50c384
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x50c33b
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 4], edx
jmp 0x50c384
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.00582ecc
mov ecx, dword [ebp - 0x18]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 4], edx
jne 0x50c365
push str.URL::set_serverPath__:_Not_enough_memory__n
jmp 0x50c279
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 0x50c3a0
push eax
call fcn.00582ef5
add esp, 4
mov cl, byte [0x660ff8]
test esi, esi
mov byte [ebp - 0x11], cl
jne 0x50c3b0
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.00582ecc
mov ecx, dword [ebp - 0x34]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 8], edx
jne 0x50c3da
push str.URL::set_fileName__:_Not_enough_memory__n
jmp 0x50c279
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 0x50c415
push eax
call fcn.00582ef5
add esp, 4
xor edx, edx
cmp esi, edx
jne 0x50c420
mov dword [edi + 0x1c], edx
jmp 0x50c481
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x50c436
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x1c], edx
jmp 0x50c481
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.00582ecc
mov ecx, dword [ebp - 0x18]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 0x1c], edx
jne 0x50c462
push str.URL::set_Cookie__:_Not_enough_memory__n
call fcn.00546070
jmp 0x50c481
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 0x660ff8
add ecx, 0xc4
call fcn.00586cbc
mov ecx, dword [ebx + 0x80]
mov byte [ecx + 0x2ad], 0
mov esi, dword [ebx + 0x80]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x50c4ba
push eax
call fcn.00582ef5
add esp, 4
mov edx, 0x660ff8
test edx, edx
jne 0x50c4c8
mov dword [esi + 0x18], edx
jmp 0x50c52e
mov edi, 0x660ff8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x50c4de
mov dword [esi + 0x18], eax
jmp 0x50c52e
mov edi, 0x660ff8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.00582ecc
mov edx, eax
add esp, 4
test edx, edx
mov dword [esi + 0x18], edx
jne 0x50c50c
push str.URL::set_Referer__:_Not_enough_memory__n
mov ecx, esi
call fcn.00546070
jmp 0x50c52e
mov edi, 0x660ff8
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 0x50c571
mov eax, dword [eax + 0x70]
test eax, eax
je 0x50c571
mov ecx, dword [ebx + 0x80]
mov edx, dword [ecx + 0x3a0]
test edx, edx
jne 0x50c555
push eax
call fcn.0054b0e0
mov ecx, dword [ebx + 0x80]
mov eax, dword [ecx + 0x3a0]
test eax, eax
je 0x50c571
push str.Referer
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x50c57b
lea eax, [ebp - 0x44]
push eax
call fcn.0056aeae
add esp, 4
test eax, eax
je 0x50c5e3
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x50c592
lea eax, [ebp - 0x44]
mov ecx, dword [ebx + 0x80]
push eax
call fcn.00549880
mov eax, dword [ebx + 0x30cc]
test eax, eax
je 0x50c5e3
mov eax, dword [eax + 0x70]
test eax, eax
je 0x50c5bb
mov ecx, dword [ebx + 0x80]
push eax
call fcn.00547d50
mov eax, dword [ebx + 0x30cc]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x50c5e3
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 0x50c5e9
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebx + 0x80]
push 0x660ff8
mov byte [ecx + 0x172], 1
mov ecx, dword [ebx + 0x80]
add ecx, 0x15c
call fcn.00586cbc
mov edx, dword [ebx + 0x80]
mov byte [edx + 0x15a], 0
mov eax, dword [ebx + 0x80]
mov byte [eax + 0x2af], 0
mov ecx, dword [ebx + 0x80]
push ecx
mov byte [ebx + 0x94], 0
call fcn.004bfa00
add esp, 4
mov ecx, ebx
call fcn.005079c0
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x50c6c5
mov edx, dword [ebx + 0x70]
mov eax, dword [edx]
mov eax, dword [eax]
test eax, eax
je 0x50c664
push 0
push 0x1390
push 0x111
push eax
call esi
mov eax, dword [ebx + 0x30cc]
test eax, eax
je 0x50c6c5
mov eax, dword [eax + 0x70]
test eax, eax
je 0x50c6c5
mov ecx, dword [ebx + 0x80]
push 0
push 0
push eax
call fcn.00547830
mov eax, dword [ebx + 0x30cc]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x50c6a5
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 0x50c6c5
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.00582ef5
add esp, 4
jmp 0x50c6e3
mov ecx, dword [ebx + 0x80]
mov dword [ebp - 4], 7
mov dword [ebx + 0x310c], 0
call fcn.00549c60
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 0x50c7a7
mov edx, dword [ebp + 8]
mov ecx, ebx
push edx
call fcn.0050bb80
mov esi, eax
test esi, esi
jne 0x50c7a7
mov eax, dword [ebx + 0x80]
mov eax, dword [eax + 0xbc]
test eax, eax
je 0x50c7a7
push str.text_html
push eax
call fcn.00573ec0
add esp, 8
test eax, eax
je 0x50c7a7
mov eax, dword [ebx + 0x30cc]
test eax, eax
je 0x50c7a7
mov eax, dword [eax + 0x70]
test eax, eax
je 0x50c7a7
mov ecx, dword [ebx + 0x80]
mov edx, dword [ecx + 0x3a0]
test edx, edx
jne 0x50c778
push eax
call fcn.0054b0e0
mov ebx, dword [ebx + 0x80]
mov eax, dword [ebx + 0x3a0]
test eax, eax
je 0x50c7a7
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.00586b33
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.00586b33
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.00586b33
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.00586b33
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00586b33
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.00586b33
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.00586b33
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.00586b33
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.00586b33
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00586b33
mov esi, dword [ebx + 0x3114]
cmp esi, 0xc8
jne 0x50c876
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
or eax, ecx
jne 0x50c876
mov ecx, dword [ebx + 0x3130]
mov edx, dword [ebx + 0x3134]
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x1c], edx
cmp esi, 0xce
jne 0x50c928
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
or eax, ecx
jne 0x50c8c4
mov eax, dword [ebx + 0x24]
test eax, eax
jg 0x50c8c4
jl 0x50c89c
mov eax, dword [ebx + 0x20]
test eax, eax
ja 0x50c8c4
mov eax, dword [ebx + 0x3130]
mov ecx, dword [ebx + 0x3134]
mov edx, eax
or edx, ecx
je 0x50c8c4
mov edx, dword [ebx + 0x3140]
mov edi, dword [ebx + 0x3144]
or edx, edi
jne 0x50c8c4
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
cmp esi, 0xce
jne 0x50c928
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
or eax, ecx
jne 0x50c928
mov eax, dword [ebx + 0x24]
test eax, eax
jg 0x50c916
jl 0x50c8e6
mov eax, dword [ebx + 0x20]
test eax, eax
ja 0x50c916
mov edi, dword [ebx + 0x3140]
mov ecx, dword [ebx + 0x3144]
mov edx, edi
or edx, ecx
je 0x50c916
mov eax, dword [ebx + 0x3134]
mov edx, dword [ebx + 0x3130]
cmp ecx, eax
jg 0x50c916
jl 0x50c90e
cmp edi, edx
jae 0x50c916
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x1c], eax
jmp 0x50c928
mov eax, dword [ebx + 0x3140]
mov ecx, dword [ebx + 0x3144]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
cmp esi, 0xc8
je 0x50c938
cmp esi, 0xce
jne 0x50c95e
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x1c]
or edx, eax
jne 0x50c95e
mov eax, dword [ebx + 0x315c]
mov ecx, dword [ebx + 0x3158]
test eax, eax
jl 0x50c95e
jg 0x50c958
test ecx, ecx
jbe 0x50c95e
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 0x50ca41
mov edi, dword [ebx + 0x30cc]
mov eax, dword [edi + 0x88]
mov ecx, dword [edi + 0x8c]
mov esi, eax
or esi, ecx
je 0x50ca41
cmp eax, edx
jne 0x50c997
cmp ecx, dword [ebx + 0x1c]
je 0x50ca41
mov edx, dword [edi + 0x80]
mov esi, dword [edi + 0x84]
or edx, esi
je 0x50ca41
mov dl, byte [ebx + 0x311c]
test dl, dl
jne 0x50ca41
cmp dword [ebx + 0x3114], 0xce
jne 0x50c9fb
mov edx, dword [ebx + 0x3140]
mov esi, dword [ebx + 0x3144]
sub eax, 1
sbb ecx, 0
cmp edx, eax
jne 0x50c9fb
cmp esi, ecx
jne 0x50c9fb
mov eax, dword [ebx + 0x3148]
mov ecx, dword [ebx + 0x314c]
or eax, ecx
jne 0x50c9fb
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 0x50cb4b
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 0x50cb4b
cmp dword [ebx + 0x314c], ecx
jne 0x50cb4b
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x1c], edi
mov al, byte [ebx + 0x311c]
test al, al
jne 0x50cc8e
mov eax, dword [ebx + 0x80]
xor esi, esi
mov edx, dword [eax + 0xbc]
cmp edx, esi
je 0x50cc66
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 0x50cc66
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x50cc66
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.0056de20
add esp, 0xc
test eax, eax
je 0x50cc66
mov ecx, dword [ebx + 0x80]
push 9
push str.text_html
mov eax, dword [ecx + 0x100]
push eax
call fcn.0056cc60
add esp, 0xc
test eax, eax
jne 0x50caf5
mov edx, dword [ebx + 0x80]
push 9
push str.text_html
mov eax, dword [edx + 0xbc]
push eax
call fcn.0056cc60
add esp, 0xc
test eax, eax
jne 0x50cc66
mov ecx, dword [ebx + 0x30cc]
cmp dword [ecx + 0xf4], esi
je 0x50cc07
mov eax, dword [ebx + 0x80]
mov dl, byte [eax + 0x2bf]
test dl, dl
jne 0x50cb25
mov dl, byte [eax + 0x157]
test dl, dl
je 0x50cc07
mov edx, dword [ecx + 0x84]
lea eax, [ecx + 0x80]
mov ecx, dword [ecx + 0x80]
or ecx, edx
je 0x50cc66
mov byte [ebx + 0x311c], 1
jmp 0x50cc66
mov eax, dword [ebx + 0x30cc]
mov ecx, dword [eax + 0xf4]
test ecx, ecx
je 0x50cb81
mov eax, dword [ebx + 0x80]
mov cl, byte [eax + 0x2bf]
test cl, cl
jne 0x50cb75
mov cl, byte [eax + 0x157]
test cl, cl
je 0x50cb81
mov byte [ebx + 0x311c], 1
jmp 0x50ca41
mov eax, dword [ebx + 0x24]
test eax, eax
jg 0x50cc47
jl 0x50cb99
mov eax, dword [ebx + 0x20]
test eax, eax
ja 0x50cc47
mov al, byte [ebx + 0x30d1]
test al, al
jne 0x50cc47
mov eax, dword [ebx + 0x80]
mov byte [ebx + 0x30d0], 1
mov byte [ebx + 0x30d1], 1
mov cl, byte [eax + 0x2ba]
test cl, cl
je 0x50cbcc
mov byte [eax + 0x2bc], 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 0x50ce70
mov eax, dword [ebp + 8]
mov ecx, ebx
push eax
call fcn.0050bb80
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.0056cc60
add esp, 0xc
test eax, eax
je 0x50cc47
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0x1c]
mov eax, ecx
or eax, edx
je 0x50cc47
mov eax, dword [ebx + 0x80]
add eax, 0x120
cmp ecx, dword [eax]
jne 0x50cc47
cmp edx, dword [eax + 4]
je 0x50cc66
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 0x50cc90
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 0x50cc90
push edx
mov ecx, ebx
call fcn.00512620
jmp 0x50cc90
xor esi, esi
push 0x660ff8
lea ecx, [ebx + 0x30e4]
call fcn.00586cbc
mov al, byte [ebx + 0x311c]
test al, al
je 0x50ce03
lea ecx, [ebx + 0x10]
mov byte [ebx + 0x311c], 0
call fcn.004fa870
mov eax, dword [ebx + 0x30cc]
mov ecx, dword [eax + 0x68]
cmp ecx, esi
lea ecx, [eax + 0x48]
setne byte [ebp - 0x11]
call fcn.004f1070
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 0x50cd84
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 0x50ce70
mov eax, dword [ebp + 8]
mov ecx, ebx
push eax
call fcn.0050bb80
mov edi, eax
cmp edi, esi
je 0x50cdc5
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 0x50cde7
mov ecx, dword [ebx + 0x80]
mov edx, dword [ecx + 0x30]
mov ecx, dword [ebx + 0x30cc]
push edx
push ebx
add ecx, 0x48
call fcn.004f1190
mov edi, eax
mov ecx, ebx
call fcn.004f9290
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 [0x66249c]
push 1
push eax
mov ecx, ebx
call fcn.004f72f0
cmp dword [ebx + 0x7c], esi
jne 0x50ce45
mov ebx, dword [ebx + 0x30cc]
mov eax, dword [ebx + 0x18]
cmp eax, esi
je 0x50ce45
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