Function at 0x425160
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc50
mov eax, dword [0x481a58]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xc14], 0xffffffff
call fcn.00410c50
mov dword [ebp - 0xc50], eax
cmp dword [ebp - 0xc50], 1
je 0x42519c
cmp dword [ebp - 0xc50], 2
je 0x4251c2
jmp 0x4251e6
push 0x475824
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x808]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call fcn.0044d800
add esp, 0x10
mov dword [ebp - 0xc48], eax
jmp 0x4251e6
push str.EPSV
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x808]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call fcn.0044d800
add esp, 0x10
mov dword [ebp - 0xc48], eax
mov eax, dword [ebp - 0xc48]
cdq
mov ecx, 0x64
idiv ecx
cmp eax, 2
jne 0x425448
push 0x27
lea edx, [ebp - 0xc44]
push edx
lea eax, [ebp - 0xc3c]
push eax
lea ecx, [ebp - 0x808]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call fcn.0042a830
add esp, 0x14
cmp eax, 1
jne 0x425422
mov ecx, dword [ebp + 0xc]
push ecx
push 0x4757fc
mov edx, dword [ebp - 0xc44]
push edx
lea eax, [ebp - 0xc3c]
push eax
call fcn.0040ef50
add esp, 0x10
mov dword [ebp - 0xc14], eax
cmp dword [ebp - 0xc14], 0xffffffff
je 0x425416
mov dword [ebp - 0xc40], 1
push 4
lea ecx, [ebp - 0xc40]
push ecx
push 1
push 6
mov edx, dword [ebp - 0xc14]
push edx
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x42529a
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.setsockopt
call fcn.0044e210
add esp, 8
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0xc4c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x844]
push eax
mov ecx, dword [edx + 0x840]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x860]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00427290
add esp, 0x18
cmp eax, 1
jne 0x42540a
mov edx, dword [ebp + 8]
add edx, 0x2c
push edx
mov eax, dword [ebp + 8]
add eax, 4
push eax
push str._s_s
lea ecx, [ebp - 0x808]
push ecx
call fcn.0045b942
add esp, 0x10
lea edx, [ebp - 0x808]
push edx
push 0x47484c
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0xc10]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call fcn.0044d800
add esp, 0x14
mov dword [ebp - 0xc48], eax
mov eax, dword [ebp - 0xc48]
cdq
mov ecx, 0x64
idiv ecx
cmp eax, 1
jne 0x4253cd
mov edx, dword [0x486254]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call fcn.00454d00
add esp, 4
test eax, eax
je 0x4253a7
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xc14]
push edx
call fcn.00454a30
add esp, 0xc
test eax, eax
je 0x42539b
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0xc4c]
push ecx
mov edx, dword [ebp - 0xc14]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00425470
add esp, 0x10
mov dword [ebp - 0xc48], eax
jmp 0x4253a5
mov dword [ebp - 0xc48], 0x1f4
jmp 0x4253cb
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0xc4c]
push edx
mov eax, dword [ebp - 0xc14]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00425470
add esp, 0x10
mov dword [ebp - 0xc48], eax
jmp 0x425408
lea edx, [ebp - 0xc10]
push edx
call fcn.0042aea0
add esp, 4
push 0x475744
call fcn.00456c30
add esp, 4
mov eax, dword [ebp - 0xc14]
push eax
call fcn.0044d330
add esp, 4
mov dword [ebp - 0xc14], eax
mov dword [ebp - 0xc48], 0x1f4
jmp 0x425414
mov dword [ebp - 0xc48], 0x1f4
jmp 0x425420
mov dword [ebp - 0xc48], 0x1f4
jmp 0x425446
push 0x4757d4
call fcn.0042aea0
add esp, 4
push 0x4757d4
call fcn.00456c30
add esp, 4
mov dword [ebp - 0xc48], 0x1f4
jmp 0x425457
lea ecx, [ebp - 0x808]
push ecx
call fcn.0042aea0
add esp, 4
mov eax, dword [ebp - 0xc48]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045a968
mov esp, ebp
pop ebp
ret