Function at 0x51f940
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c3f58
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 0x51f9b3
lea ecx, [eax + 0x48]
call fcn.005099c0
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 0x51fa32
mov dword [ebp - 0x2c], 0
push edi
mov ecx, ebx
call fcn.0050b820
test eax, eax
jne 0x51fa19
mov eax, dword [ebp - 0x2c]
inc eax
cmp eax, 5
mov dword [ebp - 0x2c], eax
jg 0x51fa19
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 0x51f9be
lea ecx, [eax + 0x48]
call fcn.005099c0
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 0x51fa32
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 0x51fa4b
mov eax, dword [eax + 0x10]
jmp 0x51fa54
mov edx, dword [ebx + 0x80]
mov eax, dword [edx + 0x24]
cmp eax, 2
jne 0x51fb25
mov eax, dword [ebx + 0xb0]
cmp dword [eax], 0
je 0x51fab3
push 1
mov ecx, ebx
call fcn.005216c0
test eax, eax
jne 0x520c4e
cmp dword [ebx + 0x3114], 0xc8
je 0x51faac
mov ecx, dword [ebx + 0x30f8]
push ecx
mov ecx, dword [ebx + 0x6c]
call fcn.0050e4b0
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.00566bf0
test eax, eax
jne 0x520c4e
mov eax, dword [ebx + 0x84]
test eax, eax
jne 0x51fae0
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.00567030
test eax, eax
je 0x51fb1d
cmp eax, 0x757e
jne 0x520c4e
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x18]
jmp 0x5209b1
push edi
mov ecx, ebx
call fcn.00567b70
mov esi, dword [ebp + 8]
test esi, esi
je 0x51fb35
mov ecx, ebx
call fcn.00520f70
jmp 0x51fb3e
mov edx, dword [ebx]
push 0
mov ecx, ebx
call dword [edx + 0x1c]
test eax, eax
jne 0x520c4e
push esi
mov ecx, ebx
call fcn.00520c70
mov esi, eax
test esi, esi
jne 0x51fbee
cmp dword [ebx + 0x3114], 0xce
jne 0x51fbee
mov edi, dword [ebx + 0x3120]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x51fbee
mov eax, dword [ebx + 0x84]
test eax, eax
jne 0x51fb99
mov eax, dword [ebx + 0x80]
mov ecx, dword [eax]
push ecx
lea ecx, [ebp - 0x34]
call fcn.0059dfae
or dword [ebp - 0x18], 1
mov eax, dword [eax]
push str.sciencedirect.com
push eax
call fcn.00581c10
mov edi, eax
mov al, byte [ebp - 0x18]
add esp, 8
test al, 1
je 0x51fbba
lea ecx, [ebp - 0x34]
call fcn.0059df40
test edi, edi
je 0x51fbee
cmp dword [ebx + 0x30c0], 2
je 0x51fbee
mov ecx, dword [ebx + 0x30cc]
test ecx, ecx
je 0x51fbd8
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 0x5209b1
cmp dword [ebx + 0x3114], 0xc8
jne 0x51fd00
mov ecx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x1c]
or ecx, eax
jne 0x51fd00
mov eax, dword [ebx + 0x24]
xor edi, edi
cmp eax, edi
jg 0x51fd02
jl 0x51fc24
cmp dword [ebx + 0x20], edi
ja 0x51fd02
mov al, byte [ebx + 0x30d1]
test al, al
jne 0x51fd02
mov eax, dword [ebx + 0x3140]
mov ecx, dword [ebx + 0x3144]
mov edx, eax
or edx, ecx
je 0x51fd02
mov edx, dword [ebx + 0x3130]
add eax, 1
adc ecx, edi
cmp eax, edx
jne 0x51fd02
cmp ecx, dword [ebx + 0x3134]
jne 0x51fd02
mov esi, 0x7542
mov eax, dword [0x679a04]
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.0052d6c0
mov edx, dword [ebp - 0x18]
push edx
call fcn.00470fc0
add esp, 4
cmp esi, 0x7565
je 0x51fca8
cmp esi, 0x7542
jne 0x51fdda
mov ecx, dword [ebx + 0x80]
mov dl, byte [ecx + 0x2a8]
test dl, dl
jne 0x51fd66
test al, al
je 0x51fd66
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 0x51fd2b
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.0059df40
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 0x51fee5
cmp esi, 0x7563
jne 0x51fc6c
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.0051f940
mov esi, eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.0059df40
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 0x51fdda
cmp dword [ebp + 8], edi
jne 0x51fdda
cmp dword [ebx + 0x24], edi
jl 0x51fdee
jg 0x51fd7f
cmp dword [ebx + 0x20], edi
jbe 0x51fdda
cmp dword [ecx + 0x2a0], edi
je 0x51fdda
mov edx, dword [ebx + 0x30cc]
mov eax, dword [edx + 0x70]
push eax
push edi
call int.00560f40
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 0x51fdd3
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.0059df40
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 0x51fd3c
cmp dword [ebx + 0x24], edi
jg 0x51fe8e
jl 0x51fdee
cmp dword [ebx + 0x20], edi
ja 0x51fe8e
mov al, byte [ebx + 0x30d1]
test al, al
jne 0x51fe8e
cmp esi, 0x7565
je 0x51fe24
cmp esi, 0x7566
je 0x51fe24
cmp esi, 0x7542
je 0x51fe24
cmp esi, 0x756e
je 0x51fe24
cmp esi, 0x755e
jne 0x51fe8e
mov eax, dword [ebx + 0x80]
mov byte [ebx + 0x30d0], 1
mov byte [ebx + 0x30d1], 1
mov cl, byte [eax + 0x2bc]
test cl, cl
je 0x51fe49
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 0x51fe85
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.0059df40
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 0x51fd3c
mov ecx, dword [ebx + 0x30d8]
cmp ecx, edi
je 0x51fd45
call fcn.00541e80
test al, al
jne 0x51fd45
mov eax, dword [ebx + 0x80]
mov cl, byte [eax + 0x2bd]
test cl, cl
je 0x51fd45
mov cl, byte [eax + 0x2be]
test cl, cl
jne 0x51fd45
mov cl, byte [eax + 0x2bf]
test cl, cl
jne 0x51fd45
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.0059df40
cmp dword [ebx + 0x30d8], edi
je 0x52062a
mov ecx, dword [ebx + 0x80]
mov eax, dword [ecx + 0xbc]
cmp eax, edi
jne 0x51ff0d
cmp esi, edi
je 0x52062a
cmp eax, edi
je 0x51ff23
push str.text_html
push eax
call fcn.0058b0a0
add esp, 8
test eax, eax
sete byte [ebp - 0x11]
jmp 0x51ff27
mov byte [ebp - 0x11], 0
mov ecx, dword [ebx + 0x30d8]
call fcn.00541e80
test al, al
jne 0x52062a
mov eax, dword [ebx + 0x80]
mov cl, byte [eax + 0x2bd]
test cl, cl
je 0x52062a
mov cl, byte [eax + 0x2be]
test cl, cl
jne 0x52062a
mov cl, byte [eax + 0x2bf]
test cl, cl
jne 0x52062a
mov al, byte [ebp - 0x11]
test al, al
jne 0x51ff79
cmp esi, edi
je 0x52062a
mov eax, dword [0x679a04]
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.00541da0
test al, al
je 0x5205e2
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.00541d70
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 0x520033
push eax
call fcn.0059a303
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.0059a2da
mov edx, eax
add esp, 4
test edx, edx
mov dword [esi], edx
jne 0x5200bc
push str.URL::set_serverName__:_Not_enough_memory__n
mov ecx, esi
call fcn.0055b880
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 6
call fcn.00401070
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.0059df40
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.0059df40
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.0059df40
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.0059df40
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.0059df40
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 0x5200f8
push eax
call fcn.0059a303
add esp, 4
xor edx, edx
cmp esi, edx
jne 0x520103
mov dword [edi + 4], edx
jmp 0x520162
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x520119
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 4], edx
jmp 0x520162
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.0059a2da
mov ecx, dword [ebp - 0x18]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 4], edx
jne 0x520143
push str.URL::set_serverPath__:_Not_enough_memory__n
jmp 0x520057
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 0x52017e
push eax
call fcn.0059a303
add esp, 4
mov cl, byte [0x67df58]
test esi, esi
mov byte [ebp - 0x11], cl
jne 0x52018e
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.0059a2da
mov ecx, dword [ebp - 0x34]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 8], edx
jne 0x5201b8
push str.URL::set_fileName__:_Not_enough_memory__n
jmp 0x520057
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 0x5201f3
push eax
call fcn.0059a303
add esp, 4
xor edx, edx
cmp esi, edx
jne 0x5201fe
mov dword [edi + 0x1c], edx
jmp 0x52025f
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x520214
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x1c], edx
jmp 0x52025f
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.0059a2da
mov ecx, dword [ebp - 0x18]
mov edx, eax
add esp, 4
test edx, edx
mov dword [ecx + 0x1c], edx
jne 0x520240
push str.URL::set_Cookie__:_Not_enough_memory__n
call fcn.0055b880
jmp 0x52025f
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 0x67df58
add ecx, 0xc4
call fcn.0059e0c9
mov ecx, dword [ebx + 0x80]
mov byte [ecx + 0x2ad], 0
mov esi, dword [ebx + 0x80]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x520298
push eax
call fcn.0059a303
add esp, 4
mov edx, 0x67df58
test edx, edx
jne 0x5202a6
mov dword [esi + 0x18], edx
jmp 0x52030c
mov edi, 0x67df58
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x5202bc
mov dword [esi + 0x18], eax
jmp 0x52030c
mov edi, 0x67df58
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.0059a2da
mov edx, eax
add esp, 4
test edx, edx
mov dword [esi + 0x18], edx
jne 0x5202ea
push str.URL::set_Referer__:_Not_enough_memory__n
mov ecx, esi
call fcn.0055b880
jmp 0x52030c
mov edi, 0x67df58
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 0x52034f
mov eax, dword [eax + 0x70]
test eax, eax
je 0x52034f
mov ecx, dword [ebx + 0x80]
mov edx, dword [ecx + 0x3a0]
test edx, edx
jne 0x520333
push eax
call fcn.00560e10
mov ecx, dword [ebx + 0x80]
mov eax, dword [ecx + 0x3a0]
test eax, eax
je 0x52034f
push str.Referer
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x520359
lea eax, [ebp - 0x44]
push eax
call fcn.00581b1a
add esp, 4
test eax, eax
je 0x5203c1
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x520370
lea eax, [ebp - 0x44]
mov ecx, dword [ebx + 0x80]
push eax
call fcn.0055f4b0
mov eax, dword [ebx + 0x30cc]
test eax, eax
je 0x5203c1
mov eax, dword [eax + 0x70]
test eax, eax
je 0x520399
mov ecx, dword [ebx + 0x80]
push eax
call fcn.0055d940
mov eax, dword [ebx + 0x30cc]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x5203c1
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 0x5203c7
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebx + 0x80]
push 0x67df58
mov byte [ecx + 0x172], 1
mov ecx, dword [ebx + 0x80]
add ecx, 0x15c
call fcn.0059e0c9
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.004d00f0
add esp, 4
mov ecx, ebx
call fcn.0051b740
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x5204a3
mov edx, dword [ebx + 0x70]
mov eax, dword [edx]
mov eax, dword [eax]
test eax, eax
je 0x520442
push 0
push 0x1478
push 0x111
push eax
call esi
mov eax, dword [ebx + 0x30cc]
test eax, eax
je 0x5204a3
mov eax, dword [eax + 0x70]
test eax, eax
je 0x5204a3
mov ecx, dword [ebx + 0x80]
push 0
push 0
push eax
call fcn.0055d340
mov eax, dword [ebx + 0x30cc]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x520483
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 0x5204a3
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.0059a303
add esp, 4
jmp 0x5204c1
mov ecx, dword [ebx + 0x80]
mov dword [ebp - 4], 7
mov dword [ebx + 0x310c], 0
call int.0055f880
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 0x520585
mov edx, dword [ebp + 8]
mov ecx, ebx
push edx
call fcn.0051f940
mov esi, eax
test esi, esi
jne 0x520585
mov eax, dword [ebx + 0x80]
mov eax, dword [eax + 0xbc]
test eax, eax
je 0x520585
push str.text_html
push eax
call fcn.0058b0a0
add esp, 8
test eax, eax
je 0x520585
mov eax, dword [ebx + 0x30cc]
test eax, eax
je 0x520585
mov eax, dword [eax + 0x70]
test eax, eax
je 0x520585
mov ecx, dword [ebx + 0x80]
mov edx, dword [ecx + 0x3a0]
test edx, edx
jne 0x520556
push eax
call fcn.00560e10
mov ebx, dword [ebx + 0x80]
mov eax, dword [ebx + 0x3a0]
test eax, eax
je 0x520585
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.0059df40
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.0059df40
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.0059df40
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.0059df40
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.0059df40
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.0059df40
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.0059df40
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.0059df40
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.0059df40
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.0059df40
mov esi, dword [ebx + 0x3114]
cmp esi, 0xc8
jne 0x520654
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
or eax, ecx
jne 0x520654
mov ecx, dword [ebx + 0x3130]
mov edx, dword [ebx + 0x3134]
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x1c], edx
cmp esi, 0xce
jne 0x520706
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
or eax, ecx
jne 0x5206a2
mov eax, dword [ebx + 0x24]
test eax, eax
jg 0x5206a2
jl 0x52067a
mov eax, dword [ebx + 0x20]
test eax, eax
ja 0x5206a2
mov eax, dword [ebx + 0x3130]
mov ecx, dword [ebx + 0x3134]
mov edx, eax
or edx, ecx
je 0x5206a2
mov edx, dword [ebx + 0x3140]
mov edi, dword [ebx + 0x3144]
or edx, edi
jne 0x5206a2
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
cmp esi, 0xce
jne 0x520706
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
or eax, ecx
jne 0x520706
mov eax, dword [ebx + 0x24]
test eax, eax
jg 0x5206f4
jl 0x5206c4
mov eax, dword [ebx + 0x20]
test eax, eax
ja 0x5206f4
mov edi, dword [ebx + 0x3140]
mov ecx, dword [ebx + 0x3144]
mov edx, edi
or edx, ecx
je 0x5206f4
mov eax, dword [ebx + 0x3134]
mov edx, dword [ebx + 0x3130]
cmp ecx, eax
jg 0x5206f4
jl 0x5206ec
cmp edi, edx
jae 0x5206f4
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x1c], eax
jmp 0x520706
mov eax, dword [ebx + 0x3140]
mov ecx, dword [ebx + 0x3144]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
cmp esi, 0xc8
je 0x520716
cmp esi, 0xce
jne 0x52073c
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x1c]
or edx, eax
jne 0x52073c
mov eax, dword [ebx + 0x315c]
mov ecx, dword [ebx + 0x3158]
test eax, eax
jl 0x52073c
jg 0x520736
test ecx, ecx
jbe 0x52073c
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 0x52081f
mov edi, dword [ebx + 0x30cc]
mov eax, dword [edi + 0x88]
mov ecx, dword [edi + 0x8c]
mov esi, eax
or esi, ecx
je 0x52081f
cmp eax, edx
jne 0x520775
cmp ecx, dword [ebx + 0x1c]
je 0x52081f
mov edx, dword [edi + 0x80]
mov esi, dword [edi + 0x84]
or edx, esi
je 0x52081f
mov dl, byte [ebx + 0x311c]
test dl, dl
jne 0x52081f
cmp dword [ebx + 0x3114], 0xce
jne 0x5207d9
mov edx, dword [ebx + 0x3140]
mov esi, dword [ebx + 0x3144]
sub eax, 1
sbb ecx, 0
cmp edx, eax
jne 0x5207d9
cmp esi, ecx
jne 0x5207d9
mov eax, dword [ebx + 0x3148]
mov ecx, dword [ebx + 0x314c]
or eax, ecx
jne 0x5207d9
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 0x520929
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 0x520929
cmp dword [ebx + 0x314c], ecx
jne 0x520929
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x1c], edi
mov al, byte [ebx + 0x311c]
test al, al
jne 0x520a6c
mov eax, dword [ebx + 0x80]
xor esi, esi
mov edx, dword [eax + 0xbc]
cmp edx, esi
je 0x520a44
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 0x520a44
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x520a44
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.00584f80
add esp, 0xc
test eax, eax
je 0x520a44
mov ecx, dword [ebx + 0x80]
push 9
push str.text_html
mov eax, dword [ecx + 0x100]
push eax
call fcn.00583da0
add esp, 0xc
test eax, eax
jne 0x5208d3
mov edx, dword [ebx + 0x80]
push 9
push str.text_html
mov eax, dword [edx + 0xbc]
push eax
call fcn.00583da0
add esp, 0xc
test eax, eax
jne 0x520a44
mov ecx, dword [ebx + 0x30cc]
cmp dword [ecx + 0xf4], esi
je 0x5209e5
mov eax, dword [ebx + 0x80]
mov dl, byte [eax + 0x2c1]
test dl, dl
jne 0x520903
mov dl, byte [eax + 0x158]
test dl, dl
je 0x5209e5
mov edx, dword [ecx + 0x84]
lea eax, [ecx + 0x80]
mov ecx, dword [ecx + 0x80]
or ecx, edx
je 0x520a44
mov byte [ebx + 0x311c], 1
jmp 0x520a44
mov eax, dword [ebx + 0x30cc]
mov ecx, dword [eax + 0xf4]
test ecx, ecx
je 0x52095f
mov eax, dword [ebx + 0x80]
mov cl, byte [eax + 0x2c1]
test cl, cl
jne 0x520953
mov cl, byte [eax + 0x158]
test cl, cl
je 0x52095f
mov byte [ebx + 0x311c], 1
jmp 0x52081f
mov eax, dword [ebx + 0x24]
test eax, eax
jg 0x520a25
jl 0x520977
mov eax, dword [ebx + 0x20]
test eax, eax
ja 0x520a25
mov al, byte [ebx + 0x30d1]
test al, al
jne 0x520a25
mov eax, dword [ebx + 0x80]
mov byte [ebx + 0x30d0], 1
mov byte [ebx + 0x30d1], 1
mov cl, byte [eax + 0x2bc]
test cl, cl
je 0x5209aa
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 0x520c4e
mov eax, dword [ebp + 8]
mov ecx, ebx
push eax
call fcn.0051f940
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.00583da0
add esp, 0xc
test eax, eax
je 0x520a25
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0x1c]
mov eax, ecx
or eax, edx
je 0x520a25
mov eax, dword [ebx + 0x80]
add eax, 0x120
cmp ecx, dword [eax]
jne 0x520a25
cmp edx, dword [eax + 4]
je 0x520a44
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 0x520a6e
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 0x520a6e
push edx
mov ecx, ebx
call fcn.00526470
jmp 0x520a6e
xor esi, esi
push 0x67df58
lea ecx, [ebx + 0x30e4]
call fcn.0059e0c9
mov al, byte [ebx + 0x311c]
test al, al
je 0x520be1
lea ecx, [ebx + 0x10]
mov byte [ebx + 0x311c], 0
call fcn.0050e610
mov eax, dword [ebx + 0x30cc]
mov ecx, dword [eax + 0x68]
cmp ecx, esi
lea ecx, [eax + 0x48]
setne byte [ebp - 0x11]
call fcn.00504170
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 0x520b62
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 0x520c4e
mov eax, dword [ebp + 8]
mov ecx, ebx
push eax
call fcn.0051f940
mov edi, eax
cmp edi, esi
je 0x520ba3
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 0x520bc5
mov ecx, dword [ebx + 0x80]
mov edx, dword [ecx + 0x30]
mov ecx, dword [ebx + 0x30cc]
push edx
push ebx
add ecx, 0x48
call fcn.005042b0
mov edi, eax
mov ecx, ebx
call fcn.0050cfd0
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 [0x67f59c]
push 1
push eax
mov ecx, ebx
call fcn.0050b030
cmp dword [ebx + 0x7c], esi
jne 0x520c23
mov ebx, dword [ebx + 0x30cc]
mov eax, dword [ebx + 0x18]
cmp eax, esi
je 0x520c23
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