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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x596f1d
mov eax, dword fs:[0]
push eax
sub esp, 0x214
mov eax, dword [0x5fae30]
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 esi, ecx
mov dword [ebp - 0x21c], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xor edi, edi
push edi
push edi
mov dword [0x5fda38], eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
cmp dword [esi + 0x354], edi
mov dword [ebp - 0x220], eax
mov byte [ebp - 0x211], 0
lea ebx, [edi + 0x10]
lea esi, [edi + 0xf]
je 0x4bb3ef
push 0x22
push 0x5b9470
lea ecx, [ebp - 0x184]
mov dword [ebp - 0x170], esi
mov dword [ebp - 0x174], edi
mov byte [ebp - 0x184], 0
call fcn.00402a36
push 7
push 0x5b9494
lea ecx, [ebp - 0x184]
mov dword [ebp - 4], edi
call fcn.00403dd2
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x154], edi
mov dword [ebp - 0x150], edi
mov eax, dword [ebp - 0x184]
mov byte [ebp - 4], 1
cmp dword [ebp - 0x170], ebx
jae 0x4bb2be
lea eax, [ebp - 0x184]
push 0x20006
push eax
push reloc.WS2_32.dll_bind
lea ecx, [ebp - 0x158]
call fcn.00403d5f
cmp eax, edi
je 0x4bb352
push eax
lea eax, [ebp - 0x1bc]
push eax
call fcn.004080a8
push eax
lea ecx, [ebp - 0x14c]
push 0x5b949c
push ecx
mov byte [ebp - 4], 2
call fcn.0040367f
add esp, 0x14
push 1
push eax
mov ecx, 0x5fda4c
mov byte [ebp - 4], 3
call fcn.005383c0
cmp dword [ebp - 0x138], ebx
jb 0x4bb326
mov edx, dword [ebp - 0x14c]
push edx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x13c], edi
mov byte [ebp - 0x14c], 0
cmp dword [ebp - 0x1a8], ebx
jb 0x4bb3c0
mov eax, dword [ebp - 0x1bc]
push eax
call fcn.0053ed60
add esp, 4
jmp 0x4bb3c0
lea ecx, [ebp - 0x218]
push ecx
push 0x5b94c4
lea edx, [ebp - 0x114]
push edx
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x218], 0x104
call fcn.004073ec
cmp eax, edi
jne 0x4bb3c0
mov edx, 0x5b94cc
lea ecx, [ebp - 0x114]
lea esp, [esp]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4bb3b0
test al, al
je 0x4bb3ac
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4bb3b0
add ecx, 2
add edx, 2
test al, al
jne 0x4bb390
xor eax, eax
jmp 0x4bb3b5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x4bb3c0
mov byte [ebp - 0x211], 1
mov eax, dword [ebp - 0x158]
cmp eax, edi
je 0x4bb3d1
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x170], ebx
jb 0x4bb3ef
mov eax, dword [ebp - 0x184]
push eax
call fcn.0053ed60
add esp, 4
mov eax, dword [ebp - 0x220]
cmp eax, edi
jge 0x4bb481
push eax
lea ecx, [ebp - 0x184]
push ecx
call fcn.004080a8
push eax
lea edx, [ebp - 0x14c]
push str.Failed_to_init_COM_with_error:
push edx
mov dword [ebp - 4], 4
call fcn.0040367f
add esp, 0x14
push 1
push eax
mov ecx, 0x5fda4c
mov byte [ebp - 4], 5
call fcn.005383c0
cmp dword [ebp - 0x138], ebx
jb 0x4bb44e
mov eax, dword [ebp - 0x14c]
push eax
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x13c], edi
mov byte [ebp - 0x14c], 0
cmp dword [ebp - 0x170], ebx
jb 0x4bc3c7
mov ecx, dword [ebp - 0x184]
push ecx
call fcn.0053ed60
add esp, 4
jmp 0x4bc3c7
cmp byte [ebp - 0x211], 0
jne 0x4bb57b
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x15c], edi
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x154], edi
mov dword [ebp - 0x150], edi
push 1
push edi
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 6
call fcn.004074e1
mov edx, dword [ebp - 0x160]
push edi
push edi
push edi
push 3
push 4
push edi
push edi
push 0xffffffffffffffff
push edx
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
cmp eax, edi
jge 0x4bb569
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.004080a8
push eax
lea ecx, [ebp - 0x14c]
push str.Failed_to_init_security_with_error:
push ecx
mov byte [ebp - 4], 7
call fcn.0040367f
add esp, 0x14
push 1
push eax
mov ecx, 0x5fda4c
mov byte [ebp - 4], 8
call fcn.005383c0
cmp dword [ebp - 0x138], ebx
jb 0x4bb52f
mov edx, dword [ebp - 0x14c]
push edx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x13c], edi
mov byte [ebp - 0x14c], 0
cmp dword [ebp - 0x170], ebx
jb 0x4bb559
mov eax, dword [ebp - 0x184]
push eax
call fcn.0053ed60
add esp, 4
lea ecx, [ebp - 0x160]
call fcn.0040736a
jmp 0x4bc3c7
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
call fcn.0040736a
push edi
push edi
push edi
push 0x403b07
push edi
push edi
mov byte [ebp - 0x213], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [ebp - 0x220], eax
mov esi, 0x258
cmp eax, edi
je 0x4bb5bb
cmp esi, edi
je 0x4bb5bb
cmp byte [0x5fd6dc], 0
jne 0x4bb5bb
push 0x32
call ebx
dec esi
jmp 0x4bb5a7
push edi
call fcn.00539c30
mov esi, dword [ebp - 0x21c]
add esp, 4
cmp dword [esi + 0x354], edi
je 0x4bb5de
call fcn.00401cb7
mov ecx, eax
call fcn.004039e5
push 0x12c
call fcn.0053f7d7
add esp, 4
mov dword [ebp - 0x218], eax
mov dword [ebp - 4], 0xa
cmp eax, edi
je 0x4bb605
mov ecx, eax
call fcn.0040676c
jmp 0x4bb607
xor eax, eax
push edi
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x35c], eax
call fcn.00404449
mov ecx, eax
call fcn.00405209
mov ebx, 7
xor ecx, ecx
mov dword [ebp - 0x18c], ebx
mov dword [ebp - 0x190], edi
mov word [ebp - 0x1a0], cx
push 1
push edi
lea edx, [ebp - 0x14c]
push edi
push edx
mov dword [ebp - 4], 0xb
call fcn.00401cb7
mov ecx, eax
call fcn.004079fa
push eax
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0xc
call fcn.00403265
mov esi, 8
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x138], esi
jb 0x4bb689
mov eax, dword [ebp - 0x14c]
push eax
call fcn.0053ed60
add esp, 4
lea ecx, [ebp - 0x210]
call fcn.00537f30
xor ecx, ecx
push 9
mov word [ebp - 0x184], cx
push str.socketlog
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0xd
mov byte [ebp - 0x214], 0
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0x174], edi
call fcn.00403594
lea edx, [ebp - 0x184]
push edx
lea eax, [ebp - 0x1bc]
push eax
mov byte [ebp - 4], 0xe
call fcn.004034f4
add esp, 8
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x170], esi
jb 0x4bb6fb
mov ecx, dword [ebp - 0x184]
push ecx
call fcn.0053ed60
add esp, 4
xor edx, edx
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0x174], edi
mov word [ebp - 0x184], dx
cmp dword [ebp - 0x1ac], edi
je 0x4bb7d9
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x14c]
push ecx
call fcn.00406569
add esp, 8
push eax
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0x11
call fcn.00538090
mov ebx, 0x10
mov esi, eax
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x138], ebx
jb 0x4bb764
mov edx, dword [ebp - 0x14c]
push edx
call fcn.0053ed60
add esp, 4
cmp esi, edi
je 0x4bb780
lea eax, [ebp - 0x210]
push eax
mov byte [ebp - 0x214], 1
call fcn.00535330
add esp, 4
jmp 0x4bb7de
lea ecx, [ebp - 0x1bc]
push ecx
lea edx, [ebp - 0x14c]
push edx
call fcn.00406569
push eax
lea eax, [ebp - 0x130]
push str.Failed_to_create_socket_log_at:
push eax
mov byte [ebp - 4], 0x12
call fcn.0040367f
add esp, 0x14
push 1
push eax
mov ecx, 0x5fda4c
mov byte [ebp - 4], 0x13
call fcn.005383c0
lea ecx, [ebp - 0x130]
call fcn.0040583f
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x10
call fcn.0040583f
jmp 0x4bb7de
mov ebx, 0x10
call fcn.00404449
mov ecx, eax
call fcn.00402130
cmp dword [ebp - 0x190], edi
jne 0x4bb836
push str.Data_loaded_successfuly
lea ecx, [ebp - 0x14c]
call fcn.00403dfa
lea ecx, [ebp - 0x14c]
push edi
push ecx
mov byte [ebp - 4], 0x14
call fcn.00404449
mov ecx, eax
call fcn.00407112
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x138], ebx
jb 0x4bb8bd
mov edx, dword [ebp - 0x14c]
push edx
jmp 0x4bb8b5
lea eax, [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x168]
push ecx
call fcn.00406569
push eax
lea edx, [ebp - 0x14c]
push str.Failed_to_load_data_with_error:
push edx
mov byte [ebp - 4], 0x15
call fcn.0040367f
add esp, 0x14
push edi
push eax
mov byte [ebp - 4], 0x16
call fcn.00404449
mov ecx, eax
call fcn.00403bd4
cmp dword [ebp - 0x138], ebx
jb 0x4bb88b
mov eax, dword [ebp - 0x14c]
push eax
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x138], 0xf
mov dword [ebp - 0x13c], edi
mov byte [ebp - 0x14c], 0
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x154], ebx
jb 0x4bb8bd
mov ecx, dword [ebp - 0x168]
push ecx
call fcn.0053ed60
add esp, 4
push 0x1e
push 1
call fcn.00505fd0
add esp, 8
test eax, eax
jne 0x4bb910
push str.Failed_to_initialize_winsock_
lea ecx, [ebp - 0x14c]
call fcn.00403dfa
lea edx, [ebp - 0x14c]
push edi
push edx
mov byte [ebp - 4], 0x17
call fcn.00404449
mov ecx, eax
call fcn.00403bd4
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x138], ebx
jb 0x4bbc62
mov eax, dword [ebp - 0x14c]
jmp 0x4bbc59
call fcn.0050d4e0
call fcn.00401cb7
mov ecx, eax
call fcn.0040763a
call fcn.00401cb7
lea ecx, [ebp - 0x14c]
push ecx
call fcn.00404179
add esp, 4
push 1
push eax
push 1
mov byte [ebp - 4], 0x18
call fcn.00404449
mov ecx, eax
call fcn.00401f0a
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x138], ebx
jb 0x4bb965
mov edx, dword [ebp - 0x14c]
push edx
call fcn.0053ed60
add esp, 4
call fcn.00517a30
xor eax, eax
mov dword [ebp - 0x154], 7
mov dword [ebp - 0x158], edi
mov word [ebp - 0x168], ax
lea ecx, [ebp - 0x212]
push ecx
lea edx, [ebp - 0x14c]
mov bl, 0x19
push edx
mov byte [ebp - 4], bl
mov byte [ebp - 0x212], al
call fcn.004089c2
add esp, 8
push eax
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x1a
call fcn.00403265
cmp dword [ebp - 0x138], 8
mov byte [ebp - 4], bl
jb 0x4bb9cf
mov eax, dword [ebp - 0x14c]
push eax
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x158], edi
je 0x4bbae0
cmp byte [ebp - 0x212], 0
je 0x4bba17
push str.DLL_is_set_to_be_loaded_by_using_a_registry_key
lea ecx, [ebp - 0x130]
call fcn.00403dfa
lea ecx, [ebp - 0x130]
push edi
push ecx
mov byte [ebp - 4], 0x1b
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x130]
call fcn.0040583f
mov dword [ebp - 0x138], 0xf
mov dword [ebp - 0x13c], edi
mov byte [ebp - 0x14c], 0
lea edx, [ebp - 0x168]
push edx
lea eax, [ebp - 0x130]
push eax
mov byte [ebp - 4], 0x1c
call fcn.00402559
mov ecx, eax
call fcn.00404d77
push eax
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x1d
call fcn.00401604
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x1c
call fcn.0040583f
cmp dword [ebp - 0x13c], edi
je 0x4bbac4
push str.Failed_to_load_dll_with_error:
lea ecx, [ebp - 0x130]
call fcn.00403dfa
lea ecx, [ebp - 0x14c]
push ecx
push eax
lea edx, [ebp - 0x1d8]
push edx
mov byte [ebp - 4], 0x1e
call fcn.004084ef
add esp, 0xc
lea ecx, [ebp - 0x130]
call fcn.0040583f
lea ecx, [ebp - 0x1d8]
call fcn.0040583f
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], bl
call fcn.0040583f
jmp 0x4bbb1b
call fcn.004056b4
mov ecx, eax
call fcn.00401aaf
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], bl
call fcn.0040583f
jmp 0x4bbb1b
push str.No_DLL_set_to_be_loaded__will_init_COM
lea ecx, [ebp - 0x130]
call fcn.00403dfa
lea eax, [ebp - 0x130]
push edi
push eax
mov byte [ebp - 4], 0x1f
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], bl
call fcn.0040583f
call fcn.00405ae7
call fcn.00404589
push str.Trying_to_start_UDP_channel
lea ecx, [ebp - 0x130]
movzx esi, ax
call fcn.00403dfa
lea ecx, [ebp - 0x130]
push edi
push ecx
mov byte [ebp - 4], 0x20
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], bl
call fcn.0040583f
lea edx, [ebp - 0x130]
push esi
push edx
call fcn.004080a8
push eax
lea eax, [ebp - 0x1d8]
push str.Starting_relay_on_port:
push eax
mov byte [ebp - 4], 0x21
call fcn.0040367f
add esp, 0x14
push edi
push eax
mov byte [ebp - 4], 0x22
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x1d8]
call fcn.0040583f
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], bl
call fcn.0040583f
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x218], esp
push str.16CB9635_CCEA_4184_A4A4_E450754EF940
call fcn.00403dfa
mov ecx, dword [ebp - 0x21c]
mov ecx, dword [ecx + 0x35c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
push 0x2c52
push esi
call eax
lea ecx, [ebp - 0x130]
test al, al
jne 0x4bbc12
push str.Failed_to_start_the_relay
call fcn.00403dfa
lea ecx, [ebp - 0x130]
push edi
push ecx
mov byte [ebp - 4], 0x23
call fcn.00404449
mov ecx, eax
call fcn.00403bd4
lea ecx, [ebp - 0x130]
call fcn.0040583f
jmp 0x4bbc46
push str.Relay_started_successfuly
call fcn.00403dfa
lea edx, [ebp - 0x130]
push edi
push edx
mov byte [ebp - 4], 0x24
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x130]
call fcn.0040583f
mov byte [ebp - 0x213], 1
cmp dword [ebp - 0x154], 8
mov byte [ebp - 4], 0x10
jb 0x4bbc62
mov eax, dword [ebp - 0x168]
push eax
call fcn.0053ed60
add esp, 4
lea ecx, [ebp - 0x130]
push ecx
call fcn.00401cb7
mov ecx, eax
call fcn.0040506a
push eax
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x25
call fcn.00403265
mov ebx, 8
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x11c], ebx
jb 0x4bbca5
mov edx, dword [ebp - 0x130]
push edx
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x190], edi
jne 0x4bbcf1
push str.Statistics_data_loaded_successfuly
lea ecx, [ebp - 0x14c]
call fcn.00403dfa
lea eax, [ebp - 0x14c]
push edi
push eax
mov byte [ebp - 4], 0x26
call fcn.00404449
mov ecx, eax
call fcn.00407112
cmp dword [ebp - 0x138], 0x10
mov byte [ebp - 4], 0x10
jb 0x4bbcf1
mov ecx, dword [ebp - 0x14c]
push ecx
call fcn.0053ed60
add esp, 4
call fcn.00404449
mov ecx, eax
call fcn.00402fd6
cmp byte [ebp - 0x213], 0
je 0x4bc339
mov esi, dword [ebp - 0x21c]
cmp dword [esi + 0x354], edi
je 0x4bbd3f
push 4
mov ecx, esi
call fcn.0040154b
push str.Started_as_a_service
lea ecx, [ebp - 0x130]
call fcn.00403dfa
push edi
lea edx, [ebp - 0x130]
mov byte [ebp - 4], 0x27
push edx
jmp 0x4bbd5b
push str.Started_as_a_normal_process
lea ecx, [ebp - 0x130]
call fcn.00403dfa
push edi
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x28
push eax
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x10
call fcn.0040583f
call fcn.00404449
mov ecx, eax
call fcn.00402662
call fcn.0040323d
mov ecx, eax
call fcn.00404967
push 0x403314
call fcn.00528800
mov ecx, dword [esi + 0x35c]
add esp, 4
push ecx
call fcn.00404449
mov ecx, eax
call fcn.004071b2
push str.Started_main_message_loop
lea ecx, [ebp - 0x14c]
call fcn.00403dfa
lea edx, [ebp - 0x14c]
push edi
push edx
mov byte [ebp - 4], 0x29
call fcn.00404449
mov ecx, eax
call fcn.00407112
cmp dword [ebp - 0x138], 0x10
mov byte [ebp - 4], 0x10
jb 0x4bbdf2
mov eax, dword [ebp - 0x14c]
push eax
call fcn.0053ed60
add esp, 4
cmp byte [ebp - 0x211], 0
mov dword [ebp - 0x218], edi
jne 0x4bbe8e
push 1
push 0x14
mov ecx, 0x5fd6e8
call fcn.004046fb
cmp eax, edi
jge 0x4bbe8e
push eax
lea ecx, [ebp - 0x130]
push ecx
call fcn.004080a8
push eax
lea edx, [ebp - 0x1d8]
push str.Failed_to_init_interface_with_error:
push edx
mov byte [ebp - 4], 0x2a
call fcn.0040367f
add esp, 0x14
push 1
push eax
mov ecx, 0x5fda4c
mov byte [ebp - 4], 0x2b
call fcn.005383c0
lea ecx, [ebp - 0x1d8]
call fcn.0040583f
lea ecx, [ebp - 0x130]
call fcn.0040583f
lea ecx, [ebp - 0x1bc]
call fcn.00406dfc
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0xb
call fcn.00537fb0
lea ecx, [ebp - 0x1a0]
call fcn.00406dfc
jmp 0x4bc3c7
mov byte [0x5fd6db], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
call fcn.00404449
mov ecx, eax
call fcn.00403571
mov edi, dword [sym.imp.USER32.dll_PeekMessageA]
mov esi, 1
cmp byte [0x5fd6d8], 0
jne 0x4bbf56
call fcn.00401cb7
mov ecx, eax
call fcn.00403fd5
test al, al
jne 0x4bbf56
push 1
push 0
push 0
push 0
lea eax, [ebp - 0x14c]
push eax
xor bl, bl
call edi
test eax, eax
je 0x4bbf35
lea ebx, [ebx]
cmp dword [ebp - 0x148], 0x464
jne 0x4bbf08
mov dword [ebp - 0x218], 1
jmp 0x4bbf17
lea ecx, [ebp - 0x14c]
push ecx
mov bl, 1
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 1
push 0
push 0
push 0
lea edx, [ebp - 0x14c]
push edx
call edi
test eax, eax
jne 0x4bbef0
test bl, bl
je 0x4bbf35
lea esi, [eax + 1]
jmp 0x4bbf41
add esi, esi
cmp esi, 0x64
jle 0x4bbf41
mov esi, 0x64
cmp dword [ebp - 0x218], 0
jne 0x4bbf56
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4bbeb2
mov eax, dword [ebp - 0x21c]
cmp dword [eax + 0x354], 0
mov edi, eax
je 0x4bbf70
push 3
mov ecx, edi
call fcn.0040154b
call fcn.00404449
mov ecx, eax
call fcn.004089a4
push str.Starting_shutdown_process
lea ecx, [ebp - 0x130]
mov byte [0x5fd6d9], 1
call fcn.00403dfa
lea ecx, [ebp - 0x130]
push 0
push ecx
mov byte [ebp - 4], 0x2c
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x10
call fcn.0040583f
cmp byte [ebp - 0x211], 0
jne 0x4bbfce
mov ecx, 0x5fd6e8
call fcn.00405dbc
call fcn.00401cb7
mov ecx, eax
call fcn.00406541
push 0x5b87a7
lea ecx, [ebp - 0x130]
call fcn.00403dfa
push 0
lea edx, [ebp - 0x130]
push edx
push 3
mov byte [ebp - 4], 0x2d
call fcn.00404449
mov ecx, eax
call fcn.00401f0a
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x10
call fcn.0040583f
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.quickstop
lea ecx, [ebp - 0x130]
mov byte [ebp - 0x218], 1
call fcn.00406802
lea eax, [ebp - 0x130]
push eax
mov byte [ebp - 4], 0x2e
call fcn.00407554
add esp, 4
cmp eax, 1
lea ecx, [ebp - 0x130]
sete bl
mov byte [ebp - 4], 0x10
call fcn.00406dfc
test bl, bl
je 0x4bc069
mov byte [ebp - 0x218], 0
call fcn.0040323d
mov ecx, eax
call fcn.0040421e
call fcn.0040126c
push str.Clearing_sockets
lea ecx, [ebp - 0x130]
call fcn.00403dfa
lea ecx, [ebp - 0x130]
push 0
push ecx
mov byte [ebp - 4], 0x2f
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x10
call fcn.0040583f
mov ecx, dword [edi + 0x35c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x218]
mov edx, dword [edx + 0x28]
push eax
call edx
push str.Sockets_cleared
lea ecx, [ebp - 0x130]
call fcn.00403dfa
lea eax, [ebp - 0x130]
push 0
push eax
mov byte [ebp - 4], 0x30
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x10
call fcn.0040583f
push str.Shutting_down_SSL_and_relay
lea ecx, [ebp - 0x130]
call fcn.00403dfa
lea ecx, [ebp - 0x130]
push 0
push ecx
mov byte [ebp - 4], 0x31
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x10
call fcn.0040583f
call fcn.00517a50
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov esi, eax
call fcn.00404449
mov ecx, eax
call fcn.00403f94
call ebx
sub eax, esi
cmp eax, 0x251c
jbe 0x4bc190
cmp dword [0x5fda3c], 0
je 0x4bc181
mov edx, dword [0x5fda18]
push 0x5fda1c
push edx
mov dword [0x5fda20], 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 - 0x130]
call fcn.00403dfa
lea eax, [ebp - 0x130]
push 0
push eax
mov byte [ebp - 4], 0x32
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x10
call fcn.0040583f
call fcn.0050ba60
push str.Shutting_down_Winsock
lea ecx, [ebp - 0x130]
call fcn.00403dfa
lea ecx, [ebp - 0x130]
push 0
push ecx
mov byte [ebp - 4], 0x33
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x10
call fcn.0040583f
call fcn.00506c00
push str.Winsock_cleared
lea ecx, [ebp - 0x130]
call fcn.00403dfa
lea edx, [ebp - 0x130]
push 0
push edx
mov byte [ebp - 4], 0x34
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x10
call fcn.0040583f
push str.Clearing_extensions
lea ecx, [ebp - 0x130]
call fcn.00403dfa
lea eax, [ebp - 0x130]
push 0
push eax
mov byte [ebp - 4], 0x35
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x10
call fcn.0040583f
call fcn.00402559
mov ecx, eax
call fcn.00404291
call fcn.0040236f
mov ecx, dword [edi + 0x35c]
test ecx, ecx
je 0x4bc29d
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [edi + 0x35c], 0
call fcn.00407d10
call fcn.00404449
mov ecx, eax
call fcn.00405763
push 0
call fcn.00535330
add esp, 4
call fcn.00401cb7
mov ecx, eax
call fcn.00403f62
call fcn.00401cb7
mov ecx, eax
call fcn.00407522
call fcn.00539b20
call fcn.00530f60
mov ecx, eax
call fcn.00530ee0
cmp byte [ebp - 0x214], 0
je 0x4bc2fe
push 0
call fcn.00535330
add esp, 4
push str.Shutdown_complete
lea ecx, [ebp - 0x130]
call fcn.00403dfa
lea ecx, [ebp - 0x130]
push 0
push ecx
mov byte [ebp - 4], 0x36
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x130]
call fcn.0040583f
xor edi, edi
mov ebx, 8
cmp dword [ebp - 0x1a8], ebx
jb 0x4bc350
mov edx, dword [ebp - 0x1bc]
push edx
call fcn.0053ed60
add esp, 4
xor eax, eax
mov esi, 7
lea ecx, [ebp - 0x210]
mov dword [ebp - 0x1a8], esi
mov dword [ebp - 0x1ac], edi
mov word [ebp - 0x1bc], ax
mov byte [ebp - 4], 0xb
call fcn.00537fb0
cmp dword [ebp - 0x18c], ebx
jb 0x4bc390
mov ecx, dword [ebp - 0x1a0]
push ecx
call fcn.0053ed60
add esp, 4
xor edx, edx
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0x190], edi
mov word [ebp - 0x1a0], dx
call dword [sym.imp.ole32.dll_CoUninitialize]
push 0x40
mov byte [0x5fd6da], 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x220]
push eax
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.0053fd20
mov esp, ebp
pop ebp
ret