Function at 0x4408f0
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bbc71
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x238
mov eax, dword [0x509334]
xor eax, dword [ebp + 4]
push ebx
push esi
push edi
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0xc]
xor edi, edi
cmp eax, edi
mov dword [ebp - 0x10], esp
jne 0x440943
push 0xca
push str.HldsUpdateTool.cpp
push str.argv
call fcn.00421210
mov ecx, eax
call fcn.00421000
lea eax, [ebp - 0x244]
push eax
push 2
call dword [sym.imp.WS2_32.dll_WSAStartup]
cmp eax, edi
je 0x440982
push str.WSAStartup_failed
push 0x50b524
call fcn.0041ec50
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00433260
mov ecx, esi
call fcn.00403d40
or eax, 0xffffffff
jmp 0x440eef
lea ecx, [ebp - 0x94]
push ecx
call fcn.00433830
add esp, 4
push 0xffffffffffffffff
push edi
push eax
mov ecx, 0x502034
mov dword [ebp - 4], edi
call fcn.00405f50
cmp dword [ebp - 0x7c], 0x10
jb 0x4409b7
mov edx, dword [ebp - 0x90]
push edx
call fcn.0049db86
add esp, 4
push edi
mov dword [ebp - 4], 1
call fcn.004a1a99
push eax
call fcn.004a0f09
mov esi, 0xf
mov eax, str.207.173.177.11:27030_207.173.177.12:27030
add esp, 8
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x64], edi
mov byte [ebp - 0x74], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4409e4
sub eax, edx
push eax
push str.207.173.177.11:27030_207.173.177.12:27030
lea ecx, [ebp - 0x78]
call fcn.00406650
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x48], edi
mov byte [ebp - 0x58], 0
mov eax, str.GeneralDirectoryServer_FindServerIPAddrPorts
mov byte [ebp - 4], 3
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], edi
mov byte [ebp - 0x34], 0
lea edx, [eax + 1]
jmp 0x440a20
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x440a20
sub eax, edx
push eax
push str.GeneralDirectoryServer_FindServerIPAddrPorts
lea ecx, [ebp - 0x38]
call fcn.00406650
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 4
call fcn.00424ef0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.00403220
mov edx, dword [eax]
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x38]
push ecx
mov ecx, eax
call dword [edx + 8]
test al, al
lea ecx, [ebp - 0x40]
sete bl
mov byte [ebp - 4], 4
call fcn.00421750
cmp dword [ebp - 0x20], 0x10
mov byte [ebp - 4], 3
jb 0x440a88
mov edx, dword [ebp - 0x34]
push edx
call fcn.0049db86
add esp, 4
test bl, bl
je 0x440b03
mov eax, str.GeneralDirectoryServer_FindServerIPAddrPorts
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], edi
mov byte [ebp - 0x34], 0
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x440aa0
sub eax, edx
push eax
push str.GeneralDirectoryServer_FindServerIPAddrPorts
lea ecx, [ebp - 0x38]
call fcn.00406650
lea eax, [ebp - 0x40]
mov bl, 6
push eax
mov byte [ebp - 4], bl
call fcn.00424ef0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.00403220
mov edx, dword [eax]
lea ecx, [ebp - 0x78]
push ecx
lea ecx, [ebp - 0x38]
push ecx
mov ecx, eax
call dword [edx + 0x18]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call fcn.00421750
cmp dword [ebp - 0x20], 0x10
mov byte [ebp - 4], 3
jb 0x440b03
mov edx, dword [ebp - 0x34]
push edx
call fcn.0049db86
add esp, 4
mov ebx, dword [ebp + 8]
cmp ebx, 2
jl 0x440b85
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x440b16
mov ecx, dword [0x50202c]
sub eax, esi
push eax
push edx
push ecx
push edi
mov ecx, 0x502018
call fcn.00412ec0
cmp eax, edi
jne 0x440b85
mov edx, dword [ebp + 0xc]
push edx
push ebx
call fcn.0043ca80
mov eax, dword [ebp - 0x44]
mov esi, 0x10
add esp, 8
cmp eax, esi
jb 0x440b5c
mov eax, dword [ebp - 0x58]
push eax
call fcn.0049db86
add esp, 4
cmp dword [ebp - 0x60], esi
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], edi
mov byte [ebp - 0x58], 0
jb 0x440b7b
mov ecx, dword [ebp - 0x74]
push ecx
call fcn.0049db86
add esp, 4
mov eax, 3
jmp 0x440eef
push 0x4c6d54
lea edx, [ebp - 0xb4]
push 0x502034
push edx
call fcn.00415180
add esp, 0xc
push 0x501ffc
push eax
lea eax, [ebp - 0x38]
push eax
mov byte [ebp - 4], 8
call fcn.00414500
add esp, 0xc
push str.Tmp.exe
push eax
lea ecx, [ebp - 0x94]
push ecx
mov byte [ebp - 4], 9
call fcn.00415180
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov esi, 0x10
cmp eax, esi
jb 0x440be5
mov edx, dword [ebp - 0x34]
push edx
call fcn.0049db86
add esp, 4
cmp dword [ebp - 0x9c], esi
mov dword [ebp - 0x20], 0xf
mov dword [ebp - 0x24], edi
mov byte [ebp - 0x34], 0
mov byte [ebp - 4], 0xb
jb 0x440c0e
mov eax, dword [ebp - 0xb0]
push eax
call fcn.0049db86
add esp, 4
lea ecx, [ebp - 0x94]
push ecx
mov dword [ebp - 0x9c], 0xf
mov dword [ebp - 0xa0], edi
mov byte [ebp - 0xb0], 0
call fcn.00432d30
add esp, 4
test al, al
je 0x440c5d
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x94]
push ecx
mov dword [ebp - 0x1c], 0x64
mov dword [ebp - 0x18], 0xa
call fcn.00434290
add esp, 0xc
cmp dword [ebp - 0x7c], esi
mov byte [ebp - 4], 3
jb 0x440c75
mov edx, dword [ebp - 0x90]
push edx
call fcn.0049db86
add esp, 4
mov eax, dword [ebp + 0xc]
push eax
push ebx
call fcn.0043e170
mov eax, dword [0x50a834]
add esp, 8
cmp eax, esi
mov eax, dword [0x50a820]
jae 0x440c95
mov eax, 0x50a820
mov ecx, dword [0x50a830]
mov edx, dword [0x50217c]
push ecx
push eax
push edx
push edi
mov ecx, 0x502168
call fcn.00412ec0
cmp eax, edi
je 0x440ce9
push str.Checking_bootstrapper_version_...
push 0x50b524
call fcn.0041ec50
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00433260
mov ecx, esi
call fcn.00403d40
mov eax, dword [ebp + 0xc]
push eax
push ebx
call fcn.00440190
add esp, 8
mov esi, 0x10
cmp ebx, 2
jl 0x440e80
cmp dword [0x50a834], esi
mov eax, dword [0x50a820]
jae 0x440d04
mov eax, 0x50a820
mov ecx, dword [0x50a830]
mov edx, dword [0x502144]
push ecx
push eax
push edx
push edi
mov ecx, 0x502130
call fcn.00412ec0
cmp eax, edi
jne 0x440d95
push str.Creating_Account
push 0x50b524
call fcn.0041ec50
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00433260
mov ecx, esi
call fcn.00403d40
push 0x50a948
push 0x50a90c
push 0x50a8d0
push 0x50a894
push 0x50a858
call fcn.0043b520
add esp, 0x14
push str.Account_Created_successfully
push 0x50b524
call fcn.0041ec50
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00433260
mov ecx, esi
call fcn.00403d40
mov esi, 0x10
jmp 0x440e85
push 0x50a81c
push 0x50214c
call fcn.00413d90
add esp, 8
test al, al
je 0x440e63
push str.Updating_Installation
push 0x50b524
call fcn.0041ec50
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00433260
mov ecx, esi
call fcn.00403d40
push 0x50aa74
push str.present
call fcn.004370c0
add esp, 8
push eax
push 0x50aa38
push str.present
call fcn.004370c0
add esp, 8
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0xc], esp
push 0x50a8d0
call fcn.00406620
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x50a858
mov byte [ebp - 4], 0xd
call fcn.00406620
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x50a9c0
mov byte [ebp - 4], 0xe
call fcn.00406620
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x3c], esp
push 0x50a984
mov byte [ebp - 4], 0xf
call fcn.00406620
mov byte [ebp - 4], 3
call fcn.0043e560
add esp, 0x78
push str.HLDS_installation_up_to_date
jmp 0x440d6c
push 0x50a81c
push 0x502168
call fcn.00413d90
add esp, 8
test al, al
je 0x440e80
call fcn.0043a080
jmp 0x440e85
call fcn.00437650
cmp dword [ebp - 0x44], esi
jb 0x440e96
mov eax, dword [ebp - 0x58]
push eax
call fcn.0049db86
add esp, 4
cmp dword [ebp - 0x60], esi
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], edi
mov byte [ebp - 0x58], 0
jb 0x440eb5
mov ecx, dword [ebp - 0x74]
push ecx
call fcn.0049db86
add esp, 4
xor eax, eax
jmp 0x440eef
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
xor ecx, dword [ebp + 4]
call fcn.0049e993
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret