Function at 0x4098f9
Capabilities:
Enumerate gui resources
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x88c
push ebx
push esi
push edi
xor edi, edi
push 0x18e
lea eax, [esp + 0x70e]
push edi
push eax
mov word [esp + 0x714], di
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [esp + 0x708]
push eax
push 0x101
call sub.WS2_32.dll_WSAStartup
call fcn.0040284f
test eax, eax
jne 0x409949
inc eax
jmp 0x409b7c
call fcn.0040aab1
push 0x8001
call dword [sym.imp.KERNEL32.DLL_SetErrorMode]
push edi
push 0x40aa96
push edi
mov dword [0x40fa24], 0x11223344
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.DLL_EnumResourceTypesW]
lea eax, [esp + 0x60]
mov dword [esp + 0x24], 0x400
mov dword [esp + 0x28], 0x100
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x38], 0x20
mov dword [esp + 0x30], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x40], edi
call fcn.00409622
push dword [ebp + 0x10]
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x70c], eax
call fcn.00405326
mov esi, dword [esp + 0x704]
push str._savelangfile
call fcn.004054a3
test eax, eax
jl 0x4099fd
mov dword [0x4100e8], 0x40f27c
call fcn.004062eb
jmp 0x409b1e
call fcn.0040615a
mov esi, dword [esp + 0x704]
push str._deleteregkey
call fcn.004054a3
test eax, eax
jge 0x409b1e
mov eax, dword [esp + 0x704]
cmp dword [eax + 0x30], 1
jle 0x409a39
lea ebx, [esp + 0x60]
call fcn.0040979b
test eax, eax
jne 0x409b1e
lea esi, [esp + 0x60]
call fcn.004095a1
cmp dword [esp + 0x2ac], 3
jne 0x409a50
push 3
jmp 0x409a52
push 5
push dword [esp + 0x26c]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esp + 0x268]
call dword [sym.imp.USER32.dll_UpdateWindow]
push edi
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleW]
push 0x67
push eax
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
push edi
push edi
push 0x40f
push dword [esp + 0x274]
mov dword [esp + 0x290], eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push edi
push edi
push edi
lea eax, [esp + 0x50]
push eax
call esi
test eax, eax
je 0x409b19
mov ebx, dword [sym.imp.USER32.dll_IsDialogMessageW]
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x284]
push dword [esp + 0x270]
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x409b0b
mov eax, dword [0x40fb44]
cmp eax, edi
je 0x409ae3
lea ecx, [esp + 0x44]
push ecx
push eax
call ebx
test eax, eax
jne 0x409b0b
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x26c]
call ebx
test eax, eax
jne 0x409b0b
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push edi
push edi
push edi
lea eax, [esp + 0x50]
push eax
call esi
test eax, eax
jne 0x409ab1
call sub.WS2_32.dll_WSACleanup
mov esi, dword [esp + 0x6f0]
cmp esi, edi
mov ebx, esi
mov dword [esp + 0x60], 0x40d1fc
je 0x409b3f
call fcn.00405137
push ebx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
lea esi, [esp + 0x6fc]
call fcn.0040ae7c
lea esi, [esp + 0x6ec]
call fcn.0040ae7c
lea esi, [esp + 0x10]
mov dword [esp + 0x60], 0x40c3f0
call fcn.00405020
lea esi, [esp + 0x30]
call fcn.0040568e
lea esi, [esp + 0x10]
call fcn.00405020
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10