Function at 0x436f08
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x194
push esi
push edi
push ebx
mov edi, dword [ebp + 8]
cmp edi, 0
jne 0x436f34
push 0xc98
call fcn.0041d478
mov edi, eax
add esp, 4
cmp edi, 0
je 0x43738c
mov byte [edi], 0
mov dword [edi + 4], 1
push 8
call fcn.0041d478
sub esp, 0xfffffffc
or eax, eax
je 0x436f57
push eax
call fcn.0043a279
add esp, 4
jmp 0x436f59
xor eax, eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], 1
mov dword [edi + 0x1c], 0xffffffff
mov dword [edi + 0x14], 0xffffffff
mov byte [edi + 0x19], 0
mov byte [edi + 0x10], 0
mov byte [edi + 0x18], 0
mov byte [edi + 0x20], 0
mov byte [edi + 0x21], 0
mov byte [edi + 0x421], 0
mov byte [edi + 0x821], 0
mov dword [edi + 0xc30], 0
mov dword [edi + 0xc2c], 0
mov eax, dword [ebp + 0xc]
mov dword [edi + 0xc34], eax
mov eax, dword [edi + 0xc34]
mov dword [edi + 0xc38], eax
push dword [edi + 0xc38]
call fcn.0041d4a5
mov dword [edi + 0xc3c], eax
mov dword [edi + 0xc44], 0
mov dword [edi + 0xc40], 0
add esp, 4
mov eax, dword [ebp + 0xc]
mov dword [edi + 0xc48], eax
mov eax, dword [edi + 0xc48]
mov dword [edi + 0xc4c], eax
push dword [edi + 0xc4c]
call fcn.0041d4a5
mov dword [edi + 0xc50], eax
add esp, 4
mov byte [edi + 0xc54], 0
push 0xc
call fcn.0041d478
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x437052
push 0xc
push ebx
call fcn.004a5940
mov esi, ebx
add esp, 8
or esi, esi
jne 0x437045
push 0xc
call fcn.0041d478
add esp, 4
mov esi, eax
test esi, esi
je 0x43704e
push esi
call fcn.0043ea88
sub esp, 0xfffffffc
mov eax, ebx
jmp 0x437054
xor eax, eax
mov dword [edi + 0xc58], eax
push 0xc
call fcn.0041d478
mov esi, eax
sub esp, 0xfffffffc
or esi, esi
je 0x437098
push 0xc
push esi
call fcn.004a5940
mov ebx, esi
sub esp, 0xfffffff8
test ebx, ebx
jne 0x43708b
push 0xc
call fcn.0041d478
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x437094
push ebx
call fcn.0043ea88
add esp, 4
mov eax, esi
jmp 0x43709a
xor eax, eax
mov dword [edi + 0xc5c], eax
push 0xc
call fcn.0041d478
mov ebx, eax
sub esp, 0xfffffffc
or ebx, ebx
je 0x4370de
push 0xc
push ebx
call fcn.004a5940
mov esi, ebx
add esp, 8
or esi, esi
jne 0x4370d1
push 0xc
call fcn.0041d478
add esp, 4
mov esi, eax
test esi, esi
je 0x4370da
push esi
call fcn.0043ea88
sub esp, 0xfffffffc
mov eax, ebx
jmp 0x4370e0
xor eax, eax
mov dword [edi + 0xc60], eax
push 0x24
call fcn.0041d478
mov ebx, eax
sub esp, 0xfffffffc
test ebx, ebx
je 0x437144
push 0x24
push ebx
call fcn.004a5940
add esp, 8
mov eax, ebx
test eax, eax
jne 0x437115
push 0x24
call fcn.0041d478
add esp, 4
test eax, eax
je 0x437140
mov dword [eax + 0x10], 0
mov esi, dword [eax + 0x10]
lea edx, [eax + 8]
mov dword [eax + 8], 0
mov dword [eax + 0xc], esi
mov dword [eax + 4], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
mov eax, ebx
jmp 0x437146
xor eax, eax
mov dword [edi + 0xc64], eax
push 0xc
call fcn.0041d478
add esp, 4
mov esi, eax
test esi, esi
je 0x4371ac
push 0xc
push esi
call fcn.004a5940
mov ebx, esi
add esp, 8
test ebx, ebx
jne 0x43717d
push 0xc
call fcn.0041d478
mov ebx, eax
add esp, 4
or ebx, ebx
je 0x4371a8
push ebx
call fcn.00436ccb
mov edx, eax
mov dword [ebx + 4], eax
mov dword [eax + 4], edx
add esp, 4
mov byte [eax + 0x1d], 1
mov eax, dword [ebx + 4]
mov edx, eax
mov dword [eax], edx
mov eax, dword [ebx + 4]
mov edx, eax
mov dword [ebx + 8], 0
mov dword [eax + 8], edx
mov eax, esi
jmp 0x4371ae
xor eax, eax
mov dword [edi + 0xc68], eax
mov byte [edi + 0xc21], 0
mov dword [edi + 0xc24], 0
mov dword [edi + 0xc28], 0
push 0xc
call fcn.0041d478
mov esi, eax
add esp, 4
test esi, esi
je 0x43720d
push 0xc
push esi
call fcn.004a5940
mov ebx, esi
sub esp, 0xfffffff8
test ebx, ebx
jne 0x437200
push 0xc
call fcn.0041d478
mov ebx, eax
sub esp, 0xfffffffc
or ebx, ebx
je 0x437209
push ebx
call fcn.0043ea88
sub esp, 0xfffffffc
mov eax, esi
jmp 0x43720f
xor eax, eax
mov dword [edi + 0xc6c], eax
xor eax, eax
mov dword [edi + 0xc70], 0
jne 0x437231
push 0x24
call fcn.0041d478
add esp, 4
test eax, eax
je 0x43725c
mov dword [eax + 0x10], 0
mov edx, dword [eax + 0x10]
mov dword [eax + 8], 0
mov dword [eax + 0xc], edx
mov dword [eax + 4], 0
mov dword [eax + 0x1c], 0
lea edx, [eax + 8]
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
mov dword [edi + 0xc90], eax
xor eax, eax
jne 0x437274
push 0x24
call fcn.0041d478
add esp, 4
test eax, eax
je 0x43729f
lea edx, [eax + 8]
mov dword [eax + 0x10], 0
mov ebx, dword [eax + 0x10]
mov dword [eax + 8], 0
mov dword [eax + 0xc], ebx
mov dword [eax + 4], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
mov dword [edi + 0xc94], eax
mov byte [edi + 0xc74], 0
mov dword [edi + 0xc78], 0
mov dword [edi + 0xc7c], 0
mov dword [edi + 0xc80], 0
mov dword [edi + 0xc84], 0
mov dword [edi + 0xc88], 0
mov dword [edi + 0xc8c], 0
cmp dword [0x4f87e0], 0
jne 0x437337
xor ebx, ebx
jne 0x437305
push 0xc
call fcn.0041d478
mov ebx, eax
add esp, 4
or ebx, ebx
je 0x437330
push ebx
call fcn.00436d26
mov dword [ebx + 4], eax
add esp, 4
mov edx, eax
mov dword [eax + 4], edx
mov byte [eax + 0x15], 1
mov edx, dword [ebx + 4]
mov esi, edx
mov dword [edx], esi
mov esi, dword [ebx + 4]
mov edx, esi
mov dword [ebx + 8], 0
mov dword [esi + 8], edx
mov eax, ebx
mov dword [0x4f87e0], eax
push 0x4f87e4
push dword [0x4f87e0]
sub dword [0x4f87e4], 0xffffffff
call fcn.00436d81
mov dword [eax], edi
mov bx, 0
lea eax, [ebp - 0x194]
sub esp, 0xfffffff8
push 0x190
push 0
push eax
call fcn.004a7ae0
lea eax, [ebp - 0x194]
sub esp, 0xfffffff4
mov bx, 1
movzx esi, bx
push eax
push esi
mov eax, dword [sym.imp.WS2_32.dll_WSAStartup]
call eax
push edi
call fcn.0043b064
add esp, 4
pop ebx
mov eax, edi
pop edi
pop esi
leave
ret