Function at 0x418aaa
Capabilities:
Initialize winsock library

Disassembly:
push 0xffffffffffffffff
push 0x46cd88
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x74
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x14], esi
call fcn.0045c5ec
lea edi, [esi + 0x13c]
xor ebx, ebx
mov ecx, edi
mov dword [esp + 0x8c], ebx
mov dword [esi], 0x473fa0
call fcn.00462429
lea ecx, [esi + 0x1d0]
mov byte [esp + 0x8c], 1
call fcn.00461f40
lea ecx, [esi + 0x284]
mov byte [esp + 0x8c], 2
call fcn.00461f40
mov byte [esp + 0x8c], 3
lea ebp, [esi + 0x364]
call fcn.00449a21
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp], eax
mov byte [esp + 0x8c], 4
call fcn.00449a21
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esi + 0x368], eax
mov byte [esp + 0x8c], 5
call fcn.00449a21
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esi + 0x36c], eax
mov byte [esp + 0x8c], 6
call fcn.00449a21
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esi + 0x374], eax
lea ecx, [esi + 0x52c]
mov byte [esp + 0x8c], 7
call fcn.00443f55
lea ecx, [esp + 0x18]
mov byte [esp + 0x8c], 8
mov dword [esi + 0x548], ebx
mov dword [esi + 0x54c], ebx
call fcn.0044a260
push ebx
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x34]
mov byte [esp + 0x98], 9
call fcn.0040b350
mov byte [esp + 0x8c], 0xa
call fcn.004618f9
mov eax, dword [eax + 4]
mov dword [eax + 0xa0], esi
mov dword [eax + 0xa4], edi
mov dword [esi + 0xd4], 0xffffffff
mov dword [esi + 0x338], ebx
mov dword [esi + 0x540], ebx
mov eax, 1
push 0xfa
mov word [esi + 0x360], bx
mov dword [esi + 0x370], eax
mov dword [esi + 0x130], ebx
mov dword [esi + 0x134], ebx
mov dword [esi + 0x138], ebx
mov word [esi + 0x378], 0x1f6
mov dword [esi + 0x544], ebx
mov dword [esi + 0x12c], eax
mov dword [esi + 0x358], 0x7d0
mov dword [esi + 0x35c], 0xfa
call sub.modbusm.dll__SetPollDelay_4
mov dword [esi + 0x37c], ebx
mov dword [esi + 0x33c], 0x4b00
mov byte [esi + 0x340], bl
mov byte [esi + 0x342], 8
mov byte [esi + 0x341], bl
mov dword [esi + 0x344], ebx
mov dword [esi + 0x348], ebx
mov dword [esi + 0x34c], ebx
mov dword [esi + 0x350], ebx
mov byte [esi + 0x354], bl
mov byte [esi + 0x355], bl
mov dword [esi + 0xd8], 0xfffffff3
mov dword [esi + 0xdc], ebx
mov dword [esi + 0xe0], ebx
mov dword [esi + 0xe4], ebx
mov dword [esi + 0xe8], 0x190
mov byte [esi + 0xec], bl
mov byte [esi + 0xed], bl
mov byte [esi + 0xee], bl
mov byte [esi + 0xef], bl
mov byte [esi + 0xf0], 1
mov byte [esi + 0xf1], 2
mov byte [esi + 0xf2], 1
mov byte [esi + 0xf3], 0x31
mov eax, dword [str.Courier]
mov dword [esi + 0xf4], eax
mov ecx, dword [0x473f98]
mov eax, str.7.00
mov dword [esi + 0xf8], ecx
mov dword [esi + 0x114], ebx
mov dword [esi + 0x118], 0xc0c0c0
mov dword [esi + 0x11c], 0xff
mov dword [esi + 0x120], ebx
mov dword [esi + 0x124], ebx
mov dword [esi + 0x128], 2
lea edi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x418d30
sub eax, edi
push eax
push str.7.00
lea ecx, [esi + 0x36c]
call fcn.00401570
call fcn.004618f9
mov eax, dword [eax + 4]
mov edi, dword [eax + 0x60]
cmp edi, ebx
jne 0x418d5d
xor eax, eax
jmp 0x418d6b
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x418d62
sub eax, edx
push eax
push edi
mov ecx, ebp
call fcn.00401570
mov eax, dword [ebp]
push 0x5c
push eax
call fcn.00437841
add esp, 8
cmp eax, ebx
jne 0x418d8b
or eax, 0xffffffff
jmp 0x418d8e
sub eax, dword [ebp]
inc eax
push eax
lea edx, [esp + 0x14]
push edx
mov ecx, ebp
call fcn.00416a90
push eax
lea ecx, [esi + 0x368]
mov byte [esp + 0x90], 0xb
call fcn.00403320
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x8c], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418dd6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, str.ms32frm.cfg
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x418de0
sub eax, edx
push eax
lea edi, [esi + 0x368]
push str.ms32frm.cfg
mov ecx, edi
call fcn.00409b40
mov edi, dword [edi]
lea eax, [esp + 0x28]
push eax
push ebx
push edi
lea ecx, [esp + 0x24]
call fcn.0044a55d
test eax, eax
je 0x418e5f
push ebx
push 0x1000
push 1
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x4c]
call fcn.0044eb74
lea edx, [esp + 0x3c]
push edx
mov ecx, esi
mov byte [esp + 0x90], 0xc
call fcn.004176c0
lea ecx, [esp + 0x3c]
call fcn.0044ea70
lea ecx, [esp + 0x18]
call fcn.0044a1fe
lea ecx, [esp + 0x3c]
mov byte [esp + 0x8c], 0xa
call fcn.0044ec59
lea edi, [esi + 0x390]
push edi
push 0x101
call sub.WSOCK32.dll_WSAStartup
cmp eax, ebx
je 0x418e83
mov word [edi], bx
mov dword [esi + 0x134], ebx
mov dword [esi + 0x138], ebx
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x8c], 9
mov dword [esp + 0x28], vtable.CFileException.0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418eb1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea ecx, [esp + 0x18]
mov byte [esp + 0x8c], 8
call fcn.0044a29f
mov ecx, dword [esp + 0x84]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x80
ret