Function at 0x42db36
Capabilities:
Initialize winsock library

Disassembly:
mov eax, dword [0x4f9134]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x584], ecx
cmp dword [ebp - 0x584], 0
jne 0x42db31
mov edx, dword [0x4f9070]
cmp edx, dword [0x4f16e0]
jge 0x42db15
mov eax, dword [0x4f9070]
mov dword [ebp - 0x71c], eax
jmp 0x42db21
mov ecx, dword [0x4f16e0]
mov dword [ebp - 0x71c], ecx
cmp dword [ebp - 0x71c], 0
jg 0x42db31
xor al, al
jmp 0x42e951
jmp 0x42db91
lea edi, [ebx + ecx + 0x26]
pop edx
lea edx, [edx + eax + 0x25]
sub edx, eax
xor edi, dword [esp + 0x28]
xor edi, dword [esp + 8]
push edx
sub edi, 0x2ef56f7c
pop edi
lea edx, [edx + edi + 0x4a]
sub edx, edi
sub ecx, dword [edi]
lea edi, [edi + eax + 4]
sub edi, eax
cmp edi, edx
jb 0x42db5d
pop edi
cmp ecx, 0x20040801
pop edx
pop ecx
jne 0x42dae3
push dword fs:[0]
push 0x2aaf1a4
lea ebp, [ebx + 0x6f]
lea ebp, [ebp + ecx - 0x6f]
sub ebp, ecx
jmp 0x42dbc1
call fcn.004b5d44
mov dword [ebp - 0x58c], eax
mov edx, dword [ebp - 0x58c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x58c]
call dword [eax + 0xc]
mov dword [ebp - 0x588], eax
mov ecx, dword [ebp - 0x588]
add ecx, 0x10
mov dword [ebp - 0x1b0], ecx
mov dword [ebp - 4], 0
call fcn.004b5d44
mov dword [ebp - 0x594], eax
mov edx, dword [ebp - 0x594]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x594]
call dword [eax + 0xc]
mov dword [ebp - 0x590], eax
mov ecx, dword [ebp - 0x590]
add ecx, 0x10
mov dword [ebp - 0x1ac], ecx
mov byte [ebp - 4], 1
push 0x400
push 0x400
lea ecx, [ebp - 0x1ac]
call fcn.0041bc50
push eax
push 0x73
call fcn.004b60e7
mov dword [ebp - 0x59c], 0xffffffff
cmp dword [ebp - 0x59c], 0xffffffff
jne 0x42dc94
mov edx, dword [ebp - 0x1ac]
mov dword [ebp - 0x598], edx
cmp dword [ebp - 0x598], 0
jne 0x42dc7f
mov dword [ebp - 0x59c], 0
jmp 0x42dc94
mov eax, dword [ebp - 0x598]
push eax
call fcn.0049873d
add esp, 4
mov dword [ebp - 0x59c], eax
mov ecx, dword [ebp - 0x59c]
push ecx
lea ecx, [ebp - 0x1ac]
call fcn.0041bca0
mov edx, dword [ebp - 0x1ac]
push edx
call dword [fcn.004c887c]
mov dword [ebp - 0x5a4], eax
cmp dword [ebp - 0x5a4], 0
jne 0x42dcce
mov dword [ebp - 0x5a0], 0
jmp 0x42dce3
mov eax, dword [ebp - 0x5a4]
push eax
call fcn.0049873d
add esp, 4
mov dword [ebp - 0x5a0], eax
mov ecx, dword [ebp - 0x5a0]
push ecx
mov edx, dword [ebp - 0x5a4]
push edx
lea ecx, [ebp - 0x1b0]
call fcn.004023c0
mov eax, dword [ebp - 0x718]
mov ecx, dword [eax + 0x22dc]
mov dword [ebp - 0x5a8], ecx
mov edx, dword [ebp - 0x5a8]
push edx
push 0x4cde84
lea ecx, [ebp - 0x1b0]
call fcn.004303b0
call fcn.004b5d44
mov dword [ebp - 0x5ec], eax
mov eax, dword [ebp - 0x5ec]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x5ec]
call dword [edx + 0xc]
mov dword [ebp - 0x5e8], eax
mov eax, dword [ebp - 0x5e8]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 2
mov byte [ebp - 0x1b1], 0
mov dword [ebp - 0x1c4], 0
jmp 0x42dd79
mov ecx, dword [ebp - 0x1c4]
add ecx, 1
mov dword [ebp - 0x1c4], ecx
mov edx, dword [ebp - 0x718]
mov eax, dword [edx + 0x22d0]
mov dword [ebp - 0x5f0], eax
mov ecx, dword [ebp - 0x1c4]
cmp ecx, dword [ebp - 0x5f0]
jge 0x42e12f
mov edx, dword [ebp - 0x718]
add edx, 0x22c8
mov dword [ebp - 0x5f8], edx
cmp dword [ebp - 0x1c4], 0
jl 0x42dde3
mov eax, dword [ebp - 0x5f8]
mov ecx, dword [ebp - 0x1c4]
cmp ecx, dword [eax + 8]
jge 0x42dde3
mov edx, dword [ebp - 0x1c4]
imul edx, edx, 0x2c
mov eax, dword [ebp - 0x5f8]
add edx, dword [eax + 4]
mov dword [ebp - 0x5f4], edx
jmp 0x42dde8
call fcn.004aec94
mov ecx, dword [ebp - 0x5f4]
mov edx, dword [ecx + 0x20]
sub edx, 0x10
mov dword [ebp - 0x5fc], edx
mov eax, dword [ebp - 0x5fc]
push eax
call fcn.00402570
add esp, 4
mov dword [ebp - 0x600], eax
mov ecx, dword [ebp - 0x600]
add ecx, 0x10
mov dword [ebp - 0x1cc], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x718]
add edx, 0x22c8
mov dword [ebp - 0x618], edx
cmp dword [ebp - 0x1c4], 0
jl 0x42de68
mov eax, dword [ebp - 0x618]
mov ecx, dword [ebp - 0x1c4]
cmp ecx, dword [eax + 8]
jge 0x42de68
mov edx, dword [ebp - 0x1c4]
imul edx, edx, 0x2c
mov eax, dword [ebp - 0x618]
add edx, dword [eax + 4]
mov dword [ebp - 0x614], edx
jmp 0x42de6d
call fcn.004aec94
push 0x4cde50
call dword [fcn.004c887c]
push eax
mov ecx, dword [ebp - 0x614]
add ecx, 8
push ecx
lea edx, [ebp - 0x550]
push edx
call fcn.00401850
add esp, 0xc
mov dword [ebp - 0x720], eax
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x724], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x718]
add ecx, 0x22c8
mov dword [ebp - 0x610], ecx
cmp dword [ebp - 0x1c4], 0
jl 0x42deee
mov edx, dword [ebp - 0x610]
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [edx + 8]
jge 0x42deee
mov ecx, dword [ebp - 0x1c4]
imul ecx, ecx, 0x2c
mov edx, dword [ebp - 0x610]
add ecx, dword [edx + 4]
mov dword [ebp - 0x60c], ecx
jmp 0x42def3
call fcn.004aec94
mov eax, dword [ebp - 0x60c]
add eax, 0xc
push eax
mov ecx, dword [ebp - 0x724]
push ecx
lea edx, [ebp - 0x554]
push edx
call fcn.00419410
add esp, 0xc
mov dword [ebp - 0x728], eax
mov eax, dword [ebp - 0x728]
mov dword [ebp - 0x72c], eax
mov byte [ebp - 4], 5
push 0x4cde4c
mov ecx, dword [ebp - 0x72c]
push ecx
lea edx, [ebp - 0x558]
push edx
call fcn.00401850
add esp, 0xc
mov dword [ebp - 0x730], eax
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x734], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x718]
add ecx, 0x22c8
mov dword [ebp - 0x608], ecx
cmp dword [ebp - 0x1c4], 0
jl 0x42dfa0
mov edx, dword [ebp - 0x608]
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [edx + 8]
jge 0x42dfa0
mov ecx, dword [ebp - 0x1c4]
imul ecx, ecx, 0x2c
mov edx, dword [ebp - 0x608]
add ecx, dword [edx + 4]
mov dword [ebp - 0x604], ecx
jmp 0x42dfa5
call fcn.004aec94
mov eax, dword [ebp - 0x604]
add eax, 0x10
push eax
mov ecx, dword [ebp - 0x734]
push ecx
lea edx, [ebp - 0x55c]
push edx
call fcn.00419410
add esp, 0xc
mov dword [ebp - 0x738], eax
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x73c], eax
mov byte [ebp - 4], 7
push 0x4cde44
mov ecx, dword [ebp - 0x73c]
push ecx
lea edx, [ebp - 0x1c8]
push edx
call fcn.00401850
add esp, 0xc
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x55c]
call fcn.0044e670
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x558]
call fcn.0044e670
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x554]
call fcn.0044e670
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x550]
call fcn.0044e670
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x62c], ecx
cmp dword [ebp - 0x62c], 0
je 0x42e10c
mov byte [ebp - 0x1b1], 1
lea edx, [ebp - 0x1cc]
push edx
lea eax, [ebp - 0x1c8]
push eax
lea ecx, [ebp - 0x560]
push ecx
call fcn.00419410
add esp, 0xc
mov dword [ebp - 0x740], eax
mov edx, dword [ebp - 0x740]
mov dword [ebp - 0x744], edx
mov byte [ebp - 4], 0xd
push 0x4cae00
mov eax, dword [ebp - 0x744]
push eax
lea ecx, [ebp - 0x564]
push ecx
call fcn.00401850
add esp, 0xc
mov dword [ebp - 0x748], eax
mov edx, dword [ebp - 0x748]
mov dword [ebp - 0x638], edx
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x638]
mov ecx, dword [eax]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x630], edx
mov eax, dword [ebp - 0x638]
mov ecx, dword [eax]
mov dword [ebp - 0x634], ecx
mov edx, dword [ebp - 0x630]
push edx
mov eax, dword [ebp - 0x634]
push eax
lea ecx, [ebp - 0x14]
call fcn.00401ba0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x564]
call fcn.0044e670
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x560]
call fcn.0044e670
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c8]
call fcn.0044e670
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1cc]
call fcn.0044e670
jmp 0x42dd6a
movzx ecx, byte [ebp - 0x1b1]
test ecx, ecx
jne 0x42e179
mov byte [ebp - 0x565], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14]
call fcn.0044e670
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1ac]
call fcn.0044e670
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b0]
call fcn.0044e670
mov al, byte [ebp - 0x565]
jmp 0x42e951
mov byte [ebp - 0x1bd], 0
mov word [ebp - 0x1b8], 0x202
lea edx, [ebp - 0x1a8]
push edx
mov ax, word [ebp - 0x1b8]
push eax
call fcn.004ae814
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x1bc], 0
jne 0x42e912
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1ec]
call fcn.00444bb0
mov dword [ebp - 0x74c], eax
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x1f8], 0
mov ecx, dword [ebp - 0x718]
add ecx, 0x194
mov dword [ebp - 0x664], ecx
mov edx, dword [ebp - 0x664]
mov eax, dword [edx]
mov dword [ebp - 0x65c], eax
push 0x3a
mov ecx, dword [ebp - 0x65c]
push ecx
call fcn.0049aaa4
add esp, 8
mov dword [ebp - 0x658], eax
cmp dword [ebp - 0x658], 0
jne 0x42e21f
mov dword [ebp - 0x750], 0xffffffff
jmp 0x42e241
mov edx, dword [ebp - 0x664]
mov eax, dword [edx]
mov dword [ebp - 0x660], eax
mov ecx, dword [ebp - 0x658]
sub ecx, dword [ebp - 0x660]
sar ecx, 1
mov dword [ebp - 0x750], ecx
mov edx, dword [ebp - 0x750]
mov dword [ebp - 0x1f4], edx
mov dword [ebp - 0x1f0], 0x19
cmp dword [ebp - 0x1f4], 0
jle 0x42e35d
mov eax, dword [ebp - 0x718]
mov ecx, dword [eax + 0x194]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x668], edx
mov eax, dword [ebp - 0x668]
sub eax, 1
cmp dword [ebp - 0x1f4], eax
jge 0x42e35d
mov ecx, dword [ebp - 0x1f4]
add ecx, 1
mov dword [ebp - 0x670], ecx
mov edx, dword [ebp - 0x718]
add edx, 0x194
mov dword [ebp - 0x674], edx
cmp dword [ebp - 0x670], 0
jl 0x42e2d7
mov eax, dword [ebp - 0x674]
mov ecx, dword [eax]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x66c], edx
mov eax, dword [ebp - 0x670]
cmp eax, dword [ebp - 0x66c]
jle 0x42e2e1
push 0x80070057
call fcn.00401db0
mov ecx, dword [ebp - 0x674]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x670]
mov cx, word [edx + eax*2]
mov word [ebp - 0x676], cx
movzx edx, word [ebp - 0x676]
cmp edx, 0x2f
je 0x42e35d
mov eax, dword [ebp - 0x1f4]
add eax, 1
push eax
lea ecx, [ebp - 0x2f8]
push ecx
mov ecx, dword [ebp - 0x718]
add ecx, 0x194
call fcn.004306c0
mov edx, dword [ebp - 0x2f8]
push edx
call fcn.0049ab33
add esp, 4
mov dword [ebp - 0x2f4], eax
cmp dword [ebp - 0x2f4], 0
je 0x42e352
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x1f0], eax
lea ecx, [ebp - 0x2f8]
call fcn.0044e670
mov ecx, dword [ebp - 0x718]
mov edx, dword [ecx + 0x198]
mov eax, dword [edx - 0xc]
mov dword [ebp - 0x680], eax
cmp dword [ebp - 0x680], 0
je 0x42e551
mov ecx, dword [ebp - 0x718]
mov edx, dword [ecx + 0x19c]
mov eax, dword [edx - 0xc]
mov dword [ebp - 0x684], eax
cmp dword [ebp - 0x684], 0
je 0x42e551
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x718]
mov edx, dword [ecx + 0x19c]
mov dword [ebp - 0x688], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [eax + 0x198]
mov dword [ebp - 0x68c], ecx
mov edx, dword [ebp - 0x718]
mov eax, dword [edx + 0x194]
mov dword [ebp - 0x690], eax
push 0
mov ecx, dword [ebp - 0x1f0]
push ecx
mov edx, dword [ebp - 0x688]
push edx
mov eax, dword [ebp - 0x68c]
push eax
push 3
mov ecx, dword [ebp - 0x690]
push ecx
lea ecx, [ebp - 0x1ec]
call fcn.00444f30
mov dword [ebp - 0x1f8], 1
jmp 0x42e427
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x1f8], 0
jne 0x42e4bc
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x718]
mov eax, dword [edx + 0x19c]
mov dword [ebp - 0x694], eax
mov ecx, dword [ebp - 0x718]
mov edx, dword [ecx + 0x198]
mov dword [ebp - 0x698], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [eax + 0x194]
mov dword [ebp - 0x69c], ecx
push 0
mov edx, dword [ebp - 0x1f0]
push edx
mov eax, dword [ebp - 0x694]
push eax
mov ecx, dword [ebp - 0x698]
push ecx
push 2
mov edx, dword [ebp - 0x69c]
push edx
lea ecx, [ebp - 0x1ec]
call fcn.00444f30
mov dword [ebp - 0x1f8], 1
jmp 0x42e4bc
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x1f8], 0
jne 0x42e551
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x718]
mov ecx, dword [eax + 0x19c]
mov dword [ebp - 0x6a0], ecx
mov edx, dword [ebp - 0x718]
mov eax, dword [edx + 0x198]
mov dword [ebp - 0x6a4], eax
mov ecx, dword [ebp - 0x718]
mov edx, dword [ecx + 0x194]
mov dword [ebp - 0x6a8], edx
push 0
mov eax, dword [ebp - 0x1f0]
push eax
mov ecx, dword [ebp - 0x6a0]
push ecx
mov edx, dword [ebp - 0x6a4]
push edx
push 1
mov eax, dword [ebp - 0x6a8]
push eax
lea ecx, [ebp - 0x1ec]
call fcn.00444f30
mov dword [ebp - 0x1f8], 1
jmp 0x42e551
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x1f8], 0
jne 0x42e594
mov ecx, dword [ebp - 0x718]
mov edx, dword [ecx + 0x194]
mov dword [ebp - 0x6ac], edx
push 0
mov eax, dword [ebp - 0x1f0]
push eax
push 0
push 0
push 0
mov ecx, dword [ebp - 0x6ac]
push ecx
lea ecx, [ebp - 0x1ec]
call fcn.00444f30
lea ecx, [ebp - 0x2f0]
call fcn.00442c10
mov dword [ebp - 0x754], eax
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x718]
add edx, 0x190
push edx
lea ecx, [ebp - 0x570]
call fcn.0043f830
mov dword [ebp - 0x758], eax
mov eax, dword [ebp - 0x758]
mov dword [ebp - 0x75c], eax
mov byte [ebp - 4], 0x18
push 0
mov ecx, dword [ebp - 0x75c]
push ecx
lea ecx, [ebp - 0x2f0]
call fcn.00443160
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x56c]
call fcn.0044e670
lea ecx, [ebp - 0x570]
call fcn.0044e670
push 0x4cde5c
lea ecx, [ebp - 0x57c]
call fcn.00401e40
mov dword [ebp - 0x760], eax
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x57c]
push edx
lea ecx, [ebp - 0x578]
call fcn.0043f830
mov dword [ebp - 0x764], eax
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x768], eax
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x768]
push ecx
lea ecx, [ebp - 0x2ec]
call fcn.0043fa40
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x574]
call fcn.0044e670
lea ecx, [ebp - 0x578]
call fcn.0044e670
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x57c]
call fcn.0044e670
lea edx, [ebp - 0x1b0]
push edx
lea ecx, [ebp - 0x2e4]
call fcn.00402240
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x2f0]
call fcn.00444920
push 0xa
lea ecx, [ebp - 0x20c]
push ecx
push 0x1004
call dword [0x4c8888]
movzx edx, ax
push edx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jle 0x42e7b8
lea eax, [ebp - 0x20c]
push eax
call fcn.0049ab33
add esp, 4
mov dword [ebp - 0x2fc], eax
cmp dword [ebp - 0x2fc], 0
je 0x42e7b8
push 0
call dword [0x4c889c]
lea ecx, [ebp - 0x304]
push ecx
push 0x4e1620
push 1
push 0
push 0x4e1610
call dword [0x4c88a0]
mov dword [ebp - 0x300], eax
cmp dword [ebp - 0x300], 0
jl 0x42e7b8
cmp dword [ebp - 0x304], 0
je 0x42e7b8
lea edx, [ebp - 0x548]
push edx
mov eax, dword [ebp - 0x2fc]
push eax
mov ecx, dword [ebp - 0x304]
push ecx
mov edx, dword [ebp - 0x304]
mov eax, dword [edx]
call dword [eax + 0x10]
mov dword [ebp - 0x76c], eax
mov ecx, dword [ebp - 0x76c]
mov dword [ebp - 0x300], ecx
cmp dword [ebp - 0x300], 0
jl 0x42e7a6
lea edx, [ebp - 0x4bc]
push edx
lea ecx, [ebp - 0x54c]
call fcn.00401e40
mov dword [ebp - 0x770], eax
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x54c]
push eax
lea ecx, [ebp - 0x2f0]
call fcn.004430d0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x54c]
call fcn.0044e670
mov ecx, dword [ebp - 0x304]
push ecx
mov edx, dword [ebp - 0x304]
mov eax, dword [edx]
call dword [eax + 8]
push ecx
push edx
push edi
and ecx, 0
call fcn.0042e84e
mov eax, dword [eax]
add byte [eax], al
mov esp, 0xaf9c9821
pushfd
leave
mov dh, ah
jns 0x42e7bf
cmp al, 0xfa
salc
aaa
mov bl, byte [eax + 4]
mov esi, 0x6cad4e2e
jmp 0x4bd12ecf
mov cl, byte [ebp - 0x1bd]
mov byte [ebp - 0x57d], cl
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14]
call fcn.0044e670
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1ac]
call fcn.0044e670
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b0]
call fcn.0044e670
mov al, byte [ebp - 0x57d]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x18]
call fcn.00498784
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret