Function at 0x4b1cf0
Capabilities:
Check for debugger via api
Enumerate files on windows
Query or enumerate registry value
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6e66f6
mov eax, dword fs:[0]
push eax
sub esp, 0x764
mov eax, dword [0x766480]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x748], esi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x738], edi
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
jne 0x4b2eba
mov dword [ebp - 0x72c], eax
lea eax, [ebp - 0x72c]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_CheckRemoteDebuggerPresent]
cmp dword [ebp - 0x72c], 0
jne 0x4b2eba
lea eax, [ebp - 0x72c]
mov dword [ebp - 0x72c], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_CheckRemoteDebuggerPresent]
cmp dword [ebp - 0x72c], 0
jne 0x4b2eba
mov dword [ebp - 0x72c], 0
mov eax, dword fs:[0x30]
movzx eax, byte [eax + 0x68]
mov dword [ebp - 0x72c], eax
cmp dword [ebp - 0x72c], 0
jne 0x4b2eba
push str.MHPClient.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x72c], eax
test eax, eax
jne 0x4b1de1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x10
push str.Initialization_Error
push str.Failed_to_load_dll_file_s_
jmp 0x4b2ec6
push str.EntryProc
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x4b1e1c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x10
push str.Initialization_Error
push str.Failed_to_load_dll_file_s_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push dword [ebp - 0x72c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x4b2ece
push str.EntryProc
call eax
add esp, 4
cmp dword [esi + 0x390], 0
jne 0x4b1f00
push 0
push 0
push 0
push str.DISPLAY
call dword [sym.imp.GDI32.dll_CreateICA]
mov edi, eax
lea eax, [esi + 0xc]
push eax
push 0
push 0
mov dword [ebp - 0x72c], edi
mov dword [ebp - 0x740], eax
call dword [sym.imp.USER32.dll_EnumDisplaySettingsA]
push 8
push edi
mov edi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
call edi
push 0xa
push dword [ebp - 0x72c]
mov dword [esi + 0x78], eax
call edi
push 0xc
push dword [ebp - 0x72c]
mov dword [esi + 0x7c], eax
call edi
push 0x74
push dword [ebp - 0x72c]
mov dword [esi + 0x74], eax
call edi
mov dword [esi + 0x84], eax
lea edi, [ebp - 0x1f0]
mov esi, dword [ebp - 0x740]
mov ecx, 0x27
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x748]
push 0
mov dword [ebp - 0x1c8], 0x5c0000
mov eax, dword [esi + 0x380]
mov dword [ebp - 0x184], eax
mov eax, dword [esi + 0x384]
mov dword [ebp - 0x180], eax
mov eax, dword [esi + 0x388]
mov dword [ebp - 0x188], eax
mov eax, dword [esi + 0x38c]
mov dword [ebp - 0x178], eax
lea eax, [ebp - 0x1f0]
push eax
call dword [sym.imp.USER32.dll_ChangeDisplaySettingsA]
mov edi, dword [ebp - 0x738]
mov eax, dword [ebp + 0xc]
push 0x7f00
mov dword [esi + 0x380], eax
mov eax, dword [ebp + 0x10]
mov dword [esi], edi
mov dword [ebp - 0x760], edi
mov edi, dword [sym.imp.USER32.dll_LoadCursorA]
push 0
mov dword [esi + 0x384], eax
mov dword [ebp - 0x770], 0xb
mov dword [ebp - 0x76c], 0x4b4fe0
mov dword [ebp - 0x768], 0
mov dword [ebp - 0x764], 4
mov dword [ebp - 0x75c], 0
call edi
push 0x68
push dword [ebp - 0x738]
call edi
push 4
mov dword [ebp - 0x758], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [ebp - 0x754], eax
lea eax, [ebp - 0x770]
push eax
mov dword [ebp - 0x750], 0
mov dword [ebp - 0x74c], str.R.O.W
call dword [sym.imp.USER32.dll_RegisterClassA]
test ax, ax
je 0x4b2ece
mov ecx, dword [esi + 0x384]
mov edi, dword [esi + 0x390]
test edi, edi
mov edx, dword [esi + 0x380]
push 0
push dword [ebp - 0x738]
lea eax, [ecx + 0x20]
push 0
push 0
cmove eax, ecx
mov ecx, 0x90000000
push eax
lea eax, [edx + 6]
cmove eax, edx
push eax
push 0
push 0
mov eax, 0x10ca0000
cmove eax, ecx
push eax
push str.R.O.W
push str.R.O.W
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [esi + 4], eax
mov dword [0x1a4e790], eax
lea eax, [ebp - 0x35c]
push str.SoftwareROWLIBERATION
push eax
mov dword [ebp - 0x744], 0
mov dword [ebp - 0x73c], 0x100
call fcn.0044f6e0
add esp, 8
lea eax, [ebp - 0x734]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x35c]
push eax
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4b2eac
mov eax, dword [esi + 0x348]
mov ecx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov eax, dword [eax + 0x17c]
sub eax, 0
je 0x4b20aa
sub eax, 1
je 0x4b208c
sub eax, 1
jne 0x4b20d6
lea eax, [ebp - 0x73c]
push eax
lea eax, [esi + 0xa8]
push eax
lea eax, [ebp - 0x744]
push eax
push 0
push str.BGFolder
jmp 0x4b20c6
lea eax, [ebp - 0x73c]
push eax
lea eax, [esi + 0xa8]
push eax
lea eax, [ebp - 0x744]
push eax
push 0
push str.Folder
jmp 0x4b20c6
lea eax, [ebp - 0x73c]
push eax
lea eax, [esi + 0xa8]
push eax
lea eax, [ebp - 0x744]
push eax
push 0
push str.TestFolder
push dword [ebp - 0x734]
call ecx
test eax, eax
jne 0x4b2e9b
lea eax, [ebp - 0x734]
push eax
lea ecx, [esi + 0x1ac]
call fcn.005dcdd0
test al, al
jne 0x4b2111
push 0
push str.Program_Error
push 0x85d9c8
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push dword [ebp - 0x734]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4b2ece
lea eax, [ebp - 0x734]
push eax
call fcn.0062b1f0
add esp, 4
test al, al
je 0x4b20ec
lea eax, [ebp - 0x73c]
push eax
lea edi, [esi + 0x39c]
push edi
push 0
push 0
push str.UseJoyStick
push dword [ebp - 0x734]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x4b2151
mov dword [edi], 0
push dword [ebp - 0x734]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esi + 0x348]
cmp dword [eax + 0x178], 0
jne 0x4b2171
call fcn.00448750
push 0x32ee98
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x740], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x4b219a
mov ecx, eax
call fcn.006a53d0
mov edi, eax
jmp 0x4b219c
xor edi, edi
mov ecx, edi
mov dword [ebp - 4], 0xffffffff
call fcn.006a57f0
mov ecx, edi
call fcn.006a5440
mov ecx, edi
call fcn.006a5810
mov ecx, edi
call fcn.006a58f0
mov ecx, 1
test eax, eax
jne 0x4b2307
xor al, al
cmp dword [0x747944], 0
je 0x4b21db
mov al, cl
jmp 0x4b2242
cmp dword [0x74793c], 0
je 0x4b21e8
mov al, cl
jmp 0x4b2242
cmp dword [0x747950], ecx
je 0x4b21f4
mov al, cl
jmp 0x4b2242
cmp dword [0x74794c], 0
je 0x4b2201
mov al, cl
jmp 0x4b2242
cmp dword [0x74792c], 0
je 0x4b220e
mov al, cl
jmp 0x4b2242
cmp dword [0x131f118], 0
je 0x4b221b
mov al, cl
jmp 0x4b2242
cmp dword [0x131f0fc], 0
je 0x4b2228
mov al, cl
jmp 0x4b2242
cmp dword [0x131f120], 0
je 0x4b2235
mov al, cl
jmp 0x4b2242
cmp dword [0x131f11c], 0
movzx eax, al
cmovne eax, ecx
mov dword [0x747944], 0
mov dword [0x74793c], 0
mov dword [0x747950], ecx
mov dword [0x74794c], 0
mov dword [0x74792c], 0
mov dword [0x131f118], 0
mov dword [0x131f0fc], 0
mov dword [0x131f120], 0
mov dword [0x131f11c], 0
test al, al
je 0x4b2307
lea eax, [ebp - 0x734]
push eax
push 0xf003f
push 0
lea eax, [ebp - 0x35c]
push eax
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4b22f3
lea eax, [ebp - 0x734]
push eax
call fcn.0062b410
add esp, 4
test al, al
jne 0x4b22e7
push 0
push 0x705e74
push str.Not_Render_Option_Save
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push dword [ebp - 0x734]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0
push 0x705e74
push 0xb31dc8
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
test edi, edi
je 0x4b2320
mov ecx, edi
call fcn.00480f00
push 0x32ee98
push edi
call fcn.006df8f3
add esp, 8
cmp dword [0x131f11c], 0
setne byte [0x743ce8]
mov ecx, dword [esi + 0x348]
push dword [esi + 4]
call fcn.004bd110
test eax, eax
je 0x4b2ece
push dword [esi + 4]
mov ecx, dword [esi + 0x348]
call fcn.004bd110
mov ecx, dword [esi + 0x348]
test eax, eax
je 0x4b2379
push dword [esi + 4]
call fcn.004bd110
test eax, eax
jne 0x4b2383
mov ecx, dword [esi + 0x348]
call fcn.004bef30
mov ecx, dword [esi + 0x348]
call fcn.004bef30
jmp 0x4b2ece
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x779394], eax
mov eax, dword [esi + 0x344]
mov dword [esi + 0x360], 0x497
cmp dword [eax + 0x4c64], 0
jne 0x4b23c4
cmp dword [0x1a4e7f4], 0xffffffff
jle 0x4b23c4
mov edi, dword [sym.imp.USER32.dll_ShowCursor]
push 0
call edi
mov dword [0x1a4e7f4], eax
cmp eax, 0xffffffff
jg 0x4b23b6
push 0x50
lea eax, [ebp - 0x5b4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
lea edi, [esi + 0xa8]
push edi
lea eax, [ebp - 0x134]
push str._sMinia.exe
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x5b4]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x20
test eax, eax
jne 0x4b2e8d
push edi
lea eax, [ebp - 0x258]
xor esi, esi
push str._sOCTREE.OCT
push eax
mov dword [ebp - 0x738], esi
call fcn.0044f6e0
add esp, 0xc
lea eax, [ebp - 0x6f4]
push eax
lea eax, [ebp - 0x258]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x72c], eax
test byte [ebp - 0x6f4], 0x10
jne 0x4b248f
lea eax, [ebp - 0x6c8]
push eax
push edi
lea eax, [ebp - 0x258]
push str._sOCTREE_s
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x738]
mov dword [ebp - 0x738], 0
push eax
lea eax, [ebp - 0x258]
push eax
call fcn.006a6560
mov eax, dword [ebp - 0x72c]
add esp, 0x18
xor esi, dword [ebp - 0x738]
lea ecx, [ebp - 0x6f4]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
mov eax, dword [ebp - 0x72c]
jne 0x4b2441
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor dword [ebp - 0x5b4], esi
lea eax, [ebp - 0x154]
xorps xmm0, xmm0
mov dword [ebp - 0x730], esi
mov esi, dword [ebp - 0x748]
mov dword [ebp - 0x154], 0x474e45
movups xmmword [ebp - 0x150], xmm0
mov dword [ebp - 0x138], 0
movq qword [ebp - 0x140], xmm0
mov dword [ebp - 0x738], 0
mov dword [ebp - 0x72c], eax
nop dword [eax]
push eax
push edi
lea eax, [ebp - 0x134]
push str._sLanguage_sNPCScript.mcf
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x18
test eax, eax
jne 0x4b2e8d
mov eax, dword [ebp - 0x730]
mov ecx, str._sLanguage_sItemScript.gsf
xor dword [ebp - 0x5b0], eax
mov eax, dword [esi + 0x348]
push dword [ebp - 0x72c]
push edi
cmp dword [eax + 0x17c], 2
mov eax, str._sLanguage_sBGItemScript.gsf
cmove ecx, eax
lea eax, [ebp - 0x134]
push ecx
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x18
test eax, eax
jne 0x4b2e8d
push dword [ebp - 0x72c]
mov eax, dword [ebp - 0x730]
xor dword [ebp - 0x5ac], eax
lea eax, [ebp - 0x134]
push edi
push str._sLanguage_sSkillScript.gsf
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x18
test eax, eax
jne 0x4b2e8d
push dword [ebp - 0x72c]
mov eax, dword [ebp - 0x730]
xor dword [ebp - 0x5a8], eax
lea eax, [ebp - 0x134]
push edi
push str._sLanguage_sMonsterProtoType.gsf
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x18
test eax, eax
jne 0x4b2e8d
push dword [ebp - 0x72c]
mov eax, dword [ebp - 0x730]
xor dword [ebp - 0x5a4], eax
lea eax, [ebp - 0x134]
push edi
push str._sLanguage_sQuest.mcf
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x18
test eax, eax
jne 0x4b2e8d
mov eax, dword [ebp - 0x730]
xor dword [ebp - 0x5a0], eax
mov ecx, dword [ebp - 0x738]
mov eax, dword [ebp - 0x72c]
inc ecx
add eax, 0x20
mov dword [ebp - 0x738], ecx
mov dword [ebp - 0x72c], eax
cmp ecx, 1
jl 0x4b2500
push edi
lea eax, [ebp - 0x134]
push str._sScript1.gsf
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x59c]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x14
test eax, eax
jne 0x4b2e8d
push edi
lea eax, [ebp - 0x134]
push str._sCharacterDataChrEvent.eds
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x598]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x14
test eax, eax
jne 0x4b2e8d
push edi
lea eax, [ebp - 0x134]
push str._sChemical.gsf
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x594]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x14
test eax, eax
jne 0x4b2e8d
push edi
lea eax, [ebp - 0x134]
push str._sSpeacialCompensation.gsf
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x590]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x14
test eax, eax
jne 0x4b2e8d
push edi
lea eax, [ebp - 0x134]
push str._szone1.z3s
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x14
test eax, eax
jne 0x4b2e8d
mov eax, dword [ebp - 0x730]
xor dword [ebp - 0x58c], eax
lea eax, [ebp - 0x134]
push edi
push str._szone5.z3s
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x14
test eax, eax
jne 0x4b2e8d
mov eax, dword [ebp - 0x730]
xor dword [ebp - 0x58c], eax
lea eax, [ebp - 0x134]
push edi
push str._szone8.z3s
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x14
test eax, eax
jne 0x4b2e8d
mov eax, dword [ebp - 0x730]
xor dword [ebp - 0x58c], eax
lea eax, [ebp - 0x134]
push edi
push str._szone12.z3s
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x14
test eax, eax
jne 0x4b2e8d
mov eax, dword [ebp - 0x730]
xor dword [ebp - 0x58c], eax
lea eax, [ebp - 0x134]
push edi
push str._szone16.z3s
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x14
test eax, eax
jne 0x4b2e8d
mov eax, dword [ebp - 0x730]
xor dword [ebp - 0x58c], eax
lea eax, [ebp - 0x134]
push edi
push str._sMineralVein8.gsf
push eax
call fcn.0044f6e0
lea eax, [ebp - 0x588]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.006a6560
add esp, 0x14
test eax, eax
jne 0x4b2e8d
mov eax, dword [ebp - 0x588]
xor eax, dword [ebp - 0x590]
xor eax, dword [ebp - 0x594]
xor eax, dword [ebp - 0x598]
xor eax, dword [ebp - 0x59c]
xor eax, dword [ebp - 0x58c]
xor eax, dword [ebp - 0x5a0]
xor eax, dword [ebp - 0x5a4]
xor eax, dword [ebp - 0x5a8]
xor eax, dword [ebp - 0x5ac]
xor eax, dword [ebp - 0x5b0]
xor eax, dword [ebp - 0x5b4]
mov ecx, dword [esi + 0x344]
push edi
mov dword [esi + 0x35c], eax
call fcn.004b8a90
push edi
lea eax, [ebp - 0x460]
push str._sClientOption.dat
push eax
call fcn.0044f6e0
mov ecx, dword [esi + 0x344]
lea eax, [ebp - 0x460]
add esp, 0xc
push eax
call fcn.004b8d90
call fcn.006ab230
mov ecx, dword [0x1b9b5fc]
mov dword [0x77ae98], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x7795e0]
cmp eax, dword [ecx + 0x20]
jg 0x4b2eed
push 1
push 0
push 0
push dword [esi + 4]
mov ecx, 0x779398
call fcn.0066bd60
call fcn.0065cc70
mov eax, dword [esi + 0x1bc]
lea ecx, [esi + 0x1f0]
mov dword [0x13205e4], eax
mov eax, dword [esi + 0x1c0]
mov dword [0x13205e8], eax
mov eax, dword [esi + 0x1c4]
mov dword [0x13205ec], eax
push dword [esi + 0x384]
push dword [esi + 0x380]
push 0
push 0
push 1
push 1
push dword [esi + 4]
call fcn.0065ad20
push 0x244
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x740], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x4b29cb
mov ecx, eax
call fcn.005ee940
mov ecx, eax
jmp 0x4b29cd
xor ecx, ecx
mov eax, dword [esi + 0x344]
push edi
sub esp, 0x44
mov dword [ebp - 4], 0xffffffff
mov dword [eax], ecx
mov ecx, esp
mov eax, dword [0x131f244]
mov dword [0xf89834], eax
mov dword [0xf89720], 0x131fe50
mov dword [0xf8f094], 0x1320148
mov dword [ecx], vtable.CInitValue.0
mov eax, dword [esi + 0x1b0]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x1b4]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x1b8]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x1bc]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x1c0]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x1c4]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x1c8]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi + 0x1cc]
mov dword [ecx + 0x20], eax
mov eax, dword [esi + 0x1d0]
mov dword [ecx + 0x24], eax
mov eax, dword [esi + 0x1d4]
mov dword [ecx + 0x28], eax
mov eax, dword [esi + 0x1d8]
mov dword [ecx + 0x2c], eax
mov eax, dword [esi + 0x1dc]
mov dword [ecx + 0x30], eax
mov eax, dword [esi + 0x1e0]
mov dword [ecx + 0x34], eax
mov eax, dword [esi + 0x1e4]
mov dword [ecx + 0x38], eax
mov eax, dword [esi + 0x1e8]
mov dword [ecx + 0x3c], eax
mov eax, dword [esi + 0x1ec]
mov dword [ecx + 0x40], eax
mov ecx, dword [esi + 0x344]
mov ecx, dword [ecx]
call fcn.005f0300
mov eax, dword [esi + 0x380]
mov ecx, 0x76a130
push dword [0x131f244]
mov dword [0xf8973c], eax
mov eax, dword [esi + 0x384]
mov dword [0xf89740], eax
push dword [esi + 4]
call fcn.0049f000
mov eax, dword [0x76a47c]
mov ecx, 0x76a130
mov dword [0x1a4e794], eax
call fcn.0049f680
mov ecx, 0x76a0f8
call fcn.00489940
mov eax, dword [0x131f244]
mov dword [esi + 0x3a8], eax
lea eax, [ebp - 0x35c]
push str.SoftwareROWLIBERATION
push eax
call fcn.0044f6e0
add esp, 8
lea eax, [ebp - 0x734]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x35c]
push eax
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4b2bef
lea eax, [ebp - 0x73c]
mov dword [ebp - 0x73c], 0x17
push eax
lea eax, [ebp - 0x28]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x744]
movq qword [ebp - 0x18], xmm0
push eax
push 0
push str.UserID
push dword [ebp - 0x734]
movups xmmword [ebp - 0x28], xmm0
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ecx, dword [esi + 0x344]
test eax, eax
jne 0x4b2ba3
mov dword [ecx + 0x4f38], 1
lea edx, [ebp - 0x28]
mov ecx, dword [esi + 0x348]
add ecx, 0x11c
nop
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x4b2b90
xorps xmm0, xmm0
jmp 0x4b2bc5
mov dword [ecx + 0x4f38], 0
xorps xmm0, xmm0
mov eax, dword [esi + 0x348]
movups xmmword [eax + 0x11c], xmm0
movq qword [eax + 0x12c], xmm0
mov eax, dword [esi + 0x348]
movups xmmword [eax + 0x134], xmm0
movups xmmword [eax + 0x144], xmm0
mov dword [eax + 0x154], 0
push dword [ebp - 0x734]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
movups xmm0, xmmword [0x721ec8]
mov dword [ebp - method.SoundMgrInit.virtual_0], vtable.SoundMgrInit.0
mov byte [ebp - 0x720], 0
movups xmmword [ebp - 0x71c], xmm0
mov dword [ebp - 0x70c], 0x5622
mov dword [ebp - 0x708], 2
mov dword [ebp - 0x704], 0x10
mov dword [ebp - 0x700], 5
mov dword [ebp - 0x6fc], 0x14
mov dword [ebp - 0x6f8], 0xa
mov eax, dword [esi + 4]
mov dword [ebp - 0x724], eax
lea eax, [ebp - 0x728]
push eax
mov dword [ebp - 4], 3
call fcn.00667b20
mov ecx, eax
call fcn.00667170
mov ecx, dword [esi + 0x348]
call fcn.004bd120
mov ecx, dword [esi + 0x344]
call fcn.004b8b70
mov eax, dword [0x7797f8]
movzx ecx, byte [0x700992]
mov dword [0x7799f0], 0
mov byte [eax + 0x660], cl
mov eax, dword [0x7797f8]
movzx ecx, byte [0x700992]
mov byte [eax + 0x764], cl
mov eax, dword [0x7797f8]
movzx ecx, byte [0x700992]
mov byte [eax + 0x868], cl
mov ecx, 0x742698
mov eax, dword [esi + 0x344]
mov dword [eax + 0x4f30], 0
call fcn.005b9850
mov ecx, 0x779908
call fcn.0068cec0
mov ecx, dword [0x76a0c8]
call fcn.006a9bf0
xor ecx, ecx
mov dword [ebp - 0x30], 0x474e45
cmp dword [0x779374], 1
lea edi, [ebp - 0x30]
lea eax, [esi + 0xa8]
mov dword [ebp - 0x14], 0
cmovl ecx, dword [0x779374]
xorps xmm0, xmm0
shl ecx, 5
add edi, ecx
movq qword [ebp - 0x1c], xmm0
push edi
push eax
mov eax, dword [esi + 0x348]
mov ecx, str._sLanguage_sBGItemScript.gsf
movups xmmword [ebp - 0x2c], xmm0
cmp dword [eax + 0x17c], 2
mov eax, str._sLanguage_sItemScript.gsf
cmove eax, ecx
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.0044f6e0
add esp, 0x10
lea eax, [ebp - 0x134]
push eax
call fcn.006a4650
mov ecx, eax
call fcn.006a49f0
push edi
lea eax, [esi + 0xa8]
push eax
lea eax, [ebp - 0x134]
push str._sLanguage_sSkillScript.gsf
push eax
call fcn.0044f6e0
mov ecx, dword [0x76a0cc]
lea eax, [ebp - 0x134]
add esp, 0x10
push eax
call fcn.006aade0
push edi
lea eax, [esi + 0xa8]
push eax
lea eax, [ebp - 0x134]
push str._sLanguage_sMonsterProtoType.gsf
push eax
call fcn.0044f6e0
mov ecx, dword [0x76a0c4]
lea eax, [ebp - 0x134]
add esp, 0x10
push eax
call fcn.006aa840
push edi
lea edi, [esi + 0xa8]
push edi
lea eax, [ebp - 0x564]
push str._sLanguage_sQuest.mcf
push eax
call fcn.0044f6e0
add esp, 0x10
lea eax, [ebp - 0x564]
mov ecx, 0x1a987e8
push eax
call fcn.006b6d00
push edi
lea eax, [ebp - 0x134]
push str._sSpeacialCompensation.gsf
push eax
call fcn.0044f6e0
add esp, 0xc
lea eax, [ebp - 0x134]
push eax
call fcn.006a4650
mov ecx, eax
call fcn.006a4c00
push edi
lea eax, [ebp - 0x134]
push str._sChemical.gsf
push eax
call fcn.0044f6e0
add esp, 0xc
lea eax, [ebp - 0x134]
push eax
call fcn.006a4650
mov ecx, eax
call fcn.006a4820
push edi
lea eax, [ebp - 0x134]
push str._sScript1.gsf
push eax
call fcn.0044f6e0
add esp, 0xc
lea ecx, [ebp - 0x134]
push ecx
mov ecx, 0x76a540
call fcn.004ae290
mov edx, dword [esi + 0x344]
movzx ecx, byte [0x700992]
mov byte [edx + 0xac], cl
mov ecx, dword [esi + 0x344]
call fcn.004b8f40
mov eax, 1
jmp 0x4b2ed0
push 0
push 0x780dc8
push 0x7811c8
jmp 0x4b2ec6
push 0
push str.Program_Error
push str.Please_re_install_the_game.
jmp 0x4b20f8
push 0
push str.Program_Error
push str.Please_re_install_the_game.
jmp 0x4b2ec6
push 0x10
push str.Initialization_Error
push str.Debugger_detected_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.006dfb52
mov esp, ebp
pop ebp
ret 0xc
push 0x7795e0
call fcn.006df83c
add esp, 4
cmp dword [0x7795e0], 0xffffffff
jne 0x4b2947
mov ecx, 0x779398
mov dword [ebp - 4], 1
call fcn.0066b8e0
push 0x6fe640
call fcn.006dfb3d
push 0x7795e0
mov dword [ebp - 4], 0xffffffff
call fcn.006df7eb
add esp, 8
jmp 0x4b2947