Function at 0x10007df0
Capabilities:
Create directory
Delete file
Get cpu information
Get file size
Link many functions at runtime
Query or enumerate registry value
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xe08
mov eax, dword [0x10044040]
xor eax, esp
mov dword [esp + 0xe04], eax
push esi
push edi
xor esi, esi
mov ecx, 1
mov edi, 0x1004a1fc
xor eax, eax
lock cmpxchg dword [edi], ecx
test eax, eax
je 0x10007e4c
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0x20
jae 0x10007e31
push 0
jmp 0x10007e33
push 1
call edi
inc esi
mov ecx, 1
xor eax, eax
mov edx, 0x1004a1fc
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0x10007e28
mov edi, edx
cmp dword [0x1004a200], 0
jne 0x10007e74
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapCreate]
xor edx, edx
mov dword [0x1004a200], eax
test eax, eax
mov ecx, 9
cmovne ecx, edx
jmp 0x10007e79
mov ecx, 1
xor eax, eax
xchg dword [edi], eax
test ecx, ecx
je 0x10007e92
push 0x10
push str.Silent_Hill_3_PC_Fix
push str.Unable_to_initialize_MinHook_
jmp 0x1000d1c2
cmp dword [0x1004b018], 1
jne 0x10007efe
lea eax, [esp + 0x30]
mov dword [esp + 0x30], 0
push eax
push 0
call dword [sym.imp.WINMM.dll_waveOutGetVolume]
test eax, eax
je 0x10007ebc
push eax
push str._r_nFailed_to_get_volume_______u_r_n
jmp 0x10007ef4
movzx ecx, word [esp + 0x30]
mov eax, 0xa003c017
mul ecx
shr edx, 0xc
test edx, edx
jne 0x10007efe
push str.Fixing_audio_r_n_r_n
push edx
call fcn.10002a10
add esp, 8
push 0xfffafffa
push 0
call dword [sym.imp.WINMM.dll_waveOutSetVolume]
test eax, eax
je 0x10007efe
push eax
push str._r_nFailed_to_set_volume_______u_r_n
push 1
call fcn.10002a10
add esp, 0xc
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x1004ae10
mov byte [esp + 0x47c], 0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov esi, eax
cmp esi, 0xffffffff
je 0x10007f6f
lea eax, [esp + 0x490]
mov dword [esp + 0x490], 0
push eax
push esi
mov dword [esp + 0x49c], 0
call edi
cmp eax, 1
jne 0x10007f68
cmp dword [esp + 0x490], 0xb123a8
jbe 0x10007f68
mov byte [0x1004a487], al
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x1004a960
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x10007fd2
lea eax, [esp + 0x490]
mov dword [esp + 0x490], 0
push eax
push esi
mov dword [esp + 0x49c], 0
call edi
cmp eax, 1
jne 0x10007fcb
cmp dword [esp + 0x490], 0x1303300
jbe 0x10007fcb
mov byte [0x1004ab9b], al
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x1004b4b8
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x10008047
lea eax, [esp + 0x490]
mov dword [esp + 0x490], 0
push eax
push esi
mov dword [esp + 0x49c], 0
call edi
cmp eax, 1
jne 0x10008040
mov eax, dword [esp + 0x460]
mov ecx, 1
cmp dword [esp + 0x490], 0x4b9
movzx eax, al
cmova eax, ecx
mov dword [esp + 0x460], eax
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.RtlGetNtVersionNumbers
push eax
mov dword [esp + 0x28], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x1004b258], eax
test eax, eax
je 0x1000808d
push 0x1004c41c
push 0x1004b724
push 0x1004c1ac
call eax
mov eax, dword [0x1004c41c]
and eax, 0x7fff
mov dword [0x1004c41c], eax
jmp 0x10008092
mov eax, dword [0x1004c41c]
push eax
push dword [0x1004b724]
push dword [0x1004c1ac]
push str.OS_Version______lu._lu._lu_r_n_r_n
push 0
call fcn.10002a10
add esp, 0x14
lea eax, [esp + 0x380]
push 0xdc
push 0
push eax
call fcn.100182b0
add esp, 0xc
mov eax, 0xdc
mov word [esp + 0x3c4], ax
lea eax, [esp + 0x380]
push eax
push 0xffffffffffffffff
push 0
call dword [sym.imp.USER32.dll_EnumDisplaySettingsW]
test eax, eax
jne 0x100080f9
push 0x10
push str.Silent_Hill_3_PC_Fix
push str.Failed_to_get_the_monitor_resolution_
jmp 0x1000d1c2
mov ecx, dword [0x1004a448]
mov eax, dword [0x1004c40c]
test ecx, ecx
jne 0x10008125
test eax, eax
jne 0x10008125
mov ecx, dword [esp + 0x42c]
mov eax, dword [esp + 0x430]
mov dword [0x1004a448], ecx
mov dword [0x1004c40c], eax
cmp dword [0x1004bf68], 0
jne 0x10008142
cmp dword [0x1004c1f0], 0
jne 0x10008142
mov dword [0x1004bf68], ecx
mov dword [0x1004c1f0], eax
push 0x344
lea eax, [esp + 0x40]
mov dword [esp + 0x34], 0
push 0
push eax
call fcn.100182b0
add esp, 0xc
lea eax, [esp + 0x38]
push 1
push eax
push 0
push 0
mov dword [esp + 0x48], 0x348
call dword [sym.imp.USER32.dll_EnumDisplayDevicesW]
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x10008366
push dword [esp + 0x17c]
push str.GPU_StateFlags______p_r_n_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x188]
add esp, 0xc
test al, 4
je 0x100081ae
test al, 1
jne 0x10008255
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x90]
push eax
push 0x80
push 0xfde9
call esi
mov edi, eax
test edi, edi
je 0x10008366
push edi
call fcn.100161be
add esp, 4
mov esi, eax
push edi
push 0
push esi
call fcn.100182b0
add esp, 0xc
lea eax, [esp + 0x7c]
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push eax
push 0x80
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push esi
test eax, eax
je 0x10008358
push str.Secondary_GPU______s_r_n_r_n
push 0
call fcn.10002a10
add esp, 0xc
push esi
call fcn.10016061
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x40]
add esp, 4
inc esi
mov dword [esp + 0x30], esi
push 0x344
push 0
push eax
call fcn.100182b0
add esp, 0xc
lea eax, [esp + 0x38]
push 1
push eax
push esi
jmp 0x10008167
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x90]
push eax
push 0x80
push 0xfde9
call esi
mov dword [esp + 0x30], eax
test eax, eax
je 0x10008366
push eax
call fcn.100161be
add esp, 4
mov edi, eax
push dword [esp + 0x30]
push 0
push edi
call fcn.100182b0
add esp, 0xc
lea eax, [esp + 0x7c]
push 0
push 0
push dword [esp + 0x38]
push edi
push 0xffffffffffffffff
push eax
push 0x80
push 0xfde9
call esi
push edi
test eax, eax
jne 0x100082c4
call fcn.10016061
jmp 0x10008363
push str.Primary_GPU______s_r_n_r_n
push 0
call fcn.10002a10
lea ecx, [esp + 0x88]
add esp, 0xc
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100082e0
sub ecx, edx
sar ecx, 1
lea eax, [ecx + 2]
mov ecx, 2
mul ecx
mov esi, eax
mov eax, 0xffffffff
cmovb esi, eax
push esi
call fcn.100161be
add esp, 4
mov dword [esp + 0x470], eax
push esi
push 0
push eax
call fcn.100182b0
mov edx, dword [esp + 0x47c]
lea ecx, [esp + 0x88]
add esp, 0xc
mov dword [0x1004a6c0], edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10008336
sub ecx, esi
lea eax, [esp + 0x7c]
sar ecx, 1
push eax
lea eax, [ecx + 2]
push eax
push edx
call fcn.1001d96a
add esp, 0xc
push edi
call fcn.10016061
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add esp, 4
cmp dword [0x1004a6c0], 0
jne 0x100083a6
push 0x1e
call fcn.100161be
add esp, 4
mov dword [0x1004a6c0], eax
xorps xmm0, xmm0
movups xmmword [eax], xmm0
push str.Unknown_GPU
movq qword [eax + 0x10], xmm0
push 0xf
mov dword [eax + 0x18], 0
push eax
mov word [eax + 0x1c], 0
call fcn.1001d96a
add esp, 0xc
push 0x190
lea eax, [esp + 0x4d4]
push 0
push eax
call fcn.100182b0
add esp, 8
lea eax, [esp + 0x4d4]
mov edx, str.ProcessorNameString
mov ecx, str.HARDWAREDESCRIPTIONSystemCentralProcessor0
push eax
call fcn.10002e00
add esp, 8
test eax, eax
jne 0x10008473
push eax
push eax
push eax
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x4e4]
push eax
push 0x80
push 0xfde9
call esi
mov dword [esp + 0x30], eax
test eax, eax
je 0x10008473
push eax
call fcn.100161be
add esp, 4
mov edi, eax
push dword [esp + 0x30]
push 0
push edi
call fcn.100182b0
add esp, 0xc
lea eax, [esp + 0x4d0]
push 0
push 0
push dword [esp + 0x38]
push edi
push 0xffffffffffffffff
push eax
push 0x80
push 0xfde9
call esi
test eax, eax
je 0x10008459
push edi
push str.CPU______s_r_n_r_n
push 0
call fcn.10002a10
add esp, 0xc
push edi
call fcn.10016061
add esp, 4
jmp 0x10008482
push str.Unknown_CPU_r_n_r_n
push 0
call fcn.10002a10
add esp, 8
push edi
call fcn.10016061
add esp, 4
jmp 0x10008482
push str.Unknown_CPU_r_n_r_n
push 0
call fcn.10002a10
add esp, 8
push dword [0x1004c40c]
push dword [0x1004a448]
push str.Resolution______d_x__d_r_n
push 0
call fcn.10002a10
push dword [0x1004c1f0]
push dword [0x1004bf68]
push str.Render_Resolution______d_x__d_r_n_r_n
push 0
call fcn.10002a10
xor eax, eax
mov byte [esp + 0x4f], 0
add esp, 0x20
mov dword [esp + 0x4b0], eax
mov word [esp + 0x4b4], ax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x34]
push eax
push 6
lea eax, [esp + 0x4b8]
push eax
push 0x426121
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp eax, 1
jne 0x1000854f
cmp dword [esp + 0x34], 6
jne 0x1000854f
cmp byte [esp + 0x4b0], 0x89
jne 0x10008548
cmp byte [esp + 0x4b1], 0x15
jne 0x10008548
cmp byte [esp + 0x4b2], 0
jne 0x10008548
cmp byte [esp + 0x4b3], 0x13
jne 0x10008548
cmp byte [esp + 0x4b4], 0x6b
jne 0x10008548
cmp byte [esp + 0x4b5], 0
jne 0x10008548
mov byte [esp + 0x2f], al
mov dword [0x1004b70c], 0
jmp 0x1000854f
mov byte [0x1004ab9a], 1
push 0x190
lea eax, [esp + 0x664]
push 0
push eax
call fcn.100182b0
add esp, 0xc
mov byte [esp + 0x18], 0
cmp byte [0x1004ab9a], 0
lea eax, [esp + 0x470]
mov dword [esp + 0x30], 1
mov dword [esp + 0x470], 0x190
push eax
lea eax, [esp + 0x664]
push eax
lea eax, [esp + 0x38]
push eax
push 2
push str.movie
jne 0x100085aa
push str.SOFTWAREKonamiSILENT_HILL_3
jmp 0x100085af
push str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x100085f2
lea ecx, [esp + 0x660]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100085d0
mov eax, dword [esp + 0x18]
sub ecx, edx
sar ecx, 1
movzx eax, al
mov ecx, 1
cmove eax, ecx
mov dword [esp + 0x18], eax
cmp byte [0x1004ab9a], 0
mov edx, str.data
push 0x80000002
push 0x1004c200
jne 0x1000865a
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002e50
push 0x80000002
push 0x1004c200
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002e50
add esp, 0x10
cmp byte [esp + 0x18], 0
jne 0x10008653
push 0x80000002
push 0x1004c200
mov edx, str.movie
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002e50
add esp, 8
mov esi, str.SOFTWAREKonamiSILENT_HILL_3
jmp 0x100086a8
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002e50
push 0x80000002
push 0x1004c200
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002e50
add esp, 0x10
cmp byte [esp + 0x18], 0
jne 0x100086a3
push 0x80000002
push 0x1004c200
mov edx, str.movie
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002e50
add esp, 8
mov esi, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000002
push 0x1004a6d8
mov edx, str.save
mov ecx, esi
call fcn.10002e50
push 0x80000002
push 0x1004c200
mov edx, str.sound
mov ecx, esi
call fcn.10002e50
add esp, 0x10
cmp dword [0x1004abd8], 1
jne 0x100087e5
cmp byte [0x1004ab9a], 0
mov edx, str.data
push 0x80000001
push 0x1004c200
jne 0x10008766
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002e50
push 0x80000001
push 0x1004c200
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002e50
cmp byte [esp + 0x28], 0
mov ecx, 0x1004c200
mov eax, 0x100383f4
mov edx, str.movie
cmove eax, ecx
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
push 0x80000001
push eax
call fcn.10002e50
push 0x80000001
push 0x1004a6d8
mov edx, str.save
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002e50
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
jmp 0x100087ce
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002e50
push 0x80000001
push 0x1004c200
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002e50
cmp byte [esp + 0x28], 0
mov ecx, 0x1004c200
mov eax, 0x100383f4
mov edx, str.movie
cmove eax, ecx
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000001
push eax
call fcn.10002e50
push 0x80000001
push 0x1004a6d8
mov edx, str.save
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002e50
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000001
push 0x1004c200
mov edx, str.sound
call fcn.10002e50
add esp, 0x28
mov eax, dword [0x1004a448]
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fb50]
mov eax, dword [0x1004c40c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movss dword [0x1004b278], xmm1
addsd xmm0, qword [eax*8 + 0x1003fb50]
mov eax, dword [0x1004bf68]
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x1003fb50]
mov eax, dword [0x1004c1f0]
movss dword [esp + 0x30], xmm2
movss dword [0x1004b024], xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x488], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fb50]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x480], xmm0
movss xmm0, dword [0x1003fad0]
divss xmm0, xmm1
movss dword [0x1004a954], xmm0
movss dword [0x1004b734], xmm0
mulss xmm0, dword [0x1003fac8]
movss dword [0x1004abc8], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push str.Aspect_Ratio______f_r_n
push 0
call fcn.10002a10
movss xmm0, dword [0x1004b288]
add esp, 0x10
ucomiss xmm0, dword [0x1003fabc]
movss dword [esp + 0x18], xmm0
lahf
test ah, 0x44
jp 0x1000892a
movss xmm0, dword [0x1004b024]
comiss xmm0, dword [0x1003fb20]
jb 0x10008901
movss xmm0, dword [0x1003fae4]
jmp 0x10008924
comiss xmm0, dword [0x1003faf4]
jb 0x10008914
movss xmm0, dword [0x1003fae0]
jmp 0x10008924
movss xmm0, dword [0x1003facc]
divss xmm0, dword [0x1004b734]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [0x1004abc8]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Horizontal_FOV______f_r_n
push 0
call fcn.10002a10
movss xmm0, dword [esp + 0x28]
add esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Cutscene_Vertical_FOV______f_r_n_r_n
push 0
call fcn.10002a10
mov ecx, dword [0x1004bf68]
add esp, 0x10
movss xmm2, dword [0x1004b278]
mov eax, ecx
shr eax, 0x1f
movaps xmm1, xmm2
cmp dword [0x1004a450], 0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x1003fb50]
cvtpd2ps xmm3, xmm0
movss xmm0, dword [esp + 0x28]
jne 0x100089ad
mulss xmm0, dword [0x1003fad0]
jmp 0x100089b5
mulss xmm0, dword [0x1003faf0]
subss xmm1, xmm0
mov eax, dword [0x1004c1f0]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
push 0x208
push 0
mulss xmm1, dword [0x1003fac4]
addsd xmm0, qword [ecx*8 + 0x1003fb50]
divss xmm2, xmm1
cvtpd2ps xmm0, xmm0
divss xmm3, xmm2
subss xmm0, xmm3
movss dword [0x1004a210], xmm3
movss dword [0x1004c1cc], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fb50]
lea eax, [esp + 0xa00]
push eax
cvtpd2ps xmm0, xmm0
movss dword [0x1004a8fc], xmm0
call fcn.100182b0
add esp, 0xc
lea eax, [esp + 0x9f8]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1000d1b6
cmp eax, 0xff
ja 0x1000d1b6
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x10008a75
push 0x10
push str.Silent_Hill_3_PC_Fix
push str.Unable_to_get_exe_path___2___ERROR_INSUFFICIENT_BUFFER_
jmp 0x1000d1c2
lea eax, [esp + 0x9f8]
push eax
push 0x104
push 0x1004bf80
call fcn.1001d96a
add esp, 0xc
push 0x1004bf80
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.kernel32.dll
call edi
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push str.User32.dll
mov dword [esp + 0x1c], eax
call esi
push str.Advapi32.dll
mov dword [esp + 0x34], eax
call esi
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x9f8]
push eax
call edi
push str.RtlImageNtHeader
push dword [esp + 0x24]
mov edi, eax
mov dword [esp + 0x470], edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov dword [0x1004a464], eax
call eax
cmp byte [0x1004ab9a], 1
mov esi, eax
mov dword [esp + 0x14], esi
jne 0x10008fea
cmp byte [esp + 0x460], 1
jne 0x10008fea
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxx
push 0x1003b0d0
call fcn.10002d30
mov esi, eax
push esi
push str.Patching_trial_version_pause_menu_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x14
mov dword [esp + 0x4b8], 0xaf210d80
lea edx, [esp + 0x4b8]
mov word [esp + 0x4bc], 0xbc
mov ecx, esi
mov byte [esp + 0x4be], 0xf
push 7
call fcn.10002d80
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, edi
mov edx, dword [edx + 0x50]
push str.x____x____xxx____xx
push 0x1003b120
call fcn.10002d30
mov esi, eax
push esi
push str.Patching_trial_restart_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x14
mov dword [esp + 0x460], 0x90909090
lea edx, [esp + 0x460]
mov byte [esp + 0x464], 0x90
mov ecx, esi
push 5
call fcn.10002d80
mov eax, dword [esp + 0x18]
add esp, 4
mov ecx, edi
mov edx, dword [eax + 0x50]
push str.xxxxxx______x
push 0x1003b168
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x470], esi
test esi, esi
je 0x10008c3b
push esi
push str._r_nHooking_SH3LoadFile_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004b6fc], esi
mov edx, 0x10007c10
mov ecx, esi
push 0x1004b6fc
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SH3LoadFile_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x10008c4a
push str.Failed_to_find_SH3LoadFile_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
push 0x60aff0
push str._r_nHooking_SetActionLevel_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004a94c], 0x60aff0
mov edx, 0x10007c40
mov ecx, 0x60aff0
push 0x1004a94c
call fcn.10001d70
mov edx, 1
mov ecx, 0x60aff0
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SetActionLevel_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x60b060
push str._r_nHooking_SetRiddleLevel_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004a904], 0x60b060
mov edx, 0x10007c60
mov ecx, 0x60b060
push 0x1004a904
call fcn.10001d70
mov edx, 1
mov ecx, 0x60b060
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SetRiddleLevel_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x60b000
push str._r_nHooking_GetActionLevel_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004ab6c], 0x60b000
mov edx, 0x10007c80
mov ecx, 0x60b000
push 0x1004ab6c
call fcn.10001d70
mov edx, 1
mov ecx, 0x60b000
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.GetActionLevel_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x60b070
push str._r_nHooking_GetRiddleLevel_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004a470], 0x60b070
mov edx, 0x10007c90
mov ecx, 0x60b070
push 0x1004a470
call fcn.10001d70
mov esi, eax
mov edx, 1
mov ecx, 0x60b070
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.GetRiddleLevel_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x5d59dd
push str.Patching_trial_main_menu__1__at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [esp + 0x470], 0x182444c7
cmp dword [0x1004b020], 0
lea edx, [esp + 0x470]
mov ecx, 0x5d59dd
mov dword [esp + 0x474], 3
push 8
je 0x10008e12
mov dword [esp + 0x478], 4
call fcn.10002d80
add esp, 4
push 0x5d59fc
push str.Patching_trial_main_menu__2__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x4c8], 0x18ac44c7
lea edx, [esp + 0x4c8]
mov dword [esp + 0x4cc], 5
mov ecx, 0x5d59fc
push 8
call fcn.10002d80
add esp, 4
push 0x5d5a0c
push str.Patching_trial_main_menu__3__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov word [esp + 0x24], 0x9090
lea edx, [esp + 0x24]
mov ecx, 0x5d5a0c
push 2
call fcn.10002d80
add esp, 4
push 0x5d5a0e
push str.Patching_trial_main_menu__4__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x490], 0x18ac44c7
lea edx, [esp + 0x490]
mov dword [esp + 0x494], 6
mov ecx, 0x5d5a0e
push 8
call fcn.10002d80
add esp, 4
push 0x60bfc3
push str.Patching_trial_main_menu__5__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x488], 0x90909090
lea edx, [esp + 0x488]
mov word [esp + 0x48c], 0x9090
mov ecx, 0x60bfc3
push 6
call fcn.10002d80
add esp, 4
push 0x60bef3
push str.Patching_trial_main_menu__6__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x4c0], 0x410f05c6
lea edx, [esp + 0x4c0]
mov word [esp + 0x4c4], 0x6de
mov ecx, 0x60bef3
mov byte [esp + 0x4c6], 0
push 7
call fcn.10002d80
add esp, 4
cmp dword [0x1004b70c], 1
jne 0x10008f9e
push 0x5d4ee2
push str.Patching_trial_main_menu__7__at______p_r_n
push 0
mov dword [0x1004b71c], 1
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x470], 0x71cff4bb
lea edx, [esp + 0x470]
mov byte [esp + 0x474], 0
mov ecx, 0x5d4ee2
push 5
call fcn.10002d80
add esp, 4
cmp dword [0x1004b704], 1
jne 0x10008fe6
push 0x5e1831
push str.Patching_trial_main_menu__8__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x470], 0x12be9
lea edx, [esp + 0x470]
mov word [esp + 0x474], 0
mov ecx, 0x5e1831
push 6
call fcn.10002d80
add esp, 4
mov esi, dword [esp + 0x14]
cmp byte [esp + 0x2f], 1
jne 0x10009171
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x____x_____x_____xx
push 0x1003b500
call fcn.10002d30
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x_____x_____x_____xxxx
push 0x1003b53c
mov dword [esp + 0x470], eax
call fcn.10002d30
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x_____x_____x_____xx
push 0x1003b578
mov dword [esp + 0x3c], eax
call fcn.10002d30
mov edx, dword [esp + 0x478]
add esp, 0x18
mov ecx, eax
mov dword [esp + 0x470], ecx
test edx, edx
je 0x10009171
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10009171
test ecx, ecx
je 0x10009171
push ecx
push eax
push edx
push str.Patching_sliding_transitions_and_pixelation_at______p______p______p_r_n
push 0
call fcn.10002a10
movaps xmm0, xmmword [0x1003fb60]
lea edx, [esp + 0x4a4]
mov ecx, dword [esp + 0x474]
add esp, 0x14
movq qword [esp + 0x4a0], xmm0
movaps xmmword [esp + 0x490], xmm0
mov word [esp + 0x4a5], 0xd8dd
push 0x17
call fcn.10002d80
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x494]
add esp, 4
mov dword [esp + 0x4a4], 0xd8ddd8dd
push 0x18
call fcn.10002d80
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x494]
add esp, 4
push 0x18
call fcn.10002d80
movss xmm1, dword [0x1003fac4]
add esp, 4
movss xmm0, dword [esp + 0x480]
subss xmm0, xmm1
movss dword [0x6b1300], xmm0
movss dword [0x6b12d0], xmm0
movss dword [0x6b0bc0], xmm0
movss dword [0x6b0b60], xmm0
movss dword [0x6b0be0], xmm0
movss dword [0x6b0b90], xmm0
movss xmm0, dword [esp + 0x478]
subss xmm0, xmm1
movss dword [0x6b131c], xmm0
movss dword [0x6b1304], xmm0
movss dword [0x6b0be4], xmm0
movss dword [0x6b0b94], xmm0
movss dword [0x6b0bf4], xmm0
movss dword [0x6b0bac], xmm0
cmp dword [0x1004b03c], 1
mov eax, dword [0x1004b6d4]
mov ecx, dword [0x1004b04c]
je 0x100091a5
cmp dword [0x1004b280], 1
je 0x100091a5
cmp dword [0x1004a944], 1
je 0x100091b2
cmp eax, 1
je 0x100091a5
cmp ecx, 1
jne 0x10009516
cmp dword [0x1004a944], 1
jne 0x1000924d
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x100091ce
mov dword [esp + 0x460], 0xb
jmp 0x10009203
push 0x1003b5e0
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x100091eb
mov dword [esp + 0x460], 0xc
jmp 0x10009203
push 0x1004a958
mov edx, 0x10003840
mov ecx, eax
call fcn.10001d70
mov dword [esp + 0x460], eax
push 0x1003b5e0
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
mov ecx, dword [esp + 0x460]
push eax
call fcn.10002410
push eax
push str.ReadFile_Hook______s______s_r_n
push 0
call fcn.10002a10
mov eax, dword [0x1004b6d4]
add esp, 0x10
mov ecx, dword [0x1004b04c]
cmp dword [0x1004b03c], 1
je 0x1000926d
cmp dword [0x1004a944], 1
je 0x1000926d
cmp eax, 1
je 0x1000926d
cmp ecx, 1
jne 0x100092fb
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
push 0x1003b644
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x478], esi
test esi, esi
je 0x100092ec
push esi
push str.Hooking_debug_messages_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004ae00], esi
mov edx, 0x10005a80
mov ecx, esi
push 0x1004ae00
call fcn.10001d70
mov ecx, dword [esp + 0x478]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Debug_messages_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x100092fb
push str.Failed_to_find_debug_message_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004c1b8], 0
je 0x10009457
cmp dword [0x1004b03c], 1
mov esi, dword [esp + 0x14]
jne 0x100093af
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx____
push 0x1003b71c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x100093a0
push eax
push str.Hooking_ADX_debug_messages_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10006060
mov dword [0x1004a468], eax
mov ecx, eax
push 0x1004a468
call fcn.10001d70
mov ecx, dword [esp + 0x460]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.ADX_Debug_messages_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x100093af
push str.Failed_to_find_ADX_debug_message_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004c1b8], 0
je 0x10009457
cmp dword [0x1004b280], 1
jne 0x10009457
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx_____xxxx
push 0x1003b7d8
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x478], esi
test esi, esi
je 0x10009448
push esi
push str.Hooking_map_debug_messages_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004a924], esi
mov edx, 0x10005fd0
mov ecx, esi
push 0x1004a924
call fcn.10001d70
mov ecx, dword [esp + 0x478]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Map_Debug_messages_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x10009457
push str.Failed_to_find_map_debug_message_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp byte [0x1004ab9a], 0
mov esi, dword [esp + 0x14]
jne 0x1000951a
cmp dword [0x1004a944], 1
jne 0x1000951a
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xxx______xxxxxxx_____
push 0x1003b89c
mov ecx, edi
mov dword [esp + 0x468], eax
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x10009505
mov ecx, dword [esp + 0x460]
push eax
inc ecx
push ecx
push str.Patching_Audio___d__at______p_r_n
push 0
mov dword [esp + 0x470], ecx
call fcn.10002a10
mov ecx, dword [esp + 0x480]
lea edx, [esp + 0x34]
push 2
mov word [esp + 0x38], 0xdeb
call fcn.10002d80
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxx______xxxxxxx_____
push 0x1003b89c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
jne 0x100094a0
cmp dword [esp + 0x460], 2
je 0x1000951a
push str.Failed_to_find_Audio_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
jmp 0x1000951a
mov esi, dword [esp + 0x14]
cmp dword [0x1004b038], 1
jne 0x10009662
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx
push 0x1003b904
call fcn.10002d30
add esp, 8
mov dword [esp + 0x478], eax
test eax, eax
je 0x10009586
push eax
push str.Patching_safe_mode__1__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x484]
lea edx, [esp + 0x48c]
add esp, 0xc
mov dword [esp + 0x480], 0xb8
mov byte [esp + 0x484], 0
push 5
call fcn.10002d80
add esp, 4
jmp 0x10009595
push str.Failed_to_find_safe_mode__1__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxx_xx____xxxxx
push 0x1003b978
call fcn.10002d30
add esp, 8
mov dword [esp + 0x478], eax
test eax, eax
je 0x100095f4
push eax
push str.Patching_safe_mode__2__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x484]
lea edx, [esp + 0x48c]
add esp, 0xc
mov dword [esp + 0x480], 0x90909090
mov byte [esp + 0x484], 0x90
push 5
call fcn.10002d80
add esp, 4
jmp 0x10009603
push str.Failed_to_find_safe_mode__2__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_xx____xxxxx
push 0x1003b9f0
call fcn.10002d30
add esp, 8
mov dword [esp + 0x478], eax
test eax, eax
je 0x10009653
push eax
push str.Patching_safe_mode__3__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x484]
lea edx, [esp + 0x30]
add esp, 0xc
mov word [esp + 0x24], 0x9eb
push 2
call fcn.10002d80
add esp, 4
jmp 0x10009662
push str.Failed_to_find_safe_mode__3__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov eax, dword [0x1004abe0]
test eax, eax
je 0x10009741
cmp eax, 0x1000
jbe 0x10009680
mov dword [0x1004abe0], 0x1000
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xxxxxxxxxx
push 0x1003ba5c
mov ecx, edi
mov dword [esp + 0x468], eax
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x10009732
nop
mov ecx, dword [esp + 0x460]
push eax
inc ecx
push ecx
push str.Patching_DOF___d__at______p_r_n
push 0
mov dword [esp + 0x470], ecx
call fcn.10002a10
mov eax, dword [0x1004abe0]
lea edx, [esp + 0x4a0]
mov ecx, dword [esp + 0x480]
push 0x10
mov dword [esp + 0x4a4], eax
mov dword [esp + 0x4a8], eax
mov dword [esp + 0x4ac], eax
mov dword [esp + 0x4b0], eax
call fcn.10002d80
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxxxxxxxxx
push 0x1003ba5c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
jne 0x100096b0
cmp dword [esp + 0x460], 2
je 0x10009741
push str.Failed_to_find_DOF_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a8f4], 0
je 0x10009bc2
mov dword [esp + 0x24], 0
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx______xxxx____xxxx
push 0x1003bac0
call fcn.10002d30
add esp, 8
test eax, eax
je 0x100097dd
mov ecx, dword [esp + 0x24]
add eax, 6
push eax
inc ecx
mov dword [esp + 0x484], eax
push ecx
push str.Patching_Shadows__1._d__at______p_r_n
push 0
mov dword [esp + 0x34], ecx
call fcn.10002a10
mov eax, dword [0x1004a8f4]
lea edx, [esp + 0x488]
mov ecx, dword [esp + 0x490]
push 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fb50]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x48c], xmm0
call fcn.10002d80
add esp, 0x14
cmp dword [esp + 0x24], 0xe
jl 0x10009756
jmp 0x100097f3
cmp dword [esp + 0x24], 0xf
je 0x100097f3
push str.Failed_to_find_shadows__1__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xx______xxx_x
push 0x1003bb34
mov ecx, edi
mov dword [esp + 0x468], eax
call fcn.10002d30
add esp, 8
test eax, eax
je 0x100098aa
nop dword [eax + eax]
mov ecx, dword [esp + 0x460]
add eax, 6
push eax
inc ecx
mov dword [esp + 0x484], eax
push ecx
push str.Patching_Shadows__2._d__at______p_r_n
push 0
mov dword [esp + 0x470], ecx
call fcn.10002a10
mov eax, dword [0x1004a8f4]
lea edx, [esp + 0x488]
mov ecx, dword [esp + 0x490]
push 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fb50]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x48c], xmm0
call fcn.10002d80
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xx______xxx_x
push 0x1003bb34
call fcn.10002d30
add esp, 8
test eax, eax
jne 0x10009820
cmp dword [esp + 0x460], 2
je 0x100098b9
push str.Failed_to_find_shadows__2__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
xor eax, eax
push str.x___xxxx
push 0x1003bb9c
mov ecx, edi
mov dword [esp + 0x468], eax
call fcn.10002d30
add esp, 8
test eax, eax
je 0x1000996b
mov ecx, dword [esp + 0x460]
add eax, 4
push eax
inc ecx
mov dword [esp + 0x484], eax
push ecx
push str.Patching_Shadows__3._d__at______p_r_n
push 0
mov dword [esp + 0x470], ecx
call fcn.10002a10
mov eax, dword [0x1004a8f4]
lea edx, [esp + 0x488]
mov ecx, dword [esp + 0x490]
push 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fb50]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x48c], xmm0
call fcn.10002d80
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.x___xxxx
push 0x1003bb9c
call fcn.10002d30
add esp, 8
test eax, eax
jne 0x100098e1
cmp dword [esp + 0x460], 4
je 0x1000997a
push str.Failed_to_find_shadows__3__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__xxx_
push 0x1003bc08
call fcn.10002d30
add esp, 8
test eax, eax
je 0x100099fd
inc eax
push eax
push str.Patching_Shadows__4.1__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002a10
mov eax, dword [0x1004a8f4]
lea edx, [esp + 0x47c]
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x470], eax
push 4
call fcn.10002d80
mov eax, dword [esp + 0x28]
add esp, 4
add eax, 5
mov dword [esp + 0x24], eax
push eax
push str.Patching_Shadows__4.2__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x47c]
add esp, 0xc
push 4
call fcn.10002d80
add esp, 4
jmp 0x10009a0c
push str.Failed_to_find_shadows__4__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__x
push 0x1003bc9c
call fcn.10002d30
add esp, 8
test eax, eax
je 0x10009a8f
inc eax
push eax
push str.Patching_Shadows__5.1__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002a10
mov eax, dword [0x1004a8f4]
lea edx, [esp + 0x47c]
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x470], eax
push 4
call fcn.10002d80
mov eax, dword [esp + 0x28]
add esp, 4
add eax, 5
mov dword [esp + 0x24], eax
push eax
push str.Patching_Shadows__5.2__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x47c]
add esp, 0xc
push 4
call fcn.10002d80
add esp, 4
jmp 0x10009a9e
push str.Failed_to_find_shadows__5__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__xx
push 0x1003bd30
call fcn.10002d30
add esp, 8
test eax, eax
je 0x10009b21
inc eax
push eax
push str.Patching_Shadows__6.1__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002a10
mov eax, dword [0x1004a8f4]
lea edx, [esp + 0x47c]
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x470], eax
push 4
call fcn.10002d80
mov eax, dword [esp + 0x28]
add esp, 4
add eax, 5
mov dword [esp + 0x24], eax
push eax
push str.Patching_Shadows__6.2__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x47c]
add esp, 0xc
push 4
call fcn.10002d80
add esp, 4
jmp 0x10009b30
push str.Failed_to_find_shadows__6__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__xxx_xxx
push 0x1003bdcc
call fcn.10002d30
add esp, 8
test eax, eax
je 0x10009bb3
inc eax
push eax
push str.Patching_Shadows__7.1__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002a10
mov eax, dword [0x1004a8f4]
lea edx, [esp + 0x47c]
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x470], eax
push 4
call fcn.10002d80
mov eax, dword [esp + 0x28]
add esp, 4
add eax, 5
mov dword [esp + 0x24], eax
push eax
push str.Patching_Shadows__7.2__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x47c]
add esp, 0xc
push 4
call fcn.10002d80
add esp, 4
jmp 0x10009bc2
push str.Failed_to_find_shadows__7__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a6bc], 0
je 0x10009c89
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx
push 0x1003be64
call fcn.10002d30
add esp, 8
test eax, eax
je 0x10009c7a
cmp dword [0x1004a6bc], 0x400
jbe 0x10009c04
mov dword [0x1004a6bc], 0x400
inc eax
push eax
push str.Patching_inventory_background__1__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002a10
mov eax, dword [0x1004a6bc]
lea edx, [esp + 0x484]
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x478], eax
push 4
call fcn.10002d80
mov eax, dword [0x1004a6bc]
add esp, 4
neg eax
mov dword [esp + 0x480], eax
mov eax, dword [esp + 0x24]
add eax, 5
push eax
push str.Patching_inventory_background__2__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002a10
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x48c]
add esp, 0xc
push 4
call fcn.10002d80
add esp, 4
jmp 0x10009c89
push str.Failed_to_find_inventory_background_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov ecx, dword [0x1004a8e4]
test ecx, ecx
je 0x10009f5b
cmp ecx, 0x1000
jbe 0x10009caa
mov ecx, 0x1000
mov dword [0x1004a8e4], ecx
mov eax, dword [0x1004abe0]
test eax, eax
je 0x10009cbc
cmp ecx, eax
je 0x10009cbc
mov dword [0x1004a8e4], eax
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxxxxxxxxxxxxx
push 0x1003bf20
call fcn.10002d30
add esp, 8
test eax, eax
je 0x10009d15
inc eax
push eax
push str.Patching_status_screen__1__at______p_r_n
push 0
mov dword [esp + 0x48c], eax
call fcn.10002a10
mov eax, dword [0x1004a8e4]
lea edx, [esp + 0x484]
mov ecx, dword [esp + 0x48c]
add esp, 0xc
mov dword [esp + 0x478], eax
push 4
call fcn.10002d80
add esp, 4
jmp 0x10009d24
push str.Failed_to_find_status_screen__1__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxxxxxxxxxxxx
push 0x1003bfa8
call fcn.10002d30
add esp, 8
test eax, eax
je 0x10009d7d
inc eax
push eax
push str.Patching_status_screen__2__at______p_r_n
push 0
mov dword [esp + 0x48c], eax
call fcn.10002a10
mov eax, dword [0x1004a8e4]
lea edx, [esp + 0x484]
mov ecx, dword [esp + 0x48c]
add esp, 0xc
mov dword [esp + 0x478], eax
push 4
call fcn.10002d80
add esp, 4
jmp 0x10009d8c
push str.Failed_to_find_status_screen__2__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx
push 0x1003c018
call fcn.10002d30
add esp, 8
mov dword [esp + 0x478], eax
test eax, eax
je 0x10009e82
mov ecx, dword [0x1004a8e4]
mov esi, eax
push esi
push str.Patching_status_screen__3__at______p_r_n
push 0
movd xmm0, ecx
mov edi, esi
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x1003fb50]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x484], xmm0
call fcn.10002a10
movss xmm0, dword [esp + 0x484]
lea edx, [esp + 0x30]
add esp, 0xc
movss dword [esp + 0x24], xmm0
mov ecx, esi
push 4
call fcn.10002d80
add esp, 4
add esi, 0x30
push esi
push str.Patching_status_screen__3.1__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
lea edx, [esp + 0x24]
mov ecx, esi
push 4
call fcn.10002d80
add esp, 4
lea esi, [edi + 0x34]
push esi
push str.Patching_status_screen__3.2__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
lea edx, [esp + 0x24]
mov ecx, esi
push 4
call fcn.10002d80
add esp, 4
lea esi, [edi + 0x4c]
push esi
push str.Patching_status_screen__3.3__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
lea edx, [esp + 0x24]
mov ecx, esi
push 4
call fcn.10002d80
mov edi, dword [esp + 0x46c]
add esp, 4
mov esi, dword [esp + 0x14]
jmp 0x10009e91
push str.Failed_to_find_status_screen__3__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004abe0], 0
jne 0x10009f5b
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xxxxxxxxxx
push 0x1003ba5c
mov ecx, edi
mov dword [esp + 0x468], eax
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x10009f4c
nop dword [eax]
inc dword [esp + 0x460]
push eax
push str.Patching_status_screen__4__at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [0x1004a8e4]
lea edx, [esp + 0x49c]
mov ecx, dword [esp + 0x47c]
add esp, 0xc
mov dword [esp + 0x490], eax
mov dword [esp + 0x494], eax
mov dword [esp + 0x498], eax
push 0x10
mov dword [esp + 0x4a0], eax
call fcn.10002d80
mov edx, dword [esi + 0x50]
add esp, 4
mov ecx, edi
push str.xxxxxxxxxx
push 0x1003ba5c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
jne 0x10009ed0
cmp dword [esp + 0x460], 2
je 0x10009f5b
push str.Failed_to_find_status_screen__4__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a440], 1
jne 0x10009fd4
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x_________xx
push 0x1003c170
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x10009fc5
push eax
push str.Patching_cutscene_borders_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x494]
add esp, 0xc
mov dword [esp + 0x488], 0x9090eed9
mov word [esp + 0x48c], 0x9090
push 6
call fcn.10002d80
add esp, 4
jmp 0x10009fd4
push str.Failed_to_find_cutscene_borders_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004b030], 1
jne 0x1000a16f
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xxxxxxxxxxx
push 0x1003c1f0
call fcn.10002d30
add esp, 8
test eax, eax
je 0x1000a099
add eax, 2
push eax
push str.Patching_black_bars__1__at______p_r_n
push 0
mov dword [esp + 0x47c], eax
mov dword [esp + 0x474], eax
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a0a8
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1003f500
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000a0a8
push str.Failed_to_find_black_bars__1__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____x____x____xxxxxx
push 0x1003c26c
call fcn.10002d30
add esp, 8
test eax, eax
je 0x1000a160
add eax, 2
push eax
push str.Patching_black_bars__2__at______p_r_n
push 0
mov dword [esp + 0x47c], eax
mov dword [esp + 0x474], eax
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a16f
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1003f500
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000a16f
push str.Failed_to_find_black_bars__2__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxx____xx
push 0x1003c2e0
call fcn.10002d30
add esp, 8
mov dword [0x1004c1c0], eax
cmp dword [0x1004ab9c], 1
jne 0x1000a1d2
test eax, eax
je 0x1000a1c3
push eax
push str.Patching_FPS_fix_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [0x1004c1c0]
lea edx, [esp + 0x3b]
add esp, 0xc
mov byte [esp + 0x2f], 0x42
push 1
call fcn.10002d80
add esp, 4
jmp 0x1000a1d2
push str.Failed_to_find_FPS_fix_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a90c], 1
jne 0x1000a24b
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx
push 0x1003c330
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a23c
push eax
push str.Patching_option_menu_freeze_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x494]
add esp, 0xc
mov dword [esp + 0x488], 0x909090c3
mov word [esp + 0x48c], 0x9090
push 6
call fcn.10002d80
add esp, 4
jmp 0x1000a24b
push str.Failed_to_find_option_menu_freeze_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004c19c], 1
jne 0x1000a2b3
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxx
push 0x1003c39c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a2a4
push eax
push str.Patching_pause_menu_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x30]
add esp, 0xc
mov word [esp + 0x24], 0x36eb
push 2
call fcn.10002d80
add esp, 4
jmp 0x1000a2b3
push str.Failed_to_find_pause_menu_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004bf70], 1
jne 0x1000a5e9
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xx____xxx
push 0x1003c3fc
call fcn.10002d30
add esp, 8
test eax, eax
je 0x1000a378
add eax, 2
push eax
push str.Patching_FMV1_at______p_r_n
push 0
mov dword [esp + 0x47c], eax
mov dword [esp + 0x474], eax
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a387
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1004a210
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000a387
push str.Failed_to_find_FMV1_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xxxxxxxxxx
push 0x1003c460
call fcn.10002d30
add esp, 8
test eax, eax
je 0x1000a43f
add eax, 2
push eax
push str.Patching_FMV2_at______p_r_n
push 0
mov dword [esp + 0x47c], eax
mov dword [esp + 0x474], eax
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a44e
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1004c1cc
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000a44e
push str.Failed_to_find_FMV2_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a450], 0
je 0x1000a5e9
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xxxxxx____x
push 0x1003c4c8
call fcn.10002d30
add esp, 8
test eax, eax
je 0x1000a513
add eax, 2
push eax
push str.Patching_FMV3_at______p_r_n
push 0
mov dword [esp + 0x47c], eax
mov dword [esp + 0x474], eax
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a522
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1003f500
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000a522
push str.Failed_to_find_FMV3_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xx____xxxx
push 0x1003c530
call fcn.10002d30
add esp, 8
test eax, eax
je 0x1000a5da
add eax, 2
push eax
push str.Patching_FMV4_at______p_r_n
push 0
mov dword [esp + 0x47c], eax
mov dword [esp + 0x474], eax
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a5e9
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1004a8fc
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000a5e9
push str.Failed_to_find_FMV4_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____x____xxxx
push 0x1003c594
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a648
push eax
push str.Patching_option_menu_window_size_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x484]
add esp, 0xc
mov dword [esp + 0x478], 0x90909090
mov byte [esp + 0x47c], 0x90
push 5
call fcn.10002d80
add esp, 4
jmp 0x1000a657
push str.Failed_to_find_option_menu_window_size_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____xxx
push 0x1003c614
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a6a7
push eax
push str.Patching_option_menu_render_size_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x30]
add esp, 0xc
mov word [esp + 0x24], 0x1aeb
push 2
call fcn.10002d80
add esp, 4
jmp 0x1000a6b6
push str.Failed_to_find_option_menu_render_size_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____xxx____x_____xx
push 0x1003c69c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a706
push eax
push str.Patching_option_menu_screen_mode_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x30]
add esp, 0xc
mov word [esp + 0x24], 0x7eb
push 2
call fcn.10002d80
add esp, 4
jmp 0x1000a715
push str.Failed_to_find_option_menu_screen_mode_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____x____x____x____xx
push 0x1003c730
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a794
push eax
push str.Patching_option_menu_PC_settings_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x49c]
add esp, 0xc
mov dword [esp + 0x490], 0x90909090
mov dword [esp + 0x494], 0x90909090
mov dword [esp + 0x498], 0x90909090
mov word [esp + 0x49c], 0x9090
push 0xf
mov byte [esp + 0x4a2], 0x90
call fcn.10002d80
add esp, 4
jmp 0x1000a7a3
push str.Failed_to_find_option_menu_PC_settings_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a6ac], 1
jne 0x1000a8d7
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxx
push 0x1003c7b8
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a80f
push eax
push str.Patching_ADX_buffer_size__1__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x484]
add esp, 0xc
mov dword [esp + 0x478], 0x57573068
mov byte [esp + 0x47c], 0
push 5
call fcn.10002d80
add esp, 4
jmp 0x1000a81e
push str.Failed_to_find_ADX_buffer_size__1__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx_xx
push 0x1003c82c
mov dword [esp + 0x468], 0
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000a8ba
nop dword [eax + eax]
mov ecx, dword [esp + 0x460]
push eax
inc ecx
push ecx
push str.Patching_ADX_buffer_size__2._d__at______p_r_n
push 0
mov dword [esp + 0x470], ecx
call fcn.10002a10
mov ecx, dword [esp + 0x480]
lea edx, [esp + 0x478]
push 5
mov dword [esp + 0x47c], 0xe63c868
mov byte [esp + 0x480], 0
call fcn.10002d80
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxxxx_xx
push 0x1003c82c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
jne 0x1000a850
mov eax, dword [esp + 0x460]
inc eax
cmp eax, 4
je 0x1000a8d7
push eax
push str.Failed_to_find_ADX_buffer_size__2._d__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 0xc
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____x____xxxx____xx
push 0x1003c8b0
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a94c
push eax
push str.Patching_Sleep_Debug_Msg_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x49c]
add esp, 0xc
mov dword [esp + 0x490], 0x90909090
mov dword [esp + 0x494], 0x90909090
mov dword [esp + 0x498], 0x90909090
mov byte [esp + 0x49c], 0x90
push 0xd
call fcn.10002d80
add esp, 4
jmp 0x1000a95b
push str.Failed_to_find_Sleep_Debug_Msg_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxx
push 0x1003c91c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a9ac
push eax
push str.Patching_Sleep_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x24], 0x90909090
push 4
call fcn.10002d80
add esp, 4
jmp 0x1000a9bb
push str.Failed_to_find_Sleep_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004bf7c], 1
jne 0x1000ab8a
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____xxxxx__xx____x
push 0x1003c97c
mov dword [esp + 0x468], 0
call fcn.10002d30
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
je 0x1000aad8
nop word [eax + eax]
mov esi, dword [esp + 0x24]
inc dword [esp + 0x460]
push esi
push str._r_nHooking_FOV_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov ecx, esi
cmp dword [esp + 0x460], 1
jne 0x1000aa63
push 0x1004a460
mov edx, 0x10005610
mov dword [0x1004a460], esi
call fcn.10001d70
mov ecx, dword [esp + 0x24]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000aa9d
push 0x1004b6c4
mov edx, 0x10005740
mov dword [0x1004b6c4], esi
call fcn.10001d70
mov ecx, dword [esp + 0x24]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Vertical_FOV_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
mov ecx, edi
mov edx, dword [esi + 0x50]
push str.xxx____xxxxx__xx____x
push 0x1003c97c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
jne 0x1000aa00
cmp dword [esp + 0x460], 2
je 0x1000aae7
push str.Failed_to_find_FOV_functions_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a224], 1
jne 0x1000ab8a
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx____xxxxxxxx_____xx
push 0x1003ca5c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000ab7b
push eax
push str._r_nHooking_scene_type_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x100057d0
mov dword [0x1004abdc], eax
mov ecx, eax
push 0x1004abdc
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Scene_type_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000ab8a
push str.Failed_to_find_scene_type_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004b73c], 1
jne 0x1000b548
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x____x_____x_____
push 0x1003cb18
call fcn.10002d30
push eax
push str._r_nGetting_cursor_at______p_r_n
push 0
mov dword [0x1004abb0], eax
call fcn.10002a10
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxxxxxxxx
push 0x1003cb50
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000ac47
push eax
push str._r_nHooking_show_item_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10005750
mov dword [0x1004b28c], eax
mov ecx, eax
push 0x1004b28c
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Show_item_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000ac56
push str.Failed_to_find_show_item_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxx
push 0x1003cbe0
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x1000acd5
push esi
push str._r_nHooking_save_and_load_menu_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004a218], esi
mov edx, 0x10007140
mov ecx, esi
push 0x1004a218
call fcn.10001d70
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Save_and_load_menu_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000ace4
push str.Failed_to_find_save_and_load_menu_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
xor eax, eax
cmp byte [0x1004ab9a], al
mov dword [esp + 0x478], eax
mov word [esp + 0x47c], ax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
push 6
lea eax, [esp + 0x480]
push eax
jne 0x1000b0d3
push 0x682ba0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
call eax
cmp eax, 1
jne 0x1000b49c
cmp dword [esp + 0x24], 6
jne 0x1000b49c
cmp byte [esp + 0x478], 0x51
jne 0x1000b49c
cmp byte [esp + 0x479], 0xe8
jne 0x1000b49c
cmp byte [esp + 0x47a], 0xfa
jne 0x1000b49c
cmp byte [esp + 0x47b], 0xff
jne 0x1000b49c
cmp byte [esp + 0x47c], 0xd7
jne 0x1000b49c
cmp byte [esp + 0x47d], 0xff
jne 0x1000b49c
push 0x682ba0
push str._r_nHooking_2D_width_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004bd48], 0x682ba0
mov edx, 0x10006e00
mov ecx, 0x682ba0
push 0x1004bd48
call fcn.10001d70
mov edx, 1
mov ecx, 0x682ba0
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.2D_width_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x4168e0
push str._r_nHooking_screen_width_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004a47c], 0x4168e0
mov edx, 0x10007060
mov ecx, 0x4168e0
push 0x1004a47c
call fcn.10001d70
mov edx, 1
mov ecx, 0x4168e0
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Screen_width_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x600b60
push str._r_nHooking_hitbox_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004b274], 0x600b60
mov edx, 0x100070c0
mov ecx, 0x600b60
push 0x1004b274
call fcn.10001d70
mov edx, 1
mov ecx, 0x600b60
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Hitbox_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov eax, dword [0x1004bf68]
add esp, 0x10
movss xmm3, dword [esp + 0x28]
mulss xmm3, dword [0x1003fad0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fb50]
cvtpd2ps xmm2, xmm0
movss xmm0, dword [0x1004b278]
movaps xmm1, xmm0
subss xmm1, xmm3
cmp dword [0x1004c1a0], 1
mulss xmm1, dword [0x1003fac4]
mov dword [esp + 0x480], 0xa8f005d9
divss xmm0, xmm2
mov word [esp + 0x484], 0x68
divss xmm1, xmm0
subss xmm2, xmm1
movss dword [esp + 0x460], xmm1
movss dword [0x1004ab68], xmm2
jne 0x1000b001
push 0x5d7414
push 0x5d74ac
push 0x5d7446
push str._r_nPatching_logos_at______p______p______p_r_n
push 0
call fcn.10002a10
add esp, 0x14
lea edx, [esp + 0x460]
mov ecx, 0x5d744a
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x5d74b0
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x480]
mov ecx, 0x5d7414
push 6
call fcn.10002d80
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [esp + 0x2c]
add esp, 4
mov dword [esp + 0x28], 0
mov dword [esp + 0x468], 0x5d7416
push eax
push 4
push 4
push 0x5d7416
call esi
cmp eax, 1
jne 0x1000b007
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1004ab68
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x2c]
push 4
push 0x5d7416
call esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000b007
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp dword [0x1004a928], 1
jne 0x1000b49c
push 0x59be13
push 0x59beab
push 0x59be45
push str._r_nPatching_credits_at______p______p______p_r_n
push 0
call fcn.10002a10
add esp, 0x14
lea edx, [esp + 0x460]
mov ecx, 0x59be49
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x59beaf
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x480]
mov ecx, 0x59be13
push 6
call fcn.10002d80
add esp, 4
mov dword [esp + 0x28], 0
lea eax, [esp + 0x28]
mov dword [esp + 0x468], 0x59be15
push eax
push 4
push 4
push 0x59be15
call esi
cmp eax, 1
jne 0x1000b49c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1004ab68
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x2c]
push 4
push 0x59be15
jmp 0x1000b489
push 0x6818e0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
call eax
cmp eax, 1
jne 0x1000b49c
cmp dword [esp + 0x24], 6
jne 0x1000b49c
cmp byte [esp + 0x478], 0x51
jne 0x1000b49c
cmp byte [esp + 0x479], 0xe8
jne 0x1000b49c
cmp byte [esp + 0x47a], 0xba
jne 0x1000b49c
cmp byte [esp + 0x47b], 0x12
jne 0x1000b49c
cmp byte [esp + 0x47c], 0xd8
jne 0x1000b49c
cmp byte [esp + 0x47d], 0xff
jne 0x1000b49c
push 0x6818e0
push str._r_nHooking_2D_width_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004bd48], 0x6818e0
mov edx, 0x10006e00
mov ecx, 0x6818e0
push 0x1004bd48
call fcn.10001d70
mov edx, 1
mov ecx, 0x6818e0
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.2D_width_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x4168e0
push str._r_nHooking_screen_width_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004a47c], 0x4168e0
mov edx, 0x10007060
mov ecx, 0x4168e0
push 0x1004a47c
call fcn.10001d70
mov edx, 1
mov ecx, 0x4168e0
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Screen_width_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x5ff7f0
push str._r_nHooking_hitbox_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004b274], 0x5ff7f0
mov edx, 0x100070c0
mov ecx, 0x5ff7f0
push 0x1004b274
call fcn.10001d70
mov edx, 1
mov ecx, 0x5ff7f0
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Hitbox_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov eax, dword [0x1004bf68]
add esp, 0x10
movss xmm3, dword [esp + 0x28]
mulss xmm3, dword [0x1003fad0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fb50]
cvtpd2ps xmm2, xmm0
movss xmm0, dword [0x1004b278]
movaps xmm1, xmm0
subss xmm1, xmm3
cmp dword [0x1004c1a0], 1
mulss xmm1, dword [0x1003fac4]
mov dword [esp + 0x480], 0xa8f005d9
divss xmm0, xmm2
mov word [esp + 0x484], 0x68
divss xmm1, xmm0
subss xmm2, xmm1
movss dword [esp + 0x460], xmm1
movss dword [0x1004ab68], xmm2
jne 0x1000b3c0
push 0x5d4d24
push 0x5d4dbc
push 0x5d4d56
push str._r_nPatching_logos_at______p______p______p_r_n
push 0
call fcn.10002a10
add esp, 0x14
lea edx, [esp + 0x460]
mov ecx, 0x5d4d5a
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x5d4dc0
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x480]
mov ecx, 0x5d4d24
push 6
call fcn.10002d80
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [esp + 0x2c]
add esp, 4
mov dword [esp + 0x28], 0
mov dword [esp + 0x468], 0x5d4d26
push eax
push 4
push 4
push 0x5d4d26
call esi
cmp eax, 1
jne 0x1000b3c6
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1004ab68
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x2c]
push 4
push 0x5d4d26
call esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000b3c6
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp dword [0x1004a928], 1
jne 0x1000b49c
push 0x5e0463
push 0x5e04fb
push 0x5e0495
push str._r_nPatching_credits_at______p______p______p_r_n
push 0
call fcn.10002a10
add esp, 0x14
lea edx, [esp + 0x460]
mov ecx, 0x5e0499
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x5e04ff
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x480]
mov ecx, 0x5e0463
push 6
call fcn.10002d80
add esp, 4
mov dword [esp + 0x28], 0
lea eax, [esp + 0x28]
mov dword [esp + 0x468], 0x5e0465
push eax
push 4
push 4
push 0x5e0465
call esi
cmp eax, 1
jne 0x1000b49c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1004ab68
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x2c]
push 4
push 0x5e0465
call esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
cmp dword [0x1004b73c], 1
jne 0x1000b548
cmp dword [0x1004a444], 1
jne 0x1000b548
mov eax, dword [esp + 0x14]
mov ecx, edi
push str.xxxx____xx
push 0x1003cde0
mov edx, dword [eax + 0x50]
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x1000b539
push esi
push str._r_nHooking_display_map_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004abd4], esi
mov edx, 0x10007130
mov ecx, esi
push 0x1004abd4
call fcn.10001d70
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Display_Map_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000b548
push str.Failed_to_find_display_map_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov eax, dword [esp + 0x14]
mov ecx, edi
push str.xxxx___xx___
push 0x1003ce88
mov edx, dword [eax + 0x50]
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x1000b5cb
push esi
push str._r_nHooking_window_resolution_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004b028], esi
mov edx, 0x100058e0
mov ecx, esi
push 0x1004b028
call fcn.10001d70
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Window_Resolution_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000b5da
push str.Failed_to_find_window_resolution_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov eax, dword [esp + 0x14]
mov ecx, edi
push str.xxxx___xx___
push 0x1003ce88
mov edx, dword [eax + 0x50]
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x1000b65d
push esi
push str._r_nHooking_render_resolution_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004c1b4], esi
mov edx, 0x10005990
mov ecx, esi
push 0x1004c1b4
call fcn.10001d70
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Render_Resolution_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000b66c
push str.Failed_to_find_render_resolution_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov eax, dword [esp + 0x14]
mov ecx, edi
push str.xx___xx
push 0x1003cfd8
mov edx, dword [eax + 0x50]
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x1000b6ef
push esi
push str._r_nHooking_window_mode_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004bf6c], esi
mov edx, 0x10005a40
mov ecx, esi
push 0x1004bf6c
call fcn.10001d70
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Window_mode_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000b6fe
push str.Failed_to_find_window_mode_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a8ec], 0
je 0x1000b79d
mov eax, dword [esp + 0x14]
mov ecx, edi
push str.xxxxxxxxx
push 0x1003d06c
mov edx, dword [eax + 0x50]
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x1000b78e
push esi
push str._r_nHooking_fog_complexity_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004c1f4], esi
mov edx, 0x10005a70
mov ecx, esi
push 0x1004c1f4
call fcn.10001d70
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Fog_complexity_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000b79d
push str.Failed_to_find_fog_complexity_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004ab9c], 2
je 0x1000b7b3
cmp dword [0x1004a22c], 1
jne 0x1000b83c
mov esi, dword [esp + 0x14]
mov ecx, edi
push str.xxxx_____xxxxxxxx____
push 0x1003d118
mov edx, dword [esi + 0x50]
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000b8c7
push eax
push str._r_nHooking_FPS_limit_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x100060f0
mov dword [0x1004adf4], eax
mov ecx, eax
push 0x1004adf4
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.FPS_limit_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
mov esi, dword [esp + 0x14]
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____xxxxx
push 0x1003d1c0
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000b8db
push eax
push str._r_nHooking_Camera_index_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10005770
mov dword [0x1004aba0], eax
mov ecx, eax
push 0x1004aba0
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Camera_index_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000b8ea
push str.Failed_to_find_FPS_limit_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
jmp 0x1000b840
push str.Failed_to_find_camera_index_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a6c8], 8
jae 0x1000bbd0
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxx____
push str.SUVW3
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000b97e
push eax
push str._r_nHooking_Message_Selector_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10006120
mov dword [0x1004bd4c], eax
mov ecx, eax
push 0x1004bd4c
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Message_Selector_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000b98d
push str.Failed_to_find_message_selector_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp byte [0x1004ab9a], 0
mov ecx, edi
mov edx, dword [esi + 0x50]
jne 0x1000b9be
push str.x____xxxxxxxxxxxx_____xxxxxxxxxxx______
push 0x1003d328
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000ba4f
jmp 0x1000b9db
push str.x____xxxxxxxxxxxxx
push 0x1003d3b4
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000ba40
push eax
push str._r_nHooking_GetWindowsLangID_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10006150
mov dword [0x1004bf5c], eax
mov ecx, eax
push 0x1004bf5c
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.GetWindowsLangID_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000ba4f
push str.Failed_to_find_GetWindowsLangID_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxxxxxxxxxxxx____xxxxxxxx____xxxxxxxxxxxx
push 0x1003d434
call fcn.10002d30
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
je 0x1000bacd
push eax
push str._r_nHooking_GetCurrentLanguageIndex_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, 0x10006150
mov dword [0x1004abb8], eax
mov ecx, eax
push 0x1004abb8
call fcn.10001d70
mov ecx, dword [esp + 0x28]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.GetCurrentLanguageIndex_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000badc
push str.Failed_to_find_GetCurrentLanguageIndex_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov dword [esp + 0x470], eax
je 0x1000bb51
push eax
push str._r_nHooking_SetCurrentLanguageIndex_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10006170
mov dword [0x1004abb4], eax
mov ecx, eax
push 0x1004abb4
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SetCurrentLanguageIndex_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000bb60
push str.Failed_to_find_SetCurrentLanguageIndex_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxx_____
push 0x1003d5b8
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000bbc1
push eax
push str._r_nPatching_language_function_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x494]
add esp, 0xc
mov dword [esp + 0x488], 0x81e9
mov word [esp + 0x48c], 0x9000
push 6
call fcn.10002d80
add esp, 4
jmp 0x1000bbd0
push str.Failed_to_find_language_patch_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004b71c], 1
jne 0x1000bf00
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____xxxx
push 0x1003d62c
call fcn.10002d30
push eax
push str._r_nSaveStatusAddress______p_r_n
push 0
mov dword [0x1004c1c8], eax
call fcn.10002a10
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxxxx_________xxx
push 0x1003d66c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000bc8d
push eax
push str._r_nHooking_SaveRead_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10006190
mov dword [0x1004b048], eax
mov ecx, eax
push 0x1004b048
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SaveRead_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000bc9c
push str.Failed_to_find_save_read_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx_________xxx
push 0x1003d66c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000bd23
push eax
push str._r_nHooking_SaveWrite_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x100066c0
mov dword [0x1004b700], eax
mov ecx, eax
push 0x1004b700
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SaveWrite_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000bd32
push str.Failed_to_find_save_write_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxx
push 0x1003d78c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000bdb9
push eax
push str._r_nHooking_SaveDelete_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10006b30
mov dword [0x1004a478], eax
mov ecx, eax
push 0x1004a478
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SaveDelete_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000bdc8
push str.Failed_to_find_save_delete_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxx
push 0x1003d820
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000be19
push eax
push str._r_nPatching_BeginSaveFileChecksumVerification_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x34]
add esp, 0xc
mov dword [esp + 0x28], 0x90c301b0
push 4
call fcn.10002d80
add esp, 4
jmp 0x1000be28
push str.Failed_to_find_begin_save_file_checksum_verification_patch_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxx
push 0x1003d8b8
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000be76
push eax
push str._r_nPatching_ApplyChecksumToSaveFile_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x3b]
add esp, 0xc
mov byte [esp + 0x2f], 0xc3
push 1
call fcn.10002d80
add esp, 4
jmp 0x1000be85
push str.Failed_to_find_apply_save_file_checksum_verification_patch_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxx____
push 0x1003d948
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000bee4
push eax
push str._r_nPatching_strftime_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x484]
add esp, 0xc
mov dword [esp + 0x478], 0x90909090
mov byte [esp + 0x47c], 0x90
push 5
call fcn.10002d80
add esp, 4
jmp 0x1000bef3
push str.Failed_to_find_strftime_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
push 0
push 0x1004a238
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____xxxx_____xxx
push 0x1003d9b4
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000bf87
push eax
push str._r_nHooking_show_picture_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10006d50
mov dword [0x1004b290], eax
mov ecx, eax
push 0x1004b290
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Show_picture_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000bf96
push str.Failed_to_find_show_picture_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxx
push 0x1003da54
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000c01d
push eax
push str._r_nHooking_inflate_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10007170
mov dword [0x1004b730], eax
mov ecx, eax
push 0x1004b730
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.inflate_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000c02c
push str.Failed_to_find_inflate_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx
push 0x1003dae0
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000c06c
push eax
push str._r_nGetting_SH3GetFileStruct_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x474]
add esp, 0xc
mov dword [0x1004b720], eax
jmp 0x1000c07b
push str.Failed_to_find_SH3GetFileStruct_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxx
push 0x1003db60
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000c102
push eax
push str._r_nHooking_SH3ReadFile_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10007260
mov dword [0x1004a46c], eax
mov ecx, eax
push 0x1004a46c
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SH3ReadFile_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000c111
push str.Failed_to_find_SH3ReadFile_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____xxxxxxxxxxxxxxxxxx
push 0x1003dc14
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x1000c190
push esi
push str._r_nHooking_SH3LoadArc_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004a6b0], esi
mov edx, 0x10007cb0
mov ecx, esi
push 0x1004a6b0
call fcn.10001d70
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SH3LoadArc_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000c19f
push str.Failed_to_find_SH3LoadArc_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp byte [0x1004ab9a], 0
jne 0x1000c247
push 0x6099f0
push str._r_nHooking_AcquireFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004ae04], 0x6099f0
mov edx, 0x10007ce0
mov ecx, 0x6099f0
push 0x1004ae04
call fcn.10001d70
mov edx, 1
mov ecx, 0x6099f0
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.AcquireFilesystemSemaphore_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x609a60
push str._r_nHooking_ReleaseFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004abcc], 0x609a60
mov edx, 0x10007d30
mov ecx, 0x609a60
push 0x1004abcc
call fcn.10001d70
mov ecx, 0x609a60
jmp 0x1000c2dd
push 0x608680
push str._r_nHooking_AcquireFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004ae04], 0x608680
mov edx, 0x10007ce0
mov ecx, 0x608680
push 0x1004ae04
call fcn.10001d70
mov edx, 1
mov ecx, 0x608680
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.AcquireFilesystemSemaphore_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x6086f0
push str._r_nHooking_ReleaseFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004abcc], 0x6086f0
mov edx, 0x10007d30
mov ecx, 0x6086f0
push 0x1004abcc
call fcn.10001d70
mov ecx, 0x6086f0
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.ReleaseFilesystemSemaphore_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
mov ecx, edi
mov edx, dword [esi + 0x50]
push str.x____xxxxx____
push 0x1003ddb8
call fcn.10002d30
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx_________
push 0x1003dde0
mov dword [esp + 0x38], eax
call fcn.10002d30
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____xx_____x_________x____
push 0x1003de18
mov dword [0x1004b270], eax
call fcn.10002d30
add esp, 0x18
mov dword [0x1004c414], eax
cmp dword [esp + 0x28], 0
je 0x1000c3ff
mov ecx, dword [0x1004b270]
test ecx, ecx
je 0x1000c3ff
test eax, eax
je 0x1000c3ff
push ecx
push str._r_nPulseEvent_Return_Address_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
push dword [0x1004c414]
push str.PulseEvent_Exit_Return_Address_at______p_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x34]
add esp, 0xc
push esi
push str._r_nHooking_WaitForADXEvent_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004b738], esi
mov edx, 0x10007d80
mov ecx, esi
push 0x1004b738
call fcn.10001d70
mov ecx, dword [esp + 0x28]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.WaitForADXEvent_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000c40e
push str.Failed_to_find_WaitForADXEvent_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____x_____x
push 0x1003df34
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000c45e
push eax
push str._r_nPatching_WaitForSingleObject_call_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x30]
add esp, 0xc
mov word [esp + 0x24], 0x5eb
push 2
call fcn.10002d80
add esp, 4
jmp 0x1000c46d
push str.Failed_to_find_WaitForSingleObject_call_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
xor eax, eax
push str.x____xx____x____
push 0x1003dfc0
mov ecx, edi
mov dword [esp + 0x30], eax
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000c51d
nop dword [eax]
inc dword [esp + 0x28]
push eax
push str._r_nPatching_unused_ADX_counter_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x47c]
lea edx, [esp + 0x49c]
add esp, 0xc
mov dword [esp + 0x490], 0x90909090
mov dword [esp + 0x494], 0x90909090
mov word [esp + 0x498], 0x9090
mov byte [esp + 0x49a], 0x90
push 0xb
call fcn.10002d80
mov edx, dword [esi + 0x50]
add esp, 4
mov ecx, edi
push str.x____xx____x____
push 0x1003dfc0
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
jne 0x1000c4a0
cmp dword [esp + 0x28], 2
je 0x1000c52c
push str.Failed_to_find_unused_ADX_counter_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx______xxxx
push 0x1003e040
call fcn.10002d30
mov esi, eax
add esp, 8
test esi, esi
je 0x1000c570
push esi
push str._r_nPatching_unused_ADX_function_counter_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov byte [esp + 0x2f], 0x90
lea edx, [esp + 0x2f]
mov ecx, esi
push 1
call fcn.10002d80
add esp, 4
jmp 0x1000c57f
push str.Failed_to_find_unused_ADX_function_counter_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a454], 1
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
jbe 0x1000c771
push str.NtQueryVirtualMemory
push dword [esp + 0x24]
call edi
mov dword [0x1004b6c8], eax
mov eax, dword [0x1004a454]
cmp eax, 2
je 0x1000c695
cmp eax, 3
je 0x1000c627
cmp eax, 4
jb 0x1000c703
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c5d2
lea esi, [eax + 0xb]
jmp 0x1000c5f6
push 0x1003e15c
push eax
call edi
test eax, eax
jne 0x1000c5e3
lea esi, [eax + 0xc]
jmp 0x1000c5f6
push 0x1004adfc
mov edx, 0x10002fd0
mov ecx, eax
call fcn.10001d70
mov esi, eax
push 0x1003e15c
push dword [esp + 0x1c]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str._r_nCreateThread_Hook______s______s_r_n
jmp 0x1000c6f9
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c63b
lea esi, [eax + 0xb]
jmp 0x1000c65f
push str.SetThreadPriority
push eax
call edi
test eax, eax
jne 0x1000c64c
lea esi, [eax + 0xc]
jmp 0x1000c65f
push 0x1004ab70
mov edx, 0x10003260
mov ecx, eax
call fcn.10001d70
mov esi, eax
push str.SetThreadPriority
push dword [esp + 0x1c]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str._r_nSetThreadPriority_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c6a9
lea esi, [eax + 0xb]
jmp 0x1000c6cd
push str.SetThreadPriorityBoost
push eax
call edi
test eax, eax
jne 0x1000c6ba
lea esi, [eax + 0xc]
jmp 0x1000c6cd
push 0x1004a6cc
mov edx, 0x10003330
mov ecx, eax
call fcn.10001d70
mov esi, eax
push str.SetThreadPriorityBoost
push dword [esp + 0x1c]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str._r_nSetThreadPriorityBoost_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c717
lea esi, [eax + 0xb]
jmp 0x1000c73b
push str.SetThreadAffinityMask
push eax
call edi
test eax, eax
jne 0x1000c728
lea esi, [eax + 0xc]
jmp 0x1000c73b
push 0x1004a6d0
mov edx, 0x10003190
mov ecx, eax
call fcn.10001d70
mov esi, eax
push str.SetThreadAffinityMask
push dword [esp + 0x1c]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SetThreadAffinityMask_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
cmp dword [esp + 0x1c], 0
je 0x1000c90c
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.Advapi32.dll
call esi
test eax, eax
jne 0x1000c797
mov dword [esp + 0x28], 0xb
jmp 0x1000c7c2
push str.RegOpenKeyExA
push eax
call edi
test eax, eax
jne 0x1000c7ad
mov dword [esp + 0x28], 0xc
jmp 0x1000c7c2
push 0x1004b72c
mov edx, 0x10003600
mov ecx, eax
call fcn.10001d70
mov dword [esp + 0x28], eax
push str.Advapi32.dll
call esi
test eax, eax
jne 0x1000c7da
mov dword [esp + 0x460], 0xb
jmp 0x1000c80b
push str.RegQueryValueExA
push eax
call edi
test eax, eax
jne 0x1000c7f3
mov dword [esp + 0x460], 0xc
jmp 0x1000c80b
push 0x1004abd0
mov edx, 0x100036b0
mov ecx, eax
call fcn.10001d70
mov dword [esp + 0x460], eax
push str.Advapi32.dll
call esi
test eax, eax
jne 0x1000c820
mov dword [esp + 0x14], 0xb
jmp 0x1000c84b
push 0x1003e1f8
push eax
call edi
test eax, eax
jne 0x1000c836
mov dword [esp + 0x14], 0xc
jmp 0x1000c84b
push 0x1004c1d4
mov edx, 0x100036f0
mov ecx, eax
call fcn.10001d70
mov dword [esp + 0x14], eax
push str.RegOpenKeyExA
push dword [esp + 0x20]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
push str.RegQueryValueExA
push dword [esp + 0x20]
mov esi, eax
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
push 0x1003e1f8
push dword [esp + 0x20]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, esi
mov dword [esp + 0x468], eax
call fcn.10002410
mov ecx, dword [esp + 0x28]
push eax
call fcn.10002410
push eax
push str._r_nRegOpenKeyExA_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
mov ecx, edi
call fcn.10002410
mov ecx, dword [esp + 0x460]
push eax
call fcn.10002410
push eax
push str.RegQueryValueExA_Hook______s______s_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x478]
add esp, 0x10
call fcn.10002410
mov ecx, dword [esp + 0x14]
push eax
call fcn.10002410
push eax
push str.RegCloseKey_Hook______s______s_r_n_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000c91b
push str._r_nFailed_to_load_Advapi32.dll__r_n_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [esp + 0x30], 0
je 0x1000caa9
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.User32.dll
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x1000c947
mov dword [esp + 0x1c], 0xb
jmp 0x1000c972
push str.AdjustWindowRectEx
push eax
call edi
test eax, eax
jne 0x1000c95d
mov dword [esp + 0x1c], 0xc
jmp 0x1000c972
push 0x1004a95c
mov edx, 0x10003390
mov ecx, eax
call fcn.10001d70
mov dword [esp + 0x1c], eax
push str.User32.dll
call esi
test eax, eax
jne 0x1000c987
mov dword [esp + 0x28], 0xb
jmp 0x1000c9b2
push str.CreateWindowExA
push eax
call edi
test eax, eax
jne 0x1000c99d
mov dword [esp + 0x28], 0xc
jmp 0x1000c9b2
push 0x1004c1a4
mov edx, 0x100033c0
mov ecx, eax
call fcn.10001d70
mov dword [esp + 0x28], eax
push str.AdjustWindowRectEx
push dword [esp + 0x34]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
push str.CreateWindowExA
push dword [esp + 0x34]
mov esi, eax
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, esi
mov edi, eax
call fcn.10002410
mov ecx, dword [esp + 0x1c]
push eax
call fcn.10002410
push eax
push str.AdjustWindowRectEx_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
mov ecx, edi
call fcn.10002410
mov ecx, dword [esp + 0x28]
push eax
call fcn.10002410
push eax
push str.CreateWindowExA_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
cmp dword [0x1004c1d0], 0
je 0x1000cab8
push str.User32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x1000ca4d
lea edi, [eax + 0xb]
jmp 0x1000ca71
push str.PostMessageA
push eax
call esi
test eax, eax
jne 0x1000ca5e
lea edi, [eax + 0xc]
jmp 0x1000ca71
push 0x1004b260
mov edx, 0x10003550
mov ecx, eax
call fcn.10001d70
mov edi, eax
push str.PostMessageA
push dword [esp + 0x34]
call esi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, edi
call fcn.10002410
push eax
push str.PostMessageA_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000cabe
push str.Failed_to_load_User32.dll__r_n
push 1
call fcn.10002a10
add esp, 8
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.d3d8.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edi, eax
test edi, edi
je 0x1000cc57
push 0x1003e364
push edi
call esi
push 0x1003e378
push edi
mov dword [0x1004a230], eax
call esi
mov edx, dword [0x1004a45c]
mov dword [0x1004c188], eax
test edx, edx
je 0x1000cb1b
mov ecx, dword [0x1004a230]
test ecx, ecx
je 0x1000cb1b
cmp edx, 1
jne 0x1000cb0a
push 0
jmp 0x1000cb11
cmp edx, 2
jne 0x1000cb1b
push 1
call ecx
mov eax, dword [0x1004c188]
add esp, 4
mov ecx, dword [0x1004b6c0]
test ecx, ecx
je 0x1000cb2f
test eax, eax
je 0x1000cb2f
push ecx
call eax
add esp, 4
cmp dword [0x1004b714], 1
jne 0x1000cc66
push str.d3d8.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000cb55
mov dword [esp + 0x30], 0xb
jmp 0x1000cb80
push str.Direct3DCreate8
push eax
call esi
test eax, eax
jne 0x1000cb6b
mov dword [esp + 0x30], 0xc
jmp 0x1000cb80
push 0x1004ae0c
mov edx, 0x10005210
mov ecx, eax
call fcn.10001d70
mov dword [esp + 0x30], eax
push str.Direct3DCreate8
push edi
call esi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
mov ecx, dword [esp + 0x30]
push eax
call fcn.10002410
push eax
push str._r_nDirect3DCreate8_Hook______s______s_r_n_r_n
push 0
call fcn.10002a10
add esp, 0x10
push str.PatchMaximizedWindowedMode
push edi
call esi
push str.UseDirectX12UsermodeDisplayDriver
push edi
mov dword [0x1004b27c], eax
call esi
cmp dword [0x1004a948], 1
mov dword [0x1004c1b0], eax
jne 0x1000cc03
cmp dword [0x1004b27c], 0
je 0x1000cc03
push str.Patching_Maximized_Windowed_Mode_r_n
push 0
call fcn.10002a10
add esp, 8
call dword [0x1004b27c]
test al, al
jne 0x1000cc1c
push str._r_nFailed_to_disable_maximized_windowed_mode__r_n
push 1
jmp 0x1000cc0a
push str.Not_patching_Maximized_Windowed_Mode_r_n
push 0
call fcn.10002a10
mov dword [0x1004c1bc], 0
add esp, 8
cmp dword [0x1004bf60], 1
jne 0x1000cc4e
cmp dword [0x1004c1b0], 0
je 0x1000cc4e
push str._r_nEnabling_DirextX_12_r_n
push 0
call fcn.10002a10
add esp, 8
call dword [0x1004c1b0]
test al, al
jne 0x1000cc66
push str._r_nFailed_to_enable_DirextX_12__r_n
jmp 0x1000cc5c
push str._r_nNot_using_DirectX_12_r_n
push 0
jmp 0x1000cc5e
push str._r_nFailed_to_get_d3d8.dll__r_n
push 1
call fcn.10002a10
add esp, 8
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000cc7a
lea edi, [eax + 0xb]
jmp 0x1000cc9e
push 0x1003e4ec
push eax
call esi
test eax, eax
jne 0x1000cc8b
lea edi, [eax + 0xc]
jmp 0x1000cc9e
push 0x1004b040
mov edx, 0x10003730
mov ecx, eax
call fcn.10001d70
mov edi, eax
push 0x1003e4ec
push dword [esp + 0x1c]
call esi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, edi
call fcn.10002410
push eax
push str._r_nHeapCreate_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000cce8
lea edi, [eax + 0xb]
jmp 0x1000cd0c
push 0x1003e51c
push eax
call esi
test eax, eax
jne 0x1000ccf9
lea edi, [eax + 0xc]
jmp 0x1000cd0c
push 0x1004bf78
mov edx, 0x10003770
mov ecx, eax
call fcn.10001d70
mov edi, eax
push 0x1003e51c
push dword [esp + 0x1c]
call esi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, edi
call fcn.10002410
push eax
push str.HeapAlloc_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000cd56
lea edi, [eax + 0xb]
jmp 0x1000cd7a
push 0x1003e548
push eax
call esi
test eax, eax
jne 0x1000cd67
lea edi, [eax + 0xc]
jmp 0x1000cd7a
push 0x1004a950
mov edx, 0x100037f0
mov ecx, eax
call fcn.10001d70
mov edi, eax
push 0x1003e548
push dword [esp + 0x1c]
call esi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, edi
call fcn.10002410
push eax
push str.HeapFree_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000cdc4
lea edi, [eax + 0xb]
jmp 0x1000cde8
push str.PulseEvent
push eax
call esi
test eax, eax
jne 0x1000cdd5
lea edi, [eax + 0xc]
jmp 0x1000cde8
push 0x1004a6c4
mov edx, 0x10002f90
mov ecx, eax
call fcn.10001d70
mov edi, eax
push str.PulseEvent
push dword [esp + 0x1c]
call esi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, edi
call fcn.10002410
push eax
push str._r_nPulseEvent_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000ce32
lea edi, [eax + 0xb]
jmp 0x1000ce56
push str.SetPriorityClass
push eax
call esi
test eax, eax
jne 0x1000ce43
lea edi, [eax + 0xc]
jmp 0x1000ce56
push 0x1004a6b4
mov edx, 0x10003370
mov ecx, eax
call fcn.10001d70
mov edi, eax
push str.SetPriorityClass
push dword [esp + 0x1c]
call esi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
inc edi
cmp edi, 0xd
ja case.default.0x1000ce7a
jmp dword [edi*4 + 0x1000d1e0]
mov ecx, str.MH_UNKNOWN
jmp 0x1000cee8
mov ecx, str.MH_OK
jmp 0x1000cee8
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000cee8
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000cee8
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000cee8
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000cee8
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000cee8
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000cee8
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000cee8
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000cee8
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000cee8
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000cee8
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000cee8
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000cee8
mov ecx, str._unknown_
push eax
push ecx
push str._r_nSetPriorityClass_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
push 0
push 0x1004a6d8
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x208
lea eax, [esp + 0x7f4]
push 0
push eax
call fcn.100182b0
add esp, 0xc
lea eax, [esp + 0x7f0]
push 0x1004a6d8
push 0x104
push eax
call fcn.1001d96a
add esp, 0xc
lea eax, [esp + 0x7f0]
push str.disp.ini
push 0x104
push eax
call fcn.1001d9ce
add esp, 0xc
cmp dword [0x1004adf8], 1
jne 0x1000cf68
lea eax, [esp + 0x7f0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0
push 0x80
push 4
push 0
push 2
push 0x40000000
lea eax, [esp + 0x808]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
mov esi, eax
cmp esi, 0xffffffff
je 0x1000d023
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1000d01c
push 0x104
push eax
lea eax, [esp + 0x40]
push eax
call fcn.100182b0
add esp, 0xc
lea eax, [esp + 0x38]
push dword [0x1004c40c]
push dword [0x1004a448]
push dword [0x1004c1f0]
push dword [0x1004bf68]
push str.formatD3DFMT_A8R8G8B8_ngamma_b1_ngamma_g1_ngamma_r1_nmodewindow_nresolution_dx_d_nsize_dx_d_n
push 0x104
push eax
call fcn.1000e250
lea ecx, [esp + 0x54]
mov dword [esp + 0x484], 0
add esp, 0x1c
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000d000
push 0
lea eax, [esp + 0x46c]
sub ecx, edx
push eax
push ecx
lea eax, [esp + 0x44]
push eax
push esi
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x208
lea eax, [esp + 0xc04]
push 0
push eax
call fcn.100182b0
add esp, 0xc
lea eax, [esp + 0xc00]
push 0x1004a6d8
push 0x104
push eax
call fcn.1001d96a
add esp, 0xc
lea eax, [esp + 0xc00]
push str.data.sys
push 0x104
push eax
call fcn.1001d9ce
mov esi, dword [sym.imp.KERNEL32.dll_SetLastError]
add esp, 0xc
push 0
call esi
cmp dword [0x1004b264], 1
jne 0x1000d0e0
push 0
push 0x80
push 4
push 0
push 2
push 0x40000000
lea eax, [esp + 0xc18]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x1000d0da
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1000d0d3
push eax
mov dword [esp + 0x46c], eax
lea eax, [esp + 0x46c]
push eax
push 0x74
push 0x10044d10
push esi
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [0x1004b70c], 1
jne 0x1000d185
push 0x208
lea eax, [esp + 0x3c]
push 0
push eax
call fcn.100182b0
add esp, 0xc
lea eax, [esp + 0x38]
push 0x1004a6d8
push 0x104
push eax
call fcn.1001d96a
add esp, 0xc
lea eax, [esp + 0x38]
push str.data.002
push 0x104
push eax
call fcn.1001d9ce
add esp, 0xc
push 0
call esi
push 0
push 0x80
push 4
push 0
push 2
push 0x40000000
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x1000d185
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1000d17e
push eax
mov dword [esp + 0x46c], eax
lea eax, [esp + 0x46c]
push eax
push 0x1350
push 0x10044d88
push esi
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str._r_nPatching_thread_done__r_n
push 0
call fcn.10002a10
push str._r_n______________________________________________________________________________________________________r_n
push 0
call fcn.10002a10
add esp, 0x10
mov al, 1
pop edi
pop esi
mov ecx, dword [esp + 0xe04]
xor ecx, esp
call fcn.10016053
mov esp, ebp
pop ebp
ret
push 0x10
push str.Silent_Hill_3_PC_Fix
push str.Unable_to_get_exe_path___1_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [esp + 0xe0c]
xor al, al
pop edi
pop esi
xor ecx, esp
call fcn.10016053
mov esp, ebp
pop ebp
ret