Function at 0x41bfd8
Capabilities:
Initialize winsock library

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x228
mov eax, dword [0x457694]
push esi
push edi
mov dword [ebp - 4], eax
lea eax, [ebp - 0x198]
push eax
xor esi, esi
push 0x402de8
push esi
mov dword [ebp - 0x198], esi
mov dword [ebp - 0x19c], esi
call fcn.00418d37
mov edi, eax
cmp edi, esi
jl 0x41b8cc
lea eax, [ebp - 0x19c]
push eax
push dword [ebp - 0x198]
call dword [sym.imp.ole32.dll_CoRegisterMessageFilter]
mov edi, eax
cmp edi, esi
jge 0x41b8f3
mov eax, dword [ebp - 0x19c]
cmp eax, esi
je 0x41b8dc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x198]
cmp eax, esi
je 0x41b8ec
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, edi
jmp 0x41bec1
push esi
push 1
push 0x80000001
push 0x4034a4
lea ecx, [ebp - 0x1c4]
call fcn.0044f3e7
push 0x40206f
push 0x40349c
lea ecx, [ebp - 0x1c4]
call fcn.0044f4ad
call fcn.0043aa88
call fcn.0043a0fa
push 0xc
call fcn.0044f05c
cmp eax, esi
pop ecx
je 0x41b940
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
jmp 0x41b942
xor eax, eax
cmp eax, esi
mov dword [0x457984], eax
jne 0x41b980
lea ecx, [ebp - 0x1c4]
call fcn.0044f73c
mov eax, dword [ebp - 0x19c]
cmp eax, esi
je 0x41b966
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x198]
cmp eax, esi
je 0x41b976
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80004005
jmp 0x41bec1
push ebx
push 0x4578cc
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push esi
call dword [sym.imp.USER32.dll_GetDC]
mov ebx, eax
cmp ebx, esi
je 0x41b9cd
mov edi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0xe
push ebx
call edi
push 0xc
push ebx
mov dword [ebp - 0x1a0], eax
call edi
mov ecx, dword [ebp - 0x1a0]
imul ecx, eax
xor eax, eax
cmp ecx, 8
setg al
push ebx
push esi
mov dword [0x457998], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
cmp eax, esi
mov dword [0x457a18], eax
je 0x41be90
call fcn.0042016d
cmp dword [0x4578f8], 2
jne 0x41ba42
push esi
push esi
push 0x80000002
push 0x403474
lea ecx, [ebp - 0x200]
call fcn.0044f3e7
cmp dword [0x4578ec], 4
ja 0x41ba2d
push 4
push 0x40346c
lea ecx, [ebp - 0x200]
call fcn.0044f593
cmp eax, 4
mov dword [0x4579a8], esi
je 0x41ba37
mov dword [0x4579a8], 1
lea ecx, [ebp - 0x200]
call fcn.0044f73c
call fcn.004122b1
call fcn.004092bf
mov eax, dword [0x45771c]
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x228]
mov edi, 0x402528
push eax
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x224], 0x41702d
mov dword [ebp - 0x220], esi
mov dword [ebp - 0x21c], esi
mov dword [ebp - 0x214], esi
mov dword [ebp - 0x210], esi
mov dword [ebp - 0x20c], esi
mov dword [ebp - 0x208], esi
mov dword [ebp - 0x204], edi
call dword [sym.imp.USER32.dll_RegisterClassA]
test ax, ax
je 0x41be90
push 0x402510
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
push 0x24
mov dword [0x4578c8], eax
call fcn.0044f05c
cmp eax, esi
pop ecx
je 0x41bad1
mov ecx, eax
call fcn.00411feb
jmp 0x41bad3
xor eax, eax
cmp eax, esi
mov dword [0x4579b4], eax
je 0x41be90
mov ecx, eax
call fcn.00420911
push esi
push dword [0x45771c]
push esi
push esi
push esi
push esi
push esi
push esi
push 0x80000000
push 0x40206f
push edi
push esi
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ecx, dword [0x4579b4]
mov dword [0x4579b8], eax
cmp dword [ecx + 0x10], esi
je 0x41be90
cmp eax, esi
je 0x41be90
push esi
push 1
mov ebx, 0x80000001
push ebx
push dword [0x4575d8]
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x1a8], esi
call fcn.0044f3e7
push esi
mov edi, 0x403460
push edi
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x1a0], esi
call fcn.0044f593
shr eax, 0x10
and ax, 0x502
cmp ax, 0x502
je 0x41bb9f
push esi
push 0x403454
lea ecx, [ebp - 0x1e4]
call fcn.0044f593
cmp eax, 0x5020ece
je 0x41bb8b
cmp dword [ebp + 8], esi
je 0x41bb9f
call fcn.004124e9
jmp 0x41bb90
cmp dword [ebp + 8], esi
je 0x41bb9f
mov dword [ebp - 0x1a0], 1
call fcn.0044bb23
push dword [ebp + 8]
lea eax, [ebp - 0x1a8]
push dword [ebp - 0x1a0]
push eax
call fcn.0044e751
cmp eax, esi
jge 0x41bbca
push 0x40
push 0x139
push esi
call fcn.0041d846
jmp 0x41be85
cmp eax, 1
jne 0x41bc0f
lea ecx, [ebp - 0x1e4]
call fcn.0044f73c
lea ecx, [ebp - 0x1c4]
call fcn.0044f73c
mov eax, dword [ebp - 0x19c]
cmp eax, esi
je 0x41bbf5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x198]
cmp eax, esi
je 0x41bc05
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x81000205
jmp 0x41bec0
cmp dword [ebp - 0x1a0], esi
je 0x41bc32
cmp dword [ebp + 8], esi
jne 0x41bc21
mov edi, 0x403454
push 0x5020ece
push edi
lea ecx, [ebp - 0x1e4]
call fcn.0044f4ef
cmp dword [ebp + 8], esi
je 0x41bc52
cmp dword [ebp - 0x1a0], esi
je 0x41bc52
call fcn.00412042
test al, al
je 0x41bc52
push 0x9cf6
call fcn.00411bea
lea eax, [ebp - 0x1c8]
push eax
push 0x403420
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
jne 0x41bc7b
push dword [ebp - 0x1c8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x41bcb3
push esi
push 1
push ebx
push dword [0x4575e0]
lea ecx, [ebp - 0x200]
call fcn.0044f3e7
push 2
push 0x401e54
lea ecx, [ebp - 0x200]
call fcn.0044f593
push eax
call fcn.00407e5f
lea ecx, [ebp - 0x200]
call fcn.0044f73c
cmp dword [ebp + 8], esi
je 0x41bcbe
push esi
call fcn.00441268
push 0x28
call fcn.0044f05c
cmp eax, esi
pop ecx
je 0x41bce2
push 0x403418
push 0x4033e8
mov ecx, eax
call fcn.0040e83c
mov dword [0x457980], eax
jmp 0x41bce8
mov dword [0x457980], esi
cmp dword [0x4577ac], esi
mov dword [0x4579bc], 1
jne 0x41bd3c
cmp dword [ebp - 0x1a8], esi
mov dword [0x4579bc], 0x21
je 0x41bd1c
call fcn.0044245b
test al, al
jne 0x41bd1c
or dword [0x4579bc], 6
call fcn.0044248b
test al, al
jne 0x41bd2c
or dword [0x4579bc], 0x10
call fcn.00442473
test al, al
jne 0x41bd3c
or dword [0x4579bc], 8
push 0x45798c
push 0x401a78
push 3
push esi
push 0x401b88
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jl 0x41be85
mov eax, dword [0x45798c]
lea edx, [ebp - 0x1a4]
push edx
mov dword [ebp - 0x1a4], esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
test eax, eax
jl 0x41bdd5
mov eax, dword [ebp - 0x1a4]
mov ecx, dword [eax]
push 0x457988
push 0x401a88
push eax
call dword [ecx]
test eax, eax
jl 0x41bdd5
lea eax, [ebp - 0x1a0]
push eax
mov edi, 0x401a98
push edi
push esi
mov dword [ebp - 0x1a0], esi
call fcn.00418d97
test eax, eax
jl 0x41bdc5
push 0x457990
push edi
push dword [ebp - 0x1a0]
push dword [0x457988]
call fcn.0041f8ba
mov eax, dword [ebp - 0x1a0]
cmp eax, esi
je 0x41bdd5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x45798c]
mov ecx, dword [eax]
push 0x4579bc
push esi
push eax
call dword [ecx + 0xc]
cmp eax, esi
jge 0x41be24
cmp eax, 0x8100fe05
je 0x41be1a
cmp eax, 0x8100fe09
je 0x41be13
cmp eax, 0x8100fe17
je 0x41be75
xor ecx, ecx
cmp eax, 0x8100fe29
setne cl
add ecx, 0x16b
mov eax, ecx
jmp 0x41be1f
mov eax, 0x16e
jmp 0x41be1f
mov eax, 0x16c
push 0x40
push eax
jmp 0x41be44
push 0x80800c04
call fcn.00413b51
push dword [0x45771c]
call fcn.0041dc66
test eax, eax
jne 0x41be4c
push 0x40
push 0x16c
push esi
call fcn.0041d846
jmp 0x41be75
call fcn.0041246c
push dword [0x45798c]
call fcn.0041d7c3
test eax, eax
je 0x41be75
lea eax, [ebp - 0x194]
push eax
push 0x101
call fcn.0044f37c
test eax, eax
je 0x41becf
mov eax, dword [ebp - 0x1a4]
cmp eax, esi
je 0x41be85
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x1e4]
call fcn.0044f73c
lea ecx, [ebp - 0x1c4]
call fcn.0044f73c
mov eax, dword [ebp - 0x19c]
cmp eax, esi
je 0x41beab
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x198]
cmp eax, esi
je 0x41bebb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80004005
pop ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
call fcn.0044ed62
leave
ret 4
xor edi, edi
inc edi
mov dword [0x4579a0], edi
call fcn.0041125a
call fcn.00440f09
push dword [ebp + 8]
call fcn.0041ed06
push 0x18
call fcn.0044f05c
cmp eax, esi
pop ecx
je 0x41bf13
or dword [eax + 0x10], 0xffffffff
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x14], 0xfffffffe
mov dword [0x458090], eax
jmp 0x41bf19
mov dword [0x458090], esi
call fcn.0040bcde
test eax, eax
jne 0x41bf9b
push esi
push edi
push ebx
push dword [0x4575d8]
lea ecx, [ebp - 0x200]
call fcn.0044f3e7
push esi
push 0x4020fc
lea ecx, [ebp - 0x200]
call fcn.0044f593
test eax, eax
je 0x41bf78
mov eax, dword [0x4579a4]
mov ebx, dword [eax]
push 0x4020ec
lea ecx, [ebp - 0x200]
call fcn.0044f812
mov ecx, dword [0x4579a4]
push eax
call dword [ebx + 0x14]
mov ecx, dword [0x4579a4]
mov eax, dword [ecx]
push edi
call dword [eax + 0x10]
call fcn.00412116
test al, al
je 0x41bf8e
cmp dword [0x4577b0], esi
jne 0x41bf8e
call fcn.00436bc5
lea ecx, [ebp - 0x200]
call fcn.0044f73c
jmp 0x41bfa0
call fcn.0040ce9e
cmp dword [0x4577a4], esi
jne 0x41bfbe
mov eax, dword [0x4579b4]
cmp eax, esi
jne 0x41bfb5
xor eax, eax
jmp 0x41bfb8
mov eax, dword [eax + 0x10]
push eax
call fcn.0044278e
mov byte [0x457994], 1
call fcn.0043748a
mov eax, dword [ebp - 0x1a4]
cmp eax, esi
je 0x41bfda
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x1e4]
call fcn.0044f73c
lea ecx, [ebp - 0x1c4]
call fcn.0044f73c
mov eax, dword [ebp - 0x19c]
cmp eax, esi
je 0x41c000
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x198]
cmp eax, esi
je 0x41c010
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
jmp 0x41bec0