Function at 0x4e7a80
Capabilities:
Link many functions at runtime

Disassembly:
sub esp, 0x28
push edi
mov edi, 1
cmp dword [0x709fa4], edi
jne 0x4e7a98
xor eax, eax
pop edi
add esp, 0x28
ret
cmp dword [0x709018], 0
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x709fa8], edi
jne 0x4e7c5a
push str.ws2_32.dll
call ebp
push str.WSAGetLastError
push eax
mov dword [0x709018], eax
call esi
mov dword [0x70901c], eax
mov eax, dword [0x709018]
push str.WSAStartup
push eax
call esi
mov ecx, dword [0x709018]
push str.WSACleanup
push ecx
mov dword [0x709020], eax
call esi
mov edx, dword [0x709018]
push str.WSAAsyncSelect
push edx
mov dword [0x709024], eax
call esi
mov dword [0x709028], eax
mov eax, dword [0x709018]
push str.getaddrinfo
push eax
call esi
mov ecx, dword [0x709018]
push str.gethostbyaddr
push ecx
mov dword [0x70902c], eax
call esi
mov edx, dword [0x709018]
push str.gethostbyname
push edx
mov dword [0x709030], eax
call esi
mov dword [0x709034], eax
mov eax, dword [0x709018]
push str.gethostname
push eax
call esi
mov ecx, dword [0x709018]
push str.ntohs
push ecx
mov dword [0x709038], eax
call esi
mov edx, dword [0x709018]
push str.htons
push edx
mov dword [0x70903c], eax
call esi
mov dword [0x709040], eax
mov eax, dword [0x709018]
push str.connect
push eax
call esi
mov ecx, dword [0x709018]
push str.socket
push ecx
mov dword [0x709044], eax
call esi
mov edx, dword [0x709018]
push str.send
push edx
mov dword [0x709048], eax
call esi
mov dword [0x70904c], eax
mov eax, dword [0x709018]
push str.sendto
push eax
call esi
mov ecx, dword [0x709018]
push str.recvfrom
push ecx
mov dword [0x709050], eax
call esi
mov edx, dword [0x709018]
push str.accept
push edx
mov dword [0x709054], eax
call esi
mov dword [0x709058], eax
mov eax, dword [0x709018]
push str.closesocket
push eax
call esi
mov ecx, dword [0x709018]
push str.shutdown
push ecx
mov dword [0x70905c], eax
call esi
mov edx, dword [0x709018]
push str.listen
push edx
mov dword [0x709060], eax
call esi
mov dword [0x709064], eax
mov eax, dword [0x709018]
push str.bind
push eax
call esi
mov ecx, dword [0x709018]
push str.inet_addr
push ecx
mov dword [0x709068], eax
call esi
mov edx, dword [0x709018]
push str.recv
push edx
mov dword [0x70906c], eax
call esi
mov dword [0x709070], eax
cmp dword [0x709074], 0
jne 0x4e7d15
push str.Imm32.dll
call ebp
push str.ImmGetContext
push eax
mov dword [0x709074], eax
call esi
mov dword [0x709078], eax
mov eax, dword [0x709074]
push str.ImmReleaseContext
push eax
call esi
mov ecx, dword [0x709074]
push str.ImmGetOpenStatus
push ecx
mov dword [0x70907c], eax
call esi
mov edx, dword [0x709074]
push str.ImmGetConversionStatus
push edx
mov dword [0x709080], eax
call esi
mov dword [0x709084], eax
mov eax, dword [0x709074]
push str.ImmNotifyIME
push eax
call esi
mov ecx, dword [0x709074]
push str.ImmSetOpenStatus
push ecx
mov dword [0x709088], eax
call esi
mov edx, dword [0x709074]
push str.ImmGetCandidateListA
push edx
mov dword [0x70908c], eax
call esi
mov dword [0x709090], eax
mov eax, dword [0x709074]
push str.ImmGetCompositionStringA
push eax
call esi
mov ecx, dword [0x709074]
push str.ImmSetCompositionStringA
push ecx
mov dword [0x709094], eax
call esi
mov dword [0x709098], eax
cmp dword [0x70909c], 0
jne 0x4e7dd0
push str.winmm.dll
call ebp
push str.timeSetEvent
push eax
mov dword [0x70909c], eax
call esi
mov edx, dword [0x70909c]
push str.timeKillEvent
push edx
mov dword [0x7090a0], eax
call esi
mov dword [0x7090a4], eax
mov eax, dword [0x70909c]
push str.timeBeginPeriod
push eax
call esi
mov ecx, dword [0x70909c]
push str.timeEndPeriod
push ecx
mov dword [0x7090a8], eax
call esi
mov edx, dword [0x70909c]
push str.timeGetTime
push edx
mov dword [0x7090ac], eax
call esi
mov dword [0x7090b0], eax
mov eax, dword [0x70909c]
push str.timeGetDevCaps
push eax
call esi
mov ecx, dword [0x70909c]
push str.joyGetPosEx
push ecx
mov dword [0x7090b4], eax
call esi
mov edx, dword [0x70909c]
push str.joyGetDevCapsA
push edx
mov dword [0x7090b8], eax
call esi
mov dword [0x7090bc], eax
mov eax, dword [0x70909c]
push str.mciSendCommandA
push eax
call esi
mov dword [0x7090c0], eax
cmp dword [0x7090c4], 0
jne 0x4e7e50
push str.ole32.dll
call ebp
push str.CoCreateInstance
push eax
mov dword [0x7090c4], eax
call esi
mov ecx, dword [0x7090c4]
push str.CoTaskMemAlloc
push ecx
mov dword [0x7090c8], eax
call esi
mov edx, dword [0x7090c4]
push str.CoTaskMemFree
push edx
mov dword [0x7090cc], eax
call esi
mov dword [0x7090d0], eax
mov eax, dword [0x7090c4]
push str.CoInitialize
push eax
call esi
mov ecx, dword [0x7090c4]
push str.CoFreeUnusedLibraries
push ecx
mov dword [0x7090d4], eax
call esi
mov edx, dword [0x7090c4]
push str.CoUninitialize
push edx
mov dword [0x7090d8], eax
call esi
mov dword [0x7090dc], eax
cmp dword [0x7090e0], 0
jne 0x4e7e72
push str.comctl32.dll
call ebp
push str.InitCommonControls
push eax
mov dword [0x7090e0], eax
call esi
mov dword [0x7090e4], eax
cmp dword [0x709108], 0
push ebx
jne 0x4e7f49
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x14]
push ecx
call fcn.004ebdb0
add esp, 8
call fcn.004ebea0
mov ebx, eax
xor edi, edi
test ebx, ebx
jle 0x4e7eda
nop
lea edx, [esp + 0x28]
push edi
push edx
call fcn.004ebed0
mov ecx, dword [eax]
mov ebp, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
add esp, 8
cmp ecx, dword [esp + 0x10]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], eax
jne 0x4e7ecd
cmp edx, dword [esp + 0x14]
je 0x4e7ed4
add edi, 1
cmp edi, ebx
jl 0x4e7ea0
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp edi, ebx
jne 0x4e7f05
cmp dword [esp + 0x10], 0x140
jne 0x4e7efb
cmp dword [esp + 0x14], 0xf0
jne 0x4e7efb
cmp dword [0x71dfbc], 0
je 0x4e7f05
push 1
call fcn.004e1ff0
add esp, 4
cmp dword [0x71df64], 0x140
jne 0x4e7f44
cmp dword [0x71df68], 0xf0
jne 0x4e7f44
cmp dword [0x709108], 0
jne 0x4e7f44
mov dword [0x7c6e70], 1
mov dword [0x71df64], 0x280
mov dword [0x71df68], 0x1e0
mov edi, 1
call fcn.004ebdf0
cmp eax, edi
jne 0x4e7f5c
push 0
call fcn.004ebd50
add esp, 4
call fcn.0052f7f0
call fcn.0051b410
push 0
call fcn.004e3250
push 0x709fac
call dword [0x6cf4f4]
add esp, 8
cmp byte [0x70a2b4], 0
jne 0x4e7f94
push 0x709fac
push 0x70a2b4
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
call fcn.004df010
cmp dword [0x714660], 0
jne 0x4e8005
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov ebx, dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edi, eax
push 0xe
push edi
call ebx
push 0xc
push edi
mov ebp, eax
call ebx
imul ebp, eax
push edi
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp ebp, 0x18
jne 0x4e7fd8
cmp dword [0x709108], 1
je 0x4e7fe2
call fcn.004ebe10
cmp eax, 0x18
jne 0x4e7ffa
push 0x6a2284
call fcn.004e16a0
add esp, 4
pop ebx
pop esi
pop ebp
or eax, 0xffffffff
pop edi
add esp, 0x28
ret
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, 1
push 0x709b08
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov ecx, dword [0x709b08]
xor ebx, ebx
or ecx, dword [0x709b0c]
mov dword [0x709b04], edi
jne 0x4e802c
mov dword [0x709b04], ebx
call fcn.004e3680
cmp dword [0x714498], 0x108
jne 0x4e8046
push edi
call fcn.004ebdf0
add esp, 4
cmp dword [0x708fdc], ebx
mov dword [fcn.004de6d0], 0x4de6d0
mov dword [0x6cf510], 0x4de6e0
mov dword [0x6cf514], 0x4de6f0
mov dword [fcn.004de6c0], 0x4de6c0
mov dword [fcn.004de6b0], 0x4de6b0
mov dword [fcn.004de6a0], 0x4de6a0
mov dword [0x6cf524], 0x4de5c0
mov dword [0x6cf528], 0x4de670
mov dword [0x6cf52c], 0x4de680
mov dword [0x6cf520], 0x4de560
mov dword [0x6cf51c], 0x4de550
mov dword [fcn.004e15d0], 0x4e15d0
jne 0x4e80df
push str.dwmapi.dll
call ebp
push str.DwmEnableComposition
push eax
mov dword [0x708fdc], eax
call esi
mov dword [0x708fe0], eax
cmp dword [0x709014], ebx
jne 0x4e8100
push str.User32.dll
call ebp
push str.WINNLSEnableIME
push eax
mov dword [0x709014], eax
call esi
mov dword [0x709010], eax
push ebx
call fcn.00503c70
add esp, 4
cmp dword [0x709b1c], ebx
jne 0x4e8148
push 0x6a1a18
call fcn.004e16a0
add esp, 4
push ebx
call dword [0x7090d4]
test eax, eax
jge 0x4e8135
push 0x6a19f8
call fcn.004e16a0
jmp 0x4e8145
push 0x6a19e8
call fcn.004e16a0
mov dword [0x709b1c], edi
add esp, 4
call fcn.004e6520
cmp eax, 0xffffffff
je 0x4e8182
cmp dword [0x71466c], ebx
jne 0x4e8164
call fcn.005116f0
cmp eax, 0xffffffff
je 0x4e8182
cmp dword [0x714668], ebx
jne 0x4e8171
call fcn.005188a0
cmp dword [0x714664], ebx
jne 0x4e8198
call fcn.005061d0
test eax, eax
jge 0x4e8198
call fcn.004e4e20
mov dword [0x709fa8], ebx
pop ebx
pop esi
pop ebp
or eax, 0xffffffff
pop edi
add esp, 0x28
ret
call fcn.004e2840
cmp dword [0x709108], ebx
mov dword [0x709fa4], edi
jne 0x4e81c3
cmp dword [0x709000], ebx
jne 0x4e81c3
mov edx, dword [0x708fd4]
push edi
push edx
call fcn.004ded20
add esp, 8
call fcn.004df2c0
push 0xfffffffffffffffe
call fcn.00504f30
push 0xfffffffffffffffc
call fcn.00504f30
add esp, 8
cmp dword [0x714664], ebx
jne 0x4e81e6
call fcn.00527ea0
cmp dword [0x713f08], edi
mov dword [0x709fa8], ebx
jne 0x4e81fa
mov dword [0x713f04], ebx
pop ebx
pop esi
pop ebp
xor eax, eax
pop edi
add esp, 0x28
ret