Function at 0x40eca4
Capabilities:
Terminate process

Disassembly:
mov eax, 0x485b79
call fcn.004847e4
sub esp, 0x4a0
mov eax, 0x497898
push ebx
push esi
push edi
mov edi, 0x3b8c765b
mov ebx, ecx
sub eax, edi
lea ecx, [ebp - 0x25]
push eax
call fcn.00412503
mov esi, eax
lea eax, [esi + 1]
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x40ecd3
sub esi, eax
lea ecx, [ebp - 0x3d]
mov eax, 0x4978ac
sub eax, edi
push eax
call fcn.00412503
lea ecx, [esi + 1]
push ecx
push eax
lea eax, [ebp - 0x2a4]
push eax
call fcn.0046df67
add esp, 0xc
lea ecx, [ebp - 0x70]
push 0x554e62d5
call fcn.0041253f
mov esi, eax
lea eax, [esi + 1]
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x40ed12
push 0x554e6301
lea ecx, [ebp - 0x9c]
sub esi, eax
call fcn.0041253f
lea ecx, [esi + 1]
push ecx
push eax
lea eax, [ebp - 0x4ac]
push eax
call fcn.0046df67
add esp, 0xc
xor edx, edx
push 0x29
pop ecx
mov al, byte [edx + 0x497918]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x41], al
and ecx, 0x800000ff
jns 0x40ed61
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x14
jl 0x40ed44
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea esi, [ebx + 0x240]
push esi
push 0xf003f
push 0
lea eax, [ebp - 0x41]
mov byte [ebp - 0x2d], 0
push eax
push closesocket
call edi
neg eax
sbb al, al
add al, 1
je 0x40ede9
lea eax, [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00406124
and dword [ebp - 4], 0
lea eax, [ebp - 0x4ac]
push eax
lea ecx, [ebp - 0x44]
call fcn.00406124
mov byte [ebp - 4], 1
push dword [ebx + 4]
xor ebx, ebx
lea edx, [ebp - 0x2c]
push ebx
lea ecx, [ebp - 0x44]
call fcn.0040490e
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x44]
call fcn.00402c21
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00402c21
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, 0x9d
xor edx, edx
mov al, byte [edx + 0x497930]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x25], al
and ecx, 0x800000ff
jns 0x40ee0d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x40edf0
push esi
push 0xf003f
push 0
lea eax, [ebp - 0x25]
mov byte [ebp - 0x15], 0
push eax
push closesocket
call edi
neg eax
sbb al, al
add al, 1
je 0x40ee60
lea eax, [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00406124
lea eax, [ebp - 0x4ac]
mov dword [ebp - 4], 2
push eax
lea ecx, [ebp - 0x44]
call fcn.00406124
mov byte [ebp - 4], 3
jmp 0x40edb8
mov ecx, 0x9c
xor edx, edx
mov al, byte [edx + 0x497944]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x6a], al
and ecx, 0x800000ff
jns 0x40ee84
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x25
jl 0x40ee67
push esi
push 0xf003f
push 0
lea eax, [ebp - 0x6a]
mov byte [ebp - 0x45], 0
push eax
push closesocket
call edi
neg eax
sbb al, al
add al, 1
je 0x40eed7
lea eax, [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00406124
lea eax, [ebp - 0x4ac]
mov dword [ebp - 4], 4
push eax
lea ecx, [ebp - 0x44]
call fcn.00406124
mov byte [ebp - 4], 5
jmp 0x40edb8
mov ecx, 0xf9
xor edx, edx
mov al, byte [edx + 0x49796c]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x66], al
and ecx, 0x800000ff
jns 0x40eefb
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x21
jl 0x40eede
push esi
push 0xf003f
push 0
lea eax, [ebp - 0x66]
mov byte [ebp - 0x45], 0
push eax
push closesocket
call edi
neg eax
sbb al, al
add al, 1
je 0x40ef7b
lea eax, [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x5c]
call fcn.00406124
lea eax, [ebp - 0x4ac]
mov dword [ebp - 4], 6
push eax
lea ecx, [ebp - 0x88]
call fcn.00406124
mov byte [ebp - 4], 7
lea edx, [ebp - 0x5c]
push dword [ebx + 4]
xor ebx, ebx
lea ecx, [ebp - 0x88]
push ebx
call fcn.0040490e
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x88]
call fcn.00402c21
push ebx
push 1
lea ecx, [ebp - 0x5c]
jmp 0x40eddc
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret