Function at 0x427820
Capabilities:
Read .ini file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x44564f
push eax
mov eax, dword [0x466c98]
mov dword fs:[0], esp
sub esp, 0x58
push ebp
push esi
xor ebp, ebp
cmp eax, ebp
mov esi, ecx
push edi
mov dword [esi + 0x14bf], 0xe
jne 0x427a32
push ebp
push 0x44000000
push ebp
push ebp
push ebp
push ebp
push str..AGWXYW.vxd
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [esi + 0x212d], eax
jne 0x4278d0
push str.AgwXyw.vxd_Not_Found__n_Tnc_Will_Be_IDLE__
push 0x4603bc
push 0x4603c4
mov dword [esi + 0x14c3], ebp
mov dword [esi + 0x162c], ebp
call fcn.0040d190
mov ecx, dword [esi + 0x1055]
add esp, 0xc
push 0x10
push 0x4603cc
push 0x466a30
call fcn.00401480
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
mov eax, 1
pop ebp
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret 4
mov edi, dword [esp + 0x74]
push ebx
push edi
push 3
push 0x4603e0
push 0x4603e4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push edi
push 0xa
mov dword [esp + 0x18], eax
mov ebx, eax
lea eax, [esp + 0x50]
push eax
push 0x4603f4
push 0x4603f8
push 0x460400
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x4c]
push 0x460410
push edx
call fcn.0043a803
mov eax, dword [esp + 0x1c]
push 2
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x3d]
push edx
mov dword [esp + 0x2c], eax
mov byte [esp + 0x40], bl
call fcn.004394b0
add esp, 0x18
push ebp
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esi + 0x212d]
push 0xa
lea ecx, [esp + 0x28]
push ecx
push 5
lea edx, [esp + 0x3c]
push edx
push 0x222000
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov al, byte [esp + 0x1c]
test al, al
pop ebx
je 0x4278b7
movsx eax, al
dec eax
cmp eax, 3
ja case.default.0x42797f
jmp dword [eax*4 + 0x427b00]
push str.G4XYWDXL_Driver_Not_Installed__Hook_Irq_Failed__
push str.XYW2
push 0x460450
call fcn.0040d190
add esp, 0xc
push 0x10
push 0x460458
jmp 0x427a92
push str.G4XYW_Driver_Not_Installed__Com_ini_Failed__
push str.XYW3
push 0x4604a4
call fcn.0040d190
add esp, 0xc
push 0x10
push 0x4604ac
jmp 0x427a92
push str.G4XYW_Driver_Not_Installed__Timer_ini_Failed__
push str.XYW4
push 0x4604f8
call fcn.0040d190
add esp, 0xc
push 0x10
push 0x460500
jmp 0x427a92
push str.G4XYW_Driver_Not_Installed__Port_Trap_Failed__
push str.XYW5
push 0x46054c
call fcn.0040d190
add esp, 0xc
push 0x10
push 0x460554
jmp 0x427a92
push str.G4XYW_Driver_Not_Installed__n
push str.XYW6
push 0x460590
call fcn.0040d190
add esp, 0xc
push 0x10
push 0x460598
jmp 0x427a92
push 0x10e74
call fcn.004394a2
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebp
mov dword [esp + 0x6c], ebp
je 0x427a54
mov ecx, eax
call fcn.00411840
jmp 0x427a56
xor eax, eax
mov ecx, dword [esp + 0x74]
mov dword [esi + 0x104d], eax
mov edx, dword [eax]
push ecx
mov ecx, eax
mov dword [esp + 0x70], 0xffffffff
call dword [edx + 0x10]
test eax, eax
jne 0x427acb
push str.AgwXyw.sys_Not_Installed__Tnc_Will_Be_IDLE__
push str.XYW1
push 0x4605e4
call fcn.0040d190
add esp, 0xc
push 0x10
push 0x4605ec
mov ecx, dword [esi + 0x1055]
push 0x466a30
call fcn.00401480
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
mov dword [esi + 0x14c3], ebp
mov dword [esi + 0x162c], ebp
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret 4
mov ecx, dword [esi + 0x104d]
mov edi, 1
mov dword [esi + 0x14c3], edi
mov dword [esi + 0x162c], edi
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [esp + 0x64]
mov eax, edi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x64
ret 4