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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x1018
call fcn.1002f400
mov eax, dword [0x10043040]
xor eax, esp
mov dword [esp + 0x1014], eax
push esi
push edi
xor esi, esi
mov ecx, 1
mov edi, 0x10049264
xor eax, eax
lock cmpxchg dword [edi], ecx
test eax, eax
je 0x10007d74
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
nop dword [eax]
cmp esi, 0x20
jae 0x10007d59
push 0
jmp 0x10007d5b
push 1
call edi
inc esi
mov ecx, 1
xor eax, eax
mov edx, 0x10049264
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0x10007d50
mov edi, edx
cmp dword [0x10049268], 0
jne 0x10007d9c
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapCreate]
xor edx, edx
mov dword [0x10049268], eax
test eax, eax
mov ecx, 9
cmovne ecx, edx
jmp 0x10007da1
mov ecx, 1
xor eax, eax
xchg dword [edi], eax
test ecx, ecx
je 0x10007dc5
push 0x10
push str.Silent_Hill_3_PC_Fix
push str.Unable_to_initialize_MinHook_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp dword [0x1004a078], 1
jne 0x10007e31
lea eax, [esp + 0x30]
mov dword [esp + 0x30], 0
push eax
push 0
call dword [sym.imp.WINMM.dll_waveOutGetVolume]
test eax, eax
je 0x10007def
push eax
push str._r_nFailed_to_get_volume_______u_r_n
jmp 0x10007e27
movzx ecx, word [esp + 0x30]
mov eax, 0xa003c017
mul ecx
shr edx, 0xc
test edx, edx
jne 0x10007e31
push str.Fixing_audio_r_n_r_n
push edx
call fcn.10002780
add esp, 8
push 0xfffafffa
push 0
call dword [sym.imp.WINMM.dll_waveOutSetVolume]
test eax, eax
je 0x10007e31
push eax
push str._r_nFailed_to_set_volume_______u_r_n
push 1
call fcn.10002780
add esp, 0xc
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x10049e70
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 0x10007ea2
lea eax, [esp + 0x490]
mov dword [esp + 0x490], 0
push eax
push esi
mov dword [esp + 0x49c], 0
call edi
cmp eax, 1
jne 0x10007e9b
cmp dword [esp + 0x490], 0xb123a8
jbe 0x10007e9b
mov byte [0x100494ee], al
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x100499c0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x10007f05
lea eax, [esp + 0x490]
mov dword [esp + 0x490], 0
push eax
push esi
mov dword [esp + 0x49c], 0
call edi
cmp eax, 1
jne 0x10007efe
cmp dword [esp + 0x490], 0x1303300
jbe 0x10007efe
mov byte [0x10049c46], al
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x1004a518
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x10007f7a
lea eax, [esp + 0x490]
mov dword [esp + 0x490], 0
push eax
push esi
mov dword [esp + 0x49c], 0
call edi
cmp eax, 1
jne 0x10007f73
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 [0x1004a2b8], eax
test eax, eax
je 0x10007fc0
push 0x1004b480
push 0x1004a784
push 0x1004b210
call eax
mov eax, dword [0x1004b480]
and eax, 0x7fff
mov dword [0x1004b480], eax
jmp 0x10007fc5
mov eax, dword [0x1004b480]
push eax
push dword [0x1004a784]
push dword [0x1004b210]
push str.OS_Version______lu._lu._lu_r_n_r_n
push 0
call fcn.10002780
add esp, 0x14
lea eax, [esp + 0x38]
push 0xdc
push 0
push eax
call fcn.10017a30
add esp, 0xc
mov eax, 0xdc
mov word [esp + 0x7c], ax
lea eax, [esp + 0x38]
push eax
push 0xffffffffffffffff
push 0
call dword [sym.imp.USER32.dll_EnumDisplaySettingsW]
test eax, eax
jne 0x1000802d
push 0x10
push str.Silent_Hill_3_PC_Fix
push str.Failed_to_get_the_monitor_resolution_
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [0x100494b0]
mov eax, dword [0x1004b470]
test ecx, ecx
jne 0x10008059
test eax, eax
jne 0x10008059
mov ecx, dword [esp + 0xe4]
mov eax, dword [esp + 0xe8]
mov dword [0x100494b0], ecx
mov dword [0x1004b470], eax
cmp dword [0x1004afcc], 0
jne 0x10008076
cmp dword [0x1004b254], 0
jne 0x10008076
mov dword [0x1004afcc], ecx
mov dword [0x1004b254], eax
push 0x344
lea eax, [esp + 0x120]
mov dword [esp + 0x34], 0
push 0
push eax
call fcn.10017a30
add esp, 0xc
lea eax, [esp + 0x118]
push 1
push eax
push 0
push 0
mov dword [esp + 0x128], 0x348
call dword [sym.imp.USER32.dll_EnumDisplayDevicesW]
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x100082cf
push dword [esp + 0x25c]
push str.GPU_StateFlags______p_r_n_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x268]
add esp, 0xc
test al, 4
je 0x100080eb
test al, 1
jne 0x1000819b
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x170]
push eax
push 0x80
push 0xfde9
call esi
mov edi, eax
test edi, edi
je 0x100082cf
push edi
call fcn.10015dbe
add esp, 4
mov esi, eax
push edi
push 0
push esi
call fcn.10017a30
add esp, 0xc
lea eax, [esp + 0x15c]
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 0x100082c1
push str.Secondary_GPU______s_r_n_r_n
push 0
call fcn.10002780
add esp, 0xc
push esi
call fcn.10015c61
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x120]
add esp, 4
inc esi
mov dword [esp + 0x30], esi
push 0x344
push 0
push eax
call fcn.10017a30
add esp, 0xc
lea eax, [esp + 0x118]
push 1
push eax
push esi
jmp 0x100080a1
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x170]
push eax
push 0x80
push 0xfde9
call esi
mov dword [esp + 0x30], eax
test eax, eax
je 0x100082cf
push eax
call fcn.10015dbe
add esp, 4
mov edi, eax
push dword [esp + 0x30]
push 0
push edi
call fcn.10017a30
add esp, 0xc
lea eax, [esp + 0x15c]
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 0x1000820d
call fcn.10015c61
jmp 0x100082cc
push str.Primary_GPU______s_r_n_r_n
push 0
call fcn.10002780
lea ecx, [esp + 0x168]
add esp, 0xc
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10008226
sub ecx, edx
mov edx, 2
sar ecx, 1
lea eax, [ecx + 2]
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
mov dword [esp + 0x46c], ecx
call fcn.10015dbe
add esp, 4
mov dword [esp + 0x30], eax
push dword [esp + 0x468]
push 0
push eax
call fcn.10017a30
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x168]
lea eax, [ecx + 2]
mov dword [0x10049728], edx
add esp, 0xc
mov dword [esp + 0x468], eax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10008290
sub ecx, dword [esp + 0x468]
lea eax, [esp + 0x15c]
sar ecx, 1
push eax
lea eax, [ecx + 2]
push eax
push edx
call fcn.1001d8ae
add esp, 0xc
push edi
call fcn.10015c61
jmp 0x100082cc
call fcn.10015c61
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add esp, 4
cmp dword [0x10049728], 0
jne 0x1000830f
push 0x1e
call fcn.10015dbe
add esp, 4
mov dword [0x10049728], 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.1001d8ae
add esp, 0xc
push 0x190
lea eax, [esp + 0x6e4]
push 0
push eax
call fcn.10017a30
add esp, 8
lea eax, [esp + 0x6e4]
mov edx, str.ProcessorNameString
mov ecx, str.HARDWAREDESCRIPTIONSystemCentralProcessor0
push eax
call fcn.10002ba0
add esp, 8
test eax, eax
jne 0x100083dc
push eax
push eax
push eax
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x6f4]
push eax
push 0x80
push 0xfde9
call esi
mov dword [esp + 0x30], eax
test eax, eax
je 0x100083dc
push eax
call fcn.10015dbe
add esp, 4
mov edi, eax
push dword [esp + 0x30]
push 0
push edi
call fcn.10017a30
add esp, 0xc
lea eax, [esp + 0x6e0]
push 0
push 0
push dword [esp + 0x38]
push edi
push 0xffffffffffffffff
push eax
push 0x80
push 0xfde9
call esi
test eax, eax
je 0x100083c2
push edi
push str.CPU______s_r_n_r_n
push 0
call fcn.10002780
add esp, 0xc
push edi
call fcn.10015c61
add esp, 4
jmp 0x100083eb
push str.Unknown_CPU_r_n_r_n
push 0
call fcn.10002780
add esp, 8
push edi
call fcn.10015c61
add esp, 4
jmp 0x100083eb
push str.Unknown_CPU_r_n_r_n
push 0
call fcn.10002780
add esp, 8
push dword [0x1004b470]
push dword [0x100494b0]
push str.Resolution______d_x__d_r_n
push 0
call fcn.10002780
push dword [0x1004b254]
push dword [0x1004afcc]
push str.Render_Resolution______d_x__d_r_n_r_n
push 0
call fcn.10002780
xor eax, eax
mov byte [esp + 0x4f], 0
add esp, 0x20
mov dword [esp + 0x4b8], eax
mov word [esp + 0x4bc], ax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x34]
push eax
push 6
lea eax, [esp + 0x4c0]
push eax
push 0x426121
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp eax, 1
jne 0x100084b8
cmp dword [esp + 0x34], 6
jne 0x100084b8
cmp byte [esp + 0x4b8], 0x89
jne 0x100084b1
cmp byte [esp + 0x4b9], 0x15
jne 0x100084b1
cmp byte [esp + 0x4ba], 0
jne 0x100084b1
cmp byte [esp + 0x4bb], 0x13
jne 0x100084b1
cmp byte [esp + 0x4bc], 0x6b
jne 0x100084b1
cmp byte [esp + 0x4bd], 0
jne 0x100084b1
mov byte [esp + 0x2f], al
mov dword [0x1004a76c], 0
jmp 0x100084b8
mov byte [0x10049c45], 1
push 0x190
lea eax, [esp + 0x874]
push 0
push eax
call fcn.10017a30
add esp, 0xc
mov byte [esp + 0x18], 0
cmp byte [0x10049c45], 0
lea eax, [esp + 0x468]
mov dword [esp + 0x30], 1
mov dword [esp + 0x468], 0x190
push eax
lea eax, [esp + 0x874]
push eax
lea eax, [esp + 0x38]
push eax
push 2
push str.movie
jne 0x10008513
push str.SOFTWAREKonamiSILENT_HILL_3
jmp 0x10008518
push str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x10008553
lea ecx, [esp + 0x870]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10008531
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 [0x10049c45], 0
mov edx, str.data
push 0x80000002
push 0x1004b260
jne 0x100085bb
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002bf0
push 0x80000002
push 0x1004b260
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002bf0
add esp, 0x10
cmp byte [esp + 0x18], 0
jne 0x100085b4
push 0x80000002
push 0x1004b260
mov edx, str.movie
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002bf0
add esp, 8
mov esi, str.SOFTWAREKonamiSILENT_HILL_3
jmp 0x10008609
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002bf0
push 0x80000002
push 0x1004b260
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002bf0
add esp, 0x10
cmp byte [esp + 0x18], 0
jne 0x10008604
push 0x80000002
push 0x1004b260
mov edx, str.movie
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002bf0
add esp, 8
mov esi, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000002
push 0x10049740
mov edx, str.save
mov ecx, esi
call fcn.10002bf0
push 0x80000002
push 0x1004b260
mov edx, str.sound
mov ecx, esi
call fcn.10002bf0
add esp, 0x10
cmp dword [0x10049c38], 1
jne 0x10008746
cmp byte [0x10049c45], 0
mov edx, str.data
push 0x80000001
push 0x1004b260
jne 0x100086c7
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002bf0
push 0x80000001
push 0x1004b260
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002bf0
cmp byte [esp + 0x28], 0
mov ecx, 0x1004b260
mov eax, 0x1003727c
mov edx, str.movie
cmove eax, ecx
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
push 0x80000001
push eax
call fcn.10002bf0
push 0x80000001
push 0x10049740
mov edx, str.save
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002bf0
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
jmp 0x1000872f
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002bf0
push 0x80000001
push 0x1004b260
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002bf0
cmp byte [esp + 0x28], 0
mov ecx, 0x1004b260
mov eax, 0x1003727c
mov edx, str.movie
cmove eax, ecx
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000001
push eax
call fcn.10002bf0
push 0x80000001
push 0x10049740
mov edx, str.save
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002bf0
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000001
push 0x1004b260
mov edx, str.sound
call fcn.10002bf0
add esp, 0x28
mov eax, dword [0x100494b0]
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003e7c0]
mov eax, dword [0x1004b470]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movss dword [0x1004a2d8], xmm1
addsd xmm0, qword [eax*8 + 0x1003e7c0]
mov eax, dword [0x1004afcc]
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x1003e7c0]
mov eax, dword [0x1004b254]
movss dword [esp + 0x30], xmm2
movss dword [0x1004a084], xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x488], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003e7c0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x480], xmm0
movss xmm0, dword [0x1003e740]
divss xmm0, xmm1
movss dword [0x100499b4], xmm0
movss dword [0x1004a794], xmm0
mulss xmm0, dword [0x1003e738]
movss dword [0x10049c28], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push str.Aspect_Ratio______f_r_n
push 0
call fcn.10002780
movss xmm0, dword [0x1004a2e8]
add esp, 0x10
ucomiss xmm0, dword [0x1003e72c]
movss dword [esp + 0x18], xmm0
lahf
test ah, 0x44
jp 0x1000888b
movss xmm0, dword [0x1004a084]
comiss xmm0, dword [0x1003e790]
jb 0x10008862
movss xmm0, dword [0x1003e754]
jmp 0x10008885
comiss xmm0, dword [0x1003e764]
jb 0x10008875
movss xmm0, dword [0x1003e750]
jmp 0x10008885
movss xmm0, dword [0x1003e73c]
divss xmm0, dword [0x1004a794]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [0x10049c28]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Horizontal_FOV______f_r_n
push 0
call fcn.10002780
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.10002780
mov ecx, dword [0x1004afcc]
add esp, 0x10
movss xmm2, dword [0x1004a2d8]
mov eax, ecx
shr eax, 0x1f
movaps xmm1, xmm2
cmp dword [0x100494b8], 0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x1003e7c0]
cvtpd2ps xmm3, xmm0
movss xmm0, dword [esp + 0x28]
jne 0x1000890e
mulss xmm0, dword [0x1003e740]
jmp 0x10008916
mulss xmm0, dword [0x1003e760]
subss xmm1, xmm0
mov eax, dword [0x1004b254]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
push 0x208
push 0
mulss xmm1, dword [0x1003e734]
addsd xmm0, qword [ecx*8 + 0x1003e7c0]
divss xmm2, xmm1
cvtpd2ps xmm0, xmm0
divss xmm3, xmm2
subss xmm0, xmm3
movss dword [0x10049278], xmm3
movss dword [0x1004b230], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003e7c0]
lea eax, [esp + 0xc10]
push eax
cvtpd2ps xmm0, xmm0
movss dword [0x10049960], xmm0
call fcn.10017a30
add esp, 0xc
lea eax, [esp + 0xc08]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1000cec8
cmp eax, 0xff
ja 0x1000cec8
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x100089e1
push 0x10
push str.Silent_Hill_3_PC_Fix
push str.Unable_to_get_exe_path___2___ERROR_INSUFFICIENT_BUFFER_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea eax, [esp + 0xc08]
push eax
push 0x104
push 0x1004afe8
call fcn.1001d8ae
add esp, 0xc
push 0x1004afe8
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 + 0xc08]
push eax
call edi
push str.RtlImageNtHeader
push dword [esp + 0x24]
mov edi, eax
mov dword [esp + 0x478], edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov dword [0x100494cc], eax
call eax
cmp byte [0x10049c45], 1
mov esi, eax
mov dword [esp + 0x14], esi
jne 0x10008f56
cmp byte [esp + 0x460], 1
jne 0x10008f56
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxx
push 0x10039f78
call fcn.10002ab0
mov esi, eax
push esi
push str.Patching_trial_version_pause_menu_at______p_r_n
push 0
call fcn.10002780
add esp, 0x14
mov dword [esp + 0x4c0], 0xaf210d80
lea edx, [esp + 0x4c0]
mov word [esp + 0x4c4], 0xbc
mov ecx, esi
mov byte [esp + 0x4c6], 0xf
push 7
call fcn.10002b00
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, edi
mov edx, dword [edx + 0x50]
push str.x____x____xxx____xx
push 0x10039fc8
call fcn.10002ab0
mov esi, eax
push esi
push str.Patching_trial_restart_at______p_r_n
push 0
call fcn.10002780
add esp, 0x14
mov dword [esp + 0x460], 0x90909090
lea edx, [esp + 0x460]
mov byte [esp + 0x464], 0x90
mov ecx, esi
push 5
call fcn.10002b00
mov eax, dword [esp + 0x18]
add esp, 4
mov ecx, edi
mov edx, dword [eax + 0x50]
push str.xxxxxx______x
push 0x1003a010
call fcn.10002ab0
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x10008ba7
push esi
push str._r_nHooking_SH3LoadFile_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x1004a75c], esi
mov edx, 0x10007b10
mov ecx, esi
push 0x1004a75c
call fcn.10001dd0
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.SH3LoadFile_function_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
jmp 0x10008bb6
push str.Failed_to_find_SH3LoadFile_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
push 0x60aff0
push str._r_nHooking_SetActionLevel_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x100499ac], 0x60aff0
mov edx, 0x10007b40
mov ecx, 0x60aff0
push 0x100499ac
call fcn.10001dd0
mov edx, 1
mov ecx, 0x60aff0
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.SetActionLevel_function_Hook______s______s_r_n
push 0
call fcn.10002780
push 0x60b060
push str._r_nHooking_SetRiddleLevel_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0x1c
mov dword [0x10049968], 0x60b060
mov edx, 0x10007b60
mov ecx, 0x60b060
push 0x10049968
call fcn.10001dd0
mov edx, 1
mov ecx, 0x60b060
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.SetRiddleLevel_function_Hook______s______s_r_n
push 0
call fcn.10002780
push 0x60b000
push str._r_nHooking_GetActionLevel_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0x1c
mov dword [0x10049bcc], 0x60b000
mov edx, 0x10007b80
mov ecx, 0x60b000
push 0x10049bcc
call fcn.10001dd0
mov edx, 1
mov ecx, 0x60b000
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.GetActionLevel_function_Hook______s______s_r_n
push 0
call fcn.10002780
push 0x60b070
push str._r_nHooking_GetRiddleLevel_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0x1c
mov dword [0x100494d8], 0x60b070
mov edx, 0x10007b90
mov ecx, 0x60b070
push 0x100494d8
call fcn.10001dd0
mov esi, eax
mov edx, 1
mov ecx, 0x60b070
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.GetRiddleLevel_function_Hook______s______s_r_n
push 0
call fcn.10002780
push 0x5d59dd
push str.Patching_trial_main_menu__1__at______p_r_n
push 0
call fcn.10002780
add esp, 0x1c
mov dword [esp + 0x468], 0x182444c7
cmp dword [0x1004a080], 0
lea edx, [esp + 0x468]
mov ecx, 0x5d59dd
mov dword [esp + 0x46c], 3
push 8
je 0x10008d7e
mov dword [esp + 0x470], 4
call fcn.10002b00
add esp, 4
push 0x5d59fc
push str.Patching_trial_main_menu__2__at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [esp + 0x4d0], 0x18ac44c7
lea edx, [esp + 0x4d0]
mov dword [esp + 0x4d4], 5
mov ecx, 0x5d59fc
push 8
call fcn.10002b00
add esp, 4
push 0x5d5a0c
push str.Patching_trial_main_menu__3__at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov word [esp + 0x24], 0x9090
lea edx, [esp + 0x24]
mov ecx, 0x5d5a0c
push 2
call fcn.10002b00
add esp, 4
push 0x5d5a0e
push str.Patching_trial_main_menu__4__at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [esp + 0x490], 0x18ac44c7
lea edx, [esp + 0x490]
mov dword [esp + 0x494], 6
mov ecx, 0x5d5a0e
push 8
call fcn.10002b00
add esp, 4
push 0x60bfc3
push str.Patching_trial_main_menu__5__at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [esp + 0x488], 0x90909090
lea edx, [esp + 0x488]
mov word [esp + 0x48c], 0x9090
mov ecx, 0x60bfc3
push 6
call fcn.10002b00
add esp, 4
push 0x60bef3
push str.Patching_trial_main_menu__6__at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [esp + 0x4c8], 0x410f05c6
lea edx, [esp + 0x4c8]
mov word [esp + 0x4cc], 0x6de
mov ecx, 0x60bef3
mov byte [esp + 0x4ce], 0
push 7
call fcn.10002b00
add esp, 4
cmp dword [0x1004a76c], 1
jne 0x10008f0a
push 0x5d4ee2
push str.Patching_trial_main_menu__7__at______p_r_n
push 0
mov dword [0x1004a77c], 1
call fcn.10002780
add esp, 0xc
mov dword [esp + 0x468], 0x71cff4bb
lea edx, [esp + 0x468]
mov byte [esp + 0x46c], 0
mov ecx, 0x5d4ee2
push 5
call fcn.10002b00
add esp, 4
cmp dword [0x1004a764], 1
jne 0x10008f52
push 0x5e1831
push str.Patching_trial_main_menu__8__at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [esp + 0x468], 0x12be9
lea edx, [esp + 0x468]
mov word [esp + 0x46c], 0
mov ecx, 0x5e1831
push 6
call fcn.10002b00
add esp, 4
mov esi, dword [esp + 0x14]
cmp byte [esp + 0x2f], 1
jne 0x100090dd
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x____x_____x_____xx
push 0x1003a3a8
call fcn.10002ab0
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x_____x_____x_____xxxx
push 0x1003a3e4
mov dword [esp + 0x470], eax
call fcn.10002ab0
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x_____x_____x_____xx
push 0x1003a420
mov dword [esp + 0x3c], eax
call fcn.10002ab0
mov edx, dword [esp + 0x478]
add esp, 0x18
mov ecx, eax
mov dword [esp + 0x468], ecx
test edx, edx
je 0x100090dd
mov eax, dword [esp + 0x24]
test eax, eax
je 0x100090dd
test ecx, ecx
je 0x100090dd
push ecx
push eax
push edx
push str.Patching_sliding_transitions_and_pixelation_at______p______p______p_r_n
push 0
call fcn.10002780
movaps xmm0, xmmword [0x1003e7d0]
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.10002b00
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x494]
add esp, 4
mov dword [esp + 0x4a4], 0xd8ddd8dd
push 0x18
call fcn.10002b00
mov ecx, dword [esp + 0x46c]
lea edx, [esp + 0x494]
add esp, 4
push 0x18
call fcn.10002b00
movss xmm1, dword [0x1003e734]
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 [0x1004a09c], 1
mov eax, dword [0x1004a734]
mov ecx, dword [0x1004a0ac]
je 0x10009111
cmp dword [0x1004a2e0], 1
je 0x10009111
cmp dword [0x100499a4], 1
je 0x1000911e
cmp eax, 1
je 0x10009111
cmp ecx, 1
jne 0x10009486
cmp dword [0x100499a4], 1
jne 0x100091b9
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000913a
mov dword [esp + 0x460], 0xb
jmp 0x1000916f
push 0x1003a488
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x10009157
mov dword [esp + 0x460], 0xc
jmp 0x1000916f
push 0x100499b8
mov edx, 0x100035e0
mov ecx, eax
call fcn.10001dd0
mov dword [esp + 0x460], eax
push 0x1003a488
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, 1
mov ecx, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
mov ecx, dword [esp + 0x460]
push eax
call fcn.10002200
push eax
push str.ReadFile_Hook______s______s_r_n
push 0
call fcn.10002780
mov eax, dword [0x1004a734]
add esp, 0x10
mov ecx, dword [0x1004a0ac]
cmp dword [0x1004a09c], 1
je 0x100091d9
cmp dword [0x100499a4], 1
je 0x100091d9
cmp eax, 1
je 0x100091d9
cmp ecx, 1
jne 0x10009267
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
push 0x1003a4ec
call fcn.10002ab0
mov esi, eax
add esp, 8
mov dword [esp + 0x478], esi
test esi, esi
je 0x10009258
push esi
push str.Hooking_debug_messages_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x10049e60], esi
mov edx, 0x10005a90
mov ecx, esi
push 0x10049e60
call fcn.10001dd0
mov ecx, dword [esp + 0x478]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Debug_messages_function_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
jmp 0x10009267
push str.Failed_to_find_debug_message_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x1004b21c], 0
je 0x100093c3
cmp dword [0x1004a09c], 1
mov esi, dword [esp + 0x14]
jne 0x1000931b
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx____
push 0x1003a5c4
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000930c
push eax
push str.Hooking_ADX_debug_messages_function_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10005ed0
mov dword [0x100494d0], eax
mov ecx, eax
push 0x100494d0
call fcn.10001dd0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.ADX_Debug_messages_function_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000931b
push str.Failed_to_find_ADX_debug_message_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x1004b21c], 0
je 0x100093c3
cmp dword [0x1004a2e0], 1
jne 0x100093c3
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx_____xxxx
push 0x1003a680
call fcn.10002ab0
mov esi, eax
add esp, 8
mov dword [esp + 0x478], esi
test esi, esi
je 0x100093b4
push esi
push str.Hooking_map_debug_messages_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x10049988], esi
mov edx, 0x10005e30
mov ecx, esi
push 0x10049988
call fcn.10001dd0
mov ecx, dword [esp + 0x478]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Map_Debug_messages_function_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
jmp 0x100093c3
push str.Failed_to_find_map_debug_message_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp byte [0x10049c45], 0
mov esi, dword [esp + 0x14]
jne 0x1000948a
cmp dword [0x100499a4], 1
jne 0x1000948a
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xxx______xxxxxxx_____
push 0x1003a744
mov ecx, edi
mov dword [esp + 0x468], eax
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x10009475
nop dword [eax]
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.10002780
mov ecx, dword [esp + 0x478]
lea edx, [esp + 0x34]
push 2
mov word [esp + 0x38], 0xdeb
call fcn.10002b00
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxx______xxxxxxx_____
push 0x1003a744
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
jne 0x10009410
cmp dword [esp + 0x460], 2
je 0x1000948a
push str.Failed_to_find_Audio_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
jmp 0x1000948a
mov esi, dword [esp + 0x14]
cmp dword [0x1004a098], 1
jne 0x100095d2
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx
push 0x1003a7ac
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x478], eax
test eax, eax
je 0x100094f6
push eax
push str.Patching_safe_mode__1__at______p_r_n
push 0
call fcn.10002780
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.10002b00
add esp, 4
jmp 0x10009505
push str.Failed_to_find_safe_mode__1__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxx_xx____xxxxx
push 0x1003a820
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x478], eax
test eax, eax
je 0x10009564
push eax
push str.Patching_safe_mode__2__at______p_r_n
push 0
call fcn.10002780
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.10002b00
add esp, 4
jmp 0x10009573
push str.Failed_to_find_safe_mode__2__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_xx____xxxxx
push 0x1003a898
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x478], eax
test eax, eax
je 0x100095c3
push eax
push str.Patching_safe_mode__3__at______p_r_n
push 0
call fcn.10002780
mov ecx, dword [esp + 0x484]
lea edx, [esp + 0x30]
add esp, 0xc
mov word [esp + 0x24], 0x9eb
push 2
call fcn.10002b00
add esp, 4
jmp 0x100095d2
push str.Failed_to_find_safe_mode__3__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov eax, dword [0x10049c40]
test eax, eax
je 0x100096b1
cmp eax, 0x1000
jbe 0x100095f0
mov dword [0x10049c40], 0x1000
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xxxxxxxxxx
push 0x1003a904
mov ecx, edi
mov dword [esp + 0x468], eax
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x100096a2
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.10002780
mov eax, dword [0x10049c40]
lea edx, [esp + 0x4a0]
mov ecx, dword [esp + 0x478]
push 0x10
mov dword [esp + 0x4a4], eax
mov dword [esp + 0x4a8], eax
mov dword [esp + 0x4ac], eax
mov dword [esp + 0x4b0], eax
call fcn.10002b00
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxxxxxxxxx
push 0x1003a904
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
jne 0x10009620
cmp dword [esp + 0x460], 2
je 0x100096b1
push str.Failed_to_find_DOF_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x1004995c], 0
je 0x10009b32
mov dword [esp + 0x24], 0
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx______xxxx____xxxx
push 0x1003a968
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x1000974d
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.10002780
mov eax, dword [0x1004995c]
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 + 0x1003e7c0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x48c], xmm0
call fcn.10002b00
add esp, 0x14
cmp dword [esp + 0x24], 0xe
jl 0x100096c6
jmp 0x10009763
cmp dword [esp + 0x24], 0xf
je 0x10009763
push str.Failed_to_find_shadows__1__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xx______xxx_x
push 0x1003a9dc
mov ecx, edi
mov dword [esp + 0x468], eax
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x1000981a
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.10002780
mov eax, dword [0x1004995c]
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 + 0x1003e7c0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x48c], xmm0
call fcn.10002b00
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xx______xxx_x
push 0x1003a9dc
call fcn.10002ab0
add esp, 8
test eax, eax
jne 0x10009790
cmp dword [esp + 0x460], 2
je 0x10009829
push str.Failed_to_find_shadows__2__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
xor eax, eax
push str.x___xxxx
push 0x1003aa44
mov ecx, edi
mov dword [esp + 0x468], eax
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x100098db
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.10002780
mov eax, dword [0x1004995c]
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 + 0x1003e7c0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x48c], xmm0
call fcn.10002b00
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.x___xxxx
push 0x1003aa44
call fcn.10002ab0
add esp, 8
test eax, eax
jne 0x10009851
cmp dword [esp + 0x460], 4
je 0x100098ea
push str.Failed_to_find_shadows__3__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__xxx_
push 0x1003aab0
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x1000996d
inc eax
push eax
push str.Patching_Shadows__4.1__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002780
mov eax, dword [0x1004995c]
lea edx, [esp + 0x474]
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x468], eax
push 4
call fcn.10002b00
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.10002780
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x474]
add esp, 0xc
push 4
call fcn.10002b00
add esp, 4
jmp 0x1000997c
push str.Failed_to_find_shadows__4__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__x
push 0x1003ab44
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x100099ff
inc eax
push eax
push str.Patching_Shadows__5.1__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002780
mov eax, dword [0x1004995c]
lea edx, [esp + 0x474]
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x468], eax
push 4
call fcn.10002b00
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.10002780
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x474]
add esp, 0xc
push 4
call fcn.10002b00
add esp, 4
jmp 0x10009a0e
push str.Failed_to_find_shadows__5__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__xx
push 0x1003abd8
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x10009a91
inc eax
push eax
push str.Patching_Shadows__6.1__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002780
mov eax, dword [0x1004995c]
lea edx, [esp + 0x474]
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x468], eax
push 4
call fcn.10002b00
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.10002780
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x474]
add esp, 0xc
push 4
call fcn.10002b00
add esp, 4
jmp 0x10009aa0
push str.Failed_to_find_shadows__6__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__xxx_xxx
push 0x1003ac74
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x10009b23
inc eax
push eax
push str.Patching_Shadows__7.1__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002780
mov eax, dword [0x1004995c]
lea edx, [esp + 0x474]
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x468], eax
push 4
call fcn.10002b00
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.10002780
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x474]
add esp, 0xc
push 4
call fcn.10002b00
add esp, 4
jmp 0x10009b32
push str.Failed_to_find_shadows__7__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x10049724], 0
je 0x10009bf9
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx
push 0x1003ad0c
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x10009bea
cmp dword [0x10049724], 0x400
jbe 0x10009b74
mov dword [0x10049724], 0x400
inc eax
push eax
push str.Patching_inventory_background__1__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002780
mov eax, dword [0x10049724]
lea edx, [esp + 0x484]
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x478], eax
push 4
call fcn.10002b00
mov eax, dword [0x10049724]
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.10002780
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x48c]
add esp, 0xc
push 4
call fcn.10002b00
add esp, 4
jmp 0x10009bf9
push str.Failed_to_find_inventory_background_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov ecx, dword [0x1004994c]
test ecx, ecx
je 0x10009ecb
cmp ecx, 0x1000
jbe 0x10009c1a
mov ecx, 0x1000
mov dword [0x1004994c], ecx
mov eax, dword [0x10049c40]
test eax, eax
je 0x10009c2c
cmp ecx, eax
je 0x10009c2c
mov dword [0x1004994c], eax
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxxxxxxxxxxxxx
push 0x1003adc8
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x10009c85
inc eax
push eax
push str.Patching_status_screen__1__at______p_r_n
push 0
mov dword [esp + 0x48c], eax
call fcn.10002780
mov eax, dword [0x1004994c]
lea edx, [esp + 0x484]
mov ecx, dword [esp + 0x48c]
add esp, 0xc
mov dword [esp + 0x478], eax
push 4
call fcn.10002b00
add esp, 4
jmp 0x10009c94
push str.Failed_to_find_status_screen__1__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxxxxxxxxxxxx
push 0x1003ae50
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x10009ced
inc eax
push eax
push str.Patching_status_screen__2__at______p_r_n
push 0
mov dword [esp + 0x48c], eax
call fcn.10002780
mov eax, dword [0x1004994c]
lea edx, [esp + 0x484]
mov ecx, dword [esp + 0x48c]
add esp, 0xc
mov dword [esp + 0x478], eax
push 4
call fcn.10002b00
add esp, 4
jmp 0x10009cfc
push str.Failed_to_find_status_screen__2__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx
push 0x1003aec0
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x478], eax
test eax, eax
je 0x10009df2
mov ecx, dword [0x1004994c]
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 + 0x1003e7c0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x484], xmm0
call fcn.10002780
movss xmm0, dword [esp + 0x484]
lea edx, [esp + 0x30]
add esp, 0xc
movss dword [esp + 0x24], xmm0
mov ecx, esi
push 4
call fcn.10002b00
add esp, 4
add esi, 0x30
push esi
push str.Patching_status_screen__3.1__at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
lea edx, [esp + 0x24]
mov ecx, esi
push 4
call fcn.10002b00
add esp, 4
lea esi, [edi + 0x34]
push esi
push str.Patching_status_screen__3.2__at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
lea edx, [esp + 0x24]
mov ecx, esi
push 4
call fcn.10002b00
add esp, 4
lea esi, [edi + 0x4c]
push esi
push str.Patching_status_screen__3.3__at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
lea edx, [esp + 0x24]
mov ecx, esi
push 4
call fcn.10002b00
mov edi, dword [esp + 0x474]
add esp, 4
mov esi, dword [esp + 0x14]
jmp 0x10009e01
push str.Failed_to_find_status_screen__3__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x10049c40], 0
jne 0x10009ecb
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xxxxxxxxxx
push 0x1003a904
mov ecx, edi
mov dword [esp + 0x468], eax
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x10009ebc
nop dword [eax]
inc dword [esp + 0x460]
push eax
push str.Patching_status_screen__4__at______p_r_n
push 0
call fcn.10002780
mov eax, dword [0x1004994c]
lea edx, [esp + 0x49c]
mov ecx, dword [esp + 0x474]
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.10002b00
mov edx, dword [esi + 0x50]
add esp, 4
mov ecx, edi
push str.xxxxxxxxxx
push 0x1003a904
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
jne 0x10009e40
cmp dword [esp + 0x460], 2
je 0x10009ecb
push str.Failed_to_find_status_screen__4__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x100494a8], 1
jne 0x10009f44
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x_________xx
push 0x1003b018
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x10009f35
push eax
push str.Patching_cutscene_borders_at______p_r_n
push 0
call fcn.10002780
mov ecx, dword [esp + 0x47c]
lea edx, [esp + 0x494]
add esp, 0xc
mov dword [esp + 0x488], 0x9090eed9
mov word [esp + 0x48c], 0x9090
push 6
call fcn.10002b00
add esp, 4
jmp 0x10009f44
push str.Failed_to_find_cutscene_borders_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x1004a090], 1
jne 0x1000a0df
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xxxxxxxxxxx
push 0x1003b098
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x1000a009
add eax, 2
push eax
push str.Patching_black_bars__1__at______p_r_n
push 0
mov dword [esp + 0x474], eax
mov dword [esp + 0x47c], eax
call fcn.10002780
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x474]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a018
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x470]
mov dword [eax], 0x1003e170
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x474]
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 0x1000a018
push str.Failed_to_find_black_bars__1__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____x____x____xxxxxx
push 0x1003b114
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x1000a0d0
add eax, 2
push eax
push str.Patching_black_bars__2__at______p_r_n
push 0
mov dword [esp + 0x474], eax
mov dword [esp + 0x47c], eax
call fcn.10002780
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x474]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a0df
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x470]
mov dword [eax], 0x1003e170
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x474]
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 0x1000a0df
push str.Failed_to_find_black_bars__2__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxx____xx
push 0x1003b188
call fcn.10002ab0
add esp, 8
mov dword [0x1004b224], eax
cmp dword [0x10049bfc], 1
jne 0x1000a142
test eax, eax
je 0x1000a133
push eax
push str.Patching_FPS_fix_at______p_r_n
push 0
call fcn.10002780
mov ecx, dword [0x1004b224]
lea edx, [esp + 0x3b]
add esp, 0xc
mov byte [esp + 0x2f], 0x42
push 1
call fcn.10002b00
add esp, 4
jmp 0x1000a142
push str.Failed_to_find_FPS_fix_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x10049970], 1
jne 0x1000a1bb
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx
push 0x1003b1d8
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000a1ac
push eax
push str.Patching_option_menu_freeze_at______p_r_n
push 0
call fcn.10002780
mov ecx, dword [esp + 0x47c]
lea edx, [esp + 0x494]
add esp, 0xc
mov dword [esp + 0x488], 0x909090c3
mov word [esp + 0x48c], 0x9090
push 6
call fcn.10002b00
add esp, 4
jmp 0x1000a1bb
push str.Failed_to_find_option_menu_freeze_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x1004b200], 1
jne 0x1000a223
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxx
push 0x1003b244
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000a214
push eax
push str.Patching_pause_menu_at______p_r_n
push 0
call fcn.10002780
mov ecx, dword [esp + 0x47c]
lea edx, [esp + 0x30]
add esp, 0xc
mov word [esp + 0x24], 0x36eb
push 2
call fcn.10002b00
add esp, 4
jmp 0x1000a223
push str.Failed_to_find_pause_menu_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x1004afd4], 1
jne 0x1000a559
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xx____xxx
push 0x1003b2a4
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x1000a2e8
add eax, 2
push eax
push str.Patching_FMV1_at______p_r_n
push 0
mov dword [esp + 0x474], eax
mov dword [esp + 0x47c], eax
call fcn.10002780
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x474]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a2f7
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x470]
mov dword [eax], 0x10049278
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x474]
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 0x1000a2f7
push str.Failed_to_find_FMV1_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xxxxxxxxxx
push 0x1003b308
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x1000a3af
add eax, 2
push eax
push str.Patching_FMV2_at______p_r_n
push 0
mov dword [esp + 0x474], eax
mov dword [esp + 0x47c], eax
call fcn.10002780
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x474]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a3be
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x470]
mov dword [eax], 0x1004b230
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x474]
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 0x1000a3be
push str.Failed_to_find_FMV2_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x100494b8], 0
je 0x1000a559
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xxxxxx____x
push 0x1003b370
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x1000a483
add eax, 2
push eax
push str.Patching_FMV3_at______p_r_n
push 0
mov dword [esp + 0x474], eax
mov dword [esp + 0x47c], eax
call fcn.10002780
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x474]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a492
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x470]
mov dword [eax], 0x1003e170
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x474]
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 0x1000a492
push str.Failed_to_find_FMV3_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xx____xxxx
push 0x1003b3d8
call fcn.10002ab0
add esp, 8
test eax, eax
je 0x1000a54a
add eax, 2
push eax
push str.Patching_FMV4_at______p_r_n
push 0
mov dword [esp + 0x474], eax
mov dword [esp + 0x47c], eax
call fcn.10002780
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x474]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a559
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x470]
mov dword [eax], 0x10049960
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x474]
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 0x1000a559
push str.Failed_to_find_FMV4_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____x____xxxx
push 0x1003b43c
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000a5b8
push eax
push str.Patching_option_menu_window_size_at______p_r_n
push 0
call fcn.10002780
mov ecx, dword [esp + 0x47c]
lea edx, [esp + 0x484]
add esp, 0xc
mov dword [esp + 0x478], 0x90909090
mov byte [esp + 0x47c], 0x90
push 5
call fcn.10002b00
add esp, 4
jmp 0x1000a5c7
push str.Failed_to_find_option_menu_window_size_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____xxx
push 0x1003b4bc
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000a617
push eax
push str.Patching_option_menu_render_size_at______p_r_n
push 0
call fcn.10002780
mov ecx, dword [esp + 0x47c]
lea edx, [esp + 0x30]
add esp, 0xc
mov word [esp + 0x24], 0x1aeb
push 2
call fcn.10002b00
add esp, 4
jmp 0x1000a626
push str.Failed_to_find_option_menu_render_size_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x10049714], 1
jne 0x1000a757
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxx
push 0x1003b538
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000a692
push eax
push str.Patching_ADX_buffer_size__1__at______p_r_n
push 0
call fcn.10002780
mov ecx, dword [esp + 0x47c]
lea edx, [esp + 0x484]
add esp, 0xc
mov dword [esp + 0x478], 0x57573068
mov byte [esp + 0x47c], 0
push 5
call fcn.10002b00
add esp, 4
jmp 0x1000a6a1
push str.Failed_to_find_ADX_buffer_size__1__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx_xx
push 0x1003b5ac
mov dword [esp + 0x468], 0
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a73a
nop
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.10002780
mov ecx, dword [esp + 0x478]
lea edx, [esp + 0x480]
push 5
mov dword [esp + 0x484], 0xe63c868
mov byte [esp + 0x488], 0
call fcn.10002b00
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxxxx_xx
push 0x1003b5ac
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
jne 0x1000a6d0
mov eax, dword [esp + 0x460]
inc eax
cmp eax, 4
je 0x1000a757
push eax
push str.Failed_to_find_ADX_buffer_size__2._d__in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 0xc
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____x____xxxx____xx
push 0x1003b630
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000a7cc
push eax
push str.Patching_Sleep_Debug_Msg_at______p_r_n
push 0
call fcn.10002780
mov ecx, dword [esp + 0x47c]
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.10002b00
add esp, 4
jmp 0x1000a7db
push str.Failed_to_find_Sleep_Debug_Msg_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxx
push 0x1003b69c
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000a82c
push eax
push str.Patching_Sleep_at______p_r_n
push 0
call fcn.10002780
mov ecx, dword [esp + 0x47c]
lea edx, [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x24], 0x90909090
push 4
call fcn.10002b00
add esp, 4
jmp 0x1000a83b
push str.Failed_to_find_Sleep_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x1004afe0], 1
jne 0x1000aa0a
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____xxxxx__xx____x
push 0x1003b6fc
mov dword [esp + 0x468], 0
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
je 0x1000a958
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.10002780
add esp, 0xc
mov ecx, esi
cmp dword [esp + 0x460], 1
jne 0x1000a8e3
push 0x100494c8
mov edx, 0x10005620
mov dword [0x100494c8], esi
call fcn.10001dd0
mov ecx, dword [esp + 0x24]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000a91d
push 0x1004a724
mov edx, 0x10005750
mov dword [0x1004a724], esi
call fcn.10001dd0
mov ecx, dword [esp + 0x24]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Vertical_FOV_function_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
mov ecx, edi
mov edx, dword [esi + 0x50]
push str.xxx____xxxxx__xx____x
push 0x1003b6fc
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
jne 0x1000a880
cmp dword [esp + 0x460], 2
je 0x1000a967
push str.Failed_to_find_FOV_functions_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x1004928c], 1
jne 0x1000aa0a
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx____xxxxxxxx_____xx
push 0x1003b7dc
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a9fb
push eax
push str._r_nHooking_scene_type_function_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x474]
add esp, 0xc
mov edx, 0x100057e0
mov dword [0x10049c3c], eax
mov ecx, eax
push 0x10049c3c
call fcn.10001dd0
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Scene_type_function_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000aa0a
push str.Failed_to_find_scene_type_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x1004ada0], 1
jne 0x1000b3c8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x____x_____x_____
push 0x1003b898
call fcn.10002ab0
push eax
push str._r_nGetting_cursor_at______p_r_n
push 0
mov dword [0x10049c10], eax
call fcn.10002780
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxxxxxxxx
push 0x1003b8d0
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000aac7
push eax
push str._r_nHooking_show_item_function_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x474]
add esp, 0xc
mov edx, 0x10005760
mov dword [0x1004a2ec], eax
mov ecx, eax
push 0x1004a2ec
call fcn.10001dd0
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Show_item_function_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000aad6
push str.Failed_to_find_show_item_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxx
push 0x1003b960
call fcn.10002ab0
mov esi, eax
add esp, 8
mov dword [esp + 0x470], esi
test esi, esi
je 0x1000ab55
push esi
push str._r_nHooking_save_and_load_menu_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x10049280], esi
mov edx, 0x10006ff0
mov ecx, esi
push 0x10049280
call fcn.10001dd0
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Save_and_load_menu_function_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
jmp 0x1000ab64
push str.Failed_to_find_save_and_load_menu_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
xor eax, eax
cmp byte [0x10049c45], 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 0x1000af53
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 0x1000b31c
cmp dword [esp + 0x24], 6
jne 0x1000b31c
cmp byte [esp + 0x478], 0x51
jne 0x1000b31c
cmp byte [esp + 0x479], 0xe8
jne 0x1000b31c
cmp byte [esp + 0x47a], 0xfa
jne 0x1000b31c
cmp byte [esp + 0x47b], 0xff
jne 0x1000b31c
cmp byte [esp + 0x47c], 0xd7
jne 0x1000b31c
cmp byte [esp + 0x47d], 0xff
jne 0x1000b31c
push 0x682ba0
push str._r_nHooking_2D_width_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x1004adac], 0x682ba0
mov edx, 0x10006cb0
mov ecx, 0x682ba0
push 0x1004adac
call fcn.10001dd0
mov edx, 1
mov ecx, 0x682ba0
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.2D_width_function_Hook______s______s_r_n
push 0
call fcn.10002780
push 0x4168e0
push str._r_nHooking_screen_width_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0x1c
mov dword [0x100494e4], 0x4168e0
mov edx, 0x10006f10
mov ecx, 0x4168e0
push 0x100494e4
call fcn.10001dd0
mov edx, 1
mov ecx, 0x4168e0
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Screen_width_function_Hook______s______s_r_n
push 0
call fcn.10002780
push 0x600b60
push str._r_nHooking_hitbox_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0x1c
mov dword [0x1004a2d4], 0x600b60
mov edx, 0x10006f70
mov ecx, 0x600b60
push 0x1004a2d4
call fcn.10001dd0
mov edx, 1
mov ecx, 0x600b60
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Hitbox_function_Hook______s______s_r_n
push 0
call fcn.10002780
mov eax, dword [0x1004afcc]
add esp, 0x10
movss xmm3, dword [esp + 0x28]
mulss xmm3, dword [0x1003e740]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003e7c0]
cvtpd2ps xmm2, xmm0
movss xmm0, dword [0x1004a2d8]
movaps xmm1, xmm0
subss xmm1, xmm3
cmp dword [0x1004b204], 1
mulss xmm1, dword [0x1003e734]
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 [0x10049bc8], xmm2
jne 0x1000ae81
push 0x5d7414
push 0x5d74ac
push 0x5d7446
push str._r_nPatching_logos_at______p______p______p_r_n
push 0
call fcn.10002780
add esp, 0x14
lea edx, [esp + 0x460]
mov ecx, 0x5d744a
push 4
call fcn.10002b00
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x5d74b0
push 4
call fcn.10002b00
add esp, 4
lea edx, [esp + 0x480]
mov ecx, 0x5d7414
push 6
call fcn.10002b00
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [esp + 0x2c]
add esp, 4
mov dword [esp + 0x28], 0
mov dword [esp + 0x470], 0x5d7416
push eax
push 4
push 4
push 0x5d7416
call esi
cmp eax, 1
jne 0x1000ae87
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x470]
mov dword [eax], 0x10049bc8
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 0x1000ae87
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp dword [0x1004998c], 1
jne 0x1000b31c
push 0x59be13
push 0x59beab
push 0x59be45
push str._r_nPatching_credits_at______p______p______p_r_n
push 0
call fcn.10002780
add esp, 0x14
lea edx, [esp + 0x460]
mov ecx, 0x59be49
push 4
call fcn.10002b00
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x59beaf
push 4
call fcn.10002b00
add esp, 4
lea edx, [esp + 0x480]
mov ecx, 0x59be13
push 6
call fcn.10002b00
add esp, 4
mov dword [esp + 0x28], 0
lea eax, [esp + 0x28]
mov dword [esp + 0x470], 0x59be15
push eax
push 4
push 4
push 0x59be15
call esi
cmp eax, 1
jne 0x1000b31c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x470]
mov dword [eax], 0x10049bc8
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x2c]
push 4
push 0x59be15
jmp 0x1000b309
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 0x1000b31c
cmp dword [esp + 0x24], 6
jne 0x1000b31c
cmp byte [esp + 0x478], 0x51
jne 0x1000b31c
cmp byte [esp + 0x479], 0xe8
jne 0x1000b31c
cmp byte [esp + 0x47a], 0xba
jne 0x1000b31c
cmp byte [esp + 0x47b], 0x12
jne 0x1000b31c
cmp byte [esp + 0x47c], 0xd8
jne 0x1000b31c
cmp byte [esp + 0x47d], 0xff
jne 0x1000b31c
push 0x6818e0
push str._r_nHooking_2D_width_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x1004adac], 0x6818e0
mov edx, 0x10006cb0
mov ecx, 0x6818e0
push 0x1004adac
call fcn.10001dd0
mov edx, 1
mov ecx, 0x6818e0
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.2D_width_function_Hook______s______s_r_n
push 0
call fcn.10002780
push 0x4168e0
push str._r_nHooking_screen_width_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0x1c
mov dword [0x100494e4], 0x4168e0
mov edx, 0x10006f10
mov ecx, 0x4168e0
push 0x100494e4
call fcn.10001dd0
mov edx, 1
mov ecx, 0x4168e0
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Screen_width_function_Hook______s______s_r_n
push 0
call fcn.10002780
push 0x5ff7f0
push str._r_nHooking_hitbox_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0x1c
mov dword [0x1004a2d4], 0x5ff7f0
mov edx, 0x10006f70
mov ecx, 0x5ff7f0
push 0x1004a2d4
call fcn.10001dd0
mov edx, 1
mov ecx, 0x5ff7f0
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Hitbox_function_Hook______s______s_r_n
push 0
call fcn.10002780
mov eax, dword [0x1004afcc]
add esp, 0x10
movss xmm3, dword [esp + 0x28]
mulss xmm3, dword [0x1003e740]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003e7c0]
cvtpd2ps xmm2, xmm0
movss xmm0, dword [0x1004a2d8]
movaps xmm1, xmm0
subss xmm1, xmm3
cmp dword [0x1004b204], 1
mulss xmm1, dword [0x1003e734]
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 [0x10049bc8], xmm2
jne 0x1000b240
push 0x5d4d24
push 0x5d4dbc
push 0x5d4d56
push str._r_nPatching_logos_at______p______p______p_r_n
push 0
call fcn.10002780
add esp, 0x14
lea edx, [esp + 0x460]
mov ecx, 0x5d4d5a
push 4
call fcn.10002b00
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x5d4dc0
push 4
call fcn.10002b00
add esp, 4
lea edx, [esp + 0x480]
mov ecx, 0x5d4d24
push 6
call fcn.10002b00
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [esp + 0x2c]
add esp, 4
mov dword [esp + 0x28], 0
mov dword [esp + 0x470], 0x5d4d26
push eax
push 4
push 4
push 0x5d4d26
call esi
cmp eax, 1
jne 0x1000b246
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x470]
mov dword [eax], 0x10049bc8
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 0x1000b246
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp dword [0x1004998c], 1
jne 0x1000b31c
push 0x5e0463
push 0x5e04fb
push 0x5e0495
push str._r_nPatching_credits_at______p______p______p_r_n
push 0
call fcn.10002780
add esp, 0x14
lea edx, [esp + 0x460]
mov ecx, 0x5e0499
push 4
call fcn.10002b00
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x5e04ff
push 4
call fcn.10002b00
add esp, 4
lea edx, [esp + 0x480]
mov ecx, 0x5e0463
push 6
call fcn.10002b00
add esp, 4
mov dword [esp + 0x28], 0
lea eax, [esp + 0x28]
mov dword [esp + 0x470], 0x5e0465
push eax
push 4
push 4
push 0x5e0465
call esi
cmp eax, 1
jne 0x1000b31c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x470]
mov dword [eax], 0x10049bc8
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 [0x1004ada0], 1
jne 0x1000b3c8
cmp dword [0x100494ac], 1
jne 0x1000b3c8
mov eax, dword [esp + 0x14]
mov ecx, edi
push str.xxxx____xx
push 0x1003bb60
mov edx, dword [eax + 0x50]
call fcn.10002ab0
mov esi, eax
add esp, 8
mov dword [esp + 0x470], esi
test esi, esi
je 0x1000b3b9
push esi
push str._r_nHooking_display_map_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x10049c34], esi
mov edx, 0x10006fe0
mov ecx, esi
push 0x10049c34
call fcn.10001dd0
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Display_Map_function_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
jmp 0x1000b3c8
push str.Failed_to_find_display_map_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov eax, dword [esp + 0x14]
mov ecx, edi
push str.xxxx___xx___
push 0x1003bc08
mov edx, dword [eax + 0x50]
call fcn.10002ab0
mov esi, eax
add esp, 8
mov dword [esp + 0x470], esi
test esi, esi
je 0x1000b44b
push esi
push str._r_nHooking_window_resolution_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x1004a088], esi
mov edx, 0x100058f0
mov ecx, esi
push 0x1004a088
call fcn.10001dd0
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Window_Resolution_function_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
jmp 0x1000b45a
push str.Failed_to_find_window_resolution_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov eax, dword [esp + 0x14]
mov ecx, edi
push str.xxxx___xx___
push 0x1003bc08
mov edx, dword [eax + 0x50]
call fcn.10002ab0
mov esi, eax
add esp, 8
mov dword [esp + 0x470], esi
test esi, esi
je 0x1000b4dd
push esi
push str._r_nHooking_render_resolution_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x1004b218], esi
mov edx, 0x100059a0
mov ecx, esi
push 0x1004b218
call fcn.10001dd0
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Render_Resolution_function_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
jmp 0x1000b4ec
push str.Failed_to_find_render_resolution_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov eax, dword [esp + 0x14]
mov ecx, edi
push str.xx___xx
push 0x1003bd58
mov edx, dword [eax + 0x50]
call fcn.10002ab0
mov esi, eax
add esp, 8
mov dword [esp + 0x470], esi
test esi, esi
je 0x1000b56f
push esi
push str._r_nHooking_window_mode_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x1004afd0], esi
mov edx, 0x10005a50
mov ecx, esi
push 0x1004afd0
call fcn.10001dd0
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Window_mode_function_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
jmp 0x1000b57e
push str.Failed_to_find_window_mode_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x10049954], 0
je 0x1000b61d
mov eax, dword [esp + 0x14]
mov ecx, edi
push str.xxxxxxxxx
push 0x1003bdec
mov edx, dword [eax + 0x50]
call fcn.10002ab0
mov esi, eax
add esp, 8
mov dword [esp + 0x470], esi
test esi, esi
je 0x1000b60e
push esi
push str._r_nHooking_fog_complexity_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x1004b258], esi
mov edx, 0x10005a80
mov ecx, esi
push 0x1004b258
call fcn.10001dd0
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Fog_complexity_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
jmp 0x1000b61d
push str.Failed_to_find_fog_complexity_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x10049bfc], 2
je 0x1000b633
cmp dword [0x10049294], 1
jne 0x1000b6bc
mov esi, dword [esp + 0x14]
mov ecx, edi
push str.xxxx_____xxxxxxxx____
push 0x1003be98
mov edx, dword [esi + 0x50]
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000b747
push eax
push str._r_nHooking_FPS_limit_function_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x474]
add esp, 0xc
mov edx, 0x10005f70
mov dword [0x10049e54], eax
mov ecx, eax
push 0x10049e54
call fcn.10001dd0
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.FPS_limit_function_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
mov esi, dword [esp + 0x14]
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____xxxxx
push 0x1003bf40
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000b75b
push eax
push str._r_nHooking_Camera_index_function_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x474]
add esp, 0xc
mov edx, 0x10005780
mov dword [0x10049c00], eax
mov ecx, eax
push 0x10049c00
call fcn.10001dd0
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Camera_index_function_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000b76a
push str.Failed_to_find_FPS_limit_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
jmp 0x1000b6c0
push str.Failed_to_find_camera_index_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x10049730], 8
jae 0x1000ba50
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxx____
push str.SUVW3
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000b7fe
push eax
push str._r_nHooking_Message_Selector_function_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x474]
add esp, 0xc
mov edx, 0x10005fa0
mov dword [0x1004afb8], eax
mov ecx, eax
push 0x1004afb8
call fcn.10001dd0
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Message_Selector_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000b80d
push str.Failed_to_find_message_selector_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp byte [0x10049c45], 0
mov ecx, edi
mov edx, dword [esi + 0x50]
jne 0x1000b83e
push str.x____xxxxxxxxxxxx_____xxxxxxxxxxx______
push 0x1003c0a8
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000b8cf
jmp 0x1000b85b
push str.x____xxxxxxxxxxxxx
push 0x1003c134
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000b8c0
push eax
push str._r_nHooking_GetWindowsLangID_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x474]
add esp, 0xc
mov edx, 0x10005fd0
mov dword [0x1004afc0], eax
mov ecx, eax
push 0x1004afc0
call fcn.10001dd0
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.GetWindowsLangID_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000b8cf
push str.Failed_to_find_GetWindowsLangID_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxxxxxxxxxxxx____xxxxxxxx____xxxxxxxxxxxx
push 0x1003c1b4
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
je 0x1000b94d
push eax
push str._r_nHooking_GetCurrentLanguageIndex_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, 0x10005fd0
mov dword [0x10049c18], eax
mov ecx, eax
push 0x10049c18
call fcn.10001dd0
mov ecx, dword [esp + 0x28]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.GetCurrentLanguageIndex_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000b95c
push str.Failed_to_find_GetCurrentLanguageIndex_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov dword [esp + 0x468], eax
je 0x1000b9d1
push eax
push str._r_nHooking_SetCurrentLanguageIndex_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x474]
add esp, 0xc
mov edx, 0x10005ff0
mov dword [0x10049c14], eax
mov ecx, eax
push 0x10049c14
call fcn.10001dd0
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.SetCurrentLanguageIndex_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000b9e0
push str.Failed_to_find_SetCurrentLanguageIndex_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxx_____
push 0x1003c338
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000ba41
push eax
push str._r_nPatching_language_function_at______p_r_n
push 0
call fcn.10002780
mov ecx, dword [esp + 0x47c]
lea edx, [esp + 0x494]
add esp, 0xc
mov dword [esp + 0x488], 0x81e9
mov word [esp + 0x48c], 0x9000
push 6
call fcn.10002b00
add esp, 4
jmp 0x1000ba50
push str.Failed_to_find_language_patch_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x1004a77c], 1
jne 0x1000bd80
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____xxxx
push 0x1003c3ac
call fcn.10002ab0
push eax
push str._r_nSaveStatusAddress______p_r_n
push 0
mov dword [0x1004b22c], eax
call fcn.10002780
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxxxx_________xxx
push 0x1003c3ec
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000bb0d
push eax
push str._r_nHooking_SaveRead_function_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x474]
add esp, 0xc
mov edx, 0x10006010
mov dword [0x1004a0a8], eax
mov ecx, eax
push 0x1004a0a8
call fcn.10001dd0
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.SaveRead_function_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000bb1c
push str.Failed_to_find_save_read_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx_________xxx
push 0x1003c3ec
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000bba3
push eax
push str._r_nHooking_SaveWrite_function_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x474]
add esp, 0xc
mov edx, 0x10006550
mov dword [0x1004a760], eax
mov ecx, eax
push 0x1004a760
call fcn.10001dd0
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.SaveWrite_function_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000bbb2
push str.Failed_to_find_save_write_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxx
push 0x1003c50c
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000bc39
push eax
push str._r_nHooking_SaveDelete_function_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x474]
add esp, 0xc
mov edx, 0x100069e0
mov dword [0x100494e0], eax
mov ecx, eax
push 0x100494e0
call fcn.10001dd0
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.SaveDelete_function_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000bc48
push str.Failed_to_find_save_delete_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxx
push 0x1003c5a0
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000bc99
push eax
push str._r_nPatching_BeginSaveFileChecksumVerification_at______p_r_n
push 0
call fcn.10002780
mov ecx, dword [esp + 0x47c]
lea edx, [esp + 0x34]
add esp, 0xc
mov dword [esp + 0x28], 0x90c301b0
push 4
call fcn.10002b00
add esp, 4
jmp 0x1000bca8
push str.Failed_to_find_begin_save_file_checksum_verification_patch_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxx
push 0x1003c638
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000bcf6
push eax
push str._r_nPatching_ApplyChecksumToSaveFile_at______p_r_n
push 0
call fcn.10002780
mov ecx, dword [esp + 0x47c]
lea edx, [esp + 0x3b]
add esp, 0xc
mov byte [esp + 0x2f], 0xc3
push 1
call fcn.10002b00
add esp, 4
jmp 0x1000bd05
push str.Failed_to_find_apply_save_file_checksum_verification_patch_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxx____
push 0x1003c6c8
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000bd64
push eax
push str._r_nPatching_strftime_at______p_r_n
push 0
call fcn.10002780
mov ecx, dword [esp + 0x47c]
lea edx, [esp + 0x484]
add esp, 0xc
mov dword [esp + 0x478], 0x90909090
mov byte [esp + 0x47c], 0x90
push 5
call fcn.10002b00
add esp, 4
jmp 0x1000bd73
push str.Failed_to_find_strftime_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
push 0
push 0x100492a0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____xxxx_____xxx
push 0x1003c734
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000be07
push eax
push str._r_nHooking_show_picture_function_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x474]
add esp, 0xc
mov edx, 0x10006c00
mov dword [0x1004a2f0], eax
mov ecx, eax
push 0x1004a2f0
call fcn.10001dd0
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.Show_picture_function_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000be16
push str.Failed_to_find_show_picture_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxx
push 0x1003c7d4
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000be9d
push eax
push str._r_nHooking_inflate_function_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x474]
add esp, 0xc
mov edx, 0x10007020
mov dword [0x1004a790], eax
mov ecx, eax
push 0x1004a790
call fcn.10001dd0
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.inflate_function_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000beac
push str.Failed_to_find_inflate_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx
push 0x1003c860
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000beec
push eax
push str._r_nGetting_SH3GetFileStruct_function_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov dword [0x1004a780], eax
jmp 0x1000befb
push str.Failed_to_find_SH3GetFileStruct_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxx
push 0x1003c8e0
call fcn.10002ab0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000bf82
push eax
push str._r_nHooking_SH3ReadFile_function_at______p_r_n
push 0
call fcn.10002780
mov eax, dword [esp + 0x474]
add esp, 0xc
mov edx, 0x10007110
mov dword [0x100494d4], eax
mov ecx, eax
push 0x100494d4
call fcn.10001dd0
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.SH3ReadFile_function_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000bf91
push str.Failed_to_find_SH3ReadFile_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____xxxxxxxxxxxxxxxxxx
push 0x1003c994
call fcn.10002ab0
mov esi, eax
add esp, 8
mov dword [esp + 0x470], esi
test esi, esi
je 0x1000c010
push esi
push str._r_nHooking_SH3LoadArc_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x10049718], esi
mov edx, 0x10007bb0
mov ecx, esi
push 0x10049718
call fcn.10001dd0
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.SH3LoadArc_function_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
jmp 0x1000c01f
push str.Failed_to_find_SH3LoadArc_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp byte [0x10049c45], 0
jne 0x1000c0c7
push 0x6099f0
push str._r_nHooking_AcquireFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x10049e64], 0x6099f0
mov edx, 0x10007be0
mov ecx, 0x6099f0
push 0x10049e64
call fcn.10001dd0
mov edx, 1
mov ecx, 0x6099f0
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.AcquireFilesystemSemaphore_function_Hook______s______s_r_n
push 0
call fcn.10002780
push 0x609a60
push str._r_nHooking_ReleaseFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0x1c
mov dword [0x10049c2c], 0x609a60
mov edx, 0x10007c30
mov ecx, 0x609a60
push 0x10049c2c
call fcn.10001dd0
mov ecx, 0x609a60
jmp 0x1000c15d
push 0x608680
push str._r_nHooking_AcquireFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x10049e64], 0x608680
mov edx, 0x10007be0
mov ecx, 0x608680
push 0x10049e64
call fcn.10001dd0
mov edx, 1
mov ecx, 0x608680
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.AcquireFilesystemSemaphore_function_Hook______s______s_r_n
push 0
call fcn.10002780
push 0x6086f0
push str._r_nHooking_ReleaseFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0x1c
mov dword [0x10049c2c], 0x6086f0
mov edx, 0x10007c30
mov ecx, 0x6086f0
push 0x10049c2c
call fcn.10001dd0
mov ecx, 0x6086f0
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.ReleaseFilesystemSemaphore_function_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
mov ecx, edi
mov edx, dword [esi + 0x50]
push str.x____xxxxx____
push 0x1003cb38
call fcn.10002ab0
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx_________
push 0x1003cb60
mov dword [esp + 0x38], eax
call fcn.10002ab0
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____xx_____x_________x____
push 0x1003cb98
mov dword [0x1004a2d0], eax
call fcn.10002ab0
add esp, 0x18
mov dword [0x1004b478], eax
cmp dword [esp + 0x28], 0
je 0x1000c27f
mov ecx, dword [0x1004a2d0]
test ecx, ecx
je 0x1000c27f
test eax, eax
je 0x1000c27f
push ecx
push str._r_nPulseEvent_Return_Address_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
push dword [0x1004b478]
push str.PulseEvent_Exit_Return_Address_at______p_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x34]
add esp, 0xc
push esi
push str._r_nHooking_WaitForADXEvent_function_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov dword [0x1004a798], esi
mov edx, 0x10007c80
mov ecx, esi
push 0x1004a798
call fcn.10001dd0
mov ecx, dword [esp + 0x28]
mov edx, 1
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.WaitForADXEvent_function_Hook______s______s_r_n
push 0
call fcn.10002780
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000c28e
push str.Failed_to_find_WaitForADXEvent_function_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____x_____x
push 0x1003ccb4
call fcn.10002ab0
mov esi, eax
add esp, 8
test esi, esi
je 0x1000c2d4
push esi
push str._r_nPatching_WaitForSingleObject_call_at______p_r_n
push 0
call fcn.10002780
add esp, 0xc
mov word [esp + 0x24], 0x5eb
lea edx, [esp + 0x24]
mov ecx, esi
push 2
call fcn.10002b00
add esp, 4
jmp 0x1000c2e3
push str.Failed_to_find_WaitForSingleObject_call_in_sh3.exe_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [0x100494bc], 1
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
jbe 0x1000c4d5
push str.NtQueryVirtualMemory
push dword [esp + 0x24]
call edi
mov dword [0x1004a728], eax
mov eax, dword [0x100494bc]
cmp eax, 2
je 0x1000c3f9
cmp eax, 3
je 0x1000c38b
cmp eax, 4
jb 0x1000c467
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c336
lea esi, [eax + 0xb]
jmp 0x1000c35a
push 0x1003cdcc
push eax
call edi
test eax, eax
jne 0x1000c347
lea esi, [eax + 0xc]
jmp 0x1000c35a
push 0x10049e5c
mov edx, 0x10002d70
mov ecx, eax
call fcn.10001dd0
mov esi, eax
push 0x1003cdcc
push dword [esp + 0x1c]
call edi
mov edx, 1
mov ecx, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str._r_nCreateThread_Hook______s______s_r_n
jmp 0x1000c45d
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c39f
lea esi, [eax + 0xb]
jmp 0x1000c3c3
push str.SetThreadPriority
push eax
call edi
test eax, eax
jne 0x1000c3b0
lea esi, [eax + 0xc]
jmp 0x1000c3c3
push 0x10049bd0
mov edx, 0x10003000
mov ecx, eax
call fcn.10001dd0
mov esi, eax
push str.SetThreadPriority
push dword [esp + 0x1c]
call edi
mov edx, 1
mov ecx, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str._r_nSetThreadPriority_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c40d
lea esi, [eax + 0xb]
jmp 0x1000c431
push str.SetThreadPriorityBoost
push eax
call edi
test eax, eax
jne 0x1000c41e
lea esi, [eax + 0xc]
jmp 0x1000c431
push 0x10049734
mov edx, 0x100030d0
mov ecx, eax
call fcn.10001dd0
mov esi, eax
push str.SetThreadPriorityBoost
push dword [esp + 0x1c]
call edi
mov edx, 1
mov ecx, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str._r_nSetThreadPriorityBoost_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c47b
lea esi, [eax + 0xb]
jmp 0x1000c49f
push str.SetThreadAffinityMask
push eax
call edi
test eax, eax
jne 0x1000c48c
lea esi, [eax + 0xc]
jmp 0x1000c49f
push 0x10049738
mov edx, 0x10002f30
mov ecx, eax
call fcn.10001dd0
mov esi, eax
push str.SetThreadAffinityMask
push dword [esp + 0x1c]
call edi
mov edx, 1
mov ecx, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.SetThreadAffinityMask_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
cmp dword [esp + 0x1c], 0
je 0x1000c670
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.Advapi32.dll
call esi
test eax, eax
jne 0x1000c4fb
mov dword [esp + 0x28], 0xb
jmp 0x1000c526
push str.RegOpenKeyExA
push eax
call edi
test eax, eax
jne 0x1000c511
mov dword [esp + 0x28], 0xc
jmp 0x1000c526
push 0x1004a78c
mov edx, 0x100033a0
mov ecx, eax
call fcn.10001dd0
mov dword [esp + 0x28], eax
push str.Advapi32.dll
call esi
test eax, eax
jne 0x1000c53e
mov dword [esp + 0x460], 0xb
jmp 0x1000c56f
push str.RegQueryValueExA
push eax
call edi
test eax, eax
jne 0x1000c557
mov dword [esp + 0x460], 0xc
jmp 0x1000c56f
push 0x10049c30
mov edx, 0x10003450
mov ecx, eax
call fcn.10001dd0
mov dword [esp + 0x460], eax
push str.Advapi32.dll
call esi
test eax, eax
jne 0x1000c584
mov dword [esp + 0x14], 0xb
jmp 0x1000c5af
push 0x1003ce68
push eax
call edi
test eax, eax
jne 0x1000c59a
mov dword [esp + 0x14], 0xc
jmp 0x1000c5af
push 0x1004b238
mov edx, 0x10003490
mov ecx, eax
call fcn.10001dd0
mov dword [esp + 0x14], eax
push str.RegOpenKeyExA
push dword [esp + 0x20]
call edi
mov edx, 1
mov ecx, eax
call fcn.100020f0
push str.RegQueryValueExA
push dword [esp + 0x20]
mov esi, eax
call edi
mov edx, 1
mov ecx, eax
call fcn.100020f0
push 0x1003ce68
push dword [esp + 0x20]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, 1
mov ecx, eax
call fcn.100020f0
mov ecx, esi
mov dword [esp + 0x470], eax
call fcn.10002200
mov ecx, dword [esp + 0x28]
push eax
call fcn.10002200
push eax
push str._r_nRegOpenKeyExA_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
mov ecx, edi
call fcn.10002200
mov ecx, dword [esp + 0x460]
push eax
call fcn.10002200
push eax
push str.RegQueryValueExA_Hook______s______s_r_n
push 0
call fcn.10002780
mov ecx, dword [esp + 0x480]
add esp, 0x10
call fcn.10002200
mov ecx, dword [esp + 0x14]
push eax
call fcn.10002200
push eax
push str.RegCloseKey_Hook______s______s_r_n_r_n
push 0
call fcn.10002780
add esp, 0x10
jmp 0x1000c67f
push str._r_nFailed_to_load_Advapi32.dll__r_n_r_n
push 1
call fcn.10002780
add esp, 8
cmp dword [esp + 0x30], 0
je 0x1000c80d
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 0x1000c6ab
mov dword [esp + 0x1c], 0xb
jmp 0x1000c6d6
push str.AdjustWindowRectEx
push eax
call edi
test eax, eax
jne 0x1000c6c1
mov dword [esp + 0x1c], 0xc
jmp 0x1000c6d6
push 0x100499bc
mov edx, 0x10003130
mov ecx, eax
call fcn.10001dd0
mov dword [esp + 0x1c], eax
push str.User32.dll
call esi
test eax, eax
jne 0x1000c6eb
mov dword [esp + 0x28], 0xb
jmp 0x1000c716
push str.CreateWindowExA
push eax
call edi
test eax, eax
jne 0x1000c701
mov dword [esp + 0x28], 0xc
jmp 0x1000c716
push 0x1004b208
mov edx, 0x10003160
mov ecx, eax
call fcn.10001dd0
mov dword [esp + 0x28], eax
push str.AdjustWindowRectEx
push dword [esp + 0x34]
call edi
mov edx, 1
mov ecx, eax
call fcn.100020f0
push str.CreateWindowExA
push dword [esp + 0x34]
mov esi, eax
call edi
mov edx, 1
mov ecx, eax
call fcn.100020f0
mov ecx, esi
mov edi, eax
call fcn.10002200
mov ecx, dword [esp + 0x1c]
push eax
call fcn.10002200
push eax
push str.AdjustWindowRectEx_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
mov ecx, edi
call fcn.10002200
mov ecx, dword [esp + 0x28]
push eax
call fcn.10002200
push eax
push str.CreateWindowExA_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
cmp dword [0x1004b234], 0
je 0x1000c81c
push str.User32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x1000c7b1
lea edi, [eax + 0xb]
jmp 0x1000c7d5
push str.PostMessageA
push eax
call esi
test eax, eax
jne 0x1000c7c2
lea edi, [eax + 0xc]
jmp 0x1000c7d5
push 0x1004a2c0
mov edx, 0x100032f0
mov ecx, eax
call fcn.10001dd0
mov edi, eax
push str.PostMessageA
push dword [esp + 0x34]
call esi
mov edx, 1
mov ecx, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, edi
call fcn.10002200
push eax
push str.PostMessageA_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
jmp 0x1000c822
push str.Failed_to_load_User32.dll__r_n
push 1
call fcn.10002780
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 0x1000c9bb
push 0x1003cfd4
push edi
call esi
push 0x1003cfe8
push edi
mov dword [0x10049298], eax
call esi
mov edx, dword [0x100494c4]
mov dword [0x1004afe4], eax
test edx, edx
je 0x1000c87f
mov ecx, dword [0x10049298]
test ecx, ecx
je 0x1000c87f
cmp edx, 1
jne 0x1000c86e
push 0
jmp 0x1000c875
cmp edx, 2
jne 0x1000c87f
push 1
call ecx
mov eax, dword [0x1004afe4]
add esp, 4
mov ecx, dword [0x1004a720]
test ecx, ecx
je 0x1000c893
test eax, eax
je 0x1000c893
push ecx
call eax
add esp, 4
cmp dword [0x1004a774], 1
jne 0x1000c9ca
push str.d3d8.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c8b9
mov dword [esp + 0x30], 0xb
jmp 0x1000c8e4
push str.Direct3DCreate8
push eax
call esi
test eax, eax
jne 0x1000c8cf
mov dword [esp + 0x30], 0xc
jmp 0x1000c8e4
push 0x10049e6c
mov edx, 0x10005260
mov ecx, eax
call fcn.10001dd0
mov dword [esp + 0x30], eax
push str.Direct3DCreate8
push edi
call esi
mov edx, 1
mov ecx, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
mov ecx, dword [esp + 0x30]
push eax
call fcn.10002200
push eax
push str._r_nDirect3DCreate8_Hook______s______s_r_n_r_n
push 0
call fcn.10002780
add esp, 0x10
push str.PatchMaximizedWindowedMode
push edi
call esi
push str.UseDirectX12UsermodeDisplayDriver
push edi
mov dword [0x1004a2dc], eax
call esi
cmp dword [0x100499a8], 1
mov dword [0x1004b214], eax
jne 0x1000c967
cmp dword [0x1004a2dc], 0
je 0x1000c967
push str.Patching_Maximized_Windowed_Mode_r_n
push 0
call fcn.10002780
add esp, 8
call dword [0x1004a2dc]
test al, al
jne 0x1000c980
push str._r_nFailed_to_disable_maximized_windowed_mode__r_n
push 1
jmp 0x1000c96e
push str.Not_patching_Maximized_Windowed_Mode_r_n
push 0
call fcn.10002780
mov dword [0x1004b220], 0
add esp, 8
cmp dword [0x1004afc4], 1
jne 0x1000c9b2
cmp dword [0x1004b214], 0
je 0x1000c9b2
push str._r_nEnabling_DirextX_12_r_n
push 0
call fcn.10002780
add esp, 8
call dword [0x1004b214]
test al, al
jne 0x1000c9ca
push str._r_nFailed_to_enable_DirextX_12__r_n
jmp 0x1000c9c0
push str._r_nNot_using_DirectX_12_r_n
push 0
jmp 0x1000c9c2
push str._r_nFailed_to_get_d3d8.dll__r_n
push 1
call fcn.10002780
add esp, 8
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c9de
lea edi, [eax + 0xb]
jmp 0x1000ca02
push 0x1003d15c
push eax
call esi
test eax, eax
jne 0x1000c9ef
lea edi, [eax + 0xc]
jmp 0x1000ca02
push 0x1004a0a0
mov edx, 0x100034d0
mov ecx, eax
call fcn.10001dd0
mov edi, eax
push 0x1003d15c
push dword [esp + 0x1c]
call esi
mov edx, 1
mov ecx, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, edi
call fcn.10002200
push eax
push str._r_nHeapCreate_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000ca4c
lea edi, [eax + 0xb]
jmp 0x1000ca70
push 0x1003d18c
push eax
call esi
test eax, eax
jne 0x1000ca5d
lea edi, [eax + 0xc]
jmp 0x1000ca70
push 0x1004afdc
mov edx, 0x10003510
mov ecx, eax
call fcn.10001dd0
mov edi, eax
push 0x1003d18c
push dword [esp + 0x1c]
call esi
mov edx, 1
mov ecx, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, edi
call fcn.10002200
push eax
push str.HeapAlloc_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000caba
lea edi, [eax + 0xb]
jmp 0x1000cade
push 0x1003d1b8
push eax
call esi
test eax, eax
jne 0x1000cacb
lea edi, [eax + 0xc]
jmp 0x1000cade
push 0x100499b0
mov edx, 0x10003590
mov ecx, eax
call fcn.10001dd0
mov edi, eax
push 0x1003d1b8
push dword [esp + 0x1c]
call esi
mov edx, 1
mov ecx, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, edi
call fcn.10002200
push eax
push str.HeapFree_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000cb28
lea edi, [eax + 0xb]
jmp 0x1000cb4c
push str.PulseEvent
push eax
call esi
test eax, eax
jne 0x1000cb39
lea edi, [eax + 0xc]
jmp 0x1000cb4c
push 0x1004972c
mov edx, 0x10002d30
mov ecx, eax
call fcn.10001dd0
mov edi, eax
push str.PulseEvent
push dword [esp + 0x1c]
call esi
mov edx, 1
mov ecx, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, edi
call fcn.10002200
push eax
push str._r_nPulseEvent_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000cb96
lea edi, [eax + 0xb]
jmp 0x1000cbba
push str.SetPriorityClass
push eax
call esi
test eax, eax
jne 0x1000cba7
lea edi, [eax + 0xc]
jmp 0x1000cbba
push 0x1004971c
mov edx, 0x10003110
mov ecx, eax
call fcn.10001dd0
mov edi, eax
push str.SetPriorityClass
push dword [esp + 0x1c]
call esi
mov edx, 1
mov ecx, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, edi
call fcn.10002200
push eax
push str._r_nSetPriorityClass_Hook______s______s_r_n
push 0
call fcn.10002780
add esp, 0x10
push 0
push 0x10049740
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x208
lea eax, [esp + 0xa04]
push 0
push eax
call fcn.10017a30
add esp, 0xc
lea eax, [esp + 0xa00]
push 0x10049740
push 0x104
push eax
call fcn.1001d8ae
add esp, 0xc
lea eax, [esp + 0xa00]
push str.disp.ini
push 0x104
push eax
call fcn.1001d912
add esp, 0xc
cmp dword [0x10049e58], 1
jne 0x1000cc5f
lea eax, [esp + 0xa00]
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 + 0xa18]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
mov esi, eax
cmp esi, 0xffffffff
je 0x1000cd29
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1000cd22
push 0x104
push eax
lea eax, [esp + 0x4e0]
push eax
call fcn.10017a30
add esp, 0xc
lea eax, [esp + 0x4d8]
push dword [0x1004b470]
push dword [0x100494b0]
push dword [0x1004b254]
push dword [0x1004afcc]
push str.formatD3DFMT_A8R8G8B8_ngamma_b1_ngamma_g1_ngamma_r1_nmodewindow_nresolution_dx_d_nsize_dx_d_n
push 0x104
push eax
call fcn.1000df20
lea ecx, [esp + 0x4f4]
mov dword [esp + 0x48c], 0
add esp, 0x1c
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000cd03
push 0
lea eax, [esp + 0x474]
sub ecx, edx
push eax
push ecx
lea eax, [esp + 0x4e4]
push eax
push esi
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x208
lea eax, [esp + 0xe14]
push 0
push eax
call fcn.10017a30
add esp, 0xc
lea eax, [esp + 0xe10]
push 0x10049740
push 0x104
push eax
call fcn.1001d8ae
add esp, 0xc
lea eax, [esp + 0xe10]
push str.data.sys
push 0x104
push eax
call fcn.1001d912
mov esi, dword [sym.imp.KERNEL32.dll_SetLastError]
add esp, 0xc
push 0
call esi
cmp dword [0x1004a2c4], 1
jne 0x1000cde6
push 0
push 0x80
push 4
push 0
push 2
push 0x40000000
lea eax, [esp + 0xe28]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x1000cde0
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1000cdd9
push eax
mov dword [esp + 0x474], eax
lea eax, [esp + 0x474]
push eax
push 0x74
push 0x10043d10
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 [0x1004a76c], 1
jne 0x1000ce97
push 0x208
lea eax, [esp + 0x4dc]
push 0
push eax
call fcn.10017a30
add esp, 0xc
lea eax, [esp + 0x4d8]
push 0x10049740
push 0x104
push eax
call fcn.1001d8ae
add esp, 0xc
lea eax, [esp + 0x4d8]
push str.data.002
push 0x104
push eax
call fcn.1001d912
add esp, 0xc
push 0
call esi
push 0
push 0x80
push 4
push 0
push 2
push 0x40000000
lea eax, [esp + 0x4f0]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x1000ce97
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1000ce90
push eax
mov dword [esp + 0x474], eax
lea eax, [esp + 0x474]
push eax
push 0x1350
push 0x10043d88
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.10002780
push str._r_n______________________________________________________________________________________________________r_n
push 0
call fcn.10002780
mov ecx, dword [esp + 0x102c]
add esp, 0x10
xor eax, eax
pop edi
pop esi
xor ecx, esp
call fcn.10015c53
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]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]