Function at 0x4089d0
Capabilities:
Check if file exists
Copy file
Delete file
Get common file path
Initialize winsock library
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x449749
mov eax, dword fs:[0]
push eax
sub esp, 0xb40
mov eax, dword [0x45f758]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0x99d], 0
call fcn.0042bb00
mov dword [ebp - 0xac0], eax
mov dword [ebp - 0xaac], 0
lea ecx, [ebp - 0x5a4]
call fcn.00404ec0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x58c]
call fcn.00404ec0
mov byte [ebp - 4], 1
mov dword [ebp - 0x9a8], 1
jmp 0x408a54
mov eax, dword [ebp - 0x9a8]
add eax, 1
mov dword [ebp - 0x9a8], eax
mov ecx, dword [ebp - 0x9a8]
cmp ecx, dword [ebp + 8]
jge 0x408b46
push 0x44d61c
mov edx, dword [ebp - 0x9a8]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00430e79
add esp, 8
test eax, eax
jne 0x408a95
mov dword [ebp - 0xaac], 1
call fcn.00421bd0
jmp 0x408b41
push 0x44d63c
mov edx, dword [ebp - 0x9a8]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00430e79
add esp, 8
test eax, eax
jne 0x408abf
mov byte [ebp - 0x99d], 1
jmp 0x408b41
push 0x44d680
mov edx, dword [ebp - 0x9a8]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00430e79
add esp, 8
test eax, eax
jne 0x408b41
mov edx, dword [ebp - 0x9a8]
add edx, 1
mov dword [ebp - 0x9a8], edx
mov eax, dword [ebp - 0x9a8]
cmp eax, dword [ebp + 8]
jge 0x408b0f
mov ecx, dword [ebp - 0x9a8]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
push eax
lea ecx, [ebp - 0x5a4]
call fcn.0040e2f0
mov ecx, dword [ebp - 0x9a8]
add ecx, 1
mov dword [ebp - 0x9a8], ecx
mov edx, dword [ebp - 0x9a8]
cmp edx, dword [ebp + 8]
jge 0x408b41
mov eax, dword [ebp - 0x9a8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
push edx
lea ecx, [ebp - 0x58c]
call fcn.0040e2f0
jmp 0x408a45
push 0x44c571
lea eax, [ebp - 0x5a4]
push eax
call fcn.00403cc0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x408b6d
mov dword [ebp - 0xa80], 0
jmp 0x408b87
lea ecx, [ebp - 0x5a4]
call fcn.004056c0
push eax
call fcn.004317a1
add esp, 4
mov dword [ebp - 0xa80], eax
mov edx, dword [ebp - 0xa80]
mov dword [ebp - 0xa40], edx
cmp dword [ebp - 0xa40], 0
jne 0x408bad
mov ecx, dword [ebp - 0xac0]
call fcn.0042bb10
mov dword [ebp - 0xa40], eax
push 0
mov eax, dword [ebp - 0xa40]
push eax
lea ecx, [ebp - 0x5fc]
push ecx
call fcn.0042b9a0
add esp, 0xc
mov byte [ebp - 4], 2
push 0x411de0
mov edx, dword [ebp - 0xa40]
push edx
mov ecx, 0x4618a8
call fcn.0040e3a0
mov ecx, eax
call fcn.0040e540
push 0x44c572
lea eax, [ebp - 0x58c]
push eax
call fcn.00403cc0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x408c15
lea edx, [ebp - 0x58c]
push edx
push 0x4617d8
call fcn.0040c9d0
add esp, 8
lea eax, [ebp - 0x5fc]
push eax
lea ecx, [ebp - 0x58c]
push ecx
call fcn.0040ca70
add esp, 8
movzx edx, al
test edx, edx
je 0x408c84
push str.Access_denied._n
call fcn.00421c70
add esp, 4
mov dword [ebp - 0xac4], 0x80070005
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5fc]
call fcn.00405000
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x58c]
call fcn.00405000
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5a4]
call fcn.00405000
mov eax, dword [ebp - 0xac4]
jmp 0x40c5dc
mov dword [ebp - 0x990], 1
mov dword [ebp - 0x99c], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9cc], 0
mov dword [ebp - 0x9ec], 0
mov dword [ebp - 0x98c], 0
mov dword [ebp - 0x980], 0
mov dword [ebp - 0x9f4], 0
mov dword [ebp - 0x9d8], 0
mov dword [ebp - 0xa64], 0
mov dword [ebp - 0xab0], 0
mov dword [ebp - 0xa50], 0
mov dword [ebp - 0xa3c], 0
mov dword [ebp - 0xa58], 0
mov dword [ebp - 0xaa8], 0
mov dword [ebp - 0x9e4], 0
mov dword [ebp - 0x9c0], 0
mov dword [ebp - 0xa10], 0
mov dword [ebp - 0x9fc], 0
mov dword [ebp - 0xa1c], 0
mov dword [ebp - 0xa4c], 0
mov dword [ebp - 0xa94], 0
mov dword [ebp - 0xab4], 0
mov dword [ebp - 0xa14], 0
mov dword [ebp - 0xa54], 0
mov dword [ebp - 0xa48], 0
mov dword [ebp - 0xa04], 0
mov dword [ebp - 0x9d0], 0
mov dword [ebp - 0x9f8], 0
mov dword [ebp - 0xa68], 0
mov dword [ebp - 0xaa4], 0
mov dword [ebp - 0xa08], 0
mov dword [ebp - 0x978], 0
mov dword [ebp - 0x988], 0
lea ecx, [ebp - 0x5e4]
call fcn.00404ec0
mov byte [ebp - 4], 3
push 0x44f04c
lea ecx, [ebp - 0x5e4]
call fcn.0040e7b0
push 0x2e
lea ecx, [ebp - 0x5e4]
call fcn.0040e790
push str.2.4.5
lea ecx, [ebp - 0x5e4]
call fcn.0040e7b0
mov eax, dword [ebp - 0xaac]
mov dword [ebp - 0xa4c], eax
mov dword [ebp - 0xacc], 0x44f058
push 0x44f05c
push 0x44f084
push 0x44f08c
push str.Oct_29_2014
lea ecx, [ebp - 0x5e4]
call fcn.004056c0
push eax
mov ecx, dword [ebp - 0xacc]
push ecx
push str.LSPConfig
push str._s___s__v_s__s_n_n_s___s___s_n
call fcn.00421be0
add esp, 0x20
push str.System_and_software_information_n
call fcn.00421be0
add esp, 4
push str.________________________________n_n
call fcn.00421be0
add esp, 4
call fcn.004136c0
mov ecx, eax
call fcn.00413670
push eax
push str.Licensed_to:__s_n
call fcn.00421be0
add esp, 8
lea edx, [ebp - 0x524]
push edx
call fcn.00408650
add esp, 4
lea eax, [ebp - 0x524]
push eax
push str.Current_date_and_time:__s_n
call fcn.00421be0
add esp, 8
mov ecx, 1
imul ecx, ecx, 0
mov dword [ebp - 0xa8c], ecx
cmp dword [ebp - 0xa8c], 0x104
jae 0x408ed6
jmp 0x408edb
call fcn.00430a28
mov edx, dword [ebp - 0xa8c]
mov byte [ebp + edx - 0x114], 0
mov dword [ebp - 0x970], 1
jmp 0x408f04
mov eax, dword [ebp - 0x970]
add eax, 1
mov dword [ebp - 0x970], eax
mov ecx, dword [ebp - 0x970]
cmp ecx, dword [ebp + 8]
jge 0x408f53
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
push 0x104
lea edx, [ebp - 0x114]
push edx
call fcn.0040ea80
mov eax, dword [ebp - 0x970]
add eax, 1
cmp eax, dword [ebp + 8]
je 0x408f51
push 0x44f144
push 0x104
lea ecx, [ebp - 0x114]
push ecx
call fcn.0040ea80
jmp 0x408ef5
mov edx, 1
imul edx, edx, 0
movsx eax, byte [ebp + edx - 0x114]
test eax, eax
jne 0x408f7d
push str.no_parameters
push 0x104
lea ecx, [ebp - 0x114]
push ecx
call fcn.0040ea80
lea edx, [ebp - 0x114]
push edx
lea ecx, [ebp - 0x5bc]
call fcn.004014c0
mov byte [ebp - 4], 4
push 0
lea eax, [ebp - 0x5a4]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.004127a0
mov dword [ebp - 0xa18], eax
mov ecx, dword [ebp - 0xa18]
cmp ecx, dword [0x44c458]
je 0x408fde
push 0x44f158
lea ecx, [ebp - 0x5a4]
call fcn.00403680
push eax
mov edx, dword [ebp - 0xa18]
push edx
lea ecx, [ebp - 0x5bc]
call fcn.004130f0
push 0
lea eax, [ebp - 0x58c]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.004127a0
mov dword [ebp - 0xa18], eax
mov ecx, dword [ebp - 0xa18]
cmp ecx, dword [0x44c458]
je 0x409029
push 0x44f15c
lea ecx, [ebp - 0x58c]
call fcn.00403680
push eax
mov edx, dword [ebp - 0xa18]
push edx
lea ecx, [ebp - 0x5bc]
call fcn.004130f0
lea ecx, [ebp - 0x5bc]
call fcn.004056c0
push eax
push str.Parameters_to_parse_are:__s_n
call fcn.00421be0
add esp, 8
push 0x104
lea eax, [ebp - 0x420]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x420]
push ecx
push str.Process_full_path:__s_n
call fcn.00421be0
add esp, 8
lea edx, [ebp - 0x31c]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x31c]
push eax
push str.Current_directory_is:__s_n
call fcn.00421be0
add esp, 8
call fcn.00424720
mov dword [ebp - 0x9b0], eax
call fcn.00424950
mov byte [0x460bc0], al
mov ecx, dword [ebp - 0x9b0]
mov dword [0x460bbc], ecx
call fcn.00424a10
push eax
push str.OS:__s
call fcn.00421be0
add esp, 8
movzx edx, byte [0x460bc0]
test edx, edx
je 0x4090de
push str._64bit
call fcn.00421be0
add esp, 4
jmp 0x4090eb
push str._32bit
call fcn.00421be0
add esp, 4
call fcn.00424c90
movzx eax, al
test eax, eax
je 0x409106
push str._inside_Virtual_PC_tm_
call fcn.00421be0
add esp, 4
jmp 0x40911f
call fcn.00424bf0
movzx ecx, al
test ecx, ecx
je 0x40911f
push str._inside_VMWare_tm_
call fcn.00421be0
add esp, 4
mov byte [ebp - 0x981], 0
mov edx, dword [ebp - 0x9b0]
push edx
call fcn.00406740
add esp, 4
movzx eax, al
test eax, eax
je 0x409194
lea ecx, [ebp - 0x9d1]
push ecx
call fcn.00424d20
add esp, 4
mov byte [ebp - 0x981], al
movzx edx, byte [ebp - 0x9d1]
test edx, edx
je 0x40916b
push str._nError_while_trying_to_determine_elevated_status__n
call fcn.00421c70
add esp, 4
jmp 0x409192
movzx eax, byte [ebp - 0x981]
test eax, eax
je 0x409185
push str._with_UAC_elevated_n
call fcn.00421be0
add esp, 4
jmp 0x409192
push str._with_UAC_not_elevated_n
call fcn.00421be0
add esp, 4
jmp 0x4091a1
push 0x44f258
call fcn.00421be0
add esp, 4
lea ecx, [ebp - 0x614]
push ecx
call fcn.00427ac0
mov ecx, eax
call fcn.004275e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x614]
call fcn.004058a0
movzx edx, al
test edx, edx
jne 0x4091e3
lea ecx, [ebp - 0x614]
call fcn.004056c0
push eax
push 0x44f25c
call fcn.00421be0
add esp, 8
push str._n________________________________n_n
call fcn.00421be0
add esp, 4
mov byte [ebp - 0x9b8], 0
cmp dword [ebp + 8], 1
jle 0x409244
push 0x44f284
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax]
push edx
call fcn.00430e79
add esp, 8
test eax, eax
je 0x40923d
push 0x44f288
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax]
push edx
call fcn.00430e79
add esp, 8
test eax, eax
jne 0x409244
mov byte [ebp - 0x9b8], 1
lea eax, [ebp - 0x96c]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov dword [ebp - 0x998], eax
cmp dword [ebp - 0x998], 0
je 0x4092b9
mov ecx, dword [ebp - 0x998]
push ecx
push str.Unable_to_load_Winsock:__d_n
call fcn.00421c70
add esp, 8
movzx edx, byte [ebp - 0x9b8]
test edx, edx
jne 0x4092b9
push 0x44f2a8
lea eax, [ebp - 0x114]
push eax
call fcn.004134a0
add esp, 8
test eax, eax
je 0x4092aa
mov ecx, dword [ebp - 0x998]
mov dword [ebp - 0x990], ecx
jmp 0x4092b4
mov dword [ebp - 0x990], 1
jmp 0x40c47b
lea edx, [ebp - 0x998]
push edx
call fcn.00426f00
add esp, 4
push 0x46168c
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [ebp - 0x970], 1
jmp 0x4092ee
mov eax, dword [ebp - 0x970]
add eax, 1
mov dword [ebp - 0x970], eax
mov ecx, dword [ebp - 0x970]
cmp ecx, dword [ebp + 8]
jge 0x40932a
push 2
push 0x44f2ac
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00430fb0
add esp, 0xc
test eax, eax
jne 0x409328
mov edx, dword [ebp - 0x980]
add edx, 1
mov dword [ebp - 0x980], edx
jmp 0x4092df
cmp dword [ebp - 0x980], 0
jbe 0x409358
lea eax, [ebp - 0x998]
push eax
push 0x28
call fcn.00426ea0
add esp, 8
mov dword [ebp - 0x98c], eax
cmp dword [ebp - 0x98c], 0
jne 0x409358
jmp 0x40c47b
mov dword [ebp - 0x980], 0
mov byte [ebp - 0x99e], 0
mov dword [ebp - 0x970], 1
jmp 0x409384
mov ecx, dword [ebp - 0x970]
add ecx, 1
mov dword [ebp - 0x970], ecx
mov edx, dword [ebp - 0x970]
cmp edx, dword [ebp + 8]
jge 0x409c7e
movzx eax, byte [ebp - 0x99e]
test eax, eax
jne 0x409c7e
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx*4]
movsx eax, byte [edx + ecx]
push eax
call fcn.00430ccb
add esp, 4
cmp eax, 0x67
jne 0x4093e4
mov ecx, 1
imul ecx, ecx, 0
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx*4]
movsx eax, byte [edx + ecx]
test eax, eax
jne 0x409457
mov ecx, dword [ebp - 0x970]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
push eax
call fcn.0042e2e0
add esp, 4
cmp eax, 2
je 0x409457
mov ecx, dword [ebp - 0x970]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
push eax
call fcn.0042e2e0
add esp, 4
cmp eax, 3
je 0x409457
mov ecx, 1
imul ecx, ecx, 0
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx*4]
movsx eax, byte [edx + ecx]
cmp eax, 0x2d
je 0x409457
mov ecx, 1
imul ecx, ecx, 0
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx*4]
movsx eax, byte [edx + ecx]
cmp eax, 0x2f
je 0x409457
jmp 0x40c47b
mov byte [ebp - 0x971], 0
mov ecx, dword [ebp - 0x970]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
push eax
call fcn.0042e2e0
add esp, 4
cmp eax, 3
jne 0x40949e
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx*4]
movsx eax, byte [edx + ecx]
push eax
call fcn.00430ccb
add esp, 4
mov byte [ebp - 0x971], al
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx*4]
movsx eax, byte [edx + ecx]
push eax
call fcn.00430ccb
add esp, 4
mov dword [ebp - 0xa20], eax
mov ecx, dword [ebp - 0xa20]
sub ecx, 0x61
mov dword [ebp - 0xa20], ecx
cmp dword [ebp - 0xa20], 0x19
ja case.0x4094e7.13
mov edx, dword [ebp - 0xa20]
jmp dword [edx*4 + 0x40c5f8]
mov dword [ebp - 0xa68], 1
jmp 0x409c79
mov dword [ebp - 0xa54], 1
jmp 0x409c79
mov dword [ebp - 0xa64], 1
jmp 0x409c79
mov eax, dword [ebp - 0x970]
add eax, 1
cmp eax, dword [ebp + 8]
jl 0x40952e
jmp 0x40c47b
mov ecx, 1
imul ecx, ecx, 0
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx*4 + 4]
movsx eax, byte [edx + ecx]
push eax
call fcn.00430ccb
add esp, 4
mov dword [ebp - 0xa5c], eax
cmp dword [ebp - 0xa5c], 0x33
je 0x40958b
cmp dword [ebp - 0xa5c], 0x36
je 0x40957f
cmp dword [ebp - 0xa5c], 0x62
je 0x409573
jmp 0x409597
mov dword [0x45f0dc], 0
jmp 0x40959c
mov dword [0x45f0dc], 2
jmp 0x40959c
mov dword [0x45f0dc], 1
jmp 0x40959c
jmp 0x40c47b
mov ecx, dword [ebp - 0x970]
add ecx, 1
mov dword [ebp - 0x970], ecx
jmp 0x409c79
mov edx, dword [ebp - 0x970]
add edx, 1
cmp edx, dword [ebp + 8]
jl 0x4095c3
jmp 0x40c47b
mov eax, dword [ebp - 0x970]
add eax, 1
mov dword [ebp - 0x970], eax
lea ecx, [ebp - 0x970]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00408020
add esp, 0xc
mov dword [ebp - 0x978], eax
jmp 0x409c79
call fcn.00407140
mov dword [ebp - 0x978], eax
jmp 0x409c79
movsx ecx, byte [ebp - 0x971]
test ecx, ecx
jne 0x409625
mov dword [ebp - 0xa10], 1
mov dword [ebp - 0x9fc], 0
jmp 0x40969d
movsx edx, byte [ebp - 0x971]
cmp edx, 0x77
jne 0x409659
mov dword [ebp - 0x990], 0
push str.Winsock_integrity_OK_n
call fcn.00421be0
add esp, 4
mov dword [ebp - 0x9e4], 1
jmp 0x40c47b
movsx eax, byte [ebp - 0x971]
cmp eax, 0x63
jne 0x409698
mov dword [ebp - 0x9e4], 1
push str.Testing_winsock_chain_n
call fcn.00421be0
add esp, 4
mov ecx, dword [0x45f0dc]
push ecx
call fcn.004083e0
add esp, 4
mov dword [ebp - 0x990], eax
jmp 0x40c47b
jmp 0x40c47b
jmp 0x409c79
mov dword [ebp - 0xa10], 0
mov dword [ebp - 0x9fc], 1
jmp 0x409c79
mov dword [ebp - 0xa48], 1
jmp 0x409c79
movsx edx, byte [ebp - 0x971]
test edx, edx
je 0x4096e1
movsx eax, byte [ebp - 0x971]
cmp eax, 0x69
jne 0x409717
mov dword [ebp - 0xa1c], 1
mov dword [ebp - 0x9d8], 1
mov dword [ebp - 0xa14], 1
movsx ecx, byte [ebp - 0x971]
cmp ecx, 0x69
jne 0x409715
mov dword [ebp - 0x9c0], 1
jmp 0x40977a
movsx edx, byte [ebp - 0x971]
cmp edx, 0x72
jne 0x409775
mov eax, dword [ebp - 0x970]
add eax, 1
cmp eax, dword [ebp + 8]
jl 0x409736
jmp 0x40c47b
mov ecx, dword [ebp - 0x970]
add ecx, 1
mov dword [ebp - 0x970], ecx
lea edx, [ebp - 0x970]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00408020
add esp, 0xc
mov dword [ebp - 0x978], eax
mov dword [ebp - 0xa94], 1
mov byte [ebp - 0x99e], 1
jmp 0x40977a
jmp 0x40c47b
jmp 0x409c79
mov dword [ebp - 0xa4c], 1
jmp 0x409c79
push str._kmp
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00430e79
add esp, 8
test eax, eax
jne 0x40980f
mov dword [ebp - 0x9e4], 1
mov edx, dword [ebp - 0x970]
add edx, 1
mov dword [ebp - 0xa38], edx
jmp 0x4097d6
mov eax, dword [ebp - 0xa38]
add eax, 1
mov dword [ebp - 0xa38], eax
mov ecx, dword [ebp - 0xa38]
cmp ecx, dword [ebp + 8]
jge 0x40980f
mov edx, 1
imul edx, edx, 0
mov eax, dword [ebp - 0xa38]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
movsx ecx, byte [eax + edx]
cmp ecx, 0x2d
je 0x40980f
mov edx, dword [ebp - 0x970]
add edx, 1
mov dword [ebp - 0x970], edx
jmp 0x4097c7
jmp 0x409c79
mov dword [ebp - 0xab0], 1
mov dword [ebp - 0x9d8], 0
mov dword [ebp - 0xa14], 0
jmp 0x409c79
mov dword [ebp - 0x9c0], 1
jmp 0x409c79
mov dword [ebp - 0x9d8], 1
jmp 0x409c79
mov dword [ebp - 0xa50], 1
mov dword [ebp - 0xa3c], 1
movsx eax, byte [ebp - 0x971]
cmp eax, 0x72
jne 0x40987f
mov dword [ebp - 0xaa4], 1
jmp 0x409c79
mov dword [ebp - 0xaa8], 1
mov dword [ebp - 0x9d8], 0
jmp 0x409c79
mov ecx, dword [ebp - 0x970]
add ecx, 1
cmp ecx, dword [ebp + 8]
jl 0x4098b0
jmp 0x40c47b
mov edx, dword [ebp - 0x970]
add edx, 1
mov dword [ebp - 0x970], edx
mov eax, dword [ebp - 0x970]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
push edx
call fcn.00431798
add esp, 4
mov ecx, dword [ebp - 0x980]
mov edx, dword [ebp - 0x98c]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x980]
add eax, 1
mov dword [ebp - 0x980], eax
jmp 0x409c79
lea ecx, [ebp - 0x970]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00406e10
add esp, 0xc
mov dword [ebp - 0xa0c], eax
mov ecx, dword [ebp - 0x970]
add ecx, 1
cmp ecx, dword [ebp + 8]
jl 0x409927
jmp 0x40c47b
cmp dword [ebp - 0xa0c], 0
je 0x409956
mov edx, dword [ebp - 0x980]
mov eax, dword [ebp - 0x98c]
mov ecx, dword [ebp - 0xa0c]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0x980]
add edx, 1
mov dword [ebp - 0x980], edx
jmp 0x409965
mov dword [ebp - 0x990], 2
jmp 0x40c47b
jmp 0x409c79
movsx eax, byte [ebp - 0x971]
test eax, eax
jne 0x409990
mov dword [ebp - 0xa50], 1
mov dword [ebp - 0xa3c], 0
jmp 0x409c79
movsx ecx, byte [ebp - 0x971]
cmp ecx, 0x74
jne 0x4099b7
mov dword [ebp - 0x9f8], 1
mov dword [ebp - 0xa04], 1
jmp 0x409c79
movsx edx, byte [ebp - 0x971]
cmp edx, 0x75
jne case.0x4094e7.17
mov dword [ebp - 0x9f8], 1
mov dword [ebp - 0x9d0], 1
jmp 0x409c79
movsx eax, byte [ebp - 0x971]
test eax, eax
jne 0x409a3a
mov dword [ebp - 0x9d8], 0
mov ecx, dword [ebp - 0x970]
add ecx, 1
cmp ecx, dword [ebp + 8]
jl 0x409a04
jmp 0x40c47b
mov edx, dword [ebp - 0x970]
add edx, 1
mov dword [ebp - 0x970], edx
mov eax, dword [ebp - 0x970]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
push edx
call fcn.004317a1
add esp, 4
mov dword [ebp - 0x9f4], eax
mov dword [ebp - 0xa14], 1
jmp 0x409a9d
movsx eax, byte [ebp - 0x971]
cmp eax, 0x72
jne 0x409a98
mov ecx, dword [ebp - 0x970]
add ecx, 1
cmp ecx, dword [ebp + 8]
jl 0x409a59
jmp 0x40c47b
mov edx, dword [ebp - 0x970]
add edx, 1
mov dword [ebp - 0x970], edx
lea eax, [ebp - 0x970]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00408020
add esp, 0xc
mov dword [ebp - 0x978], eax
mov dword [ebp - 0xab4], 1
mov byte [ebp - 0x99e], 1
jmp 0x409a9d
jmp 0x40c47b
jmp 0x409c79
mov dword [ebp - 0x9d8], 0
mov eax, dword [ebp - 0x970]
add eax, 1
cmp eax, dword [ebp + 8]
jl 0x409abf
jmp 0x40c47b
lea ecx, [ebp - 0x970]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00406e10
add esp, 0xc
mov dword [ebp - 0xa0c], eax
mov dword [ebp - 0xa14], 0
cmp dword [ebp - 0xa0c], 0
je 0x409afd
mov ecx, dword [ebp - 0xa0c]
mov dword [ebp - 0x9f4], ecx
jmp 0x409b28
mov dword [ebp - 0x990], 2
push str.LSP_is_already_uninstalled.
movzx edx, byte [ebp - 0x99d]
push edx
lea eax, [ebp - 0x990]
push eax
call fcn.00408980
add esp, 0xc
jmp 0x40c47b
jmp 0x409c79
mov dword [ebp - 0xa58], 1
jmp 0x409c79
mov dword [ebp - 0xa2c], 2
jmp 0x409b57
mov ecx, dword [ebp - 0xa2c]
add ecx, 1
mov dword [ebp - 0xa2c], ecx
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0042e2e0
add esp, 4
cmp dword [ebp - 0xa2c], eax
jae 0x409c72
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0xa2c]
movsx eax, byte [ecx + edx]
push eax
call fcn.00430ccb
add esp, 4
mov dword [ebp - 0xa34], eax
mov ecx, dword [ebp - 0xa34]
sub ecx, 0x63
mov dword [ebp - 0xa34], ecx
cmp dword [ebp - 0xa34], 0x10
ja case.0x409bc6.1
mov edx, dword [ebp - 0xa34]
movzx eax, byte [edx + 0x40c688]
jmp dword [eax*4 + 0x40c660]
mov ecx, dword [ebp - 0x988]
or ecx, 0x40
mov dword [ebp - 0x988], ecx
jmp case.0x409bc6.1
mov edx, dword [ebp - 0x988]
or edx, 8
mov dword [ebp - 0x988], edx
jmp case.0x409bc6.1
mov eax, dword [ebp - 0x988]
or eax, 0x80
mov dword [ebp - 0x988], eax
jmp case.0x409bc6.1
mov ecx, dword [ebp - 0x988]
or ecx, 0x10
mov dword [ebp - 0x988], ecx
jmp case.0x409bc6.1
mov edx, dword [ebp - 0x988]
or edx, 1
mov dword [ebp - 0x988], edx
jmp case.0x409bc6.1
mov eax, dword [ebp - 0x988]
or eax, 0x80
mov dword [ebp - 0x988], eax
jmp case.0x409bc6.1
mov ecx, dword [ebp - 0x988]
or ecx, 4
mov dword [ebp - 0x988], ecx
jmp case.0x409bc6.1
mov edx, dword [ebp - 0x988]
or edx, 2
mov dword [ebp - 0x988], edx
jmp case.0x409bc6.1
mov eax, dword [ebp - 0x988]
or eax, 0x80000000
mov dword [ebp - 0x988], eax
jmp 0x409b48
jmp 0x409c79
jmp 0x40c47b
jmp 0x409375
cmp dword [ebp - 0x9fc], 0
jne 0x409c90
cmp dword [ebp - 0xa10], 0
je 0x409c9a
mov dword [ebp - 0x9c0], 0
cmp dword [ebp - 0xa4c], 0
je 0x409ca8
call fcn.00421bd0
mov ecx, dword [ebp - 0x9b0]
push ecx
call fcn.00406740
add esp, 4
movzx edx, al
test edx, edx
je 0x409ced
cmp dword [ebp - 0xa14], 0
je 0x409ced
movzx eax, byte [ebp - 0x981]
test eax, eax
jne 0x409ced
cmp dword [ebp - 0xa1c], 0
jne 0x409ced
push str.Operation_requires_elevation_and_will_probably_fail__exiting_n
call fcn.00421c70
add esp, 4
jmp 0x40c47b
cmp dword [0x45f0dc], 2
jne 0x409d08
push str.Unable_to_manipulate_64_bit_Winsock_catalog_from_32_bit_process__n_n
call fcn.00421c70
add esp, 4
jmp 0x40c47b
mov dword [ebp - 0x9e4], 1
call fcn.00423160
mov dword [0x460bb8], eax
cmp dword [ebp - 0xa50], 1
jne 0x409e53
mov dword [ebp - 0x9e0], 0
cmp dword [0x45f0dc], 0
je 0x409d45
cmp dword [0x45f0dc], 1
jne 0x409d7e
push str.Winsock_32_bit_Catalog:_n
call fcn.00421be0
add esp, 4
push 0x44f424
call fcn.00421be0
add esp, 4
lea ecx, [ebp - 0x9e0]
push ecx
mov edx, dword [ebp - 0xa58]
push edx
mov eax, dword [ebp - 0xa3c]
push eax
push 1
call fcn.0041a940
add esp, 0x10
cmp dword [0x45f0dc], 0
je 0x409d90
cmp dword [0x45f0dc], 2
jne 0x409dc9
push str.Winsock_64_bit_Catalog:_n
call fcn.00421be0
add esp, 4
push str._n
call fcn.00421be0
add esp, 4
lea ecx, [ebp - 0x9e0]
push ecx
mov edx, dword [ebp - 0xa58]
push edx
mov eax, dword [ebp - 0xa3c]
push eax
push 2
call fcn.0041a940
add esp, 0x10
cmp dword [ebp - 0xaa4], 0
je 0x409e4e
push 0x44f478
call fcn.00421be0
add esp, 4
cmp dword [ebp - 0x9e0], 0
jne 0x409df7
push str.No_LSPs_detected_n
call fcn.00421be0
add esp, 4
jmp 0x409e3d
cmp dword [ebp - 0x9e0], 1
jne 0x409e0f
push str.Only_our_LSP_detected_n
call fcn.00421be0
add esp, 4
jmp 0x409e3d
cmp dword [ebp - 0x9e0], 2
jne 0x409e27
push str.Only_3rd_party_LSP_detected_n
call fcn.00421be0
add esp, 4
jmp 0x409e3d
cmp dword [ebp - 0x9e0], 3
jne 0x409e3d
push str.Both_our_LSP_and_3rd_party_LSP_detected_n
call fcn.00421be0
add esp, 4
mov ecx, dword [ebp - 0x9e0]
mov dword [ebp - 0x990], ecx
jmp 0x40c47b
jmp 0x40c471
cmp dword [ebp - 0xa94], 1
jne 0x409ed2
push 0
movzx edx, byte [ebp - 0x99d]
push edx
lea eax, [ebp - 0x990]
push eax
call fcn.00408980
add esp, 0xc
mov ecx, dword [ebp - 0x978]
push ecx
push 0x44f4f4
push 0x44f520
call fcn.00408260
add esp, 0xc
test eax, eax
jne 0x409eaf
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov edx, dword [ebp - 0x978]
push edx
push str.Failed_to_backup_registry_to_file__s_with_error_code:__i_n
call fcn.00421c70
add esp, 0xc
jmp 0x409ecd
mov dword [ebp - 0x990], 0
mov eax, dword [ebp - 0x978]
push eax
push str.Backuped_registry_to_file__s_successfuly_n
call fcn.00421be0
add esp, 8
jmp 0x40c471
cmp dword [ebp - 0xab4], 1
jne 0x409f80
push 0
movzx ecx, byte [ebp - 0x99d]
push ecx
lea edx, [ebp - 0x990]
push edx
call fcn.00408980
add esp, 0xc
mov eax, dword [ebp - 0x978]
push eax
call fcn.00427400
add esp, 4
test eax, eax
jne 0x409f21
mov ecx, dword [ebp - 0x978]
push ecx
push str.File__s_doesnt_exists__registry_will_not_be_restored__n
call fcn.00421c70
add esp, 8
jmp 0x409f7b
push 1
mov edx, dword [ebp - 0x978]
push edx
push str.SYSTEMCurrentControlSetServicesWinSock2
push str.HKLM
call fcn.00408320
add esp, 0x10
test eax, eax
jne 0x409f5d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [ebp - 0x978]
push eax
push str.Failed_to_restore_registry_to_file__s_with_error_code:__i_n
call fcn.00421c70
add esp, 0xc
jmp 0x409f7b
mov dword [ebp - 0x990], 0
mov ecx, dword [ebp - 0x978]
push ecx
push str.Restored_registry_from_file__s_successfuly_n
call fcn.00421be0
add esp, 8
jmp 0x40c471
cmp dword [ebp - 0x9d8], 1
jne 0x40bef8
cmp dword [ebp - 0x978], 0
jne 0x409fb2
push str.Please_specify_path_and_filename_of_LSP__n_n
call fcn.00421c70
add esp, 4
mov dword [ebp - 0x9e4], 0
jmp 0x40c47b
mov edx, dword [ebp - 0x978]
push edx
push str.Checking_if_LSP:__s_exists_n
call fcn.00421be0
add esp, 8
mov eax, dword [ebp - 0x978]
push eax
call fcn.004141f0
add esp, 4
test eax, eax
jne 0x409feb
push str.LSP_file_not_found_or_couldnt_be_loaded__n_n
call fcn.00421c70
add esp, 4
jmp 0x40c47b
push str.Checking_if_LSP_is_installed_n
call fcn.00421be0
add esp, 4
mov ecx, dword [ebp - 0x978]
push ecx
mov edx, dword [0x45f0dc]
push edx
call fcn.00414220
add esp, 8
mov dword [ebp - 0xa00], eax
cmp dword [ebp - 0xa00], 0
je 0x40a038
cmp dword [ebp - 0xa1c], 0
jne 0x40a038
push str.LSP_already_installed__n_n
call fcn.00421c70
add esp, 4
jmp 0x40c47b
cmp dword [ebp - 0xa00], 0
je 0x40a050
push str.LSP_is_already_installed__will_try_to_update_n
call fcn.00421be0
add esp, 4
jmp 0x40a05d
push str.LSP_not_found__will_resume_normal_installation_n
call fcn.00421be0
add esp, 4
cmp dword [ebp - 0xa64], 1
jne 0x40a216
cmp dword [ebp - 0xa1c], 0
jne 0x40a216
cmp dword [ebp - 0x980], 0
je 0x40a092
push str.Cannot_specify_both__a_and__o_flags__n_n
call fcn.00421c70
add esp, 4
jmp 0x40c47b
lea eax, [ebp - 0x9cc]
push eax
mov ecx, dword [0x45f0dc]
push ecx
call fcn.00426c90
add esp, 8
mov dword [ebp - 0x99c], eax
cmp dword [ebp - 0x99c], 0
jne 0x40a0d8
mov edx, 4
imul edx, edx, 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx]
push ecx
push str._s:_EnumerateProviders:_Unable_to_enumerate_Winsock_catalog_n
call fcn.00421c70
add esp, 8
jmp 0x40c47b
mov dword [ebp - 0x970], 0
jmp 0x40a0f3
mov edx, dword [ebp - 0x970]
add edx, 1
mov dword [ebp - 0x970], edx
mov eax, dword [ebp - 0x970]
cmp eax, dword [ebp - 0x9cc]
jge 0x40a12b
mov ecx, dword [ebp - 0x970]
imul ecx, ecx, 0x274
mov edx, dword [ebp - 0x99c]
cmp dword [edx + ecx + 0x28], 0
je 0x40a129
mov eax, dword [ebp - 0x980]
add eax, 1
mov dword [ebp - 0x980], eax
jmp 0x40a0e4
lea ecx, [ebp - 0x998]
push ecx
mov edx, dword [ebp - 0x980]
shl edx, 2
push edx
call fcn.00426ea0
add esp, 8
mov dword [ebp - 0x98c], eax
cmp dword [ebp - 0x98c], 0
jne 0x40a17b
mov eax, dword [ebp - 0x998]
push eax
mov ecx, 4
imul ecx, ecx, 0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx]
push eax
push str._s:_LspAlloc_failed:__d_n
call fcn.00421c70
add esp, 0xc
jmp 0x40c47b
mov dword [ebp - 0x980], 0
mov dword [ebp - 0x970], 0
jmp 0x40a1a0
mov ecx, dword [ebp - 0x970]
add ecx, 1
mov dword [ebp - 0x970], ecx
mov edx, dword [ebp - 0x970]
cmp edx, dword [ebp - 0x9cc]
jge 0x40a1fd
mov eax, dword [ebp - 0x970]
imul eax, eax, 0x274
mov ecx, dword [ebp - 0x99c]
cmp dword [ecx + eax + 0x28], 0
je 0x40a1fb
mov edx, dword [ebp - 0x970]
imul edx, edx, 0x274
mov eax, dword [ebp - 0x980]
mov ecx, dword [ebp - 0x98c]
mov esi, dword [ebp - 0x99c]
mov edx, dword [esi + edx + 0x24]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x980]
add eax, 1
mov dword [ebp - 0x980], eax
jmp 0x40a191
mov ecx, dword [ebp - 0x99c]
push ecx
call fcn.00426e80
add esp, 4
mov dword [ebp - 0x99c], 0
cmp dword [ebp - 0xa1c], 0
je 0x40bd30
call fcn.00421ee0
mov edx, dword [0x45f0dc]
push edx
call fcn.00422120
add esp, 4
mov dword [ebp - 0x9ac], eax
cmp dword [ebp - 0x9ac], 0
je 0x40a26d
cmp dword [ebp - 0xa00], 0
je 0x40a26d
mov eax, dword [ebp - 0xa00]
push eax
mov ecx, dword [0x45f0dc]
push ecx
call fcn.00422380
add esp, 8
mov dword [ebp - 0xa60], eax
jmp 0x40a277
mov dword [ebp - 0xa60], 0
mov edx, dword [ebp - 0x978]
push edx
call fcn.00407220
add esp, 4
mov dword [ebp - 0x9c4], eax
mov byte [ebp - 0x9b7], 0
mov eax, dword [ebp - 0x978]
push eax
call fcn.00422ab0
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x40a2bb
push str.LSP_not_licensed_n
call fcn.00421c70
add esp, 4
jmp 0x40c47b
push str.Trying_to_get_LSP_extended_info_n
call fcn.00421be0
add esp, 4
mov byte [ebp - 0x99f], 0
lea edx, [ebp - 0xa24]
push edx
lea eax, [ebp - 0x982]
push eax
mov ecx, dword [ebp - 0x978]
push ecx
call fcn.004229d0
add esp, 0xc
movzx edx, al
test edx, edx
je 0x40a316
mov eax, dword [ebp - 0xa24]
push eax
movzx ecx, byte [ebp - 0x982]
push ecx
push str.Info_received__IP6:__i__Categories:__i_n
call fcn.00421be0
add esp, 0xc
mov byte [ebp - 0x99f], 1
cmp dword [ebp - 0xa24], 0
je 0x40a334
cmp dword [ebp - 0x988], 0
jne 0x40a334
mov edx, dword [ebp - 0xa24]
mov dword [ebp - 0x988], edx
cmp dword [ebp - 0xa00], 0
je 0x40a5ac
mov eax, dword [ebp - 0x978]
push eax
call fcn.00422900
add esp, 4
mov dword [ebp - 0xa74], eax
mov ecx, dword [ebp - 0x9c4]
push ecx
call fcn.00422900
add esp, 4
mov dword [ebp - 0xa88], eax
mov byte [ebp - 0x9a1], 0
mov edx, dword [ebp - 0xa74]
cmp edx, dword [ebp - 0xa88]
jne 0x40a38c
mov byte [ebp - 0x9b7], 1
jmp 0x40a42f
movzx eax, byte [ebp - 0x99f]
test eax, eax
je 0x40a42f
push str.Trying_to_get_LSP_extended_info_from_copied_LSP_n
call fcn.00421be0
add esp, 4
mov byte [ebp - 0x9b9], 0
lea ecx, [ebp - 0xa9c]
push ecx
lea edx, [ebp - 0x9b5]
push edx
mov eax, dword [ebp - 0x9c4]
push eax
call fcn.004229d0
add esp, 0xc
movzx ecx, al
test ecx, ecx
je 0x40a3f6
mov edx, dword [ebp - 0xa9c]
push edx
movzx eax, byte [ebp - 0x9b5]
push eax
push str.Info_received_from_copied_LSP__IP6:__i__Categories:__i_n
call fcn.00421be0
add esp, 0xc
mov byte [ebp - 0x9b9], 1
movzx ecx, byte [ebp - 0x9b9]
movzx edx, byte [ebp - 0x99f]
cmp ecx, edx
jne 0x40a428
movzx eax, byte [ebp - 0x9b5]
movzx ecx, byte [ebp - 0x982]
cmp eax, ecx
jne 0x40a428
mov edx, dword [ebp - 0xa9c]
cmp edx, dword [ebp - 0xa24]
je 0x40a42f
mov byte [ebp - 0x9a1], 1
mov eax, dword [ebp - 0x978]
push eax
call fcn.00407b30
add esp, 4
test eax, eax
je 0x40a4d8
mov ecx, dword [ebp - 0x9ac]
cmp ecx, dword [ebp - 0xa60]
jne 0x40a4d8
mov edx, dword [ebp - 0xa74]
cmp edx, dword [ebp - 0xa88]
je 0x40a4d8
movzx eax, byte [ebp - 0x9a1]
test eax, eax
jne 0x40a4d8
mov ecx, dword [ebp - 0x9b0]
push ecx
call fcn.00406740
add esp, 4
movzx edx, al
test edx, edx
je 0x40a4a4
movzx eax, byte [ebp - 0x981]
test eax, eax
jne 0x40a4a4
push 0x44c5ac
call fcn.00421c70
add esp, 4
jmp 0x40c47b
push str.LSP_is_already_installed_at_system32__will_check_if_it_need_any_kind_of_updates_n
call fcn.00421be0
add esp, 4
mov ecx, dword [ebp - 0x978]
push ecx
call fcn.00413b20
add esp, 4
test eax, eax
je 0x40a4ce
mov dword [ebp - 0x990], 0
jmp 0x40c47b
movzx edx, byte [ebp - 0x9a1]
test edx, edx
jne 0x40a53e
mov eax, dword [ebp - 0x9ac]
cmp eax, dword [ebp - 0xa60]
je 0x40a500
push str.Change_between_scripted_install_and_current_status__will_reinstall__n
call fcn.00421be0
add esp, 4
jmp 0x40a53e
mov ecx, dword [ebp - 0x978]
push ecx
call fcn.00407b30
add esp, 4
test eax, eax
jne 0x40a522
push str.LSP_is_already_installed__but_not_at_system32__will_delete_and_reinstall__n
call fcn.00421be0
add esp, 4
jmp 0x40a53e
push str.Nothing_to_update__will_exit_now__n
call fcn.00421be0
add esp, 4
mov dword [ebp - 0x990], 0
jmp 0x40c47b
mov edx, dword [ebp - 0x9b0]
push edx
call fcn.00406740
add esp, 4
movzx eax, al
test eax, eax
je 0x40a571
movzx ecx, byte [ebp - 0x981]
test ecx, ecx
jne 0x40a571
push 0x44c6fc
call fcn.00421c70
add esp, 4
jmp 0x40c47b
mov edx, dword [ebp - 0xa00]
push edx
mov eax, dword [0x45f0dc]
push eax
call fcn.00419d00
add esp, 8
cmp eax, 0xffffffff
jne 0x40a59d
push 0x44c73c
call fcn.00421c70
add esp, 4
jmp 0x40c47b
push str.LSP_delete_successfuly__resuming_normal_install__n
call fcn.00421be0
add esp, 4
jmp 0x40a5df
mov ecx, dword [ebp - 0x9b0]
push ecx
call fcn.00406740
add esp, 4
movzx edx, al
test edx, edx
je 0x40a5df
movzx eax, byte [ebp - 0x981]
test eax, eax
jne 0x40a5df
push 0x44c78c
call fcn.00421c70
add esp, 4
jmp 0x40c47b
movzx ecx, byte [ebp - 0x9b7]
test ecx, ecx
jne 0x40a6de
mov edx, dword [ebp - 0x9c4]
push edx
push 0x44c7cc
call fcn.00421be0
add esp, 8
push 0
mov eax, dword [ebp - 0x9c4]
push eax
mov ecx, dword [ebp - 0x978]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x40a6c3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa78], eax
mov edx, dword [ebp - 0xa78]
push edx
mov eax, dword [ebp - 0x9c4]
push eax
mov ecx, dword [ebp - 0x978]
push ecx
push str.Failed_to_copy_LSP:__s_to:__s_with_error_code:__i__install_will_try_update_mechanism__n
call fcn.00421c70
add esp, 0x10
cmp dword [ebp - 0xa78], 2
jne 0x40a664
push str.This_error_usualy_means_that_the_current_directory_and_LSP_directory_doesnt_match__and_that_only_LSP_name_was_provided_without_a_path_n
call fcn.00421c70
add esp, 4
push str.Will_try_to_update_LSP_dll_although_LSP_is_not_installed__n
call fcn.00421be0
add esp, 4
mov edx, dword [ebp - 0x978]
push edx
call fcn.00413b20
add esp, 4
test eax, eax
jne 0x40a6a8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [ebp - 0x9c4]
push eax
mov ecx, dword [ebp - 0x978]
push ecx
push str.Failed_to_update_LSP_as_well__will_continue_from_local_location__n
call fcn.00421c70
add esp, 0x10
jmp 0x40a6c1
mov edx, dword [ebp - 0x9c4]
mov dword [ebp - 0x978], edx
push str.Update_success__n
call fcn.00421be0
add esp, 4
jmp 0x40a6dc
mov eax, dword [ebp - 0x9c4]
mov dword [ebp - 0x978], eax
push 0x44c95c
call fcn.00421be0
add esp, 4
jmp 0x40a6f7
push str.LSP_binary_hasnt_change__no_need_to_update_the_binary__n
call fcn.00421be0
add esp, 4
mov ecx, dword [ebp - 0x9c4]
mov dword [ebp - 0x978], ecx
mov edx, dword [ebp - 0x9ac]
mov dword [ebp - 0xa7c], edx
cmp dword [ebp - 0xa7c], 3
ja case.default.0x40a712
mov eax, dword [ebp - 0xa7c]
jmp dword [eax*4 + 0x40c69c]
push str.none
push 0x104
lea ecx, [ebp - 0x218]
push ecx
call fcn.0040eae0
jmp case.default.0x40a712
push str.bypass_existing_LSP
push 0x104
lea edx, [ebp - 0x218]
push edx
call fcn.0040eae0
jmp case.default.0x40a712
push str.use__t_flag__will_layer_to_be_first_in_chain
push 0x104
lea eax, [ebp - 0x218]
push eax
call fcn.0040eae0
jmp case.default.0x40a712
push str.use__j_flag__will_layer_after_base_provider
push 0x104
lea ecx, [ebp - 0x218]
push ecx
call fcn.0040eae0
lea edx, [ebp - 0x218]
push edx
push str.Scenario_file_instruction_is:__s_n
call fcn.00421be0
add esp, 8
movzx eax, byte [ebp - 0x982]
test eax, eax
je 0x40a7ab
cmp dword [ebp - 0x9b0], 7
jl 0x40a7ab
mov dword [ebp - 0x97c], 4
jmp 0x40a7bc
mov dword [ebp - 0x97c], 2
mov byte [ebp - 0x982], 0
lea ecx, [ebp - 0x55c]
call fcn.00404ec0
mov byte [ebp - 4], 6
cmp dword [ebp - 0x9b0], 3
jl 0x40b129
mov byte [ebp - 0x9a0], 1
mov byte [ebp - 0x9a2], 0
push str.Microsoft_Firewall_Client_Service_Provider__TCP_IP_
call fcn.00407010
add esp, 4
mov ecx, 4
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x544], eax
push str.Microsoft_Firewall_Client_Service_Provider__UDP_IP_
call fcn.00407010
add esp, 4
mov edx, 4
shl edx, 0
mov dword [ebp + edx - 0x544], eax
push str.Looked_for_firewall_client_with_results:
lea ecx, [ebp - 0x55c]
call fcn.0040e2f0
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + eax - 0x544]
push ecx
lea edx, [ebp - 0x7a4]
push edx
call fcn.004087b0
add esp, 8
mov dword [ebp - 0xad4], eax
mov eax, dword [ebp - 0xad4]
mov dword [ebp - 0xadc], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0xadc]
push ecx
push 0x44cb84
mov edx, 4
imul edx, edx, 0
mov eax, dword [ebp + edx - 0x544]
push eax
lea ecx, [ebp - 0x6e4]
push ecx
call fcn.004087b0
add esp, 8
mov dword [ebp - 0xae4], eax
mov edx, dword [ebp - 0xae4]
mov dword [ebp - 0xaec], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0xaec]
push eax
lea ecx, [ebp - 0x744]
push ecx
call fcn.0040cb60
add esp, 0xc
mov dword [ebp - 0xaf4], eax
mov edx, dword [ebp - 0xaf4]
mov dword [ebp - 0xafc], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0xafc]
push eax
lea ecx, [ebp - 0x6b4]
push ecx
call fcn.0040cab0
add esp, 0xc
mov dword [ebp - 0xb04], eax
mov edx, dword [ebp - 0xb04]
mov dword [ebp - 0xb0c], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0xb0c]
push eax
lea ecx, [ebp - 0x55c]
call fcn.0040e770
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x6b4]
call fcn.00405000
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x744]
call fcn.00405000
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x6e4]
call fcn.00405000
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x7a4]
call fcn.00405000
mov ecx, 4
imul ecx, ecx, 0
cmp dword [ebp + ecx - 0x544], 0
je 0x40a972
mov edx, 4
shl edx, 0
cmp dword [ebp + edx - 0x544], 0
jne 0x40aca4
push 0x44cb88
call fcn.00407010
add esp, 4
mov ecx, 4
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x544], eax
push 0x44cba0
call fcn.00407010
add esp, 4
mov edx, 4
shl edx, 0
mov dword [ebp + edx - 0x544], eax
mov eax, 4
imul eax, eax, 0
cmp dword [ebp + eax - 0x544], 0
je 0x40a9ce
mov ecx, 4
shl ecx, 0
cmp dword [ebp + ecx - 0x544], 0
jne 0x40aa06
push str.MSAFD_Tcpip__TCP_IP_
call fcn.00407010
add esp, 4
mov edx, 4
imul edx, edx, 0
mov dword [ebp + edx - 0x544], eax
push str.MSAFD_Tcpip__UDP_IP_
call fcn.00407010
add esp, 4
mov ecx, 4
shl ecx, 0
mov dword [ebp + ecx - 0x544], eax
mov edx, 4
imul edx, edx, 0
cmp dword [ebp + edx - 0x544], 0
je 0x40aa2a
mov eax, 4
shl eax, 0
cmp dword [ebp + eax - 0x544], 0
jne 0x40aa62
push str.MSAFD_TCP_IP__TCP_IP_
call fcn.00407010
add esp, 4
mov ecx, 4
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x544], eax
push str.MSAFD_TCP_IP__UDP_IP_
call fcn.00407010
add esp, 4
mov edx, 4
shl edx, 0
mov dword [ebp + edx - 0x544], eax
mov eax, 4
imul eax, eax, 0
cmp dword [ebp + eax - 0x544], 0
je 0x40aa86
mov ecx, 4
shl ecx, 0
cmp dword [ebp + ecx - 0x544], 0
jne 0x40aabe
push str.TCPIP_MSAFD__TCP_IP_
call fcn.00407010
add esp, 4
mov edx, 4
imul edx, edx, 0
mov dword [ebp + edx - 0x544], eax
push str.TCPIP_MSAFD__UDP_IP_
call fcn.00407010
add esp, 4
mov ecx, 4
shl ecx, 0
mov dword [ebp + ecx - 0x544], eax
mov edx, 4
imul edx, edx, 0
cmp dword [ebp + edx - 0x544], 0
je 0x40aae2
mov eax, 4
shl eax, 0
cmp dword [ebp + eax - 0x544], 0
jne 0x40ab1a
push str.Tcpip_MSAFD__TCP_IP_
call fcn.00407010
add esp, 4
mov ecx, 4
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x544], eax
push str.Tcpip_MSAFD__UDP_IP_
call fcn.00407010
add esp, 4
mov edx, 4
shl edx, 0
mov dword [ebp + edx - 0x544], eax
mov eax, 4
imul eax, eax, 0
cmp dword [ebp + eax - 0x544], 0
je 0x40ab3e
mov ecx, 4
shl ecx, 0
cmp dword [ebp + ecx - 0x544], 0
jne 0x40ab76
push str.TCP_IP_MSAFD__TCP_IP_
call fcn.00407010
add esp, 4
mov edx, 4
imul edx, edx, 0
mov dword [ebp + edx - 0x544], eax
push str.TCP_IP_MSAFD__UDP_IP_
call fcn.00407010
add esp, 4
mov ecx, 4
shl ecx, 0
mov dword [ebp + ecx - 0x544], eax
push str._Looked_for_regular_TCP_IP_with_results:
lea ecx, [ebp - 0x55c]
call fcn.0040e7b0
mov edx, 4
shl edx, 0
mov eax, dword [ebp + edx - 0x544]
push eax
lea ecx, [ebp - 0x66c]
push ecx
call fcn.004087b0
add esp, 8
mov dword [ebp - 0xb14], eax
mov edx, dword [ebp - 0xb14]
mov dword [ebp - 0xb1c], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0xb1c]
push eax
push 0x44ccd4
mov ecx, 4
imul ecx, ecx, 0
mov edx, dword [ebp + ecx - 0x544]
push edx
lea eax, [ebp - 0x654]
push eax
call fcn.004087b0
add esp, 8
mov dword [ebp - 0xb24], eax
mov ecx, dword [ebp - 0xb24]
mov dword [ebp - 0xb2c], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0xb2c]
push edx
lea eax, [ebp - 0x63c]
push eax
call fcn.0040cb60
add esp, 0xc
mov dword [ebp - 0xb34], eax
mov ecx, dword [ebp - 0xb34]
mov dword [ebp - 0xb3c], ecx
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0xb3c]
push edx
lea eax, [ebp - 0x714]
push eax
call fcn.0040cab0
add esp, 0xc
mov dword [ebp - 0xb44], eax
mov ecx, dword [ebp - 0xb44]
mov dword [ebp - 0xb4c], ecx
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0xb4c]
push edx
lea ecx, [ebp - 0x55c]
call fcn.0040e770
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x714]
call fcn.00405000
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x63c]
call fcn.00405000
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x654]
call fcn.00405000
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x66c]
call fcn.00405000
jmp 0x40acab
mov byte [ebp - 0x9a2], 1
mov dword [ebp - 0x994], 0
mov eax, 4
imul eax, eax, 0
cmp dword [ebp + eax - 0x544], 0
je 0x40acee
mov ecx, 4
imul ecx, ecx, 0
cmp dword [ebp + ecx - 0x544], 0
je 0x40acee
movzx edx, byte [ebp - 0x982]
test edx, edx
je 0x40acee
mov dword [ebp - 0x994], 2
mov eax, dword [ebp - 0x994]
cmp dword [ebp + eax*4 - 0x544], 0
je 0x40ad1d
mov ecx, dword [ebp - 0x994]
cmp dword [ebp + ecx*4 - 0x540], 0
je 0x40ad1d
movzx edx, byte [ebp - 0x982]
test edx, edx
je 0x40b03d
push 0x44ccd8
call fcn.00407010
add esp, 4
mov ecx, dword [ebp - 0x994]
mov dword [ebp + ecx*4 - 0x544], eax
push 0x44ccf0
call fcn.00407010
add esp, 4
mov edx, dword [ebp - 0x994]
mov dword [ebp + edx*4 - 0x540], eax
mov eax, dword [ebp - 0x994]
cmp dword [ebp + eax*4 - 0x544], 0
je 0x40ad71
mov ecx, dword [ebp - 0x994]
cmp dword [ebp + ecx*4 - 0x540], 0
jne 0x40ada5
push str.MSAFD_Tcpip__TCP_IPv6_
call fcn.00407010
add esp, 4
mov edx, dword [ebp - 0x994]
mov dword [ebp + edx*4 - 0x544], eax
push str.MSAFD_Tcpip__UDP_IPv6_
call fcn.00407010
add esp, 4
mov ecx, dword [ebp - 0x994]
mov dword [ebp + ecx*4 - 0x540], eax
mov edx, dword [ebp - 0x994]
cmp dword [ebp + edx*4 - 0x544], 0
je 0x40adc5
mov eax, dword [ebp - 0x994]
cmp dword [ebp + eax*4 - 0x540], 0
jne 0x40adf9
push str.MSAFD_TCP_IP__TCP_IPv6_
call fcn.00407010
add esp, 4
mov ecx, dword [ebp - 0x994]
mov dword [ebp + ecx*4 - 0x544], eax
push str.MSAFD_TCP_IP__UDP_IPv6_
call fcn.00407010
add esp, 4
mov edx, dword [ebp - 0x994]
mov dword [ebp + edx*4 - 0x540], eax
mov eax, dword [ebp - 0x994]
cmp dword [ebp + eax*4 - 0x544], 0
je 0x40ae19
mov ecx, dword [ebp - 0x994]
cmp dword [ebp + ecx*4 - 0x540], 0
jne 0x40ae4d
push str.TCPIP_MSAFD__TCP_IPv6_
call fcn.00407010
add esp, 4
mov edx, dword [ebp - 0x994]
mov dword [ebp + edx*4 - 0x544], eax
push str.TCPIP_MSAFD__UDP_IPv6_
call fcn.00407010
add esp, 4
mov ecx, dword [ebp - 0x994]
mov dword [ebp + ecx*4 - 0x540], eax
mov edx, dword [ebp - 0x994]
cmp dword [ebp + edx*4 - 0x544], 0
je 0x40ae6d
mov eax, dword [ebp - 0x994]
cmp dword [ebp + eax*4 - 0x540], 0
jne 0x40aea1
push str.TCP_IP_MSAFD__TCP_IPv6_
call fcn.00407010
add esp, 4
mov ecx, dword [ebp - 0x994]
mov dword [ebp + ecx*4 - 0x544], eax
push str.TCP_IP_MSAFD__UDP_IPv6_
call fcn.00407010
add esp, 4
mov edx, dword [ebp - 0x994]
mov dword [ebp + edx*4 - 0x540], eax
push str._Looked_for_V6_TCP_IP_with_results:
lea ecx, [ebp - 0x55c]
call fcn.0040e7b0
mov eax, dword [ebp - 0x994]
mov ecx, dword [ebp + eax*4 - 0x540]
push ecx
lea edx, [ebp - 0x6fc]
push edx
call fcn.004087b0
add esp, 8
mov dword [ebp - 0xb18], eax
mov eax, dword [ebp - 0xb18]
mov dword [ebp - 0xabc], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0xabc]
push ecx
push 0x44cdf0
mov edx, dword [ebp - 0x994]
mov eax, dword [ebp + edx*4 - 0x544]
push eax
lea ecx, [ebp - 0x6cc]
push ecx
call fcn.004087b0
add esp, 8
mov dword [ebp - 0xae8], eax
mov edx, dword [ebp - 0xae8]
mov dword [ebp - 0xb08], edx
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0xb08]
push eax
lea ecx, [ebp - 0x69c]
push ecx
call fcn.0040cb60
add esp, 0xc
mov dword [ebp - 0xac8], eax
mov edx, dword [ebp - 0xac8]
mov dword [ebp - 0xb48], edx
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0xb48]
push eax
lea ecx, [ebp - 0x684]
push ecx
call fcn.0040cab0
add esp, 0xc
mov dword [ebp - 0xad0], eax
mov edx, dword [ebp - 0xad0]
mov dword [ebp - 0xb10], edx
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0xb10]
push eax
lea ecx, [ebp - 0x55c]
call fcn.0040e770
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x684]
call fcn.00405000
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x69c]
call fcn.00405000
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x6cc]
call fcn.00405000
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x6fc]
call fcn.00405000
mov ecx, 4
imul ecx, ecx, 0
cmp dword [ebp + ecx - 0x544], 0x3f4
ja 0x40aff3
mov edx, 4
shl edx, 0
cmp dword [ebp + edx - 0x544], 0x3f4
jbe 0x40b03b
movzx eax, byte [ebp - 0x9a2]
test eax, eax
jne 0x40b03b
mov ecx, 4
shl ecx, 0
lea edx, [ebp + ecx - 0x544]
push edx
mov eax, 4
imul eax, eax, 0
lea ecx, [ebp + eax - 0x544]
push ecx
mov edx, dword [0x45f0dc]
push edx
call fcn.0041d3e0
add esp, 0xc
movzx eax, al
test eax, eax
jne 0x40b03b
mov byte [ebp - 0x9a0], 0
jmp 0x40b0af
mov ecx, 4
imul ecx, ecx, 0
cmp dword [ebp + ecx - 0x544], 0x3f2
ja 0x40b067
mov edx, 4
shl edx, 0
cmp dword [ebp + edx - 0x544], 0x3f2
jbe 0x40b0af
movzx eax, byte [ebp - 0x9a2]
test eax, eax
jne 0x40b0af
mov ecx, 4
shl ecx, 0
lea edx, [ebp + ecx - 0x544]
push edx
mov eax, 4
imul eax, eax, 0
lea ecx, [ebp + eax - 0x544]
push ecx
mov edx, dword [0x45f0dc]
push edx
call fcn.0041d3e0
add esp, 0xc
movzx eax, al
test eax, eax
jne 0x40b0af
mov byte [ebp - 0x9a0], 0
movzx ecx, byte [ebp - 0x9a0]
test ecx, ecx
jne 0x40b127
lea edx, [ebp - 0x72c]
push edx
call fcn.00408810
add esp, 4
mov dword [ebp - 0xad8], eax
mov eax, dword [ebp - 0xad8]
mov dword [ebp - 0xb30], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0xb30]
call fcn.004056c0
push eax
lea ecx, [ebp - 0x55c]
call fcn.004056c0
push eax
push str.Failed_to_get_base_TCP_or_UDP_providers__this_is_the_decision_tree__s_nLSP_Map:_n
call fcn.00421c70
add esp, 0xc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x72c]
call fcn.00405000
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x55c]
call fcn.00405000
jmp 0x40c47b
jmp 0x40b161
push str.MS.w95.spi.tcp
call fcn.00407010
add esp, 4
mov ecx, 4
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x544], eax
push str.MS.w95.spi.udp
call fcn.00407010
add esp, 4
mov edx, 4
shl edx, 0
mov dword [ebp + edx - 0x544], eax
mov eax, 4
imul eax, eax, 0
cmp dword [ebp + eax - 0x544], 0
je 0x40b185
mov ecx, 4
shl ecx, 0
cmp dword [ebp + ecx - 0x544], 0
jne 0x40b1f2
lea edx, [ebp - 0x75c]
push edx
call fcn.00408810
add esp, 4
mov dword [ebp - 0xae0], eax
mov eax, dword [ebp - 0xae0]
mov dword [ebp - 0xb40], eax
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0xb40]
call fcn.004056c0
push eax
lea ecx, [ebp - 0x55c]
call fcn.004056c0
push eax
push str.Failed_to_find_TCP_or_UDP_catalogs__this_is_the_decision_tree__s_nLSP_Map:_n
call fcn.00421c70
add esp, 0xc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x75c]
call fcn.00405000
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x55c]
call fcn.00405000
jmp 0x40c47b
cmp dword [ebp - 0x9f8], 0
je 0x40b2a9
cmp dword [ebp - 0x97c], 2
jne 0x40b23b
mov dword [ebp - 0x97c], 1
cmp dword [ebp - 0x9d0], 0
je 0x40b239
mov ecx, 4
shl ecx, 0
mov edx, 4
imul edx, edx, 0
mov eax, dword [ebp + ecx - 0x544]
mov dword [ebp + edx - 0x544], eax
jmp 0x40b2a9
mov dword [ebp - 0x97c], 2
cmp dword [ebp - 0x9d0], 0
je 0x40b28c
mov ecx, 4
shl ecx, 0
mov edx, 4
imul edx, edx, 0
mov eax, dword [ebp + ecx - 0x544]
mov dword [ebp + edx - 0x544], eax
mov ecx, 4
imul ecx, ecx, 3
mov edx, 4
shl edx, 0
mov eax, dword [ebp + ecx - 0x544]
mov dword [ebp + edx - 0x544], eax
jmp 0x40b2a9
mov ecx, 4
shl ecx, 1
mov edx, 4
shl edx, 0
mov eax, dword [ebp + ecx - 0x544]
mov dword [ebp + edx - 0x544], eax
cmp dword [ebp - 0x9c0], 0
je 0x40b2c9
push str.IFS_LSP_install__will_assume__j_flag_and_override_any_scenario_settings__n
call fcn.00421be0
add esp, 4
mov dword [ebp - 0x9ac], 3
mov byte [ebp - 0x9b6], 0
cmp dword [ebp - 0x9ac], 3
je 0x40baaa
cmp dword [ebp - 0x97c], 2
ja 0x40b382
cmp dword [ebp - 0x9ac], 0
je 0x40b2fc
cmp dword [ebp - 0x9ac], 2
jne 0x40b358
mov ecx, 4
imul ecx, ecx, 0
mov edx, dword [ebp + ecx - 0x544]
push edx
mov eax, dword [0x45f0dc]
push eax
call fcn.0041aac0
add esp, 8
mov ecx, 4
shl ecx, 1
mov dword [ebp + ecx - 0x544], eax
mov edx, 4
shl edx, 0
mov eax, dword [ebp + edx - 0x544]
push eax
mov ecx, dword [0x45f0dc]
push ecx
call fcn.0041aac0
add esp, 8
mov edx, 4
imul edx, edx, 3
mov dword [ebp + edx - 0x544], eax
jmp 0x40b37d
mov eax, 4
shl eax, 1
mov dword [ebp + eax - 0x544], 0
mov ecx, 4
imul ecx, ecx, 3
mov dword [ebp + ecx - 0x544], 0
jmp 0x40b440
cmp dword [ebp - 0x9ac], 0
je 0x40b394
cmp dword [ebp - 0x9ac], 2
jne 0x40b409
mov dword [ebp - 0x9e8], 0
jmp 0x40b3af
mov edx, dword [ebp - 0x9e8]
add edx, 1
mov dword [ebp - 0x9e8], edx
cmp dword [ebp - 0x9e8], 4
jge 0x40b407
mov eax, dword [ebp - 0x9e8]
mov ecx, dword [ebp + eax*4 - 0x544]
push ecx
mov edx, dword [0x45f0dc]
push edx
call fcn.0041aac0
add esp, 8
mov ecx, dword [ebp - 0x9e8]
mov dword [ebp + ecx*4 - 0x534], eax
mov edx, dword [ebp - 0x9e8]
mov eax, dword [ebp - 0x9e8]
mov ecx, dword [ebp + edx*4 - 0x534]
cmp ecx, dword [ebp + eax*4 - 0x544]
je 0x40b405
mov byte [ebp - 0x9b6], 1
jmp 0x40b3a0
jmp 0x40b440
mov dword [ebp - 0xa28], 0
jmp 0x40b424
mov edx, dword [ebp - 0xa28]
add edx, 1
mov dword [ebp - 0xa28], edx
cmp dword [ebp - 0xa28], 4
jge 0x40b440
mov eax, dword [ebp - 0xa28]
mov dword [ebp + eax*4 - 0x534], 0
jmp 0x40b415
mov ecx, 4
shl ecx, 1
cmp dword [ebp + ecx - 0x544], 0
jne 0x40b46c
mov edx, 4
imul edx, edx, 3
cmp dword [ebp + edx - 0x544], 0
jne 0x40b46c
cmp dword [ebp - 0x9f8], 0
je 0x40b4a1
mov eax, 4
shl eax, 1
cmp dword [ebp + eax - 0x544], 0
jne 0x40b486
cmp dword [ebp - 0xa04], 0
jne 0x40b4a1
mov ecx, 4
imul ecx, ecx, 3
cmp dword [ebp + ecx - 0x544], 0
jne 0x40b4d1
cmp dword [ebp - 0x9d0], 0
je 0x40b4d1
cmp dword [ebp - 0x97c], 2
je 0x40b55d
cmp dword [ebp - 0x97c], 1
jne 0x40b4d1
cmp dword [ebp - 0xa04], 0
jne 0x40b55d
cmp dword [ebp - 0x9d0], 0
jne 0x40b55d
movzx edx, byte [ebp - 0x9b6]
test edx, edx
jne 0x40b4ee
cmp dword [ebp - 0x9f8], 0
jne 0x40b4ee
cmp dword [ebp - 0x97c], 4
je 0x40b55d
cmp dword [ebp - 0x97c], 2
jne 0x40b52c
cmp dword [ebp - 0xa04], 0
jne 0x40b509
cmp dword [ebp - 0x9d0], 0
je 0x40b52c
mov eax, 4
shl eax, 1
cmp dword [ebp + eax - 0x544], 0
jne 0x40b52c
mov ecx, 4
imul ecx, ecx, 3
cmp dword [ebp + ecx - 0x544], 0
je 0x40b55d
cmp dword [ebp - 0x97c], 2
je 0x40b55d
cmp dword [ebp - 0x97c], 1
jne 0x40b550
cmp dword [ebp - 0xa04], 0
jne 0x40b55d
cmp dword [ebp - 0x9d0], 0
jne 0x40b55d
cmp dword [ebp - 0x9ac], 1
jne 0x40b618
cmp dword [ebp - 0x9ac], 1
jne 0x40b575
push str.Bypassing_installed_LSP_n
call fcn.00421be0
add esp, 4
jmp 0x40b582
push str.No_LSP_installed_over_TCP_or_UDP__install_will_continue_regularly_n
call fcn.00421be0
add esp, 4
lea edx, [ebp - 0x7cc]
push edx
push 0
mov eax, dword [ebp - 0x9c0]
push eax
lea ecx, [ebp - 0x544]
push ecx
mov edx, dword [ebp - 0x97c]
push edx
mov eax, dword [ebp - 0x978]
push eax
mov ecx, dword [ebp - 0xa08]
push ecx
mov edx, dword [0x45f0dc]
push edx
call fcn.004151e0
add esp, 0x20
mov dword [ebp - 0x998], eax
cmp dword [ebp - 0x998], 0xffffffff
je 0x40b5ff
mov eax, dword [ebp - 0x988]
push eax
mov ecx, dword [ebp - 0x9b0]
push ecx
call fcn.00406d40
add esp, 8
test eax, eax
je 0x40b5f5
push 0x44d064
call fcn.00421c70
add esp, 4
jmp 0x40b5ff
mov dword [ebp - 0x990], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x55c]
call fcn.00405000
jmp 0x40c47b
cmp dword [ebp - 0x9ac], 0
jne 0x40b9d2
push str.Checking_initial_connection_with_either_a_proxy_server_or_google.com_n
call fcn.00421be0
add esp, 4
cmp dword [ebp - 0xa68], 0
jne 0x40b6ab
call fcn.00407970
test eax, eax
jne 0x40b6ab
push str.Connection_failed_will_try_to_install_regularly__and_assuming__j_flag_n
call fcn.00421be0
add esp, 4
mov dword [ebp - 0x9fc], 1
mov edx, dword [ebp - 0x97c]
mov dword [ebp - 0x980], edx
lea eax, [ebp - 0x998]
push eax
mov ecx, dword [ebp - 0x97c]
shl ecx, 2
push ecx
call fcn.00426ea0
add esp, 8
mov dword [ebp - 0x98c], eax
mov edx, dword [ebp - 0x97c]
shl edx, 2
push edx
lea eax, [ebp - 0x544]
push eax
mov ecx, dword [ebp - 0x98c]
push ecx
call fcn.0042dc90
add esp, 0xc
jmp 0x40b9cd
push str.Connection_established_nTrying_to_install_LSP_over_existing_layers___t_parameter__over_layers:
call fcn.00421be0
add esp, 4
mov dword [ebp - 0xa44], 0
jmp 0x40b6d3
mov edx, dword [ebp - 0xa44]
add edx, 1
mov dword [ebp - 0xa44], edx
mov eax, dword [ebp - 0xa44]
cmp eax, dword [ebp - 0x97c]
jae 0x40b704
mov ecx, dword [ebp - 0xa44]
add ecx, dword [ebp - 0x97c]
mov edx, dword [ebp + ecx*4 - 0x544]
push edx
push 0x44d1c8
call fcn.00421be0
add esp, 8
jmp 0x40b6c4
push 0x44d1cc
call fcn.00421be0
add esp, 4
lea eax, [ebp - 0x5cc]
push eax
push 0
mov ecx, dword [ebp - 0x9c0]
push ecx
mov edx, dword [ebp - 0x97c]
lea eax, [ebp + edx*4 - 0x544]
push eax
mov ecx, dword [ebp - 0x97c]
push ecx
mov edx, dword [ebp - 0x978]
push edx
mov eax, dword [ebp - 0xa08]
push eax
mov ecx, dword [0x45f0dc]
push ecx
call fcn.004151e0
add esp, 0x20
mov dword [ebp - 0x998], eax
cmp dword [ebp - 0x998], 0xffffffff
jne 0x40b783
push 0x44d1d0
call fcn.00421c70
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x55c]
call fcn.00405000
jmp 0x40c47b
push str.Checking_connection_again_to_verify_install_n
call fcn.00421be0
add esp, 4
cmp dword [ebp - 0xa68], 0
jne 0x40b7a2
call fcn.00407970
test eax, eax
je 0x40b7e7
mov edx, dword [ebp - 0x988]
push edx
mov eax, dword [ebp - 0x9b0]
push eax
call fcn.00406d40
add esp, 8
test eax, eax
je 0x40b7cb
push 0x44d224
call fcn.00421c70
add esp, 4
jmp 0x40b7e2
push str.Connection_established_after_install__installation_completed__n
call fcn.00421be0
add esp, 4
mov dword [ebp - 0x990], 0
jmp 0x40b9b9
push str.Failed_to_establish_connection_after_install__will_try_to_install_again__using__j_parameter__n
call fcn.00421be0
add esp, 4
lea ecx, [ebp - 0x5cc]
push ecx
mov edx, dword [0x45f0dc]
push edx
call fcn.0041ce20
add esp, 8
mov dword [ebp - 0xa90], eax
cmp dword [ebp - 0xa90], 0
jne 0x40b83a
push str.Failed_to_get_LSP_GUID_for_delete__n_n
call fcn.00421c70
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x55c]
call fcn.00405000
jmp 0x40c47b
mov eax, dword [ebp - 0xa90]
push eax
mov ecx, dword [0x45f0dc]
push ecx
call fcn.00419d00
add esp, 8
cmp eax, 0xffffffff
jne 0x40b876
push str.Failed_to_get_delete_LSP__n_n
call fcn.00421c70
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x55c]
call fcn.00405000
jmp 0x40c47b
lea edx, [ebp - 0x5cc]
push edx
push 0
mov eax, dword [ebp - 0x9c0]
push eax
lea ecx, [ebp - 0x544]
push ecx
mov edx, dword [ebp - 0x97c]
push edx
mov eax, dword [ebp - 0x978]
push eax
mov ecx, dword [ebp - 0xa08]
push ecx
mov edx, dword [0x45f0dc]
push edx
call fcn.004151e0
add esp, 0x20
mov dword [ebp - 0x998], eax
cmp dword [ebp - 0x998], 0xffffffff
jne 0x40b8e1
push str.Failed_to_install_LSP__second_round_after_failure__with_error__n_n
call fcn.00421c70
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x55c]
call fcn.00405000
jmp 0x40c47b
lea eax, [ebp - 0x5cc]
push eax
mov ecx, dword [0x45f0dc]
push ecx
call fcn.0041ce20
add esp, 8
mov dword [ebp - 0xa98], eax
cmp dword [ebp - 0xa98], 0
jne 0x40b927
push str.Failed_to_get_LSP_ID_after_second_installation__n
call fcn.00421c70
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x55c]
call fcn.00405000
jmp 0x40c47b
mov edx, dword [ebp - 0x97c]
push edx
lea eax, [ebp - 0x544]
push eax
mov ecx, dword [ebp - 0xa98]
push ecx
mov edx, dword [0x45f0dc]
push edx
call fcn.00414270
add esp, 0x10
test eax, eax
jne 0x40b972
push 0x44d3c4
call fcn.00421c70
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x55c]
call fcn.00405000
jmp 0x40c47b
mov eax, dword [ebp - 0x988]
push eax
mov ecx, dword [ebp - 0x9b0]
push ecx
call fcn.00406d40
add esp, 8
test eax, eax
je 0x40b9af
push 0x44d3fc
call fcn.00421c70
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x55c]
call fcn.00405000
jmp 0x40c47b
mov dword [ebp - 0x990], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x55c]
call fcn.00405000
jmp 0x40c47b
jmp 0x40baa5
mov edx, 4
imul edx, edx, 3
mov eax, dword [ebp + edx - 0x544]
push eax
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp + ecx - 0x544]
push edx
push str.Will_install_LSP_over_existing_layers___t_parameter__over_layers:__i_and__i_n
call fcn.00421be0
add esp, 0xc
lea eax, [ebp - 0x7dc]
push eax
push 0
mov ecx, dword [ebp - 0x9c0]
push ecx
mov edx, dword [ebp - 0x97c]
lea eax, [ebp + edx*4 - 0x544]
push eax
mov ecx, dword [ebp - 0x97c]
push ecx
mov edx, dword [ebp - 0x978]
push edx
mov eax, dword [ebp - 0xa08]
push eax
mov ecx, dword [0x45f0dc]
push ecx
call fcn.004151e0
add esp, 0x20
mov dword [ebp - 0x998], eax
cmp dword [ebp - 0x998], 0xffffffff
jne 0x40ba5e
push 0x44d414
call fcn.00421c70
add esp, 4
jmp 0x40ba91
mov edx, dword [ebp - 0x988]
push edx
mov eax, dword [ebp - 0x9b0]
push eax
call fcn.00406d40
add esp, 8
test eax, eax
je 0x40ba87
push 0x44d488
call fcn.00421c70
add esp, 4
jmp 0x40ba91
mov dword [ebp - 0x990], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x55c]
call fcn.00405000
jmp 0x40c47b
jmp 0x40bd21
mov dword [ebp - 0xa10], 0
mov dword [ebp - 0x9fc], 1
push str.Going_to_try_to_inject___j__into_LSP_chain_n
call fcn.00421be0
add esp, 4
cmp dword [ebp - 0x9f8], 0
jne 0x40bcab
lea ecx, [ebp - 0x98c]
push ecx
lea edx, [ebp - 0x544]
push edx
mov eax, dword [ebp - 0x97c]
push eax
mov ecx, dword [0x45f0dc]
push ecx
call fcn.0041cf30
add esp, 0x10
mov dword [ebp - 0x980], eax
cmp dword [ebp - 0x980], 0
jne 0x40bb2c
push str.Error_inside_GetNewBaseProviders__n
call fcn.00421c70
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x55c]
call fcn.00405000
jmp 0x40c47b
cmp dword [ebp - 0x980], 2
jbe 0x40bca9
push str.Will_layer_over_extra_base_providers__n_nOriginal_providers:_n_n
call fcn.00421be0
add esp, 4
mov dword [ebp - 0xa30], 0
jmp 0x40bb61
mov edx, dword [ebp - 0xa30]
add edx, 1
mov dword [ebp - 0xa30], edx
mov eax, dword [ebp - 0xa30]
cmp eax, dword [ebp - 0x97c]
jae 0x40bb9b
mov ecx, dword [ebp - 0xa30]
mov edx, dword [ebp + ecx*4 - 0x544]
push edx
mov eax, dword [0x45f0dc]
push eax
call fcn.0041d310
add esp, 8
push eax
push 0x44d530
call fcn.00421be0
add esp, 8
jmp 0x40bb52
push str._nAdded_providers:_n_n
call fcn.00421be0
add esp, 4
mov dword [ebp - 0x9c8], 0
jmp 0x40bbc3
mov ecx, dword [ebp - 0x9c8]
add ecx, 1
mov dword [ebp - 0x9c8], ecx
mov edx, dword [ebp - 0x9c8]
cmp edx, dword [ebp - 0x980]
jae 0x40bc9c
mov eax, 4
imul eax, eax, 0
mov ecx, dword [ebp - 0x9c8]
mov edx, dword [ebp - 0x98c]
mov ecx, dword [edx + ecx*4]
cmp ecx, dword [ebp + eax - 0x544]
je 0x40bc97
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 0x9c8]
mov ecx, dword [ebp - 0x98c]
mov eax, dword [ecx + eax*4]
cmp eax, dword [ebp + edx - 0x544]
je 0x40bc97
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 0x9c8]
mov eax, dword [ebp - 0x98c]
mov edx, dword [eax + edx*4]
cmp edx, dword [ebp + ecx - 0x544]
jne 0x40bc41
cmp dword [ebp - 0x97c], 2
jne 0x40bc97
mov eax, 4
imul eax, eax, 3
mov ecx, dword [ebp - 0x9c8]
mov edx, dword [ebp - 0x98c]
mov ecx, dword [edx + ecx*4]
cmp ecx, dword [ebp + eax - 0x544]
jne 0x40bc6a
cmp dword [ebp - 0x97c], 2
jne 0x40bc97
mov edx, dword [ebp - 0x9c8]
mov eax, dword [ebp - 0x98c]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [0x45f0dc]
push edx
call fcn.0041d310
add esp, 8
push eax
push 0x44d548
call fcn.00421be0
add esp, 8
jmp 0x40bbb4
push 0x44d54c
call fcn.00421be0
add esp, 4
jmp 0x40bd21
mov eax, dword [ebp - 0x97c]
shr eax, 1
mov dword [ebp - 0x980], eax
lea ecx, [ebp - 0x998]
push ecx
mov edx, dword [ebp - 0x97c]
shl edx, 2
push edx
call fcn.00426ea0
add esp, 8
mov dword [ebp - 0x98c], eax
mov eax, 4
imul eax, eax, 0
mov ecx, 4
imul ecx, ecx, 0
mov edx, dword [ebp - 0x98c]
mov eax, dword [ebp + eax - 0x544]
mov dword [edx + ecx], eax
cmp dword [ebp - 0x97c], 4
jne 0x40bd21
mov ecx, 4
shl ecx, 0
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 0x98c]
mov ecx, dword [ebp + ecx - 0x544]
mov dword [eax + edx], ecx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x55c]
call fcn.00405000
cmp dword [ebp - 0xa10], 0
je 0x40bdd2
mov dword [ebp - 0x9f0], 0
jmp 0x40bd58
mov edx, dword [ebp - 0x9f0]
add edx, 1
mov dword [ebp - 0x9f0], edx
mov eax, dword [ebp - 0x9f0]
cmp eax, dword [ebp - 0x980]
jae 0x40bdd2
mov ecx, dword [ebp - 0x9f0]
mov edx, dword [ebp - 0x98c]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [0x45f0dc]
push ecx
call fcn.0041aac0
add esp, 8
mov dword [ebp - 0xa70], eax
cmp dword [ebp - 0xa70], 0
je 0x40bdcd
mov edx, dword [ebp - 0xa70]
push edx
mov eax, dword [ebp - 0x9f0]
mov ecx, dword [ebp - 0x98c]
mov edx, dword [ecx + eax*4]
push edx
push str.Replacing_provider:__i_with_provider:__i_n
call fcn.00421be0
add esp, 0xc
mov eax, dword [ebp - 0x9f0]
mov ecx, dword [ebp - 0x98c]
mov edx, dword [ebp - 0xa70]
mov dword [ecx + eax*4], edx
jmp 0x40bd49
lea eax, [ebp - 0x624]
push eax
mov ecx, dword [ebp - 0xa64]
push ecx
mov edx, dword [ebp - 0x9c0]
push edx
mov eax, dword [ebp - 0x98c]
push eax
mov ecx, dword [ebp - 0x980]
push ecx
mov edx, dword [ebp - 0x978]
push edx
mov eax, dword [ebp - 0xa08]
push eax
mov ecx, dword [0x45f0dc]
push ecx
call fcn.004151e0
add esp, 0x20
mov dword [ebp - 0x998], eax
cmp dword [ebp - 0x9fc], 0
je 0x40be9a
cmp dword [ebp - 0x998], 0xffffffff
je 0x40be9a
lea edx, [ebp - 0x624]
push edx
mov eax, dword [0x45f0dc]
push eax
call fcn.0041ce20
add esp, 8
mov dword [ebp - 0xaa0], eax
cmp dword [ebp - 0xaa0], 0
jne 0x40be60
push str.Failed_to_get_LSP_ID_after_installation__n
call fcn.00421c70
add esp, 4
jmp 0x40c47b
mov ecx, dword [ebp - 0x980]
push ecx
mov edx, dword [ebp - 0x98c]
push edx
mov eax, dword [ebp - 0xaa0]
push eax
mov ecx, dword [0x45f0dc]
push ecx
call fcn.00414270
add esp, 0x10
test eax, eax
jne 0x40be9a
push str.Failed_to_get_rebuild_LSP_order_after_installation__n
call fcn.00421c70
add esp, 4
jmp 0x40c47b
cmp dword [ebp - 0x998], 0xffffffff
je 0x40bed8
mov edx, dword [ebp - 0x988]
push edx
mov eax, dword [ebp - 0x9b0]
push eax
call fcn.00406d40
add esp, 8
test eax, eax
je 0x40becc
push str.Failed_to_set_category_n
call fcn.00421c70
add esp, 4
jmp 0x40bed6
mov dword [ebp - 0x990], 0
jmp 0x40bef3
cmp dword [ebp - 0x998], 0xffffffff
jne 0x40bef3
push str.Failed_to_install_LSP_with_error__n_n
call fcn.00421c70
add esp, 4
jmp 0x40c47b
jmp 0x40c471
cmp dword [ebp - 0xaa8], 1
jne 0x40c0e6
cmp dword [0x45f0dc], 0
je 0x40bf1b
cmp dword [0x45f0dc], 1
jne 0x40bff3
push str.32_bit_Winsock_LSP_Map:_n_n
call fcn.00421be0
add esp, 4
lea ecx, [ebp - 0x9cc]
push ecx
push 1
call fcn.00426c90
add esp, 8
mov dword [ebp - 0x99c], eax
cmp dword [ebp - 0x99c], 0
jne 0x40bf69
mov edx, 4
imul edx, edx, 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx]
push ecx
push 0x44d640
call fcn.00421c70
add esp, 8
jmp 0x40c47b
lea edx, [ebp - 0x9ec]
push edx
mov eax, dword [ebp - 0x9cc]
push eax
mov ecx, dword [ebp - 0x99c]
push ecx
call fcn.0041ac10
add esp, 0xc
mov dword [ebp - 0x9b4], eax
cmp dword [ebp - 0x9b4], 0
jne 0x40bfa4
push 0x44d688
call fcn.00421be0
add esp, 4
jmp 0x40bfda
mov edx, dword [ebp - 0x9ec]
push edx
mov eax, dword [ebp - 0x9b4]
push eax
call fcn.0041bb60
add esp, 8
mov ecx, dword [ebp - 0x9ec]
push ecx
mov edx, dword [ebp - 0x9b4]
push edx
call fcn.0041bf40
add esp, 8
mov dword [ebp - 0x9b4], 0
mov eax, dword [ebp - 0x99c]
push eax
call fcn.00426e80
add esp, 4
mov dword [ebp - 0x99c], 0
cmp dword [0x45f0dc], 0
je 0x40c009
cmp dword [0x45f0dc], 2
jne 0x40c0e1
push str.64_bit_Winsock_LSP_Map:_n_n
call fcn.00421be0
add esp, 4
lea ecx, [ebp - 0x9cc]
push ecx
push 2
call fcn.00426c90
add esp, 8
mov dword [ebp - 0x99c], eax
cmp dword [ebp - 0x99c], 0
jne 0x40c057
mov edx, 4
imul edx, edx, 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx]
push ecx
push 0x44d6bc
call fcn.00421c70
add esp, 8
jmp 0x40c47b
lea edx, [ebp - 0x9ec]
push edx
mov eax, dword [ebp - 0x9cc]
push eax
mov ecx, dword [ebp - 0x99c]
push ecx
call fcn.0041ac10
add esp, 0xc
mov dword [ebp - 0x9b4], eax
cmp dword [ebp - 0x9b4], 0
jne 0x40c092
push str.No_LSPs_are_installed_n_n
call fcn.00421be0
add esp, 4
jmp 0x40c0c8
mov edx, dword [ebp - 0x9ec]
push edx
mov eax, dword [ebp - 0x9b4]
push eax
call fcn.0041bb60
add esp, 8
mov ecx, dword [ebp - 0x9ec]
push ecx
mov edx, dword [ebp - 0x9b4]
push edx
call fcn.0041bf40
add esp, 8
mov dword [ebp - 0x9b4], 0
mov eax, dword [ebp - 0x99c]
push eax
call fcn.00426e80
add esp, 4
mov dword [ebp - 0x99c], 0
jmp 0x40c471
cmp dword [ebp - 0xab0], 1
jne 0x40c12c
cmp dword [0x45f0dc], 0
je 0x40c101
cmp dword [0x45f0dc], 1
jne 0x40c10b
push 1
call fcn.004194c0
add esp, 4
cmp dword [0x45f0dc], 0
je 0x40c11d
cmp dword [0x45f0dc], 2
jne 0x40c127
push 2
call fcn.004194c0
add esp, 4
jmp 0x40c471
cmp dword [ebp - 0x9f4], 0
jne 0x40c144
mov dword [ebp - 0x9e4], 0
jmp 0x40c47b
mov dword [ebp - 0xa6c], 0
cmp dword [ebp - 0xa48], 0
jne 0x40c1ca
mov ecx, dword [ebp - 0x9f4]
push ecx
mov edx, dword [0x45f0dc]
push edx
call fcn.0041d500
add esp, 8
mov dword [ebp - 0x9dc], eax
cmp dword [ebp - 0x9dc], 0
jne 0x40c18b
push str.Failed_to_get_deleted_LSP_filename__n
call fcn.00421c70
add esp, 4
jmp 0x40c1ca
mov eax, dword [ebp - 0x9dc]
push eax
push str.LSP_to_be_deleted_filename:__S_n
call fcn.00421be0
add esp, 8
mov ecx, dword [ebp - 0x9dc]
push ecx
call fcn.00407d90
add esp, 4
mov dword [ebp - 0xa6c], eax
cmp dword [ebp - 0xa6c], 0
je 0x40c1ca
push str.LSP_file_is_located_at_system32_n
call fcn.00421be0
add esp, 4
cmp dword [0x45f0dc], 0
je 0x40c1dc
cmp dword [0x45f0dc], 1
jne 0x40c1f3
mov edx, dword [ebp - 0x9f4]
push edx
push 1
call fcn.00419d00
add esp, 8
mov dword [ebp - 0xab8], eax
cmp dword [0x45f0dc], 0
je 0x40c205
cmp dword [0x45f0dc], 2
jne 0x40c21c
mov eax, dword [ebp - 0x9f4]
push eax
push 2
call fcn.00419d00
add esp, 8
mov dword [ebp - 0xab8], eax
cmp dword [ebp - 0xab8], 0
jne 0x40c471
cmp dword [ebp - 0xa48], 0
jne 0x40c471
cmp dword [ebp - 0xa6c], 0
je 0x40c471
lea ecx, [ebp - 0x574]
call fcn.004015d0
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x9dc]
push ecx
lea ecx, [ebp - 0x574]
call fcn.004018b0
push 0x2e
lea ecx, [ebp - 0x574]
call fcn.0040e7d0
lea edx, [ebp - 0x78c]
push edx
call fcn.00417670
add esp, 4
mov dword [ebp - 0xaf0], eax
mov eax, dword [ebp - 0xaf0]
mov dword [ebp - 0xb20], eax
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0xb20]
push ecx
lea ecx, [ebp - 0x574]
call fcn.004019e0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x78c]
call fcn.004016b0
lea edx, [ebp - 0x574]
push edx
call fcn.00417540
add esp, 4
test eax, eax
jne 0x40c252
lea ecx, [ebp - 0x574]
call fcn.00402940
push eax
mov eax, dword [ebp - 0x9dc]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x40c389
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x574]
call fcn.00402940
push eax
mov ecx, dword [ebp - 0x9dc]
push ecx
push str.Failed_to_rename_file_to_delete_from:__S_to:__S_with_error_code:__i__this_can_be_an_error___n
call fcn.00421c70
add esp, 0x10
push 4
lea ecx, [ebp - 0x574]
call fcn.00402940
push eax
mov edx, dword [ebp - 0x9dc]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x40c347
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Also_failed_to_queue_with_error_code:__i_n
call fcn.00421c70
add esp, 8
jmp 0x40c384
push 4
push 0
lea ecx, [ebp - 0x574]
call fcn.00402940
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x40c377
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_queue_deletion_of_queue__with_error_code:__i_n
call fcn.00421c70
add esp, 8
jmp 0x40c384
push str.Queueing_went_OK_n
call fcn.00421be0
add esp, 4
jmp 0x40c462
push 4
push 0
lea eax, [ebp - 0x574]
push eax
push 0x44d858
lea ecx, [ebp - 0x774]
call fcn.00401590
mov dword [ebp - 0xaf8], eax
mov ecx, dword [ebp - 0xaf8]
mov dword [ebp - 0xb38], ecx
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0xb38]
push edx
lea eax, [ebp - 0x7bc]
push eax
call fcn.0040cba0
add esp, 0xc
mov dword [ebp - 0xb00], eax
mov ecx, dword [ebp - 0xb00]
call fcn.00402940
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x40c3f8
mov dword [ebp - 0xa84], 1
jmp 0x40c402
mov dword [ebp - 0xa84], 0
mov cl, byte [ebp - 0xa84]
mov byte [ebp - 0x9d2], cl
lea ecx, [ebp - 0x7bc]
call fcn.004016b0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x774]
call fcn.004016b0
movzx edx, byte [ebp - 0x9d2]
test edx, edx
je 0x40c455
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x574]
call fcn.00402940
push eax
push str.Failed_to_queue_file__S_for_deletion_with_error_code:__i__n
call fcn.00421c70
add esp, 0xc
jmp 0x40c462
push str.LSP_file_was_queued_for_deletion_after_reboot__n
call fcn.00421be0
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x574]
call fcn.004016b0
mov dword [ebp - 0x990], 0
cmp dword [ebp - 0x9e4], 0
je 0x40c48d
cmp dword [ebp - 0xa54], 0
je 0x40c4c7
cmp dword [ebp - 0xa54], 0
je 0x40c49f
mov byte [ebp - 0x9ba], 1
jmp 0x40c4a6
mov byte [ebp - 0x9ba], 0
movzx eax, byte [ebp - 0x9ba]
push eax
mov ecx, 4
imul ecx, ecx, 0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx]
push eax
call fcn.00406770
add esp, 8
jmp 0x40c4f3
cmp dword [ebp - 0x990], 0
jne 0x40c4df
push str._n_nExiting_with_error_code:_0_which_means_everything_went_OK_n
call fcn.00421be0
add esp, 4
jmp 0x40c4f3
mov ecx, dword [ebp - 0x990]
push ecx
push str._n_nExiting_with_error_code:__i_n
call fcn.00421be0
add esp, 8
cmp dword [ebp - 0x98c], 0
je 0x40c50b
mov edx, dword [ebp - 0x98c]
push edx
call fcn.00426ee0
add esp, 4
cmp dword [ebp - 0x99c], 0
je 0x40c523
mov eax, dword [ebp - 0x99c]
push eax
call fcn.00426e80
add esp, 4
cmp dword [ebp - 0x9b4], 0
je 0x40c542
mov ecx, dword [ebp - 0x9ec]
push ecx
mov edx, dword [ebp - 0x9b4]
push edx
call fcn.0041bf40
add esp, 8
cmp dword [0x460bb8], 0
je 0x40c557
mov eax, dword [0x460bb8]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.00426f40
push 0x46168c
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov ecx, dword [ebp - 0x990]
mov dword [ebp - 0xb28], ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x614]
call fcn.00405000
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x5bc]
call fcn.00405000
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x5e4]
call fcn.00405000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5fc]
call fcn.00405000
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x58c]
call fcn.00405000
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5a4]
call fcn.00405000
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042e9cd
mov esp, ebp
pop ebp
ret