Function at 0x40b340
Capabilities:
Connect to http server
Contain obfuscated stackstrings
Create http request
Enumerate processes

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43ae30
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x760
mov eax, dword [0x450008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x104
lea eax, [ebp - 0x120]
push 0
push eax
call fcn.00419080
add esp, 0xc
lea eax, [ebp - 0x120]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x120]
push 0x5c
push eax
call fcn.0041db27
add esp, 4
mov edx, 0x104
push str.uninstall.bss
push ecx
lea ecx, [eax + 1]
call fcn.0040a960
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea eax, [ebp - 0x120]
push eax
push 0x44c6c8
push str.title
push str.General
call esi
lea eax, [ebp - 0x120]
push eax
push 0x44c6ec
push str.tipOne
push str.General
call esi
lea eax, [ebp - 0x120]
push eax
push 0x44c708
push str.tipTwo
push str.General
call esi
lea eax, [ebp - 0x120]
push eax
push 0x44c71c
push str.tipThree
push str.General
call esi
lea eax, [ebp - 0x120]
push eax
push 0x44c6b4
push str.showNum
push str.General
call esi
lea eax, [ebp - 0x120]
push eax
push 0x44c6b4
push str.softnum
push str.General
call esi
lea eax, [ebp - 0x120]
push eax
push 0x44c6b4
push str.dllnum
push str.General
call esi
lea eax, [ebp - 0x120]
push eax
push 0x44c6b4
push str.linknum
push str.General
call esi
mov ecx, str.000000
mov eax, 0x452a7c
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40b4c0
test dl, dl
je 0x40b4bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40b4c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x40b4a0
xor eax, eax
jmp 0x40b4c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40b4d3
mov eax, 1
jmp 0x40dae6
lea eax, [ebp - 0x120]
push eax
push 0x452e8e
push 0x44c754
push str.General
call esi
lea eax, [ebp - 0x120]
push eax
push 0x452978
push str.version
push str.General
call esi
lea eax, [ebp - 0x120]
push eax
push 0x452a7c
push str.channel
push str.General
call esi
lea eax, [ebp - 0x120]
push eax
push 0x452b80
push str.platType
push str.General
call esi
lea eax, [ebp - 0x120]
push eax
push 0x452c84
push str.softId
push str.General
call esi
lea eax, [ebp - 0x120]
push eax
push 0x452d88
push str.keyWord
push str.General
call esi
push 0
push 0
push 0
push 1
push str.WindowsApplication
call dword [sym.imp.WININET.dll_InternetOpenA]
mov ecx, eax
mov dword [0x452ed8], ecx
test ecx, ecx
je 0x40b5a7
movzx eax, word [0x452e8c]
push 0
push 0
push 3
push 0
push 0
push eax
push 0x452760
push ecx
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [0x452edc], eax
jmp 0x40b5ac
mov eax, dword [0x452edc]
test eax, eax
je 0x40dae6
push 0
call fcn.0041feaa
add esp, 4
lea ecx, [ebp - 0x708]
push edx
push eax
call fcn.0040aad0
add esp, 8
mov esi, eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x5fc]
push 0xc
push str._version_:_
mov dword [ebp - 0x5ec], 0
mov dword [ebp - 0x5e8], 0xf
mov byte [ebp - 0x5fc], 0
call fcn.00404e80
push 0x452978
lea edx, [ebp - 0x5fc]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6f0]
call fcn.00413600
add esp, 4
push 0x44c7a8
mov edx, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6d8]
call fcn.00413600
add esp, 4
push str._channel_:_
mov edx, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6c0]
call fcn.00413600
add esp, 4
push 0x452a7c
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x720]
call fcn.00413600
add esp, 4
push 0x44c7a8
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x6a4]
call fcn.00413600
add esp, 4
push str._platType_:_
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x68c]
call fcn.00413600
add esp, 4
push 0x452b80
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x674]
call fcn.00413600
add esp, 4
push 0x44c7a8
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x65c]
call fcn.00413600
add esp, 4
push str._uid_:_
mov edx, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x644]
call fcn.00413600
add esp, 4
push 0x452e8e
mov edx, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x62c]
call fcn.00413600
add esp, 4
push 0x44c7a8
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x614]
call fcn.00413600
add esp, 4
push str._curTime_:
mov edx, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x754]
call fcn.00413600
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x73c]
call fcn.004136a0
add esp, 4
push 0x44c798
mov edx, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x450]
call fcn.00413600
add esp, 4
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x728]
cmp edx, 0x10
jb 0x40b7a0
mov ecx, dword [ebp - 0x73c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40b796
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db04
push edx
push ecx
call fcn.004162d7
add esp, 8
mov dword [ebp - 0x72c], 0
mov dword [ebp - 0x728], 0xf
mov byte [ebp - 0x73c], 0
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x740]
cmp edx, 0x10
jb 0x40b7f9
mov ecx, dword [ebp - 0x754]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40b7ef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db09
push edx
push ecx
call fcn.004162d7
add esp, 8
mov dword [ebp - 0x744], 0
mov dword [ebp - 0x740], 0xf
mov byte [ebp - 0x754], 0
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x600]
cmp edx, 0x10
jb 0x40b852
mov ecx, dword [ebp - 0x614]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40b848
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db0e
push edx
push ecx
call fcn.004162d7
add esp, 8
mov dword [ebp - 0x604], 0
mov dword [ebp - 0x600], 0xf
mov byte [ebp - 0x614], 0
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x618]
cmp edx, 0x10
jb 0x40b8ab
mov ecx, dword [ebp - 0x62c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40b8a1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db13
push edx
push ecx
call fcn.004162d7
add esp, 8
mov dword [ebp - 0x61c], 0
mov dword [ebp - 0x618], 0xf
mov byte [ebp - 0x62c], 0
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x630]
cmp edx, 0x10
jb 0x40b904
mov ecx, dword [ebp - 0x644]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40b8fa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db18
push edx
push ecx
call fcn.004162d7
add esp, 8
mov dword [ebp - 0x634], 0
mov dword [ebp - 0x630], 0xf
mov byte [ebp - 0x644], 0
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x648]
cmp edx, 0x10
jb 0x40b95d
mov ecx, dword [ebp - 0x65c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40b953
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db1d
push edx
push ecx
call fcn.004162d7
add esp, 8
mov dword [ebp - 0x64c], 0
mov dword [ebp - 0x648], 0xf
mov byte [ebp - 0x65c], 0
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x660]
cmp edx, 0x10
jb 0x40b9b6
mov ecx, dword [ebp - 0x674]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40b9ac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db22
push edx
push ecx
call fcn.004162d7
add esp, 8
mov dword [ebp - 0x664], 0
mov dword [ebp - 0x660], 0xf
mov byte [ebp - 0x674], 0
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x678]
cmp edx, 0x10
jb 0x40ba0f
mov ecx, dword [ebp - 0x68c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ba05
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db27
push edx
push ecx
call fcn.004162d7
add esp, 8
mov dword [ebp - 0x67c], 0
mov dword [ebp - 0x678], 0xf
mov byte [ebp - 0x68c], 0
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x690]
cmp edx, 0x10
jb 0x40ba68
mov ecx, dword [ebp - 0x6a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ba5e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db2c
push edx
push ecx
call fcn.004162d7
add esp, 8
mov dword [ebp - 0x694], 0
mov dword [ebp - 0x690], 0xf
mov byte [ebp - 0x6a4], 0
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x70c]
cmp edx, 0x10
jb 0x40bac1
mov ecx, dword [ebp - 0x720]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40bab7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db31
push edx
push ecx
call fcn.004162d7
add esp, 8
mov dword [ebp - 0x710], 0
mov dword [ebp - 0x70c], 0xf
mov byte [ebp - 0x720], 0
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x6ac]
cmp edx, 0x10
jb 0x40bb1a
mov ecx, dword [ebp - 0x6c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40bb10
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db36
push edx
push ecx
call fcn.004162d7
add esp, 8
mov dword [ebp - 0x6b0], 0
mov dword [ebp - 0x6ac], 0xf
mov byte [ebp - 0x6c0], 0
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x6c4]
cmp edx, 0x10
jb 0x40bb73
mov ecx, dword [ebp - 0x6d8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40bb69
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db3b
push edx
push ecx
call fcn.004162d7
add esp, 8
mov dword [ebp - 0x6c8], 0
mov dword [ebp - 0x6c4], 0xf
mov byte [ebp - 0x6d8], 0
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x6dc]
cmp edx, 0x10
jb 0x40bbcc
mov ecx, dword [ebp - 0x6f0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40bbc2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db40
push edx
push ecx
call fcn.004162d7
add esp, 8
mov dword [ebp - 0x6e0], 0
mov dword [ebp - 0x6dc], 0xf
mov byte [ebp - 0x6f0], 0
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x5e8]
cmp edx, 0x10
jb 0x40bc25
mov ecx, dword [ebp - 0x5fc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40bc1b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db45
push edx
push ecx
call fcn.004162d7
add esp, 8
mov dword [ebp - 0x5ec], 0
mov dword [ebp - 0x5e8], 0xf
mov byte [ebp - 0x5fc], 0
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x6f4]
cmp edx, 0x10
jb 0x40bc7e
mov ecx, dword [ebp - 0x708]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40bc74
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db4a
push edx
push ecx
call fcn.004162d7
add esp, 8
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0xf
mov byte [ebp - 0x468], 0
push 0
push 0x400000
push 0x452970
push 0
push 0
push 0x452658
push str.POST
mov byte [ebp - 4], 0x1f
push dword [0x452edc]
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov esi, eax
lea edx, [ebp - 0x450]
lea eax, [ebp - 0x468]
mov ecx, esi
push eax
call fcn.0040f130
add esp, 4
mov edi, eax
test esi, esi
je 0x40bce9
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test edi, edi
js 0x40da53
push 0x124
lea eax, [ebp - 0x58c]
mov byte [ebp - 0x5b1], 1
push 0
push eax
call fcn.00419080
add esp, 0xc
mov dword [ebp - 0x590], 0x128
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
xor ecx, ecx
mov dword [ebp - 0x5ec], 0
mov edi, eax
mov dword [ebp - 0x440], ecx
movzx eax, byte [ebp - 0x5b1]
cmp edi, 0xffffffff
push 0xc
cmove eax, ecx
mov dword [ebp - 0x5dc], edi
cmp dword [ebp - 0x43c], 0x10
lea ecx, [ebp - 0x450]
push str._version_:_
cmovae ecx, dword [ebp - 0x450]
mov dword [ebp - 0x724], eax
mov dword [ebp - 0x5e8], 0xf
mov byte [ebp - 0x5fc], 0
mov byte [ecx], 0
lea ecx, [ebp - 0x5fc]
call fcn.00404e80
push 0x452978
lea edx, [ebp - 0x5fc]
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x614]
call fcn.00413600
add esp, 4
push 0x44c7a8
mov edx, eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x62c]
call fcn.00413600
add esp, 4
push str._channel_:_
mov edx, eax
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x644]
call fcn.00413600
add esp, 4
push 0x452a7c
mov edx, eax
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x65c]
call fcn.00413600
add esp, 4
push 0x44c7a8
mov edx, eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x674]
call fcn.00413600
add esp, 4
push str._platType_:_
mov edx, eax
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x68c]
call fcn.00413600
add esp, 4
push 0x452b80
mov edx, eax
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x6a4]
call fcn.00413600
add esp, 4
mov byte [ebp - 4], 0x27
push 0x44c7a8
mov edx, eax
lea ecx, [ebp - 0x720]
call fcn.00413600
add esp, 4
push str._uid_:_
mov edx, eax
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x6c0]
call fcn.00413600
add esp, 4
push 0x452e8e
mov edx, eax
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x6d8]
call fcn.00413600
add esp, 4
push 0x44c7a8
mov edx, eax
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x6f0]
call fcn.00413600
add esp, 4
lea ecx, [ebp - 0x450]
push eax
call fcn.00411ce0
mov edx, dword [ebp - 0x6dc]
cmp edx, 0x10
jb 0x40bee6
mov ecx, dword [ebp - 0x6f0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40bedc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db4f
push edx
push ecx
call fcn.004162d7
add esp, 8
mov byte [ebp - 4], 0x29
mov edx, dword [ebp - 0x6c4]
mov dword [ebp - 0x6e0], 0
mov dword [ebp - 0x6dc], 0xf
mov byte [ebp - 0x6f0], 0
cmp edx, 0x10
jb 0x40bf3f
mov ecx, dword [ebp - 0x6d8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40bf35
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db54
push edx
push ecx
call fcn.004162d7
add esp, 8
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0x6ac]
mov dword [ebp - 0x6c8], 0
mov dword [ebp - 0x6c4], 0xf
mov byte [ebp - 0x6d8], 0
cmp edx, 0x10
jb 0x40bf98
mov ecx, dword [ebp - 0x6c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40bf8e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db59
push edx
push ecx
call fcn.004162d7
add esp, 8
mov byte [ebp - 4], 0x27
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x6b0], 0
mov dword [ebp - 0x6ac], 0xf
mov byte [ebp - 0x6c0], 0
cmp edx, 0x10
jb 0x40bff1
mov ecx, dword [ebp - 0x720]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40bfe7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db5e
push edx
push ecx
call fcn.004162d7
add esp, 8
mov byte [ebp - 4], 0x26
mov edx, dword [ebp - 0x690]
mov dword [ebp - 0x710], 0
mov dword [ebp - 0x70c], 0xf
mov byte [ebp - 0x720], 0
cmp edx, 0x10
jb 0x40c04a
mov ecx, dword [ebp - 0x6a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c040
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db63
push edx
push ecx
call fcn.004162d7
add esp, 8
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x678]
mov dword [ebp - 0x694], 0
mov dword [ebp - 0x690], 0xf
mov byte [ebp - 0x6a4], 0
cmp edx, 0x10
jb 0x40c0a3
mov ecx, dword [ebp - 0x68c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c099
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db68
push edx
push ecx
call fcn.004162d7
add esp, 8
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x660]
mov dword [ebp - 0x67c], 0
mov dword [ebp - 0x678], 0xf
mov byte [ebp - 0x68c], 0
cmp edx, 0x10
jb 0x40c0fc
mov ecx, dword [ebp - 0x674]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c0f2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db6d
push edx
push ecx
call fcn.004162d7
add esp, 8
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0x648]
mov dword [ebp - 0x664], 0
mov dword [ebp - 0x660], 0xf
mov byte [ebp - 0x674], 0
cmp edx, 0x10
jb 0x40c155
mov ecx, dword [ebp - 0x65c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c14b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db72
push edx
push ecx
call fcn.004162d7
add esp, 8
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x630]
mov dword [ebp - 0x64c], 0
mov dword [ebp - 0x648], 0xf
mov byte [ebp - 0x65c], 0
cmp edx, 0x10
jb 0x40c1ae
mov ecx, dword [ebp - 0x644]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c1a4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db77
push edx
push ecx
call fcn.004162d7
add esp, 8
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x618]
mov dword [ebp - 0x634], 0
mov dword [ebp - 0x630], 0xf
mov byte [ebp - 0x644], 0
cmp edx, 0x10
jb 0x40c207
mov ecx, dword [ebp - 0x62c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c1fd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db7c
push edx
push ecx
call fcn.004162d7
add esp, 8
mov byte [ebp - 4], 0x20
mov edx, dword [ebp - 0x600]
mov dword [ebp - 0x61c], 0
mov dword [ebp - 0x618], 0xf
mov byte [ebp - 0x62c], 0
cmp edx, 0x10
jb 0x40c260
mov ecx, dword [ebp - 0x614]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c256
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db81
push edx
push ecx
call fcn.004162d7
add esp, 8
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x5e8]
mov dword [ebp - 0x604], 0
mov dword [ebp - 0x600], 0xf
mov byte [ebp - 0x614], 0
cmp edx, 0x10
jb 0x40c2b9
mov ecx, dword [ebp - 0x5fc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c2af
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db86
push edx
push ecx
call fcn.004162d7
add esp, 8
cmp dword [ebp - 0x454], 0x10
lea esi, [ebp - 0x468]
push 0x28
cmovae esi, dword [ebp - 0x468]
call fcn.0041d395
add esp, 4
mov dword [ebp - 0x5d0], eax
test eax, eax
je 0x40cffe
xorps xmm0, xmm0
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm0
movq qword [eax + 0x20], xmm0
test esi, esi
je 0x40c307
mov al, byte [esi]
test al, al
je 0x40c307
cmp al, 0x20
ja 0x40c307
add esi, 1
jne 0x40c2f8
mov edx, esi
mov esi, dword [ebp - 0x5d0]
mov ecx, esi
call fcn.004142c0
mov ecx, esi
test eax, eax
je 0x40cff9
call fcn.00414680
mov dword [ebp - 0x5c8], eax
mov dword [ebp - 0x5c4], 0
test eax, eax
jle 0x40cff7
mov ecx, dword [ebp - 0x5c8]
xor eax, eax
mov edi, dword [esi + 8]
mov dword [ebp - 0x5bc], edi
test edi, edi
je 0x40cfdc
test eax, eax
jle 0x40c36c
mov edi, dword [edi]
dec eax
mov dword [ebp - 0x5bc], edi
test edi, edi
jne 0x40c356
jmp 0x40cfdc
test edi, edi
je 0x40cfdc
mov esi, dword [edi + 8]
test esi, esi
je 0x40cfd6
nop
mov ecx, dword [esi + 0x20]
mov edx, str.type
call fcn.00413cd0
test eax, eax
je 0x40c39c
mov esi, dword [esi]
test esi, esi
jne 0x40c380
jmp 0x40cfd0
test esi, esi
je 0x40cfd0
cmp dword [esi + 0xc], 3
jne 0x40cfd0
cmp dword [esi + 0x14], 3
jne 0x40cfd0
cmp byte [ebp - 0x724], 0
je 0x40c725
mov edx, str.procs
mov ecx, edi
call fcn.004146a0
mov esi, eax
mov dword [ebp - 0x5e4], esi
test esi, esi
je 0x40c725
push str._procs_:_
lea ecx, [ebp - 0x450]
call fcn.00404a40
mov ecx, esi
call fcn.00414680
mov dword [ebp - 0x5c0], eax
xor eax, eax
mov byte [ebp - 0x5b1], 1
mov dword [ebp - 0x5d4], eax
cmp dword [ebp - 0x5c0], eax
jle 0x40c715
nop dword [eax]
mov esi, dword [esi + 8]
test esi, esi
je 0x40c6f0
nop dword [eax + eax]
test eax, eax
jle 0x40c43b
mov esi, dword [esi]
dec eax
test esi, esi
jne 0x40c430
test esi, esi
je 0x40c6f0
lea eax, [ebp - 0x590]
push eax
push dword [ebp - 0x5dc]
call dword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x40c6f0
mov edx, str._ref
mov ecx, esi
call fcn.004146a0
test eax, eax
jne 0x40c487
mov edx, 0x44c80c
mov ecx, esi
call fcn.004146a0
mov edi, eax
mov dword [ebp - 0x5d8], edi
jmp 0x40c53c
cmp dword [eax + 0xc], 4
jne 0x40c6f0
lea ecx, [ebp - 0x5a0]
push ecx
lea ecx, [ebp - 0x59c]
push ecx
push str.___d_.procs__d_
push dword [eax + 0x10]
call fcn.0040a8c0
add esp, 0x10
cmp eax, 2
jl 0x40c6f0
mov ecx, dword [ebp - 0x5d0]
mov eax, dword [ebp - 0x59c]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x40c6f0
nop
test eax, eax
jle 0x40c4e0
mov ecx, dword [ecx]
dec eax
test ecx, ecx
jne 0x40c4d0
jmp 0x40c6f0
test ecx, ecx
je 0x40c6f0
mov edx, str.procs
call fcn.004146a0
test eax, eax
je 0x40c6f0
mov esi, dword [eax + 8]
mov ecx, dword [ebp - 0x5a0]
test esi, esi
je 0x40c6f0
nop dword [eax + eax]
test ecx, ecx
jle 0x40c520
mov esi, dword [esi]
dec ecx
test esi, esi
jne 0x40c510
jmp 0x40c6f0
test esi, esi
je 0x40c6f0
mov edx, 0x44c80c
mov ecx, esi
call fcn.004146a0
mov edi, eax
mov dword [ebp - 0x5d8], eax
mov edx, str.name
mov ecx, esi
call fcn.004146a0
mov dword [ebp - 0x5e0], eax
test edi, edi
je 0x40c6f0
cmp dword [edi + 0xc], 3
jne 0x40c6f0
test eax, eax
je 0x40c6f0
cmp dword [eax + 0xc], 4
jne 0x40c6f0
mov edi, dword [eax + 0x10]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x40c578
sub edi, ecx
lea esi, [edi + 1]
push esi
call fcn.00416503
add esp, 4
mov dword [ebp - 0x5b8], eax
push esi
push 0
push eax
call fcn.00419080
add esp, 0xc
xor esi, esi
test edi, edi
jle 0x40c5e0
nop word [eax + eax]
mov eax, dword [ebp - 0x5e0]
mov eax, dword [eax + 0x10]
movsx eax, byte [esi + eax]
push eax
call fcn.0041dcdc
mov ecx, dword [ebp - 0x5b8]
add esp, 4
mov byte [esi + ecx], al
inc esi
cmp esi, edi
jl 0x40c5b0
nop dword [eax]
nop dword [eax + eax]
push 0x104
lea eax, [ebp - 0x438]
push 0
push eax
call fcn.00419080
lea edi, [ebp - 0x56c]
add esp, 0xc
lea ecx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x40c600
sub edi, ecx
xor esi, esi
test edi, edi
jle 0x40c62d
nop
movsx eax, byte [ebp + esi - 0x56c]
push eax
call fcn.0041dcdc
mov byte [ebp + esi - 0x438], al
add esp, 4
inc esi
cmp esi, edi
jl 0x40c610
mov esi, dword [ebp - 0x5b8]
lea eax, [ebp - 0x438]
push eax
push esi
call fcn.00418940
add esp, 8
test eax, eax
jne 0x40c663
lea eax, [ebp - 0x590]
push eax
push dword [ebp - 0x5dc]
call dword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x40c5e0
jmp 0x40c6e5
cmp byte [ebp - 0x5b1], 0
jne 0x40c67c
push 0x44c828
lea ecx, [ebp - 0x450]
call fcn.00404a40
mov edx, dword [ebp - 0x5d8]
lea ecx, [ebp - 0x708]
mov edx, dword [edx + 0x14]
call fcn.0040aa20
push eax
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x2b
call fcn.00404ab0
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x6f4]
cmp edx, 0x10
jb 0x40c6de
mov ecx, dword [ebp - 0x708]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c6d4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db04
push edx
push ecx
call fcn.004162d7
add esp, 8
mov byte [ebp - 0x5b1], 0
push 1
push esi
call fcn.004162d7
add esp, 8
mov eax, dword [ebp - 0x5d4]
mov esi, dword [ebp - 0x5e4]
inc eax
mov dword [ebp - 0x5d4], eax
cmp eax, dword [ebp - 0x5c0]
jl 0x40c420
mov edi, dword [ebp - 0x5bc]
push 0x44c82c
lea ecx, [ebp - 0x450]
call fcn.00404a40
mov edx, str.regs
mov ecx, edi
call fcn.004146a0
mov esi, eax
mov dword [ebp - 0x5e4], esi
test esi, esi
je 0x40cb4f
push str.__regs_:_
lea ecx, [ebp - 0x450]
call fcn.00404a40
mov ecx, esi
call fcn.00414680
mov dword [ebp - 0x5d8], eax
xor eax, eax
mov byte [ebp - 0x5b1], 1
mov dword [ebp - 0x5d4], eax
cmp dword [ebp - 0x5d8], eax
jle 0x40caef
nop dword [eax]
mov esi, dword [esi + 8]
test esi, esi
je 0x40caca
nop dword [eax + eax]
test eax, eax
jle 0x40c7a0
mov esi, dword [esi]
dec eax
test esi, esi
jne 0x40c790
jmp 0x40caca
test esi, esi
je 0x40caca
mov edx, str._ref
mov ecx, esi
call fcn.004146a0
test eax, eax
je 0x40c858
cmp dword [eax + 0xc], 4
jne 0x40caca
lea ecx, [ebp - 0x5a8]
push ecx
lea ecx, [ebp - 0x5a4]
push ecx
push str.___d_.regs__d_
push dword [eax + 0x10]
call fcn.0040a8c0
add esp, 0x10
cmp eax, 2
jl 0x40caca
mov ecx, dword [ebp - 0x5d0]
mov eax, dword [ebp - 0x5a4]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x40caca
test eax, eax
jle 0x40c814
mov ecx, dword [ecx]
dec eax
test ecx, ecx
jne 0x40c804
jmp 0x40caca
test ecx, ecx
je 0x40caca
mov edx, str.regs
call fcn.004146a0
test eax, eax
je 0x40caca
mov esi, dword [eax + 8]
mov ecx, dword [ebp - 0x5a8]
test esi, esi
je 0x40caca
nop
test ecx, ecx
jle 0x40c850
mov esi, dword [esi]
dec ecx
test esi, esi
jne 0x40c840
jmp 0x40caca
test esi, esi
je 0x40caca
mov edx, 0x44c80c
mov ecx, esi
call fcn.004146a0
mov edx, str.root
mov dword [ebp - 0x5b8], eax
mov ecx, esi
call fcn.004146a0
mov edx, str.path
mov ecx, esi
mov edi, eax
call fcn.004146a0
mov ecx, dword [ebp - 0x5b8]
mov dword [ebp - 0x5c0], eax
test ecx, ecx
je 0x40caca
cmp dword [ecx + 0xc], 3
jne 0x40caca
test edi, edi
je 0x40caca
cmp dword [edi + 0xc], 4
jne 0x40caca
test eax, eax
je 0x40caca
cmp dword [eax + 0xc], 4
jne 0x40caca
mov esi, dword [edi + 0x10]
mov ecx, str.HKEY_CURRENT_USER
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40c8f0
test dl, dl
je 0x40c8ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40c8f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x40c8d0
xor eax, eax
jmp 0x40c8f5
sbb eax, eax
or eax, 1
xor ecx, ecx
mov edi, 0x80000001
test eax, eax
mov eax, esi
cmovne edi, ecx
mov ecx, str.HKEY_LOCAL_MACHINE
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40c928
test dl, dl
je 0x40c924
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40c928
add eax, 2
add ecx, 2
test dl, dl
jne 0x40c908
xor eax, eax
jmp 0x40c92d
sbb eax, eax
or eax, 1
test eax, eax
mov ecx, str.HKEY_CLASSES_ROOT
mov eax, 0x80000002
cmove edi, eax
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40c960
test dl, dl
je 0x40c95c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40c960
add eax, 2
add ecx, 2
test dl, dl
jne 0x40c940
xor eax, eax
jmp 0x40c965
sbb eax, eax
or eax, 1
test eax, eax
mov ecx, str.HKEY_USERS
mov eax, 0x80000000
cmove edi, eax
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40c996
test dl, dl
je 0x40c992
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40c996
add eax, 2
add ecx, 2
test dl, dl
jne 0x40c976
xor eax, eax
jmp 0x40c99b
sbb eax, eax
or eax, 1
test eax, eax
mov ecx, str.HKEY_CURRENT_CONFIG
mov eax, 0x80000003
cmove edi, eax
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40c9d0
test dl, dl
je 0x40c9cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40c9d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x40c9b0
xor eax, eax
jmp 0x40c9d5
sbb eax, eax
or eax, 1
test eax, eax
mov eax, 0x80000005
cmove edi, eax
mov eax, str.HKEY_CURRENT_USER_LOCAL_SETTINGS
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x40ca04
test cl, cl
je 0x40ca00
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x40ca04
add esi, 2
add eax, 2
test cl, cl
jne 0x40c9e4
xor eax, eax
jmp 0x40ca09
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40ca14
mov edi, 0x80000007
jmp 0x40ca1c
test edi, edi
je 0x40caca
lea eax, [ebp - 0x5ac]
push eax
mov eax, dword [ebp - 0x5c0]
push 0x20019
push 0
push dword [eax + 0x10]
push edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, 2
je 0x40ca48
cmp eax, 3
jne 0x40caca
cmp byte [ebp - 0x5b1], 0
jne 0x40ca61
push 0x44c828
lea ecx, [ebp - 0x450]
call fcn.00404a40
mov edx, dword [ebp - 0x5b8]
lea ecx, [ebp - 0x708]
mov edx, dword [edx + 0x14]
call fcn.0040aa20
push eax
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x2c
call fcn.00404ab0
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x6f4]
cmp edx, 0x10
jb 0x40cac3
mov ecx, dword [ebp - 0x708]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cab9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db04
push edx
push ecx
call fcn.004162d7
add esp, 8
mov byte [ebp - 0x5b1], 0
mov eax, dword [ebp - 0x5d4]
mov esi, dword [ebp - 0x5e4]
inc eax
mov dword [ebp - 0x5d4], eax
cmp eax, dword [ebp - 0x5d8]
jl 0x40c780
mov edi, dword [ebp - 0x5bc]
mov edx, dword [ebp - 0x43c]
mov eax, edx
mov ecx, dword [ebp - 0x440]
sub eax, ecx
push 1
push 0x44c82c
cmp eax, 1
jb 0x40cb35
cmp edx, 0x10
lea esi, [ebp - 0x450]
lea eax, [ecx + 1]
cmovae esi, dword [ebp - 0x450]
add esi, ecx
mov dword [ebp - 0x440], eax
push esi
call fcn.004197a0
add esp, 0xc
mov byte [esi + 1], 0
jmp 0x40cb4f
mov byte [ebp - 0x6a8], 0
lea ecx, [ebp - 0x450]
push dword [ebp - 0x6a8]
push 1
call fcn.00405800
mov edx, str.relateRegs
mov ecx, edi
call fcn.004146a0
mov esi, eax
mov dword [ebp - 0x5b8], esi
test esi, esi
je 0x40cfd0
push str.__relateRegs_:_
lea ecx, [ebp - 0x450]
call fcn.00404a40
mov ecx, esi
call fcn.00414680
mov edi, eax
mov byte [ebp - 0x5b1], 1
xor eax, eax
mov dword [ebp - 0x5bc], edi
mov dword [ebp - 0x5d4], eax
test edi, edi
jle 0x40cf70
mov ecx, edi
mov edi, dword [esi + 8]
test edi, edi
je 0x40cf5b
nop
test eax, eax
jle 0x40cbc0
mov edi, dword [edi]
dec eax
test edi, edi
jne 0x40cbb0
jmp 0x40cf5b
test edi, edi
je 0x40cf5b
mov esi, dword [edi + 8]
test esi, esi
je 0x40cbeb
nop
mov ecx, dword [esi + 0x20]
mov edx, str._ref
call fcn.00413cd0
test eax, eax
je 0x40cc8e
mov esi, dword [esi]
test esi, esi
jne 0x40cbd0
mov edx, 0x44c80c
mov ecx, edi
call fcn.004146a0
mov edx, str.root
mov dword [ebp - 0x5e0], eax
mov ecx, edi
call fcn.004146a0
mov edx, str.path
mov ecx, edi
mov esi, eax
call fcn.004146a0
mov edi, dword [ebp - 0x5e0]
mov dword [ebp - 0x5c0], eax
test edi, edi
je 0x40cf4f
cmp dword [edi + 0xc], 3
jne 0x40cf4f
test esi, esi
je 0x40cf4f
cmp dword [esi + 0xc], 4
jne 0x40cf4f
test eax, eax
je 0x40cf4f
cmp dword [eax + 0xc], 4
jne 0x40cf4f
mov esi, dword [esi + 0x10]
mov ecx, str.HKEY_CURRENT_USER
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40cd75
test dl, dl
je 0x40cc87
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40cd75
add eax, 2
add ecx, 2
test dl, dl
jne 0x40cc63
xor eax, eax
jmp 0x40cd7a
test esi, esi
je 0x40cbeb
cmp dword [esi + 0xc], 4
jne 0x40cf4f
lea eax, [ebp - 0x594]
push eax
lea eax, [ebp - 0x598]
push eax
push str.___d_.regs__d_
push dword [esi + 0x10]
call fcn.0040a8c0
add esp, 0x10
cmp eax, 2
jl 0x40cf4f
mov ecx, dword [ebp - 0x5d0]
mov eax, dword [ebp - 0x598]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x40cf4f
nop
test eax, eax
jle 0x40ccf0
mov ecx, dword [ecx]
dec eax
test ecx, ecx
jne 0x40cce0
jmp 0x40cf4f
test ecx, ecx
je 0x40cf4f
mov edx, str.regs
call fcn.004146a0
test eax, eax
je 0x40cf4f
mov esi, dword [eax + 8]
mov ecx, dword [ebp - 0x594]
test esi, esi
je 0x40cf4f
nop dword [eax + eax]
test ecx, ecx
jle 0x40cd30
mov esi, dword [esi]
dec ecx
test esi, esi
jne 0x40cd20
jmp 0x40cf4f
test esi, esi
je 0x40cf4f
mov edx, 0x44c80c
mov ecx, esi
call fcn.004146a0
mov edi, eax
mov edx, str.root
mov ecx, esi
mov dword [ebp - 0x5e0], edi
call fcn.004146a0
mov edx, str.path
mov dword [ebp - 0x5e4], eax
mov ecx, esi
call fcn.004146a0
mov esi, dword [ebp - 0x5e4]
jmp 0x40cc1d
sbb eax, eax
or eax, 1
xor ecx, ecx
mov edi, 0x80000001
test eax, eax
mov eax, esi
cmovne edi, ecx
mov ecx, str.HKEY_LOCAL_MACHINE
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40cdb0
test dl, dl
je 0x40cdac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40cdb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x40cd90
xor eax, eax
jmp 0x40cdb5
sbb eax, eax
or eax, 1
test eax, eax
mov ecx, str.HKEY_CLASSES_ROOT
mov eax, 0x80000002
cmove edi, eax
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40cde6
test dl, dl
je 0x40cde2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40cde6
add eax, 2
add ecx, 2
test dl, dl
jne 0x40cdc6
xor eax, eax
jmp 0x40cdeb
sbb eax, eax
or eax, 1
test eax, eax
mov ecx, str.HKEY_USERS
mov eax, 0x80000000
cmove edi, eax
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40ce20
test dl, dl
je 0x40ce1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40ce20
add eax, 2
add ecx, 2
test dl, dl
jne 0x40ce00
xor eax, eax
jmp 0x40ce25
sbb eax, eax
or eax, 1
test eax, eax
mov ecx, str.HKEY_CURRENT_CONFIG
mov eax, 0x80000003
cmove edi, eax
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40ce56
test dl, dl
je 0x40ce52
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40ce56
add eax, 2
add ecx, 2
test dl, dl
jne 0x40ce36
xor eax, eax
jmp 0x40ce5b
sbb eax, eax
or eax, 1
test eax, eax
mov eax, 0x80000005
cmove edi, eax
mov eax, str.HKEY_CURRENT_USER_LOCAL_SETTINGS
nop word [eax + eax]
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x40ce90
test cl, cl
je 0x40ce8c
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x40ce90
add esi, 2
add eax, 2
test cl, cl
jne 0x40ce70
xor eax, eax
jmp 0x40ce95
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40cea0
mov edi, 0x80000007
jmp 0x40cea8
test edi, edi
je 0x40cf4f
lea eax, [ebp - 0x5b0]
push eax
mov eax, dword [ebp - 0x5c0]
push 0x20019
push 0
push dword [eax + 0x10]
push edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40cf4f
cmp byte [ebp - 0x5b1], al
jne 0x40cee6
push 0x44c828
lea ecx, [ebp - 0x450]
call fcn.00404a40
mov eax, dword [ebp - 0x5e0]
lea ecx, [ebp - 0x708]
mov edx, dword [eax + 0x14]
call fcn.0040aa20
push eax
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x2d
call fcn.00404ab0
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x6f4]
cmp edx, 0x10
jb 0x40cf48
mov ecx, dword [ebp - 0x708]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cf3e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db04
push edx
push ecx
call fcn.004162d7
add esp, 8
mov byte [ebp - 0x5b1], 0
mov ecx, dword [ebp - 0x5bc]
mov esi, dword [ebp - 0x5b8]
mov eax, dword [ebp - 0x5d4]
inc eax
mov dword [ebp - 0x5d4], eax
cmp eax, ecx
jl 0x40cba3
mov edx, dword [ebp - 0x43c]
mov eax, edx
mov ecx, dword [ebp - 0x440]
sub eax, ecx
push 1
push 0x44c82c
cmp eax, 1
jb 0x40cfb6
cmp edx, 0x10
lea esi, [ebp - 0x450]
lea eax, [ecx + 1]
cmovae esi, dword [ebp - 0x450]
add esi, ecx
mov dword [ebp - 0x440], eax
push esi
call fcn.004197a0
add esp, 0xc
mov byte [esi + 1], 0
jmp 0x40cfd0
mov byte [ebp - 0x5cc], 0
lea ecx, [ebp - 0x450]
push dword [ebp - 0x5cc]
push 1
call fcn.00405800
mov ecx, dword [ebp - 0x5c8]
mov esi, dword [ebp - 0x5d0]
mov eax, dword [ebp - 0x5c4]
inc eax
mov dword [ebp - 0x5c4], eax
cmp eax, ecx
jl 0x40c345
mov edi, dword [ebp - 0x5dc]
mov ecx, esi
call fcn.00413d60
mov edx, dword [ebp - 0x43c]
mov eax, edx
mov ecx, dword [ebp - 0x440]
sub eax, ecx
push 0xb
push str.__curTime_:
cmp eax, 0xb
jb 0x40d044
cmp edx, 0x10
lea esi, [ebp - 0x450]
lea eax, [ecx + 0xb]
cmovae esi, dword [ebp - 0x450]
add esi, ecx
mov dword [ebp - 0x440], eax
push esi
call fcn.004197a0
add esp, 0xc
mov byte [esi + 0xb], 0
jmp 0x40d05e
mov byte [ebp - 0x5cc], 0
lea ecx, [ebp - 0x450]
push dword [ebp - 0x5cc]
push 0xb
call fcn.00405800
cmp dword [ebp - 0x43c], 0x10
lea ecx, [ebp - 0x450]
mov eax, dword [ebp - 0x440]
cmovae ecx, dword [ebp - 0x450]
push 0
mov byte [eax + ecx], 0
call fcn.0041feaa
add esp, 4
lea ecx, [ebp - 0x76c]
push edx
push eax
call fcn.0040aad0
add esp, 8
push eax
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x2e
call fcn.00404ab0
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x758]
cmp edx, 0x10
jb 0x40d0e4
mov ecx, dword [ebp - 0x76c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d0da
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db8b
push edx
push ecx
call fcn.004162d7
add esp, 8
mov edx, dword [ebp - 0x43c]
mov eax, edx
mov ecx, dword [ebp - 0x440]
sub eax, ecx
push 1
push 0x44c798
cmp eax, 1
jb 0x40d12a
cmp edx, 0x10
lea esi, [ebp - 0x450]
lea eax, [ecx + 1]
cmovae esi, dword [ebp - 0x450]
add esi, ecx
mov dword [ebp - 0x440], eax
push esi
call fcn.004197a0
add esp, 0xc
mov byte [esi + 1], 0
jmp 0x40d144
mov byte [ebp - 0x5cc], 0
lea ecx, [ebp - 0x450]
push dword [ebp - 0x5cc]
push 1
call fcn.00405800
cmp edi, 0xffffffff
je 0x40d150
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x454], 0x10
lea eax, [ebp - 0x468]
push 0
cmovae eax, dword [ebp - 0x468]
push 0x400000
push 0x452970
push 0
push 0
push 0x452550
mov dword [ebp - 0x458], 0
push str.POST
mov byte [eax], 0
push dword [0x452edc]
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov esi, eax
lea edx, [ebp - 0x450]
lea eax, [ebp - 0x468]
mov ecx, esi
push eax
call fcn.0040f130
add esp, 4
test esi, esi
je 0x40d1bb
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x43c], 0x10
lea eax, [ebp - 0x450]
push 0x104
cmovae eax, dword [ebp - 0x450]
mov dword [ebp - 0x440], 0
push 0
mov byte [eax], 0
lea eax, [ebp - 0x330]
push eax
call fcn.00419080
add esp, 0xc
lea eax, [ebp - 0x228]
push 0x104
push 0
push eax
call fcn.00419080
add esp, 0xc
lea ecx, [ebp - 0x468]
cmp dword [ebp - 0x454], 0x10
cmovae ecx, dword [ebp - 0x468]
call fcn.00414260
mov edi, eax
mov dword [ebp - 0x5c8], edi
test edi, edi
je 0x40da1a
mov esi, dword [edi + 8]
test esi, esi
je 0x40da13
nop dword [eax]
mov ecx, dword [esi + 0x20]
mov edx, str.type
call fcn.00413cd0
test eax, eax
je 0x40d25c
mov esi, dword [esi]
test esi, esi
jne 0x40d240
jmp 0x40da13
test esi, esi
je 0x40da13
cmp dword [esi + 0xc], 3
jne 0x40da13
cmp dword [esi + 0x14], 3
jne 0x40da13
mov edx, str.title
mov ecx, edi
call fcn.004146a0
mov edx, str.tipOne
mov dword [ebp - 0x5cc], eax
mov ecx, edi
call fcn.004146a0
mov edx, str.tipTwo
mov ecx, edi
mov esi, eax
call fcn.004146a0
mov edx, str.tipThree
mov dword [ebp - 0x5c4], eax
mov ecx, edi
call fcn.004146a0
mov edx, str.showNum
mov dword [ebp - 0x5c0], eax
mov ecx, edi
call fcn.004146a0
mov edx, dword [ebp - 0x5cc]
mov ecx, eax
mov dword [ebp - 0x594], ecx
test edx, edx
je 0x40da53
cmp dword [edx + 0xc], 4
jne 0x40da53
test esi, esi
je 0x40da53
cmp dword [esi + 0xc], 4
jne 0x40da53
mov eax, dword [ebp - 0x5c4]
test eax, eax
je 0x40da53
cmp dword [eax + 0xc], 4
jne 0x40da53
mov eax, dword [ebp - 0x5c0]
test eax, eax
je 0x40da53
cmp dword [eax + 0xc], 4
jne 0x40da53
test ecx, ecx
je 0x40da53
cmp dword [ecx + 0xc], 3
jne 0x40da53
lea eax, [ebp - 0x120]
push eax
push dword [edx + 0x10]
mov eax, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push str.title
push str.General
call eax
lea eax, [ebp - 0x120]
push eax
push dword [esi + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push str.tipOne
push str.General
call esi
lea eax, [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x5c4]
push dword [eax + 0x10]
push str.tipTwo
push str.General
call esi
lea eax, [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x5c0]
push dword [eax + 0x10]
push str.tipThree
push str.General
call esi
mov eax, dword [ebp - 0x594]
push dword [eax + 0x14]
lea eax, [ebp - 0x228]
push 0x44c904
push 0x104
push eax
call fcn.0040a8e0
add esp, 0x10
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x228]
push eax
push str.showNum
push str.General
call esi
mov edx, str.softs
mov ecx, edi
call fcn.004146a0
mov dword [ebp - 0x5b8], eax
test eax, eax
je 0x40d6f3
mov ecx, eax
call fcn.00414680
mov esi, eax
lea eax, [ebp - 0x228]
push esi
push 0x44c904
push 0x104
push eax
mov dword [ebp - 0x598], esi
call fcn.0040a8e0
add esp, 0x10
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x228]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push str.softnum
push str.General
call eax
xor edi, edi
test esi, esi
jle 0x40d6ed
mov ecx, dword [ebp - 0x5b8]
nop dword [eax]
mov esi, dword [ecx + 8]
mov eax, edi
test esi, esi
je 0x40d6e0
nop dword [eax]
test eax, eax
jle 0x40d480
mov esi, dword [esi]
dec eax
test esi, esi
jne 0x40d470
jmp 0x40d6e0
test esi, esi
je 0x40d6e0
mov edx, 0x44c80c
mov ecx, esi
call fcn.004146a0
mov edx, str.interfaceName
mov dword [ebp - 0x5c4], eax
mov ecx, esi
call fcn.004146a0
mov edx, str.name
mov dword [ebp - 0x5cc], eax
mov ecx, esi
call fcn.004146a0
mov edx, str.downUrl
mov dword [ebp - 0x5c0], eax
mov ecx, esi
call fcn.004146a0
mov edx, 0x44c928
mov dword [ebp - 0x5d4], eax
mov ecx, esi
call fcn.004146a0
mov edx, str.silenceParam
mov dword [ebp - 0x5d8], eax
mov ecx, esi
call fcn.004146a0
mov edx, str.isSelect
mov dword [ebp - 0x5dc], eax
mov ecx, esi
call fcn.004146a0
mov ecx, eax
mov eax, dword [ebp - 0x5c4]
mov dword [ebp - 0x594], ecx
test eax, eax
je 0x40d6da
cmp dword [eax + 0xc], 3
jne 0x40d6da
mov esi, dword [ebp - 0x5cc]
test esi, esi
je 0x40d6da
cmp dword [esi + 0xc], 4
jne 0x40d6da
mov eax, dword [ebp - 0x5c0]
test eax, eax
je 0x40d6da
cmp dword [eax + 0xc], 4
jne 0x40d6da
mov eax, dword [ebp - 0x5d4]
test eax, eax
je 0x40d6da
cmp dword [eax + 0xc], 4
jne 0x40d6da
mov eax, dword [ebp - 0x5d8]
test eax, eax
je 0x40d6da
cmp dword [eax + 0xc], 4
jne 0x40d6da
mov eax, dword [ebp - 0x5dc]
test eax, eax
je 0x40d6da
cmp dword [eax + 0xc], 4
jne 0x40d6da
test ecx, ecx
je 0x40d6da
cmp dword [ecx + 0xc], 3
jne 0x40d6da
lea eax, [edi + 1]
push eax
push str.Soft_d
lea eax, [ebp - 0x330]
push 0x104
push eax
call fcn.0040a8e0
mov eax, dword [ebp - 0x5c4]
push dword [eax + 0x14]
lea eax, [ebp - 0x228]
push 0x44c904
push 0x104
push eax
call fcn.0040a8e0
add esp, 0x20
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x228]
push eax
push 0x44c80c
lea eax, [ebp - 0x330]
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea eax, [ebp - 0x120]
push eax
push dword [esi + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea eax, [ebp - 0x330]
push str.interfaceName
push eax
call esi
lea eax, [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x5c0]
push dword [eax + 0x10]
lea eax, [ebp - 0x330]
push str.name
push eax
call esi
lea eax, [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x5d4]
push dword [eax + 0x10]
lea eax, [ebp - 0x330]
push str.downUrl
push eax
call esi
lea eax, [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x5d8]
push dword [eax + 0x10]
lea eax, [ebp - 0x330]
push 0x44c928
push eax
call esi
lea eax, [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x5dc]
push dword [eax + 0x10]
lea eax, [ebp - 0x330]
push str.silenceParam
push eax
call esi
mov eax, dword [ebp - 0x594]
push dword [eax + 0x14]
lea eax, [ebp - 0x228]
push 0x44c904
push 0x104
push eax
call fcn.0040a8e0
add esp, 0x10
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x228]
push eax
push str.isSelect
lea eax, [ebp - 0x330]
push eax
call esi
mov ecx, dword [ebp - 0x5b8]
inc edi
cmp edi, dword [ebp - 0x598]
jl 0x40d460
mov edi, dword [ebp - 0x5c8]
mov edx, 0x44c950
mov ecx, edi
call fcn.004146a0
mov esi, eax
test esi, esi
je 0x40d89d
lea eax, [ebp - 0x120]
push eax
push 0x44c954
push str.dllnum
push str.General
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov edx, 0x44c80c
mov ecx, esi
call fcn.004146a0
mov edx, str.downUrl
mov dword [ebp - 0x5cc], eax
mov ecx, esi
call fcn.004146a0
mov edx, str.jsonUrl
mov dword [ebp - 0x594], eax
mov ecx, esi
call fcn.004146a0
mov edx, str.downDir
mov dword [ebp - 0x5c4], eax
mov ecx, esi
call fcn.004146a0
mov edx, 0x44c928
mov dword [ebp - 0x5c0], eax
mov ecx, esi
call fcn.004146a0
mov edx, dword [ebp - 0x5cc]
mov ecx, eax
mov dword [ebp - 0x598], ecx
test edx, edx
je 0x40da53
cmp dword [edx + 0xc], 3
jne 0x40da53
mov esi, dword [ebp - 0x594]
test esi, esi
je 0x40da53
cmp dword [esi + 0xc], 4
jne 0x40da53
mov eax, dword [ebp - 0x5c4]
test eax, eax
je 0x40da53
cmp dword [eax + 0xc], 4
jne 0x40da53
mov eax, dword [ebp - 0x5c0]
test eax, eax
je 0x40da53
cmp dword [eax + 0xc], 4
jne 0x40da53
test ecx, ecx
je 0x40da53
cmp dword [ecx + 0xc], 4
jne 0x40da53
push dword [edx + 0x14]
lea eax, [ebp - 0x228]
push 0x44c904
push 0x104
push eax
call fcn.0040a8e0
add esp, 0x10
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x228]
push eax
push 0x44c80c
push 0x44c968
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea eax, [ebp - 0x120]
push eax
push dword [esi + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push str.downUrl
push 0x44c968
call esi
lea eax, [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x5c4]
push dword [eax + 0x10]
push str.jsonUrl
push 0x44c968
call esi
lea eax, [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x5c0]
push dword [eax + 0x10]
push str.downDir
push 0x44c968
call esi
lea eax, [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x598]
push dword [eax + 0x10]
push 0x44c928
push 0x44c968
call esi
mov edx, str.links
mov ecx, edi
call fcn.004146a0
mov esi, eax
mov dword [ebp - 0x5cc], esi
test esi, esi
je 0x40da13
mov ecx, esi
call fcn.00414680
push eax
push 0x44c904
mov dword [ebp - 0x5c0], eax
lea eax, [ebp - 0x228]
push 0x104
push eax
call fcn.0040a8e0
add esp, 0x10
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x228]
push eax
push str.linknum
push str.General
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
xor edi, edi
cmp dword [ebp - 0x5c0], edi
jle 0x40da0d
nop dword [eax]
mov esi, dword [esi + 8]
mov eax, edi
test esi, esi
je 0x40d9fa
nop dword [eax]
test eax, eax
jle 0x40d930
mov esi, dword [esi]
dec eax
test esi, esi
jne 0x40d920
jmp 0x40d9fa
test esi, esi
je 0x40d9fa
mov edx, 0x44c80c
mov ecx, esi
call fcn.004146a0
mov edx, 0x44c974
mov dword [ebp - 0x5c4], eax
mov ecx, esi
call fcn.004146a0
mov esi, eax
mov eax, dword [ebp - 0x5c4]
test eax, eax
je 0x40d9fa
cmp dword [eax + 0xc], 3
jne 0x40d9fa
test esi, esi
je 0x40d9fa
cmp dword [esi + 0xc], 4
jne 0x40d9fa
lea eax, [edi + 1]
push eax
push str.Link_d
lea eax, [ebp - 0x330]
push 0x104
push eax
call fcn.0040a8e0
mov eax, dword [ebp - 0x5c4]
push dword [eax + 0x14]
lea eax, [ebp - 0x228]
push 0x44c904
push 0x104
push eax
call fcn.0040a8e0
add esp, 0x20
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x228]
push eax
push 0x44c80c
lea eax, [ebp - 0x330]
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea eax, [ebp - 0x120]
push eax
push dword [esi + 0x10]
lea eax, [ebp - 0x330]
push 0x44c974
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov esi, dword [ebp - 0x5cc]
inc edi
cmp edi, dword [ebp - 0x5c0]
jl 0x40d910
mov edi, dword [ebp - 0x5c8]
mov ecx, edi
call fcn.00413d60
mov eax, dword [0x452edc]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
test eax, eax
je 0x40da36
push eax
call esi
mov dword [0x452edc], 0
mov eax, dword [0x452ed8]
test eax, eax
je 0x40da4c
push eax
call esi
mov dword [0x452ed8], 0
mov esi, 1
jmp 0x40da55
xor esi, esi
mov edx, dword [ebp - 0x454]
cmp edx, 0x10
jb 0x40da8f
mov ecx, dword [ebp - 0x468]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40da85
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db90
push edx
push ecx
call fcn.004162d7
add esp, 8
mov edx, dword [ebp - 0x43c]
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0xf
mov byte [ebp - 0x468], 0
cmp edx, 0x10
jb 0x40dae4
mov ecx, dword [ebp - 0x450]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40dada
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db95
push edx
push ecx
call fcn.004162d7
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00416291
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
call fcn.0041ca55
int3