Function at 0x454050
Capabilities:
Check for time delay via gettickcount
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56c8ff
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
mov eax, dword [0x5f7448]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x94], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0
push 0
mov dword [0x601aa8], eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jns 0x45412d
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00425090
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x40]
push str.Failed_to_init_COM_with_error:
push eax
call fcn.00407110
add esp, 0x14
mov byte [ebp - 4], 1
push 1
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 0
cmp dword [ebp - 0x2c], 0x10
jb 0x4540ec
push dword [ebp - 0x40]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x44], 0x10
jb 0x454116
push dword [ebp - 0x58]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x58], 0
jmp 0x454ec0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 4], 2
push 1
push 0
lea ecx, [ebp - 0xa8]
call fcn.0044fb50
mov edi, dword [ebp - 0xa8]
push 0
push 0
push 0
push 3
push 4
push 0
push 0
push 0xffffffffffffffff
push edi
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
jns 0x45421e
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00425090
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x40]
push str.Failed_to_init_security_with_error:
push eax
call fcn.00407110
add esp, 0x14
mov byte [ebp - 4], 4
push 1
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 3
cmp dword [ebp - 0x2c], 0x10
jb 0x4541e0
push dword [ebp - 0x40]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x44], 0x10
jb 0x454207
push dword [ebp - 0x58]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x58], 0
jmp 0x4543bb
push 0
push 0
push 0
push 0x455150
push 0
push 0
mov byte [ebp - 0x8d], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0xac], eax
mov esi, 0x258
test eax, eax
je 0x454268
lea esp, [esp]
test esi, esi
je 0x454268
cmp byte [0x601753], 0
jne 0x454268
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
dec esi
jmp 0x454250
push 0
call fcn.0049ee80
add esp, 4
cmp dword [ebx + 0x354], 0
je 0x454287
call fcn.00411680
mov ecx, eax
call fcn.004145d0
push 0x104
call fcn.004ad19b
add esp, 4
mov dword [ebp - 0xb0], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x4542ab
mov ecx, eax
call fcn.00436880
jmp 0x4542ad
xor eax, eax
mov byte [ebp - 4], 2
push 0x1234350
push 0xab03421
mov dword [ebx + 0x35c], eax
call fcn.004a81d0
add esp, 8
push 0
call fcn.004453e0
mov ecx, eax
call fcn.00445890
xor eax, eax
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x78], 7
mov dword [ebp - 0x7c], 0
mov word [ebp - 0x8c], ax
mov byte [ebp - 4], 7
push 1
push eax
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00411680
mov ecx, eax
call fcn.004127f0
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x8c]
call fcn.00403960
mov byte [ebp - 4], 7
cmp dword [ebp - 0x2c], 8
jb 0x454339
push dword [ebp - 0x40]
call fcn.004ad196
add esp, 4
push 1
xor eax, eax
push 0x14
mov ecx, 0x601758
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
call fcn.00451310
test eax, eax
jns 0x4543fc
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00425090
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x28]
push str.Failed_to_init_interface_with_error:
push eax
call fcn.00407110
add esp, 0x14
mov byte [ebp - 4], 0xa
push 1
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x28]
call fcn.004050f0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x40]
call fcn.004050f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8c]
call fcn.00403930
mov dword [ebp - 4], 0xffffffff
push edi
call fcn.004ad196
push dword [ebp - 0xa4]
call fcn.004aefb4
push dword [ebp - 0xa0]
call fcn.004aefb4
push dword [ebp - 0x9c]
call fcn.004aefb4
push dword [ebp - 0x98]
call fcn.004aefb4
add esp, 0x14
jmp 0x454ec0
cmp dword [ebp - 0x7c], 0
jne 0x454427
push str.Data_loaded_successfuly
lea ecx, [ebp - 0x40]
call fcn.00405090
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x40]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
jmp 0x45446c
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00461ee0
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x28]
push str.Failed_to_load_data_with_error:
push eax
call fcn.00407110
add esp, 0x14
mov byte [ebp - 4], 0xd
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.00448360
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x28]
call fcn.004050f0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x40]
call fcn.004050f0
push 0x1e
push 1
call fcn.00478a90
add esp, 8
test eax, eax
jne 0x4544bc
push str.Failed_to_initialize_winsock_
lea ecx, [ebp - 0x40]
call fcn.00405090
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x40]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.00448360
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x40]
call fcn.004050f0
jmp 0x4547d3
call fcn.0047c8d0
call fcn.00489830
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x28]
push eax
call fcn.0040b060
add esp, 4
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x40]
call fcn.00403960
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.00403930
cmp dword [ebp - 0x30], 0
je 0x4545d4
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x58], 0
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0041e040
mov ecx, eax
call fcn.0041e2d0
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x58]
call fcn.00405120
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x28]
call fcn.004050f0
cmp dword [ebp - 0x48], 0
je 0x4545ba
push str.Failed_to_load_dll_with_error:
lea ecx, [ebp - 0x28]
call fcn.00405090
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x58]
push ecx
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.004239d0
add esp, 0xc
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x28]
call fcn.004050f0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x70]
call fcn.004050f0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.004050f0
jmp 0x454608
call fcn.00421970
mov ecx, eax
call fcn.00421b30
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.004050f0
jmp 0x454608
push str.No_DLL_set_to_be_loaded__will_init_COM
lea ecx, [ebp - 0x58]
call fcn.00405090
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x58]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.004050f0
call fcn.00408850
call fcn.0040bad0
push str.Trying_to_start_UDP_channel
lea ecx, [ebp - 0x58]
movzx esi, ax
call fcn.00405090
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x58]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.004050f0
call fcn.00411680
mov ecx, eax
call fcn.00414a30
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.00425090
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x70]
push str.Starting_relay_on_port:
push eax
call fcn.00407110
add esp, 0x14
mov byte [ebp - 4], 0x19
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x70]
call fcn.004050f0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.004050f0
push 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xb0], esp
push str.16CB9635_CCEA_4184_A4A4_E450754EF940
call fcn.00405090
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebx + 0x35c]
push 0x303a
mov eax, dword [ecx]
push esi
mov byte [ebp - 4], 0xf
mov eax, dword [eax + 0x24]
call eax
lea ecx, [ebp - 0x58]
test al, al
jne 0x454700
push str.Failed_to_start_the_relay
call fcn.00405090
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x58]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.00448360
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.004050f0
jmp 0x4547c7
push str.Relay_started_successfuly
call fcn.00405090
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x58]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x58]
call fcn.004050f0
push 0x5876d8
lea ecx, [ebp - 0x28]
call fcn.00405090
mov byte [ebp - 4], 0x1d
push 0x5876d8
lea ecx, [ebp - 0x58]
call fcn.00405090
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.0040bbc0
mov ecx, dword [ebx + 0x35c]
movzx eax, ax
push eax
call fcn.00487d80
test al, al
sete bl
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x58]
call fcn.004050f0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.004050f0
test bl, bl
je 0x4547ba
push str.Failed_to_start_the_SSL_server
lea ecx, [ebp - 0x28]
call fcn.00405090
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x28]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.00448360
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.004050f0
mov ebx, dword [ebp - 0x94]
mov byte [ebp - 0x8d], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x40]
call fcn.00403930
lea eax, [ebp - 0x70]
push eax
call fcn.00411680
mov ecx, eax
call fcn.00412e50
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x8c]
call fcn.00403960
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x70]
call fcn.00403930
cmp dword [ebp - 0x7c], 0
jne 0x45482a
push str.Statistics_data_loaded_successfuly
lea ecx, [ebp - 0x28]
call fcn.00405090
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x28]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
jmp 0x45486f
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00461ee0
mov byte [ebp - 4], 0x22
push eax
lea eax, [ebp - 0x70]
push str.Failed_to_load_statistics_data_with_error:
push eax
call fcn.00407110
add esp, 0x14
mov byte [ebp - 4], 0x23
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.00448360
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x70]
call fcn.004050f0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.004050f0
call fcn.004453e0
mov ecx, eax
call fcn.00442c30
cmp byte [ebp - 0x8d], 0
je 0x454e7e
cmp dword [ebx + 0x354], 0
je 0x4548b9
push 4
mov ecx, ebx
call fcn.00455a30
push str.Started_as_a_service
lea ecx, [ebp - 0x28]
call fcn.00405090
mov byte [ebp - 4], 0x24
jmp 0x4548ca
push str.Started_as_a_normal_process
lea ecx, [ebp - 0x28]
call fcn.00405090
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x28]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.004050f0
call fcn.004453e0
mov ecx, eax
call fcn.0047eff0
call fcn.004594b0
mov ecx, eax
call fcn.0045a500
push 0x450e10
call fcn.00491240
add esp, 4
push dword [ebx + 0x35c]
call fcn.004453e0
mov ecx, eax
call fcn.00447d50
push str.Started_main_message_loop
lea ecx, [ebp - 0x28]
call fcn.00405090
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x28]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.004050f0
xor edi, edi
call fcn.00411680
mov ecx, eax
call fcn.00411e30
test al, al
je 0x454a2f
push str.redirectport
lea ecx, [ebp - 0x28]
call fcn.004038b0
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0x28]
push eax
call fcn.0040af50
add esp, 4
movzx esi, ax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.00403930
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], edi
mov byte [ebp - 0x40], 0
mov byte [ebp - 4], 0x28
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea eax, [esi - 2]
push eax
call dword [sym.imp.WS2_32.dll_htons]
movzx eax, ax
push eax
lea eax, [ebp - 0x70]
push 0x7f000001
push eax
call fcn.00465de0
mov ecx, eax
call fcn.00465df0
mov byte [ebp - 4], 0x29
push eax
lea ecx, [ebp - 0x40]
call fcn.00405120
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x70]
call fcn.004050f0
cmp dword [ebp - 0x30], edi
je 0x454a23
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x70]
push str.Failed_to_set_PID_for_WFP:
push eax
call fcn.0040ccc0
add esp, 0xc
mov byte [ebp - 4], 0x2a
push edi
push eax
call fcn.004453e0
mov ecx, eax
call fcn.00448360
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x70]
call fcn.004050f0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x40]
call fcn.004050f0
mov byte [0x601752], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
call fcn.004453e0
mov ecx, eax
call fcn.00446ad0
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
cmp byte [0x601754], 0
jne 0x454ab4
call fcn.00411680
mov ecx, eax
call fcn.004145f0
test al, al
jne 0x454ab4
push 1
push 0
push 0
push 0
lea eax, [ebp - 0x74]
push eax
call esi
test eax, eax
je 0x454aa8
nop
cmp dword [ebp - 0x70], 0x464
jne 0x454a90
mov edi, 1
jmp 0x454a96
lea eax, [ebp - 0x74]
push eax
call ebx
push 1
push 0
push 0
push 0
lea eax, [ebp - 0x74]
push eax
call esi
test eax, eax
jne 0x454a80
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
test edi, edi
je 0x454a54
mov edi, dword [ebp - 0x94]
cmp dword [edi + 0x354], 0
je 0x454acc
push 3
mov ecx, edi
call fcn.00455a30
call fcn.004453e0
mov ecx, eax
call fcn.00447d60
push str.Starting_shutdown_process
lea ecx, [ebp - 0x28]
mov byte [0x601750], 1
call fcn.00405090
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x28]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.004050f0
call fcn.00411680
mov ecx, eax
call fcn.00411e30
test al, al
je 0x454bbb
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
mov byte [ebp - 4], 0x2c
push 0
push 0
lea eax, [ebp - 0x70]
push 0
push eax
call fcn.00465de0
mov ecx, eax
call fcn.00465df0
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [ebp - 0x40]
call fcn.00405120
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x70]
call fcn.004050f0
cmp dword [ebp - 0x30], 0
je 0x454baf
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x70]
push str.Failed_to_set_PID_on_shutdown_for_WFP:
push eax
call fcn.0040ccc0
add esp, 0xc
mov byte [ebp - 4], 0x2e
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.00448360
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x70]
call fcn.004050f0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x40]
call fcn.004050f0
call fcn.00411680
mov ecx, eax
call fcn.00414600
mov ecx, 0x601758
call fcn.00454010
push str.quickstop
lea ecx, [ebp - 0x28]
mov bh, 1
call fcn.004038b0
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x28]
push eax
call fcn.0040af50
add esp, 4
cmp eax, 1
sete bl
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.00403930
xor ecx, ecx
movzx eax, bh
test bl, bl
cmovne eax, ecx
mov byte [ebp - 0x94], al
call fcn.004594b0
mov ecx, eax
call fcn.0045a640
call fcn.00408830
push str.Clearing_sockets
lea ecx, [ebp - 0x28]
call fcn.00405090
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x28]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.004050f0
mov ecx, dword [edi + 0x35c]
push dword [ebp - 0x94]
mov eax, dword [ecx]
call dword [eax + 0x28]
push str.Sockets_cleared
lea ecx, [ebp - 0x28]
call fcn.00405090
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x28]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.004050f0
push str.Shutting_down_SSL_and_relay
lea ecx, [ebp - 0x28]
call fcn.00405090
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x28]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.004050f0
call fcn.0048e710
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov esi, eax
call fcn.004453e0
mov ecx, eax
call fcn.00448000
call ebx
sub eax, esi
cmp eax, 0x251c
jbe 0x454d1a
cmp dword [0x601aac], 0
je 0x454d0b
push 0x601a8c
push dword [0x601a88]
mov dword [0x601a90], 1
call dword [sym.imp.ADVAPI32.dll_SetServiceStatus]
push 1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push str.Shutting_down_Async_winsock
lea ecx, [ebp - 0x28]
call fcn.00405090
mov byte [ebp - 4], 0x33
lea eax, [ebp - 0x28]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.004050f0
call fcn.0047d4d0
push str.Shutting_down_Winsock
lea ecx, [ebp - 0x28]
call fcn.00405090
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x28]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.004050f0
call fcn.00479210
push str.Winsock_cleared
lea ecx, [ebp - 0x28]
call fcn.00405090
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x28]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.004050f0
push str.Clearing_extensions
lea ecx, [ebp - 0x28]
call fcn.00405090
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x28]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.004050f0
call fcn.0041e040
mov ecx, eax
call fcn.004201b0
call fcn.004099c0
mov ecx, dword [edi + 0x35c]
test ecx, ecx
je 0x454e01
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [edi + 0x35c], 0
call fcn.004376e0
call fcn.004453e0
mov ecx, eax
call fcn.00447d70
push 0
call fcn.0049d5b0
add esp, 4
call fcn.00411680
mov ecx, eax
call fcn.004105c0
call fcn.00411680
mov ecx, eax
call fcn.00410e00
call fcn.0049f040
call fcn.004a10f0
mov ecx, eax
call fcn.004a2630
push str.Shutdown_complete
lea ecx, [ebp - 0x28]
call fcn.00405090
mov byte [ebp - 4], 0x37
lea eax, [ebp - 0x28]
push 0
push eax
call fcn.004453e0
mov ecx, eax
call fcn.004484e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.004050f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8c]
call fcn.00403930
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa8]
call fcn.0044afb0
call dword [sym.imp.ole32.dll_CoUninitialize]
push 0x40
mov byte [0x601751], 1
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0xac]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004adbd4
mov esp, ebp
pop ebp
ret