Function at 0x435a90
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x11c
mov eax, dword [0x55609c]
xor eax, esp
mov dword [esp + 0x118], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, ecx
push esi
lea ecx, [esp + 0xc]
push edi
mov dword [esp + 0x30], eax
xor eax, eax
test edx, edx
mov dword [esp + 0x28], ecx
mov ecx, 8
lea esi, [esp + 0x70]
lea edi, [esp + 0x40]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x44], eax
je 0x435b1c
mov ecx, 8
mov esi, edx
lea edi, [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x44]
mov edi, dword [ebp + 8]
push edx
mov edx, dword [esp + 0x4c]
mov ecx, ebx
mov eax, edi
call fcn.004359f0
mov esi, eax
add esp, 4
test esi, esi
je 0x435b58
xor eax, eax
call fcn.00435a50
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.00515015
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x60]
lea eax, [esp + 0x40]
mov edx, edi
call fcn.004355b0
lea ecx, [esp + 0x60]
mov dword [esp + 0x3c], eax
lea eax, [esp + eax*8 + 0x60]
mov edx, ecx
cmp edx, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], eax
jae 0x435e89
call fcn.005147f0
mov eax, dword [esp + 0x18]
mov ebx, dword [eax]
push 0
mov dword [esp + 0x20], ebx
call dword [sym.imp.WS2_32.dll_WSASetLastError]
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0xa4]
push edx
push 0
push 2
push ebx
mov dword [esp + 0x4c], 0x80
call dword [sym.imp.WS2_32.dll_WSAStringToAddressA]
mov esi, eax
call fcn.005147f0
mov edi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, 0xffffffff
mov edx, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edi
je 0x435c60
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x1c], eax
call fcn.005147f0
call fcn.005147f0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x435c04
cmp eax, 2
jne 0x435eb0
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 4], 2
jne 0x435e68
lea edx, [esp + 0x1c]
push 2
push edx
lea ebx, [esp + 0x48]
lea edi, [esp + 0x30]
call fcn.004356d0
mov esi, eax
add esp, 8
test esi, esi
je 0x435e68
mov eax, dword [esp + 0x10]
call fcn.00435a50
mov eax, dword [esp + 0x14]
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.00515015
mov esp, ebp
pop ebp
ret
mov edi, str.255.255.255.255
mov esi, ebx
mov ecx, 0x10
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x435c83
xor esi, esi
call fcn.005147f0
mov edx, esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
test edx, edx
jne 0x435c99
mov esi, 0x2726
call fcn.005147f0
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
lea eax, [esp + 0x90]
push eax
xor ecx, ecx
push ebx
lea ebx, [esp + 0x28]
lea edx, [ecx + 0x17]
call fcn.004353b0
add esp, 8
cmp eax, 1
jne 0x435d28
mov eax, dword [esp + 0x44]
test eax, eax
je 0x435cc9
cmp eax, 0x17
jne 0x435ee0
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 4], 0x17
jne 0x435e68
lea edx, [esp + 0x90]
push 0x17
push edx
lea ebx, [esp + 0x48]
lea edi, [esp + 0x30]
call fcn.004356d0
mov esi, eax
add esp, 8
test esi, esi
je 0x435e68
mov eax, dword [esp + 0x10]
call fcn.00435a50
mov edx, dword [esp + 0x14]
push edx
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.00515015
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x1c]
push ecx
push edx
lea edi, [esp + 0x28]
lea ebx, [esp + 0x78]
call fcn.00435530
mov ebx, eax
add esp, 8
test ebx, ebx
mov dword [esp + 0x1c], ebx
jne 0x435dbd
cmp dword [esp + 0x3c], 2
je 0x435e68
mov eax, dword [esp + 0x10]
call fcn.00435a50
mov eax, dword [esp + 0x14]
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
call fcn.005147f0
mov esi, dword [esp + 0x24]
cmp esi, eax
mov edi, dword [esp + 0x20]
jne 0x435d8d
cmp edi, 0x2af9
je 0x435e96
call fcn.005147f0
cmp esi, eax
jne 0x435f10
cmp edi, 0x2afa
jne 0x435f10
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.00515015
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x44]
test eax, eax
je 0x435dd1
movsx ecx, word [ebx + 8]
cmp eax, ecx
jne 0x435ee0
mov eax, dword [ebp + 8]
test eax, eax
je 0x435e2d
cmp byte [eax], 0
je 0x435e2d
mov eax, dword [ebx]
test eax, eax
je 0x435e2d
cmp byte [eax], 0
je 0x435e2d
test byte [esp + 0x40], 2
je 0x435e2d
cmp dword [esp + 0x14], 0
jne 0x435e2d
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x435e00
sub eax, edx
lea edi, [eax + 1]
call fcn.0043b750
test eax, eax
mov dword [esp + 0x14], eax
je 0x435f42
mov edx, dword [ebx]
push edx
push edi
push eax
call dword [sym.imp.MSVCR80.dll_strcpy_s]
add esp, 0xc
mov esi, dword [ebx + 0xc]
mov eax, dword [esi]
test eax, eax
je 0x435e68
jmp 0x435e44
mov ebx, dword [esp + 0x1c]
movsx ecx, word [ebx + 8]
push ecx
push eax
lea ebx, [esp + 0x48]
lea edi, [esp + 0x30]
call fcn.004356d0
add esp, 8
test eax, eax
jne 0x435eb0
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
jne 0x435e40
mov eax, dword [esp + 0x18]
add eax, 8
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
jb 0x435b85
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x435f65
mov eax, dword [esp + 0x14]
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, 0x2af9
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.00515015
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x10]
call fcn.00435a50
mov edx, dword [esp + 0x14]
push edx
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, 0x273f
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.00515015
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x10]
call fcn.00435a50
mov ecx, dword [esp + 0x14]
push ecx
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, 0x273f
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.00515015
mov esp, ebp
pop ebp
ret
call fcn.005147f0
cmp esi, eax
jne 0x435f38
cmp edi, 0x2afb
jne 0x435f38
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.00515015
mov esp, ebp
pop ebp
ret
call fcn.005147f0
jmp 0x435e96
mov eax, dword [esp + 0x10]
call fcn.00435a50
mov eax, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.00515015
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
test eax, eax
je 0x435fc9
cmp byte [eax], 0
je 0x435fc9
test byte [esp + 0x40], 2
je 0x435fc9
mov eax, dword [esp + 0x14]
test eax, eax
je 0x435f8d
mov dword [ecx + 0x14], eax
mov dword [esp + 0x14], 0
jmp 0x435fc9
mov esi, dword [esp + 0x60]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x435f96
sub eax, edx
lea edi, [eax + 1]
call fcn.0043b750
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x14], 0
je 0x435f46
mov edx, dword [eax + 0x14]
push esi
push edi
push edx
call dword [sym.imp.MSVCR80.dll_strcpy_s]
add esp, 0xc
mov eax, dword [esp + 0x14]
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
mov eax, dword [esp + 0x38]
add esp, 4
test eax, eax
je 0x43601b
cmp byte [eax], 0
je 0x43601b
mov esi, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.004358f0
mov esi, eax
add esp, 8
test esi, esi
je 0x43601b
mov eax, dword [esp + 0x10]
call fcn.00435a50
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.00515015
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x124]
pop edi
pop esi
pop ebx
mov dword [eax], edx
xor ecx, esp
xor eax, eax
call fcn.00515015
mov esp, ebp
pop ebp
ret