Function at 0x10007890
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, 0x1008
call fcn.1002e980
mov eax, dword [0x10042040]
xor eax, esp
mov dword [esp + 0x1004], eax
push esi
push edi
xor esi, esi
mov ecx, 1
mov edi, 0x10048264
xor eax, eax
lock cmpxchg dword [edi], ecx
test eax, eax
je 0x100078f4
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
nop dword [eax]
cmp esi, 0x20
jae 0x100078d9
push 0
jmp 0x100078db
push 1
call edi
inc esi
mov ecx, 1
xor eax, eax
mov edx, 0x10048264
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0x100078d0
mov edi, edx
cmp dword [0x10048268], 0
jne 0x1000791c
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapCreate]
xor edx, edx
mov dword [0x10048268], eax
test eax, eax
mov ecx, 9
cmovne ecx, edx
jmp 0x10007921
mov ecx, 1
xor eax, eax
xchg dword [edi], eax
test ecx, ecx
je 0x10007945
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 [0x10049070], 1
jne 0x100079b1
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push 0
call dword [sym.imp.WINMM.dll_waveOutGetVolume]
test eax, eax
je 0x1000796f
push eax
push str._r_nFailed_to_get_volume_______u_r_n
jmp 0x100079a7
movzx ecx, word [esp + 0x28]
mov eax, 0xa003c017
mul ecx
shr edx, 0xc
test edx, edx
jne 0x100079b1
push str.Fixing_audio_r_n_r_n
push edx
call fcn.10002740
add esp, 8
push 0xfffafffa
push 0
call dword [sym.imp.WINMM.dll_waveOutSetVolume]
test eax, eax
je 0x100079b1
push eax
push str._r_nFailed_to_set_volume_______u_r_n
push 1
call fcn.10002740
add esp, 0xc
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x10048e68
mov byte [esp + 0x474], 0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov esi, eax
cmp esi, 0xffffffff
je 0x10007a22
lea eax, [esp + 0x480]
mov dword [esp + 0x480], 0
push eax
push esi
mov dword [esp + 0x48c], 0
call edi
cmp eax, 1
jne 0x10007a1b
cmp dword [esp + 0x480], 0xb123a8
jbe 0x10007a1b
mov byte [0x1004829e], al
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x100489c0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x10007a85
lea eax, [esp + 0x480]
mov dword [esp + 0x480], 0
push eax
push esi
mov dword [esp + 0x48c], 0
call edi
cmp eax, 1
jne 0x10007a7e
cmp dword [esp + 0x480], 0x1303300
jbe 0x10007a7e
mov byte [0x10048bf6], al
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x10049520
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x10007afa
lea eax, [esp + 0x480]
mov dword [esp + 0x480], 0
push eax
push esi
mov dword [esp + 0x48c], 0
call edi
cmp eax, 1
jne 0x10007af3
mov eax, dword [esp + 0x458]
mov ecx, 1
cmp dword [esp + 0x480], 0x4b9
movzx eax, al
cmova eax, ecx
mov dword [esp + 0x458], 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 + 0x24], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x100492c8], eax
test eax, eax
je 0x10007b40
push 0x1004a470
push 0x10049788
push 0x10049ffc
call eax
mov eax, dword [0x1004a470]
and eax, 0x7fff
mov dword [0x1004a470], eax
jmp 0x10007b45
mov eax, dword [0x1004a470]
push eax
push dword [0x10049788]
push dword [0x10049ffc]
push str.OS_Version______lu._lu._lu_r_n_r_n
push 0
call fcn.10002740
add esp, 0x14
lea eax, [esp + 0x30]
push 0xdc
push 0
push eax
call fcn.10016fc0
add esp, 0xc
mov eax, 0xdc
mov word [esp + 0x74], ax
lea eax, [esp + 0x30]
push eax
push 0xffffffffffffffff
push 0
call dword [sym.imp.USER32.dll_EnumDisplaySettingsW]
test eax, eax
jne 0x10007bad
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 [0x100484b0]
mov eax, dword [0x1004a464]
test ecx, ecx
jne 0x10007bd9
test eax, eax
jne 0x10007bd9
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xe0]
mov dword [0x100484b0], ecx
mov dword [0x1004a464], eax
cmp dword [0x10049fc8], 0
jne 0x10007bf6
cmp dword [0x1004a040], 0
jne 0x10007bf6
mov dword [0x10049fc8], ecx
mov dword [0x1004a040], eax
push 0x344
xor esi, esi
lea eax, [esp + 0x118]
push esi
push eax
call fcn.10016fc0
mov edi, dword [sym.imp.USER32.dll_EnumDisplayDevicesW]
lea eax, [esp + 0x11c]
add esp, 0xc
mov dword [esp + 0x110], 0x348
push 1
push eax
push esi
push esi
call edi
test eax, eax
je 0x10007db3
nop word [eax + eax]
push dword [esp + 0x254]
push str.GPU_StateFlags______p_r_n_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x260]
add esp, 0xc
test al, 4
je 0x10007c65
test al, 1
jne 0x10007ca0
push 0x344
lea eax, [esp + 0x118]
inc esi
push 0
push eax
call fcn.10016fc0
add esp, 0xc
mov dword [esp + 0x110], 0x348
lea eax, [esp + 0x110]
push 1
push eax
push esi
push 0
call edi
test eax, eax
jne 0x10007c40
jmp 0x10007db3
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea eax, [esp + 0x154]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push eax
push 0x80
push 0xfde9
call esi
mov edi, eax
test edi, edi
je 0x10007db9
push edi
call fcn.1001533e
add esp, 4
mov esi, eax
push edi
push 0
push esi
call fcn.10016fc0
add esp, 0xc
lea eax, [esp + 0x154]
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push eax
mov eax, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0x80
push 0xfde9
call eax
push esi
test eax, eax
je 0x10007dab
push str.Primary_GPU______s_r_n_r_n
push 0
call fcn.10002740
lea ecx, [esp + 0x160]
add esp, 0xc
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10007d30
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 + 0x464], ecx
call fcn.1001533e
add esp, 4
mov edi, eax
push dword [esp + 0x460]
push 0
push edi
call fcn.10016fc0
lea ecx, [esp + 0x160]
mov dword [0x10048730], edi
add esp, 0xc
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10007d86
sub ecx, edx
lea eax, [esp + 0x154]
sar ecx, 1
push eax
lea eax, [ecx + 2]
push eax
push edi
call fcn.1001ce3e
add esp, 0xc
push esi
call fcn.100151e1
add esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp dword [0x10048730], 0
jne 0x10007df9
push 0x1e
call fcn.1001533e
add esp, 4
mov dword [0x10048730], 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.1001ce3e
add esp, 0xc
push 0x190
lea eax, [esp + 0x6d4]
push 0
push eax
call fcn.10016fc0
add esp, 8
lea eax, [esp + 0x6d4]
mov edx, str.ProcessorNameString
mov ecx, str.HARDWAREDESCRIPTIONSystemCentralProcessor0
push eax
call fcn.10002b50
add esp, 8
test eax, eax
jne 0x10007ec3
push eax
push eax
push eax
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x6e4]
push eax
push 0x80
push 0xfde9
call esi
mov edi, eax
test edi, edi
je 0x10007ec3
push edi
call fcn.1001533e
add esp, 4
mov esi, eax
push edi
push 0
push esi
call fcn.10016fc0
add esp, 0xc
lea eax, [esp + 0x6d0]
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push eax
mov eax, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0x80
push 0xfde9
call eax
test eax, eax
je 0x10007ea9
push esi
push str.CPU______s_r_n_r_n
push 0
call fcn.10002740
add esp, 0xc
push esi
call fcn.100151e1
add esp, 4
jmp 0x10007ed2
push str.Unknown_CPU_r_n_r_n
push 0
call fcn.10002740
add esp, 8
push esi
call fcn.100151e1
add esp, 4
jmp 0x10007ed2
push str.Unknown_CPU_r_n_r_n
push 0
call fcn.10002740
add esp, 8
push dword [0x1004a464]
push dword [0x100484b0]
push str.Resolution______d_x__d_r_n
push 0
call fcn.10002740
push dword [0x1004a040]
push dword [0x10049fc8]
push str.Render_Resolution______d_x__d_r_n_r_n
push 0
call fcn.10002740
xor eax, eax
mov byte [esp + 0x47], 0
add esp, 0x20
mov dword [esp + 0x4a8], eax
mov word [esp + 0x4ac], ax
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
push eax
push 6
lea eax, [esp + 0x4b0]
push eax
push 0x426121
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp eax, 1
jne 0x10007f9f
cmp dword [esp + 0x2c], 6
jne 0x10007f9f
cmp byte [esp + 0x4a8], 0x89
jne 0x10007f98
cmp byte [esp + 0x4a9], 0x15
jne 0x10007f98
cmp byte [esp + 0x4aa], 0
jne 0x10007f98
cmp byte [esp + 0x4ab], 0x13
jne 0x10007f98
cmp byte [esp + 0x4ac], 0x6b
jne 0x10007f98
cmp byte [esp + 0x4ad], 0
jne 0x10007f98
mov byte [esp + 0x27], al
mov dword [0x10049770], 0
jmp 0x10007f9f
mov byte [0x10048997], 1
push 0x190
lea eax, [esp + 0x864]
push 0
push eax
call fcn.10016fc0
add esp, 0xc
mov byte [esp + 0xc], 0
cmp byte [0x10048997], 0
lea eax, [esp + 0x460]
mov dword [esp + 0x28], 1
mov dword [esp + 0x460], 0x190
push eax
lea eax, [esp + 0x864]
push eax
lea eax, [esp + 0x30]
push eax
push 2
push str.movie
jne 0x10007ffa
push str.SOFTWAREKonamiSILENT_HILL_3
jmp 0x10007fff
push str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x10008042
lea ecx, [esp + 0x860]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10008020
mov eax, dword [esp + 0xc]
sub ecx, edx
sar ecx, 1
movzx eax, al
mov ecx, 1
cmove eax, ecx
mov dword [esp + 0xc], eax
cmp byte [0x10048997], 0
mov edx, str.data
push 0x80000002
push 0x1004a050
jne 0x100080aa
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002ba0
push 0x80000002
push 0x1004a050
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002ba0
add esp, 0x10
cmp byte [esp + 0xc], 0
jne 0x100080a3
push 0x80000002
push 0x1004a050
mov edx, str.movie
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002ba0
add esp, 8
mov esi, str.SOFTWAREKonamiSILENT_HILL_3
jmp 0x100080f8
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002ba0
push 0x80000002
push 0x1004a050
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002ba0
add esp, 0x10
cmp byte [esp + 0xc], 0
jne 0x100080f3
push 0x80000002
push 0x1004a050
mov edx, str.movie
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002ba0
add esp, 8
mov esi, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000002
push 0x10048740
mov edx, str.save
mov ecx, esi
call fcn.10002ba0
push 0x80000002
push 0x1004a050
mov edx, str.sound
mov ecx, esi
call fcn.10002ba0
add esp, 0x10
cmp dword [0x10048c2c], 1
jne 0x10008235
cmp byte [0x10048997], 0
mov edx, str.data
push 0x80000001
push 0x1004a050
jne 0x100081b6
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002ba0
push 0x80000001
push 0x1004a050
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002ba0
cmp byte [esp + 0x1c], 0
mov ecx, 0x1004a050
mov eax, 0x1003626c
mov edx, str.movie
cmove eax, ecx
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
push 0x80000001
push eax
call fcn.10002ba0
push 0x80000001
push 0x10048740
mov edx, str.save
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002ba0
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
jmp 0x1000821e
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002ba0
push 0x80000001
push 0x1004a050
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002ba0
cmp byte [esp + 0x1c], 0
mov ecx, 0x1004a050
mov eax, 0x1003626c
mov edx, str.movie
cmove eax, ecx
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000001
push eax
call fcn.10002ba0
push 0x80000001
push 0x10048740
mov edx, str.save
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002ba0
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000001
push 0x1004a050
mov edx, str.sound
call fcn.10002ba0
add esp, 0x28
mov eax, dword [0x100484b0]
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003d290]
mov eax, dword [0x1004a464]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movss dword [0x100492e4], xmm1
addsd xmm0, qword [eax*8 + 0x1003d290]
mov eax, dword [0x10049fc8]
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x1003d290]
mov eax, dword [0x1004a040]
movss dword [esp + 0x28], xmm2
movss dword [0x1004907c], xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x478], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003d290]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x470], xmm0
movss xmm0, dword [0x1003d218]
divss xmm0, xmm1
movss dword [0x100489b4], xmm0
movss dword [0x10049798], xmm0
mulss xmm0, dword [0x1003d210]
movss dword [0x10048c1c], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push str.Aspect_Ratio______f_r_n
push 0
call fcn.10002740
movss xmm0, dword [0x100492f4]
add esp, 0x10
ucomiss xmm0, dword [0x1003d204]
movss dword [esp + 0x10], xmm0
lahf
test ah, 0x44
jp 0x1000837a
movss xmm0, dword [0x1004907c]
comiss xmm0, dword [0x1003d268]
jb 0x10008351
movss xmm0, dword [0x1003d22c]
jmp 0x10008374
comiss xmm0, dword [0x1003d23c]
jb 0x10008364
movss xmm0, dword [0x1003d228]
jmp 0x10008374
movss xmm0, dword [0x1003d214]
divss xmm0, dword [0x10049798]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [0x10048c1c]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Horizontal_FOV______f_r_n
push 0
call fcn.10002740
movss xmm0, dword [esp + 0x20]
add esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Cutscene_Vertical_FOV______f_r_n_r_n
push 0
call fcn.10002740
mov ecx, dword [0x10049fc8]
add esp, 0x10
movss xmm2, dword [0x100492e4]
mov eax, ecx
shr eax, 0x1f
movaps xmm1, xmm2
cmp dword [0x100484b8], 0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x1003d290]
cvtpd2ps xmm3, xmm0
movss xmm0, dword [esp + 0x20]
jne 0x100083fd
mulss xmm0, dword [0x1003d218]
jmp 0x10008405
mulss xmm0, dword [0x1003d238]
subss xmm1, xmm0
mov eax, dword [0x1004a040]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
push 0x208
push 0
mulss xmm1, dword [0x1003d20c]
addsd xmm0, qword [ecx*8 + 0x1003d290]
divss xmm2, xmm1
cvtpd2ps xmm0, xmm0
divss xmm3, xmm2
subss xmm0, xmm3
movss dword [0x10048278], xmm3
movss dword [0x1004a01c], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003d290]
lea eax, [esp + 0xe08]
push eax
cvtpd2ps xmm0, xmm0
movss dword [0x10048960], xmm0
call fcn.10016fc0
add esp, 0xc
lea eax, [esp + 0xe00]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1000c486
cmp eax, 0xff
ja 0x1000c486
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x100084d0
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]
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 + 0x14], eax
call esi
push str.Advapi32.dll
mov dword [esp + 0x2c], eax
call esi
mov dword [esp + 0x14], eax
lea eax, [esp + 0xe00]
push eax
call edi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
push str.RtlImageNtHeader
push dword [esp + 0x20]
mov dword [esp + 0x20], edi
call esi
cmp dword [0x100484bc], 1
mov dword [0x100484cc], eax
jbe 0x10008541
push str.NtQueryVirtualMemory
push dword [esp + 0x20]
call esi
mov dword [0x1004972c], eax
mov eax, dword [0x100484cc]
push edi
call eax
cmp byte [0x10048997], 1
mov esi, eax
mov dword [esp + 0xc], esi
jne 0x10008a3d
cmp byte [esp + 0x458], 1
jne 0x10008a3d
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxx
push 0x10038f18
call fcn.10002a60
mov esi, eax
push esi
push str.Patching_trial_version_pause_menu_at______p_r_n
push 0
call fcn.10002740
add esp, 0x14
mov dword [esp + 0x4b0], 0xaf210d80
lea edx, [esp + 0x4b0]
mov word [esp + 0x4b4], 0xbc
mov ecx, esi
mov byte [esp + 0x4b6], 0xf
push 7
call fcn.10002ab0
mov edx, dword [esp + 0x10]
add esp, 4
mov ecx, edi
mov edx, dword [edx + 0x50]
push str.x____x____xxx____xx
push 0x10038f68
call fcn.10002a60
mov esi, eax
push esi
push str.Patching_trial_restart_at______p_r_n
push 0
call fcn.10002740
add esp, 0x14
mov dword [esp + 0x458], 0x90909090
lea edx, [esp + 0x458]
mov byte [esp + 0x45c], 0x90
mov ecx, esi
push 5
call fcn.10002ab0
mov eax, dword [esp + 0x10]
add esp, 4
mov ecx, edi
mov edx, dword [eax + 0x50]
push str.xxxxxx______x
push 0x10038fb0
call fcn.10002a60
mov esi, eax
add esp, 8
mov dword [esp + 0x460], esi
test esi, esi
je 0x1000868e
push esi
push str._r_nHooking_SH3LoadFile_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x10049760], esi
mov edx, 0x100076a0
mov ecx, esi
push 0x10049760
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.SH3LoadFile_function_Hook______s______s_r_n
push 0
call fcn.10002740
add esp, 0x10
jmp 0x1000869d
push str.Failed_to_find_SH3LoadFile_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
push 0x60aff0
push str._r_nHooking_SetActionLevel_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x100489ac], 0x60aff0
mov edx, 0x100076d0
mov ecx, 0x60aff0
push 0x100489ac
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.10002740
push 0x60b060
push str._r_nHooking_SetRiddleLevel_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0x1c
mov dword [0x10048968], 0x60b060
mov edx, 0x100076f0
mov ecx, 0x60b060
push 0x10048968
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.10002740
push 0x60b000
push str._r_nHooking_GetActionLevel_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0x1c
mov dword [0x10048bcc], 0x60b000
mov edx, 0x10007710
mov ecx, 0x60b000
push 0x10048bcc
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.10002740
push 0x60b070
push str._r_nHooking_GetRiddleLevel_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0x1c
mov dword [0x100484d8], 0x60b070
mov edx, 0x10007720
mov ecx, 0x60b070
push 0x100484d8
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.10002740
push 0x5d59dd
push str.Patching_trial_main_menu__1__at______p_r_n
push 0
call fcn.10002740
add esp, 0x1c
mov dword [esp + 0x460], 0x182444c7
cmp dword [0x10049078], 0
lea edx, [esp + 0x460]
mov ecx, 0x5d59dd
mov dword [esp + 0x464], 3
push 8
je 0x10008865
mov dword [esp + 0x468], 4
call fcn.10002ab0
add esp, 4
push 0x5d59fc
push str.Patching_trial_main_menu__2__at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [esp + 0x4c0], 0x18ac44c7
lea edx, [esp + 0x4c0]
mov dword [esp + 0x4c4], 5
mov ecx, 0x5d59fc
push 8
call fcn.10002ab0
add esp, 4
push 0x5d5a0c
push str.Patching_trial_main_menu__3__at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov word [esp + 0x1c], 0x9090
lea edx, [esp + 0x1c]
mov ecx, 0x5d5a0c
push 2
call fcn.10002ab0
add esp, 4
push 0x5d5a0e
push str.Patching_trial_main_menu__4__at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [esp + 0x480], 0x18ac44c7
lea edx, [esp + 0x480]
mov dword [esp + 0x484], 6
mov ecx, 0x5d5a0e
push 8
call fcn.10002ab0
add esp, 4
push 0x60bfc3
push str.Patching_trial_main_menu__5__at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [esp + 0x478], 0x90909090
lea edx, [esp + 0x478]
mov word [esp + 0x47c], 0x9090
mov ecx, 0x60bfc3
push 6
call fcn.10002ab0
add esp, 4
push 0x60bef3
push str.Patching_trial_main_menu__6__at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [esp + 0x4b8], 0x410f05c6
lea edx, [esp + 0x4b8]
mov word [esp + 0x4bc], 0x6de
mov ecx, 0x60bef3
mov byte [esp + 0x4be], 0
push 7
call fcn.10002ab0
add esp, 4
cmp dword [0x10049770], 1
jne 0x100089f1
push 0x5d4ee2
push str.Patching_trial_main_menu__7__at______p_r_n
push 0
mov dword [0x10049780], 1
call fcn.10002740
add esp, 0xc
mov dword [esp + 0x460], 0x71cff4bb
lea edx, [esp + 0x460]
mov byte [esp + 0x464], 0
mov ecx, 0x5d4ee2
push 5
call fcn.10002ab0
add esp, 4
cmp dword [0x10049768], 1
jne 0x10008a39
push 0x5e1831
push str.Patching_trial_main_menu__8__at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [esp + 0x460], 0x12be9
lea edx, [esp + 0x460]
mov word [esp + 0x464], 0
mov ecx, 0x5e1831
push 6
call fcn.10002ab0
add esp, 4
mov esi, dword [esp + 0xc]
cmp byte [esp + 0x27], 1
jne 0x10008bc4
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x____x_____x_____xx
push 0x10039348
call fcn.10002a60
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x_____x_____x_____xxxx
push 0x10039384
mov dword [esp + 0x468], eax
call fcn.10002a60
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x_____x_____x_____xx
push 0x100393c0
mov dword [esp + 0x34], eax
call fcn.10002a60
mov edx, dword [esp + 0x470]
add esp, 0x18
mov ecx, eax
mov dword [esp + 0x460], ecx
test edx, edx
je 0x10008bc4
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x10008bc4
test ecx, ecx
je 0x10008bc4
push ecx
push eax
push edx
push str.Patching_sliding_transitions_and_pixelation_at______p______p______p_r_n
push 0
call fcn.10002740
movaps xmm0, xmmword [0x1003d2a0]
lea edx, [esp + 0x494]
mov ecx, dword [esp + 0x46c]
add esp, 0x14
movq qword [esp + 0x490], xmm0
movaps xmmword [esp + 0x480], xmm0
mov word [esp + 0x495], 0xd8dd
push 0x17
call fcn.10002ab0
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x484]
add esp, 4
mov dword [esp + 0x494], 0xd8ddd8dd
push 0x18
call fcn.10002ab0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x484]
add esp, 4
push 0x18
call fcn.10002ab0
movss xmm1, dword [0x1003d20c]
add esp, 4
movss xmm0, dword [esp + 0x470]
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 + 0x468]
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 [0x10049094], 1
mov eax, dword [0x10049738]
mov ecx, dword [0x100490bc]
je 0x10008bf8
cmp dword [0x100492ec], 1
je 0x10008bf8
cmp dword [0x100489a4], 1
je 0x10008c05
cmp eax, 1
je 0x10008bf8
cmp ecx, 1
jne 0x10008f63
cmp dword [0x100489a4], 1
jne 0x10008ca0
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x10008c21
mov dword [esp + 0x458], 0xb
jmp 0x10008c56
push 0x10039428
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x10008c3e
mov dword [esp + 0x458], 0xc
jmp 0x10008c56
push 0x100489b8
mov edx, 0x10003380
mov ecx, eax
call fcn.10001dd0
mov dword [esp + 0x458], eax
push 0x10039428
push dword [esp + 0x14]
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 + 0x458]
push eax
call fcn.10002200
push eax
push str.ReadFile_Hook______s______s_r_n
push 0
call fcn.10002740
mov eax, dword [0x10049738]
add esp, 0x10
mov ecx, dword [0x100490bc]
cmp dword [0x10049094], 1
je 0x10008cc0
cmp dword [0x100489a4], 1
je 0x10008cc0
cmp eax, 1
je 0x10008cc0
cmp ecx, 1
jne 0x10008d4e
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
push 0x1003948c
call fcn.10002a60
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x10008d3f
push esi
push str.Hooking_debug_messages_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x10048e58], esi
mov edx, 0x10005810
mov ecx, esi
push 0x10048e58
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.Debug_messages_function_Hook______s______s_r_n
push 0
call fcn.10002740
add esp, 0x10
jmp 0x10008d4e
push str.Failed_to_find_debug_message_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x1004a008], 0
je 0x10008eaa
cmp dword [0x10049094], 1
mov esi, dword [esp + 0xc]
jne 0x10008e02
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx____
push 0x10039564
call fcn.10002a60
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x10008df3
push eax
push str.Hooking_ADX_debug_messages_function_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x464]
add esp, 0xc
mov edx, 0x10005bf0
mov dword [0x100484d0], eax
mov ecx, eax
push 0x100484d0
call fcn.10001dd0
mov ecx, dword [esp + 0x458]
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.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
jmp 0x10008e02
push str.Failed_to_find_ADX_debug_message_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x1004a008], 0
je 0x10008eaa
cmp dword [0x100492ec], 1
jne 0x10008eaa
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx_____xxxx
push 0x10039620
call fcn.10002a60
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x10008e9b
push esi
push str.Hooking_map_debug_messages_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x10048988], esi
mov edx, 0x10005b50
mov ecx, esi
push 0x10048988
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.Map_Debug_messages_function_Hook______s______s_r_n
push 0
call fcn.10002740
add esp, 0x10
jmp 0x10008eaa
push str.Failed_to_find_map_debug_message_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp byte [0x10048997], 0
mov esi, dword [esp + 0xc]
jne 0x10008f67
cmp dword [0x100489a4], 1
jne 0x10008f67
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xxx______xxxxxxx_____
push 0x100396e4
mov ecx, edi
mov dword [esp + 0x460], eax
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x10008f52
inc dword [esp + 0x458]
push eax
push str.Patching_Audio_at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x46c]
lea edx, [esp + 0x28]
add esp, 0xc
mov word [esp + 0x1c], 0xdeb
push 2
call fcn.10002ab0
mov edx, dword [esi + 0x50]
add esp, 4
mov ecx, edi
push str.xxx______xxxxxxx_____
push 0x100396e4
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
jne 0x10008ef3
cmp dword [esp + 0x458], 2
je 0x10008f67
push str.Failed_to_find_Audio_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
jmp 0x10008f67
mov esi, dword [esp + 0xc]
cmp dword [0x10049090], 1
jne 0x100090af
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx
push 0x10039748
call fcn.10002a60
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x10008fd3
push eax
push str.Patching_safe_mode__1__at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x47c]
add esp, 0xc
mov dword [esp + 0x470], 0xb8
mov byte [esp + 0x474], 0
push 5
call fcn.10002ab0
add esp, 4
jmp 0x10008fe2
push str.Failed_to_find_safe_mode__1__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxx_xx____xxxxx
push 0x100397bc
call fcn.10002a60
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x10009041
push eax
push str.Patching_safe_mode__2__at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x47c]
add esp, 0xc
mov dword [esp + 0x470], 0x90909090
mov byte [esp + 0x474], 0x90
push 5
call fcn.10002ab0
add esp, 4
jmp 0x10009050
push str.Failed_to_find_safe_mode__2__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_xx____xxxxx
push 0x10039834
call fcn.10002a60
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x100090a0
push eax
push str.Patching_safe_mode__3__at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x28]
add esp, 0xc
mov word [esp + 0x1c], 0x9eb
push 2
call fcn.10002ab0
add esp, 4
jmp 0x100090af
push str.Failed_to_find_safe_mode__3__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov eax, dword [0x10048c38]
test eax, eax
je 0x1000918b
cmp eax, 0x1000
jbe 0x100090cd
mov dword [0x10048c38], 0x1000
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xxxxxxxxxx
push 0x100398a0
mov ecx, edi
mov dword [esp + 0x460], eax
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000917c
nop dword [eax]
inc dword [esp + 0x458]
push eax
push str.Patching_DOF_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [0x10048c38]
lea edx, [esp + 0x48c]
mov ecx, dword [esp + 0x46c]
add esp, 0xc
mov dword [esp + 0x480], eax
mov dword [esp + 0x484], eax
mov dword [esp + 0x488], eax
push 0x10
mov dword [esp + 0x490], eax
call fcn.10002ab0
mov edx, dword [esi + 0x50]
add esp, 4
mov ecx, edi
push str.xxxxxxxxxx
push 0x100398a0
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
jne 0x10009100
cmp dword [esp + 0x458], 2
je 0x1000918b
push str.Failed_to_find_DOF_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x1004895c], 0
je 0x1000961b
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xx______xxxx____xxxx
push 0x10039900
mov ecx, edi
mov dword [esp + 0x460], eax
call fcn.10002a60
add esp, 8
test eax, eax
je 0x10009244
inc dword [esp + 0x458]
add eax, 6
push eax
push str.Patching_Shadows__1__at______p_r_n
push 0
mov dword [esp + 0x47c], eax
call fcn.10002740
mov eax, dword [0x1004895c]
lea edx, [esp + 0x474]
mov ecx, dword [esp + 0x47c]
add esp, 0xc
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
push 4
addsd xmm0, qword [eax*8 + 0x1003d290]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x46c], xmm0
call fcn.10002ab0
mov edx, dword [esi + 0x50]
add esp, 4
mov ecx, edi
push str.xx______xxxx____xxxx
push 0x10039900
call fcn.10002a60
add esp, 8
test eax, eax
jne 0x100091c0
cmp dword [esp + 0x458], 0xf
je 0x10009253
push str.Failed_to_find_shadows__1__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xx______xxx_x
push 0x10039974
mov ecx, edi
mov dword [esp + 0x460], eax
call fcn.10002a60
add esp, 8
test eax, eax
je 0x10009304
nop dword [eax + eax]
inc dword [esp + 0x458]
add eax, 6
push eax
push str.Patching_Shadows__2__at______p_r_n
push 0
mov dword [esp + 0x47c], eax
call fcn.10002740
mov eax, dword [0x1004895c]
lea edx, [esp + 0x474]
mov ecx, dword [esp + 0x47c]
add esp, 0xc
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
push 4
addsd xmm0, qword [eax*8 + 0x1003d290]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x46c], xmm0
call fcn.10002ab0
mov edx, dword [esi + 0x50]
add esp, 4
mov ecx, edi
push str.xx______xxx_x
push 0x10039974
call fcn.10002a60
add esp, 8
test eax, eax
jne 0x10009280
cmp dword [esp + 0x458], 2
je 0x10009313
push str.Failed_to_find_shadows__2__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
xor eax, eax
push str.x___xxxx
push 0x100399dc
mov ecx, edi
mov dword [esp + 0x460], eax
call fcn.10002a60
add esp, 8
test eax, eax
je 0x100093c4
nop dword [eax + eax]
inc dword [esp + 0x458]
add eax, 4
push eax
push str.Patching_Shadows__3__at______p_r_n
push 0
mov dword [esp + 0x47c], eax
call fcn.10002740
mov eax, dword [0x1004895c]
lea edx, [esp + 0x474]
mov ecx, dword [esp + 0x47c]
add esp, 0xc
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
push 4
addsd xmm0, qword [eax*8 + 0x1003d290]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x46c], xmm0
call fcn.10002ab0
mov edx, dword [esi + 0x50]
add esp, 4
mov ecx, edi
push str.x___xxxx
push 0x100399dc
call fcn.10002a60
add esp, 8
test eax, eax
jne 0x10009340
cmp dword [esp + 0x458], 4
je 0x100093d3
push str.Failed_to_find_shadows__3__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__xxx_
push 0x10039a48
call fcn.10002a60
add esp, 8
test eax, eax
je 0x10009456
inc eax
push eax
push str.Patching_Shadows__4__at______p_r_n
push 0
mov dword [esp + 0x28], eax
call fcn.10002740
mov eax, dword [0x1004895c]
lea edx, [esp + 0x46c]
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x460], eax
push 4
call fcn.10002ab0
mov eax, dword [esp + 0x20]
add esp, 4
add eax, 5
mov dword [esp + 0x1c], eax
push eax
push str.Patching_Shadows__4__at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x46c]
add esp, 0xc
push 4
call fcn.10002ab0
add esp, 4
jmp 0x10009465
push str.Failed_to_find_shadows__4__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__x
push 0x10039ab8
call fcn.10002a60
add esp, 8
test eax, eax
je 0x100094e8
inc eax
push eax
push str.Patching_Shadows__5__at______p_r_n
push 0
mov dword [esp + 0x28], eax
call fcn.10002740
mov eax, dword [0x1004895c]
lea edx, [esp + 0x46c]
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x460], eax
push 4
call fcn.10002ab0
mov eax, dword [esp + 0x20]
add esp, 4
add eax, 5
mov dword [esp + 0x1c], eax
push eax
push str.Patching_Shadows__5__at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x46c]
add esp, 0xc
push 4
call fcn.10002ab0
add esp, 4
jmp 0x100094f7
push str.Failed_to_find_shadows__5__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__xx
push 0x10039b28
call fcn.10002a60
add esp, 8
test eax, eax
je 0x1000957a
inc eax
push eax
push str.Patching_Shadows__6__at______p_r_n
push 0
mov dword [esp + 0x28], eax
call fcn.10002740
mov eax, dword [0x1004895c]
lea edx, [esp + 0x46c]
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x460], eax
push 4
call fcn.10002ab0
mov eax, dword [esp + 0x20]
add esp, 4
add eax, 5
mov dword [esp + 0x1c], eax
push eax
push str.Patching_Shadows__6__at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x46c]
add esp, 0xc
push 4
call fcn.10002ab0
add esp, 4
jmp 0x10009589
push str.Failed_to_find_shadows__6__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__xxx_xxx
push 0x10039ba0
call fcn.10002a60
add esp, 8
test eax, eax
je 0x1000960c
inc eax
push eax
push str.Patching_Shadows__7__at______p_r_n
push 0
mov dword [esp + 0x28], eax
call fcn.10002740
mov eax, dword [0x1004895c]
lea edx, [esp + 0x46c]
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x460], eax
push 4
call fcn.10002ab0
mov eax, dword [esp + 0x20]
add esp, 4
add eax, 5
mov dword [esp + 0x1c], eax
push eax
push str.Patching_Shadows__7__at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x46c]
add esp, 0xc
push 4
call fcn.10002ab0
add esp, 4
jmp 0x1000961b
push str.Failed_to_find_shadows__7__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x1004872c], 0
je 0x100096e2
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx
push 0x10039c14
call fcn.10002a60
add esp, 8
test eax, eax
je 0x100096d3
cmp dword [0x1004872c], 0x400
jbe 0x1000965d
mov dword [0x1004872c], 0x400
inc eax
push eax
push str.Patching_inventory_background__1__at______p_r_n
push 0
mov dword [esp + 0x28], eax
call fcn.10002740
mov eax, dword [0x1004872c]
lea edx, [esp + 0x474]
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x468], eax
push 4
call fcn.10002ab0
mov eax, dword [0x1004872c]
add esp, 4
neg eax
mov dword [esp + 0x470], eax
mov eax, dword [esp + 0x1c]
add eax, 5
push eax
push str.Patching_inventory_background__2__at______p_r_n
push 0
mov dword [esp + 0x28], eax
call fcn.10002740
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x47c]
add esp, 0xc
push 4
call fcn.10002ab0
add esp, 4
jmp 0x100096e2
push str.Failed_to_find_inventory_background_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov ecx, dword [0x1004894c]
test ecx, ecx
je 0x100099ae
cmp ecx, 0x1000
jbe 0x10009703
mov ecx, 0x1000
mov dword [0x1004894c], ecx
mov eax, dword [0x10048c38]
test eax, eax
je 0x10009715
cmp ecx, eax
je 0x10009715
mov dword [0x1004894c], eax
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxxxxxxxxxxxxx
push 0x10039cd0
call fcn.10002a60
add esp, 8
test eax, eax
je 0x1000976e
inc eax
push eax
push str.Patching_status_screen__1__at______p_r_n
push 0
mov dword [esp + 0x47c], eax
call fcn.10002740
mov eax, dword [0x1004894c]
lea edx, [esp + 0x474]
mov ecx, dword [esp + 0x47c]
add esp, 0xc
mov dword [esp + 0x468], eax
push 4
call fcn.10002ab0
add esp, 4
jmp 0x1000977d
push str.Failed_to_find_status_screen__1__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxxxxxxxxxxxx
push 0x10039d58
call fcn.10002a60
add esp, 8
test eax, eax
je 0x100097d6
inc eax
push eax
push str.Patching_status_screen__2__at______p_r_n
push 0
mov dword [esp + 0x47c], eax
call fcn.10002740
mov eax, dword [0x1004894c]
lea edx, [esp + 0x474]
mov ecx, dword [esp + 0x47c]
add esp, 0xc
mov dword [esp + 0x468], eax
push 4
call fcn.10002ab0
add esp, 4
jmp 0x100097e5
push str.Failed_to_find_status_screen__2__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx
push 0x10039dc8
call fcn.10002a60
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x100098d8
mov ecx, dword [0x1004894c]
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 + 0x1003d290]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x474], xmm0
call fcn.10002740
movss xmm0, dword [esp + 0x474]
lea edx, [esp + 0x28]
add esp, 0xc
movss dword [esp + 0x1c], xmm0
mov ecx, esi
push 4
call fcn.10002ab0
add esp, 4
add esi, 0x30
push esi
push str.Patching_status_screen__3.1__at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
lea edx, [esp + 0x1c]
mov ecx, esi
push 4
call fcn.10002ab0
add esp, 4
lea esi, [edi + 0x34]
push esi
push str.Patching_status_screen__3.2__at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
lea edx, [esp + 0x1c]
mov ecx, esi
push 4
call fcn.10002ab0
add esp, 4
lea esi, [edi + 0x4c]
push esi
push str.Patching_status_screen__3.3__at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
lea edx, [esp + 0x1c]
mov ecx, esi
push 4
call fcn.10002ab0
mov edi, dword [esp + 0x1c]
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x100098e7
push str.Failed_to_find_status_screen__3__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x10048c38], 0
jne 0x100099ae
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xxxxxxxxxx
push 0x100398a0
mov ecx, edi
mov dword [esp + 0x460], eax
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000999f
inc dword [esp + 0x458]
push eax
push str.Patching_status_screen__4__at______p_r_n
push 0
call fcn.10002740
mov eax, dword [0x1004894c]
lea edx, [esp + 0x48c]
mov ecx, dword [esp + 0x46c]
add esp, 0xc
mov dword [esp + 0x480], eax
mov dword [esp + 0x484], eax
mov dword [esp + 0x488], eax
push 0x10
mov dword [esp + 0x490], eax
call fcn.10002ab0
mov edx, dword [esi + 0x50]
add esp, 4
mov ecx, edi
push str.xxxxxxxxxx
push 0x100398a0
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
jne 0x10009923
cmp dword [esp + 0x458], 2
je 0x100099ae
push str.Failed_to_find_status_screen__4__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x100484a8], 1
jne 0x10009a21
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x_________xx
push 0x10039f20
call fcn.10002a60
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x10009a12
push eax
push str.Patching_cutscene_borders_at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x484]
add esp, 0xc
mov dword [esp + 0x478], 0x9090eed9
mov word [esp + 0x47c], 0x9090
push 6
call fcn.10002ab0
add esp, 4
jmp 0x10009a21
push str.Failed_to_find_cutscene_borders_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x10049088], 1
jne 0x10009bb0
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xxxxxxxxxxx
push 0x10039fa0
call fcn.10002a60
add esp, 8
test eax, eax
je 0x10009ae0
add eax, 2
push eax
push str.Patching_black_bars__1__at______p_r_n
push 0
mov dword [esp + 0x46c], eax
mov dword [esp + 0x24], eax
call fcn.10002740
add esp, 0xc
mov dword [esp + 0x458], 0
lea eax, [esp + 0x458]
push eax
push 4
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x10009aef
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x18]
mov dword [eax], 0x1003cc48
lea eax, [esp + 0x458]
push eax
push dword [esp + 0x45c]
push 4
push dword [esp + 0x46c]
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 0x10009aef
push str.Failed_to_find_black_bars__1__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____x____x____xxxxxx
push 0x1003a01c
call fcn.10002a60
add esp, 8
test eax, eax
je 0x10009ba1
add eax, 2
push eax
push str.Patching_black_bars__2__at______p_r_n
push 0
mov dword [esp + 0x46c], eax
mov dword [esp + 0x24], eax
call fcn.10002740
add esp, 0xc
mov dword [esp + 0x458], 0
lea eax, [esp + 0x458]
push eax
push 4
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x10009bb0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x18]
mov dword [eax], 0x1003cc48
lea eax, [esp + 0x458]
push eax
push dword [esp + 0x45c]
push 4
push dword [esp + 0x46c]
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 0x10009bb0
push str.Failed_to_find_black_bars__2__in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxx____xx
push 0x1003a090
call fcn.10002a60
add esp, 8
mov dword [0x1004a010], eax
cmp dword [0x10048bf8], 1
jne 0x10009c13
test eax, eax
je 0x10009c04
push eax
push str.Patching_FPS_fix_at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [0x1004a010]
lea edx, [esp + 0x33]
add esp, 0xc
mov byte [esp + 0x27], 0x42
push 1
call fcn.10002ab0
add esp, 4
jmp 0x10009c13
push str.Failed_to_find_FPS_fix_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x10048970], 1
jne 0x10009c86
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx
push 0x1003a0e0
call fcn.10002a60
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x10009c77
push eax
push str.Patching_option_menu_freeze_at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x484]
add esp, 0xc
mov dword [esp + 0x478], 0x909090c3
mov word [esp + 0x47c], 0x9090
push 6
call fcn.10002ab0
add esp, 4
jmp 0x10009c86
push str.Failed_to_find_option_menu_freeze_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x10049fec], 1
jne 0x10009ce8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxx
push 0x1003a14c
call fcn.10002a60
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x10009cd9
push eax
push str.Patching_pause_menu_at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x28]
add esp, 0xc
mov word [esp + 0x1c], 0x36eb
push 2
call fcn.10002ab0
add esp, 4
jmp 0x10009ce8
push str.Failed_to_find_pause_menu_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x10049fd0], 1
jne 0x1000a006
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xx____xxx
push 0x1003a1ac
call fcn.10002a60
add esp, 8
test eax, eax
je 0x10009da7
add eax, 2
push eax
push str.Patching_FMV1_at______p_r_n
push 0
mov dword [esp + 0x46c], eax
mov dword [esp + 0x24], eax
call fcn.10002740
add esp, 0xc
mov dword [esp + 0x458], 0
lea eax, [esp + 0x458]
push eax
push 4
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x10009db6
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x18]
mov dword [eax], 0x10048278
lea eax, [esp + 0x458]
push eax
push dword [esp + 0x45c]
push 4
push dword [esp + 0x46c]
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 0x10009db6
push str.Failed_to_find_FMV1_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xxxxxxxxxx
push 0x1003a210
call fcn.10002a60
add esp, 8
test eax, eax
je 0x10009e68
add eax, 2
push eax
push str.Patching_FMV2_at______p_r_n
push 0
mov dword [esp + 0x46c], eax
mov dword [esp + 0x24], eax
call fcn.10002740
add esp, 0xc
mov dword [esp + 0x458], 0
lea eax, [esp + 0x458]
push eax
push 4
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x10009e77
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x18]
mov dword [eax], 0x1004a01c
lea eax, [esp + 0x458]
push eax
push dword [esp + 0x45c]
push 4
push dword [esp + 0x46c]
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 0x10009e77
push str.Failed_to_find_FMV2_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x100484b8], 0
je 0x1000a006
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xxxxxx____x
push 0x1003a278
call fcn.10002a60
add esp, 8
test eax, eax
je 0x10009f36
add eax, 2
push eax
push str.Patching_FMV3_at______p_r_n
push 0
mov dword [esp + 0x46c], eax
mov dword [esp + 0x24], eax
call fcn.10002740
add esp, 0xc
mov dword [esp + 0x458], 0
lea eax, [esp + 0x458]
push eax
push 4
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x10009f45
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x18]
mov dword [eax], 0x1003cc48
lea eax, [esp + 0x458]
push eax
push dword [esp + 0x45c]
push 4
push dword [esp + 0x46c]
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 0x10009f45
push str.Failed_to_find_FMV3_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xx____xxxx
push 0x1003a2e0
call fcn.10002a60
add esp, 8
test eax, eax
je 0x10009ff7
add eax, 2
push eax
push str.Patching_FMV4_at______p_r_n
push 0
mov dword [esp + 0x46c], eax
mov dword [esp + 0x24], eax
call fcn.10002740
add esp, 0xc
mov dword [esp + 0x458], 0
lea eax, [esp + 0x458]
push eax
push 4
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a006
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x18]
mov dword [eax], 0x10048960
lea eax, [esp + 0x458]
push eax
push dword [esp + 0x45c]
push 4
push dword [esp + 0x46c]
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 0x1000a006
push str.Failed_to_find_FMV4_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____x____xxxx
push 0x1003a344
call fcn.10002a60
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x1000a05f
push eax
push str.Patching_option_menu_window_size_at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x474]
add esp, 0xc
mov dword [esp + 0x468], 0x90909090
mov byte [esp + 0x46c], 0x90
push 5
call fcn.10002ab0
add esp, 4
jmp 0x1000a06e
push str.Failed_to_find_option_menu_window_size_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____xxx
push 0x1003a3c4
call fcn.10002a60
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x1000a0b8
push eax
push str.Patching_option_menu_render_size_at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x28]
add esp, 0xc
mov word [esp + 0x1c], 0x1aeb
push 2
call fcn.10002ab0
add esp, 4
jmp 0x1000a0c7
push str.Failed_to_find_option_menu_render_size_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x10049fdc], 1
jne 0x1000a290
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____xxxxx__xx____x
push 0x1003a44c
mov dword [esp + 0x460], 0
call fcn.10002a60
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1000a1da
mov esi, dword [esp + 0x1c]
inc dword [esp + 0x458]
push esi
push str._r_nHooking_FOV_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov ecx, esi
cmp dword [esp + 0x458], 1
jne 0x1000a165
push 0x100484c8
mov edx, 0x100053a0
mov dword [0x100484c8], esi
call fcn.10001dd0
mov ecx, dword [esp + 0x1c]
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 0x1000a19f
push 0x10049728
mov edx, 0x100054d0
mov dword [0x10049728], esi
call fcn.10001dd0
mov ecx, dword [esp + 0x1c]
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.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
mov ecx, edi
mov edx, dword [esi + 0x50]
push str.xxx____xxxxx__xx____x
push 0x1003a44c
call fcn.10002a60
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x1000a102
cmp dword [esp + 0x458], 2
je 0x1000a1e9
push str.Failed_to_find_FOV_functions_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x10048288], 1
jne 0x1000a290
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx____xxxxxxxx_____xx
push 0x1003a52c
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000a281
push eax
push str._r_nHooking_scene_type_function_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10005560
mov dword [0x10048c30], eax
mov ecx, eax
push 0x10048c30
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.Scene_type_function_Hook______s______s_r_n
push 0
call fcn.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
jmp 0x1000a290
push str.Failed_to_find_scene_type_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x10049da0], 1
jne 0x1000ac2e
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x____x_____x_____
push 0x1003a5e8
call fcn.10002a60
push eax
push str._r_nGetting_cursor_at______p_r_n
push 0
mov dword [0x10048c0c], eax
call fcn.10002740
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxxxxxxxx
push 0x1003a620
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000a351
push eax
push str._r_nHooking_show_item_function_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x100054e0
mov dword [0x100492f8], eax
mov ecx, eax
push 0x100492f8
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.Show_item_function_Hook______s______s_r_n
push 0
call fcn.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
jmp 0x1000a360
push str.Failed_to_find_show_item_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxx
push 0x1003a6bc
call fcn.10002a60
mov esi, eax
add esp, 8
mov dword [esp + 0x18], esi
test esi, esi
je 0x1000a3d9
push esi
push str._r_nHooking_save_and_load_menu_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x1004827c], esi
mov edx, 0x10006d30
mov ecx, esi
push 0x1004827c
call fcn.10001dd0
mov ecx, dword [esp + 0x18]
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.10002740
add esp, 0x10
jmp 0x1000a3e8
push str.Failed_to_find_save_and_load_menu_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
xor eax, eax
cmp byte [0x10048997], al
mov dword [esp + 0x468], eax
mov word [esp + 0x46c], ax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push 6
lea eax, [esp + 0x470]
push eax
jne 0x1000a7cb
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 0x1000ab88
cmp dword [esp + 0x1c], 6
jne 0x1000ab88
cmp byte [esp + 0x468], 0x51
jne 0x1000ab88
cmp byte [esp + 0x469], 0xe8
jne 0x1000ab88
cmp byte [esp + 0x46a], 0xfa
jne 0x1000ab88
cmp byte [esp + 0x46b], 0xff
jne 0x1000ab88
cmp byte [esp + 0x46c], 0xd7
jne 0x1000ab88
cmp byte [esp + 0x46d], 0xff
jne 0x1000ab88
push 0x682ba0
push str._r_nHooking_2D_width_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x10049da8], 0x682ba0
mov edx, 0x100069f0
mov ecx, 0x682ba0
push 0x10049da8
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.10002740
push 0x4168e0
push str._r_nHooking_screen_width_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0x1c
mov dword [0x100484e4], 0x4168e0
mov edx, 0x10006c50
mov ecx, 0x4168e0
push 0x100484e4
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.10002740
push 0x600b60
push str._r_nHooking_hitbox_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0x1c
mov dword [0x100492e0], 0x600b60
mov edx, 0x10006cb0
mov ecx, 0x600b60
push 0x100492e0
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.10002740
mov eax, dword [0x10049fc8]
add esp, 0x10
movss xmm3, dword [esp + 0x20]
mulss xmm3, dword [0x1003d218]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003d290]
cvtpd2ps xmm2, xmm0
movss xmm0, dword [0x100492e4]
movaps xmm1, xmm0
subss xmm1, xmm3
cmp dword [0x10049ff0], 1
mulss xmm1, dword [0x1003d20c]
mov dword [esp + 0x470], 0xa8f005d9
divss xmm0, xmm2
mov word [esp + 0x474], 0x68
divss xmm1, xmm0
subss xmm2, xmm1
movss dword [esp + 0x458], xmm1
movss dword [0x10048bc8], xmm2
jne 0x1000a6ff
push 0x5d7414
push 0x5d74ac
push 0x5d7446
push str._r_nPatching_logos_at______p______p______p_r_n
push 0
call fcn.10002740
add esp, 0x14
lea edx, [esp + 0x458]
mov ecx, 0x5d744a
push 4
call fcn.10002ab0
add esp, 4
lea edx, [esp + 0x458]
mov ecx, 0x5d74b0
push 4
call fcn.10002ab0
add esp, 4
lea edx, [esp + 0x470]
mov ecx, 0x5d7414
push 6
call fcn.10002ab0
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [esp + 0x24]
add esp, 4
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], 0x5d7416
push eax
push 4
push 4
push 0x5d7416
call esi
cmp eax, 1
jne 0x1000a705
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x18]
mov dword [eax], 0x10048bc8
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x24]
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 0x1000a705
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp dword [0x1004898c], 1
jne 0x1000ab88
push 0x59be13
push 0x59beab
push 0x59be45
push str._r_nPatching_credits_at______p______p______p_r_n
push 0
call fcn.10002740
add esp, 0x14
lea edx, [esp + 0x458]
mov ecx, 0x59be49
push 4
call fcn.10002ab0
add esp, 4
lea edx, [esp + 0x458]
mov ecx, 0x59beaf
push 4
call fcn.10002ab0
add esp, 4
lea edx, [esp + 0x470]
mov ecx, 0x59be13
push 6
call fcn.10002ab0
add esp, 4
mov dword [esp + 0x20], 0
lea eax, [esp + 0x20]
mov dword [esp + 0x18], 0x59be15
push eax
push 4
push 4
push 0x59be15
call esi
cmp eax, 1
jne 0x1000ab88
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x18]
mov dword [eax], 0x10048bc8
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x24]
push 4
push 0x59be15
jmp 0x1000ab75
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 0x1000ab88
cmp dword [esp + 0x1c], 6
jne 0x1000ab88
cmp byte [esp + 0x468], 0x51
jne 0x1000ab88
cmp byte [esp + 0x469], 0xe8
jne 0x1000ab88
cmp byte [esp + 0x46a], 0xba
jne 0x1000ab88
cmp byte [esp + 0x46b], 0x12
jne 0x1000ab88
cmp byte [esp + 0x46c], 0xd8
jne 0x1000ab88
cmp byte [esp + 0x46d], 0xff
jne 0x1000ab88
push 0x6818e0
push str._r_nHooking_2D_width_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x10049da8], 0x6818e0
mov edx, 0x100069f0
mov ecx, 0x6818e0
push 0x10049da8
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.10002740
push 0x4168e0
push str._r_nHooking_screen_width_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0x1c
mov dword [0x100484e4], 0x4168e0
mov edx, 0x10006c50
mov ecx, 0x4168e0
push 0x100484e4
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.10002740
push 0x5ff7f0
push str._r_nHooking_hitbox_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0x1c
mov dword [0x100492e0], 0x5ff7f0
mov edx, 0x10006cb0
mov ecx, 0x5ff7f0
push 0x100492e0
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.10002740
mov eax, dword [0x10049fc8]
add esp, 0x10
movss xmm3, dword [esp + 0x20]
mulss xmm3, dword [0x1003d218]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003d290]
cvtpd2ps xmm2, xmm0
movss xmm0, dword [0x100492e4]
movaps xmm1, xmm0
subss xmm1, xmm3
cmp dword [0x10049ff0], 1
mulss xmm1, dword [0x1003d20c]
mov dword [esp + 0x470], 0xa8f005d9
divss xmm0, xmm2
mov word [esp + 0x474], 0x68
divss xmm1, xmm0
subss xmm2, xmm1
movss dword [esp + 0x458], xmm1
movss dword [0x10048bc8], xmm2
jne 0x1000aab2
push 0x5d4d24
push 0x5d4dbc
push 0x5d4d56
push str._r_nPatching_logos_at______p______p______p_r_n
push 0
call fcn.10002740
add esp, 0x14
lea edx, [esp + 0x458]
mov ecx, 0x5d4d5a
push 4
call fcn.10002ab0
add esp, 4
lea edx, [esp + 0x458]
mov ecx, 0x5d4dc0
push 4
call fcn.10002ab0
add esp, 4
lea edx, [esp + 0x470]
mov ecx, 0x5d4d24
push 6
call fcn.10002ab0
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [esp + 0x24]
add esp, 4
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], 0x5d4d26
push eax
push 4
push 4
push 0x5d4d26
call esi
cmp eax, 1
jne 0x1000aab8
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x18]
mov dword [eax], 0x10048bc8
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x24]
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 0x1000aab8
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp dword [0x1004898c], 1
jne 0x1000ab88
push 0x5e0463
push 0x5e04fb
push 0x5e0495
push str._r_nPatching_credits_at______p______p______p_r_n
push 0
call fcn.10002740
add esp, 0x14
lea edx, [esp + 0x458]
mov ecx, 0x5e0499
push 4
call fcn.10002ab0
add esp, 4
lea edx, [esp + 0x458]
mov ecx, 0x5e04ff
push 4
call fcn.10002ab0
add esp, 4
lea edx, [esp + 0x470]
mov ecx, 0x5e0463
push 6
call fcn.10002ab0
add esp, 4
mov dword [esp + 0x20], 0
lea eax, [esp + 0x20]
mov dword [esp + 0x18], 0x5e0465
push eax
push 4
push 4
push 0x5e0465
call esi
cmp eax, 1
jne 0x1000ab88
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x18]
mov dword [eax], 0x10048bc8
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x24]
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 [0x10049da0], 1
jne 0x1000ac2e
cmp dword [0x100484ac], 1
jne 0x1000ac2e
mov eax, dword [esp + 0xc]
mov ecx, edi
push str.xxxx____xx
push 0x1003a8bc
mov edx, dword [eax + 0x50]
call fcn.10002a60
mov esi, eax
add esp, 8
mov dword [esp + 0x18], esi
test esi, esi
je 0x1000ac1f
push esi
push str._r_nHooking_display_map_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x10048c28], esi
mov edx, 0x10006d20
mov ecx, esi
push 0x10048c28
call fcn.10001dd0
mov ecx, dword [esp + 0x18]
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.10002740
add esp, 0x10
jmp 0x1000ac2e
push str.Failed_to_find_display_map_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov eax, dword [esp + 0xc]
mov ecx, edi
push str.xxxx___xx___
push 0x1003a964
mov edx, dword [eax + 0x50]
call fcn.10002a60
mov esi, eax
add esp, 8
mov dword [esp + 0x18], esi
test esi, esi
je 0x1000acab
push esi
push str._r_nHooking_window_resolution_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x10049080], esi
mov edx, 0x10005670
mov ecx, esi
push 0x10049080
call fcn.10001dd0
mov ecx, dword [esp + 0x18]
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.10002740
add esp, 0x10
jmp 0x1000acba
push str.Failed_to_find_window_resolution_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov eax, dword [esp + 0xc]
mov ecx, edi
push str.xxxx___xx___
push 0x1003a964
mov edx, dword [eax + 0x50]
call fcn.10002a60
mov esi, eax
add esp, 8
mov dword [esp + 0x18], esi
test esi, esi
je 0x1000ad37
push esi
push str._r_nHooking_render_resolution_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x1004a004], esi
mov edx, 0x10005720
mov ecx, esi
push 0x1004a004
call fcn.10001dd0
mov ecx, dword [esp + 0x18]
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.10002740
add esp, 0x10
jmp 0x1000ad46
push str.Failed_to_find_render_resolution_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov eax, dword [esp + 0xc]
mov ecx, edi
push str.xx___xx
push 0x1003aab4
mov edx, dword [eax + 0x50]
call fcn.10002a60
mov esi, eax
add esp, 8
mov dword [esp + 0x18], esi
test esi, esi
je 0x1000adc3
push esi
push str._r_nHooking_window_mode_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x10049fcc], esi
mov edx, 0x100057d0
mov ecx, esi
push 0x10049fcc
call fcn.10001dd0
mov ecx, dword [esp + 0x18]
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.10002740
add esp, 0x10
jmp 0x1000add2
push str.Failed_to_find_window_mode_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x10048954], 0
je 0x1000ae6b
mov eax, dword [esp + 0xc]
mov ecx, edi
push str.xxxxxxxxx
push 0x1003ab48
mov edx, dword [eax + 0x50]
call fcn.10002a60
mov esi, eax
add esp, 8
mov dword [esp + 0x18], esi
test esi, esi
je 0x1000ae5c
push esi
push str._r_nHooking_fog_complexity_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x1004a044], esi
mov edx, 0x10005800
mov ecx, esi
push 0x1004a044
call fcn.10001dd0
mov ecx, dword [esp + 0x18]
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.10002740
add esp, 0x10
jmp 0x1000ae6b
push str.Failed_to_find_fog_complexity_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x10048bf8], 2
je 0x1000ae81
cmp dword [0x10048290], 1
jne 0x1000af0a
mov esi, dword [esp + 0xc]
mov ecx, edi
push str.xxxx_____xxxxxxxx____
push 0x1003abf4
mov edx, dword [esi + 0x50]
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000af99
push eax
push str._r_nHooking_FPS_limit_function_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10005c90
mov dword [0x10048e4c], eax
mov ecx, eax
push 0x10048e4c
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.FPS_limit_function_Hook______s______s_r_n
push 0
call fcn.10002740
add esp, 0x10
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____xxxxx
push 0x1003ac9c
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000afad
push eax
push str._r_nHooking_Camera_index_function_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10005500
mov dword [0x10048bfc], eax
mov ecx, eax
push 0x10048bfc
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.Camera_index_function_Hook______s______s_r_n
push 0
call fcn.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
jmp 0x1000afbc
push str.Failed_to_find_FPS_limit_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
jmp 0x1000af0e
push str.Failed_to_find_camera_index_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x10048734], 8
jae 0x1000b2a8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxx____
push str.SUVW3
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000b054
push eax
push str._r_nHooking_Message_Selector_function_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10005cd0
mov dword [0x10049dac], eax
mov ecx, eax
push 0x10049dac
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.Message_Selector_Hook______s______s_r_n
push 0
call fcn.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
jmp 0x1000b063
push str.Failed_to_find_message_selector_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp byte [0x10048997], 0
mov ecx, edi
mov edx, dword [esi + 0x50]
jne 0x1000b094
push str.x____xxxxxxxxxxxx_____xxxxxxxxxxx______
push 0x1003ae04
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000b129
jmp 0x1000b0b5
push str.x____xxxxxxxxxxxxx
push 0x1003ae90
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000b11a
push eax
push str._r_nHooking_GetWindowsLangID_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10005d00
mov dword [0x10049fbc], eax
mov ecx, eax
push 0x10049fbc
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.GetWindowsLangID_Hook______s______s_r_n
push 0
call fcn.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
jmp 0x1000b129
push str.Failed_to_find_GetWindowsLangID_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxxxxxxxxxxxx____xxxxxxxx____xxxxxxxxxxxx
push 0x1003af10
call fcn.10002a60
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
je 0x1000b1a7
push eax
push str._r_nHooking_GetCurrentLanguageIndex_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov edx, 0x10005d00
mov dword [0x10048c14], eax
mov ecx, eax
push 0x10048c14
call fcn.10001dd0
mov ecx, dword [esp + 0x20]
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.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
jmp 0x1000b1b6
push str.Failed_to_find_GetCurrentLanguageIndex_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x460], eax
je 0x1000b22f
push eax
push str._r_nHooking_SetCurrentLanguageIndex_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10005d20
mov dword [0x10048c10], eax
mov ecx, eax
push 0x10048c10
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.SetCurrentLanguageIndex_Hook______s______s_r_n
push 0
call fcn.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
jmp 0x1000b23e
push str.Failed_to_find_SetCurrentLanguageIndex_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxx_____
push 0x1003b094
call fcn.10002a60
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x1000b299
push eax
push str._r_nPatching_language_function_at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x484]
add esp, 0xc
mov dword [esp + 0x478], 0x81e9
mov word [esp + 0x47c], 0x9000
push 6
call fcn.10002ab0
add esp, 4
jmp 0x1000b2a8
push str.Failed_to_find_language_patch_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x10049780], 1
jne 0x1000b5d2
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____xxxx
push 0x1003b108
call fcn.10002a60
push eax
push str._r_nSaveStatusAddress______p_r_n
push 0
mov dword [0x1004a018], eax
call fcn.10002740
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxxxx_________xxx
push 0x1003b148
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000b369
push eax
push str._r_nHooking_SaveRead_function_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10005d50
mov dword [0x100490a0], eax
mov ecx, eax
push 0x100490a0
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.SaveRead_function_Hook______s______s_r_n
push 0
call fcn.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
jmp 0x1000b378
push str.Failed_to_find_save_read_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx_________xxx
push 0x1003b148
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000b403
push eax
push str._r_nHooking_SaveWrite_function_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10006290
mov dword [0x10049764], eax
mov ecx, eax
push 0x10049764
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.SaveWrite_function_Hook______s______s_r_n
push 0
call fcn.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
jmp 0x1000b412
push str.Failed_to_find_save_write_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxx
push 0x1003b268
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000b49d
push eax
push str._r_nHooking_SaveDelete_function_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10006720
mov dword [0x100484e0], eax
mov ecx, eax
push 0x100484e0
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.SaveDelete_function_Hook______s______s_r_n
push 0
call fcn.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
jmp 0x1000b4ac
push str.Failed_to_find_save_delete_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxx
push 0x1003b2fc
call fcn.10002a60
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x1000b4f7
push eax
push str._r_nPatching_BeginSaveFileChecksumVerification_at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x2c]
add esp, 0xc
mov dword [esp + 0x20], 0x90c301b0
push 4
call fcn.10002ab0
add esp, 4
jmp 0x1000b506
push str.Failed_to_find_begin_save_file_checksum_verification_patch_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxx
push 0x1003b398
call fcn.10002a60
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x1000b54e
push eax
push str._r_nPatching_ApplyChecksumToSaveFile_at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x33]
add esp, 0xc
mov byte [esp + 0x27], 0xc3
push 1
call fcn.10002ab0
add esp, 4
jmp 0x1000b55d
push str.Failed_to_find_apply_save_file_checksum_verification_patch_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxx____
push 0x1003b428
call fcn.10002a60
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x1000b5b6
push eax
push str._r_nPatching_strftime_at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x474]
add esp, 0xc
mov dword [esp + 0x468], 0x90909090
mov byte [esp + 0x46c], 0x90
push 5
call fcn.10002ab0
add esp, 4
jmp 0x1000b5c5
push str.Failed_to_find_strftime_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
push 0
push 0x100482a0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____xxxx_____xxx
push 0x1003b494
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000b65d
push eax
push str._r_nHooking_show_picture_function_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10006940
mov dword [0x100492fc], eax
mov ecx, eax
push 0x100492fc
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.Show_picture_function_Hook______s______s_r_n
push 0
call fcn.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
jmp 0x1000b66c
push str.Failed_to_find_show_picture_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxx
push 0x1003b534
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000b6f7
push eax
push str._r_nHooking_inflate_function_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10006d60
mov dword [0x10049794], eax
mov ecx, eax
push 0x10049794
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.inflate_function_Hook______s______s_r_n
push 0
call fcn.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
jmp 0x1000b706
push str.Failed_to_find_inflate_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx
push 0x1003b5c0
call fcn.10002a60
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x1000b740
push eax
push str._r_nGetting_SH3GetFileStruct_function_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x24]
add esp, 0xc
mov dword [0x10049784], eax
jmp 0x1000b74f
push str.Failed_to_find_SH3GetFileStruct_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxx
push 0x1003b640
call fcn.10002a60
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000b7da
push eax
push str._r_nHooking_SH3ReadFile_function_at______p_r_n
push 0
call fcn.10002740
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10006e50
mov dword [0x100484d4], eax
mov ecx, eax
push 0x100484d4
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.SH3ReadFile_function_Hook______s______s_r_n
push 0
call fcn.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
jmp 0x1000b7e9
push str.Failed_to_find_SH3ReadFile_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____xxxxxxxxxxxxxxxxxx
push 0x1003b6f4
call fcn.10002a60
mov esi, eax
add esp, 8
mov dword [esp + 0x18], esi
test esi, esi
je 0x1000b862
push esi
push str._r_nHooking_SH3LoadArc_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x10048724], esi
mov edx, 0x10007780
mov ecx, esi
push 0x10048724
call fcn.10001dd0
mov ecx, dword [esp + 0x18]
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.10002740
add esp, 0x10
jmp 0x1000b871
push str.Failed_to_find_SH3LoadArc_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp byte [0x10048997], 0
jne 0x1000b919
push 0x6099f0
push str._r_nHooking_AcquireFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x10048e5c], 0x6099f0
mov edx, 0x100077b0
mov ecx, 0x6099f0
push 0x10048e5c
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.10002740
push 0x609a60
push str._r_nHooking_ReleaseFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0x1c
mov dword [0x10048c20], 0x609a60
mov edx, 0x10007800
mov ecx, 0x609a60
push 0x10048c20
call fcn.10001dd0
mov ecx, 0x609a60
jmp 0x1000b9af
push 0x608680
push str._r_nHooking_AcquireFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x10048e5c], 0x608680
mov edx, 0x100077b0
mov ecx, 0x608680
push 0x10048e5c
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.10002740
push 0x6086f0
push str._r_nHooking_ReleaseFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0x1c
mov dword [0x10048c20], 0x6086f0
mov edx, 0x10007800
mov ecx, 0x6086f0
push 0x10048c20
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.10002740
mov esi, dword [esp + 0x1c]
add esp, 0x10
mov ecx, edi
mov edx, dword [esi + 0x50]
push str.xxx____x_____x
push 0x1003b898
call fcn.10002a60
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x1000ba28
push eax
push str._r_nPatching_WaitForSingleObject_call_at______p_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x28]
add esp, 0xc
mov word [esp + 0x1c], 0x5eb
push 2
call fcn.10002ab0
add esp, 4
jmp 0x1000ba37
push str.Failed_to_find_WaitForSingleObject_call_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxx
push 0x1003b910
call fcn.10002a60
mov edi, eax
add esp, 8
test edi, edi
je 0x1000baaa
push edi
push str._r_nHooking_SH3GetFullPath_function_at______p_r_n
push 0
call fcn.10002740
add esp, 0xc
mov dword [0x10048c34], edi
mov edx, 0x10007740
mov ecx, edi
push 0x10048c34
call fcn.10001dd0
mov edx, 1
mov ecx, edi
mov esi, eax
call fcn.100020f0
mov ecx, eax
call fcn.10002200
push eax
mov ecx, esi
call fcn.10002200
push eax
push str.SH3GetFullPath_function_Hook______s______s_r_n
push 0
call fcn.10002740
add esp, 0x10
jmp 0x1000bab9
push str.Failed_to_find_SH3GetFullPath_function_in_sh3.exe_r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [0x100484bc], 1
jbe 0x1000bbaa
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x1000bae0
lea esi, [eax + 0xb]
jmp 0x1000bb04
push 0x1003b9b0
push eax
call edi
test eax, eax
jne 0x1000baf1
lea esi, [eax + 0xc]
jmp 0x1000bb04
push 0x10048e54
mov edx, 0x10002ce0
mov ecx, eax
call fcn.10001dd0
mov esi, eax
push 0x1003b9b0
push dword [esp + 0x14]
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.CreateThread_Hook______s______s_r_n
push 0
call fcn.10002740
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000bb4e
lea esi, [eax + 0xb]
jmp 0x1000bb72
push 0x1003b9e4
push eax
call edi
test eax, eax
jne 0x1000bb5f
lea esi, [eax + 0xc]
jmp 0x1000bb72
push 0x10048738
mov edx, 0x10002e90
mov ecx, eax
call fcn.10001dd0
mov esi, eax
push 0x1003b9e4
push dword [esp + 0x14]
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.10002740
add esp, 0x10
jmp 0x1000bbb0
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [esp + 0x14], 0
je 0x1000bd45
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.Advapi32.dll
call esi
test eax, eax
jne 0x1000bbd6
mov dword [esp + 0x20], 0xb
jmp 0x1000bc01
push str.RegOpenKeyExA
push eax
call edi
test eax, eax
jne 0x1000bbec
mov dword [esp + 0x20], 0xc
jmp 0x1000bc01
push 0x10049790
mov edx, 0x10003170
mov ecx, eax
call fcn.10001dd0
mov dword [esp + 0x20], eax
push str.Advapi32.dll
call esi
test eax, eax
jne 0x1000bc19
mov dword [esp + 0x458], 0xb
jmp 0x1000bc4a
push str.RegQueryValueExA
push eax
call edi
test eax, eax
jne 0x1000bc32
mov dword [esp + 0x458], 0xc
jmp 0x1000bc4a
push 0x10048c24
mov edx, 0x10003220
mov ecx, eax
call fcn.10001dd0
mov dword [esp + 0x458], eax
push str.Advapi32.dll
call esi
test eax, eax
jne 0x1000bc5f
mov dword [esp + 0xc], 0xb
jmp 0x1000bc8a
push 0x1003ba4c
push eax
call edi
test eax, eax
jne 0x1000bc75
mov dword [esp + 0xc], 0xc
jmp 0x1000bc8a
push 0x1004a024
mov edx, 0x10003260
mov ecx, eax
call fcn.10001dd0
mov dword [esp + 0xc], eax
push str.RegOpenKeyExA
push dword [esp + 0x18]
call edi
mov edx, 1
mov ecx, eax
call fcn.100020f0
push str.RegQueryValueExA
push dword [esp + 0x18]
mov esi, eax
call edi
mov edx, 1
mov ecx, eax
call fcn.100020f0
push 0x1003ba4c
push dword [esp + 0x18]
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 + 0x18], eax
call fcn.10002200
mov ecx, dword [esp + 0x20]
push eax
call fcn.10002200
push eax
push str._r_nRegOpenKeyExA_Hook______s______s_r_n
push 0
call fcn.10002740
add esp, 0x10
mov ecx, edi
call fcn.10002200
mov ecx, dword [esp + 0x458]
push eax
call fcn.10002200
push eax
push str.RegQueryValueExA_Hook______s______s_r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x28]
add esp, 0x10
call fcn.10002200
mov ecx, dword [esp + 0xc]
push eax
call fcn.10002200
push eax
push str.RegCloseKey_Hook______s______s_r_n
push 0
call fcn.10002740
add esp, 0x10
jmp 0x1000bd54
push str.Failed_to_load_Advapi32.dll__r_n
push 1
call fcn.10002740
add esp, 8
cmp dword [esp + 0x28], 0
je 0x1000bee2
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 0x1000bd80
mov dword [esp + 0x14], 0xb
jmp 0x1000bdab
push str.AdjustWindowRectEx
push eax
call edi
test eax, eax
jne 0x1000bd96
mov dword [esp + 0x14], 0xc
jmp 0x1000bdab
push 0x100489bc
mov edx, 0x10002ee0
mov ecx, eax
call fcn.10001dd0
mov dword [esp + 0x14], eax
push str.User32.dll
call esi
test eax, eax
jne 0x1000bdc0
mov dword [esp + 0x20], 0xb
jmp 0x1000bdeb
push str.CreateWindowExA
push eax
call edi
test eax, eax
jne 0x1000bdd6
mov dword [esp + 0x20], 0xc
jmp 0x1000bdeb
push 0x10049ff4
mov edx, 0x10002f30
mov ecx, eax
call fcn.10001dd0
mov dword [esp + 0x20], eax
push str.AdjustWindowRectEx
push dword [esp + 0x2c]
call edi
mov edx, 1
mov ecx, eax
call fcn.100020f0
push str.CreateWindowExA
push dword [esp + 0x2c]
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 + 0x14]
push eax
call fcn.10002200
push eax
push str.AdjustWindowRectEx_Hook______s______s_r_n
push 0
call fcn.10002740
add esp, 0x10
mov ecx, edi
call fcn.10002200
mov ecx, dword [esp + 0x20]
push eax
call fcn.10002200
push eax
push str.CreateWindowExA_Hook______s______s_r_n
push 0
call fcn.10002740
add esp, 0x10
cmp dword [0x1004a020], 0
je 0x1000bef1
push str.User32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x1000be86
lea edi, [eax + 0xb]
jmp 0x1000beaa
push str.PostMessageA
push eax
call esi
test eax, eax
jne 0x1000be97
lea edi, [eax + 0xc]
jmp 0x1000beaa
push 0x100492d0
mov edx, 0x100030c0
mov ecx, eax
call fcn.10001dd0
mov edi, eax
push str.PostMessageA
push dword [esp + 0x2c]
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.10002740
add esp, 0x10
jmp 0x1000bef7
push str.Failed_to_load_User32.dll__r_n
push 1
call fcn.10002740
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 0x1000c064
push 0x1003bbb4
push edi
call esi
mov ecx, dword [0x100484c4]
mov dword [0x10048294], eax
test ecx, ecx
je 0x1000bf3c
test eax, eax
je 0x1000bf3c
cmp ecx, 1
jne 0x1000bf30
push 0
jmp 0x1000bf37
cmp ecx, 2
jne 0x1000bf3c
push 1
call eax
add esp, 4
cmp dword [0x10049778], 1
jne 0x1000c073
push str.d3d8.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000bf62
mov dword [esp + 0x28], 0xb
jmp 0x1000bf8d
push str.Direct3DCreate8
push eax
call esi
test eax, eax
jne 0x1000bf78
mov dword [esp + 0x28], 0xc
jmp 0x1000bf8d
push 0x10048e64
mov edx, 0x10004fe0
mov ecx, eax
call fcn.10001dd0
mov dword [esp + 0x28], 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 + 0x28]
push eax
call fcn.10002200
push eax
push str._r_nDirect3DCreate8_Hook______s______s_r_n_r_n
push 0
call fcn.10002740
add esp, 0x10
push str.PatchMaximizedWindowedMode
push edi
call esi
push str.UseDirectX12UsermodeDisplayDriver
push edi
mov dword [0x100492e8], eax
call esi
cmp dword [0x100489a8], 1
mov dword [0x1004a000], eax
jne 0x1000c010
cmp dword [0x100492e8], 0
je 0x1000c010
push str.Patching_Maximized_Windowed_Mode_r_n
push 0
call fcn.10002740
add esp, 8
call dword [0x100492e8]
test al, al
jne 0x1000c029
push str._r_nFailed_to_disable_maximized_windowed_mode__r_n
push 1
jmp 0x1000c017
push str.Not_patching_Maximized_Windowed_Mode_r_n
push 0
call fcn.10002740
mov dword [0x1004a00c], 0
add esp, 8
cmp dword [0x10049fc0], 1
jne 0x1000c05b
cmp dword [0x1004a000], 0
je 0x1000c05b
push str._r_nEnabling_DirextX_12_r_n
push 0
call fcn.10002740
add esp, 8
call dword [0x1004a000]
test al, al
jne 0x1000c073
push str._r_nFailed_to_enable_DirextX_12__r_n
jmp 0x1000c069
push str._r_nNot_using_DirectX_12_r_n
push 0
jmp 0x1000c06b
push str._r_nFailed_to_get_d3d8.dll__r_n
push 1
call fcn.10002740
add esp, 8
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c087
lea edi, [eax + 0xb]
jmp 0x1000c0ab
push 0x1003bd24
push eax
call esi
test eax, eax
jne 0x1000c098
lea edi, [eax + 0xc]
jmp 0x1000c0ab
push 0x10049098
mov edx, 0x100032a0
mov ecx, eax
call fcn.10001dd0
mov edi, eax
push 0x1003bd24
push dword [esp + 0x14]
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.10002740
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c0f5
lea edi, [eax + 0xb]
jmp 0x1000c119
push 0x1003bd54
push eax
call esi
test eax, eax
jne 0x1000c106
lea edi, [eax + 0xc]
jmp 0x1000c119
push 0x10049fd8
mov edx, 0x100032e0
mov ecx, eax
call fcn.10001dd0
mov edi, eax
push 0x1003bd54
push dword [esp + 0x14]
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.10002740
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c163
lea edi, [eax + 0xb]
jmp 0x1000c187
push 0x1003bd80
push eax
call esi
test eax, eax
jne 0x1000c174
lea edi, [eax + 0xc]
jmp 0x1000c187
push 0x100489b0
mov edx, 0x10003330
mov ecx, eax
call fcn.10001dd0
mov edi, eax
push 0x1003bd80
push dword [esp + 0x14]
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.10002740
add esp, 0x10
push 0
push 0x10048740
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x208
lea eax, [esp + 0x9f4]
push 0
push eax
call fcn.10016fc0
add esp, 0xc
lea eax, [esp + 0x9f0]
push 0x10048740
push 0x104
push eax
call fcn.1001ce3e
add esp, 0xc
lea eax, [esp + 0x9f0]
push str.disp.ini
push 0x104
push eax
call fcn.1001cea2
add esp, 0xc
cmp dword [0x10048e50], 1
jne 0x1000c22c
lea eax, [esp + 0x9f0]
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 + 0xa08]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
mov esi, eax
cmp esi, 0xffffffff
je 0x1000c2f3
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1000c2ec
push 0x104
push eax
lea eax, [esp + 0x4d0]
push eax
call fcn.10016fc0
add esp, 0xc
lea eax, [esp + 0x4c8]
push dword [0x1004a464]
push dword [0x100484b0]
push dword [0x1004a040]
push dword [0x10049fc8]
push str.formatD3DFMT_A8R8G8B8_ngamma_b1_ngamma_g1_ngamma_r1_nmodewindow_nresolution_dx_d_nsize_dx_d_n
push 0x104
push eax
call fcn.1000d4b0
lea ecx, [esp + 0x4e4]
mov dword [esp + 0x34], 0
add esp, 0x1c
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000c2d0
push 0
lea eax, [esp + 0x1c]
sub ecx, edx
push eax
push ecx
lea eax, [esp + 0x4d4]
push eax
push esi
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x208
lea eax, [esp + 0xbfc]
push 0
push eax
call fcn.10016fc0
add esp, 0xc
lea eax, [esp + 0xbf8]
push 0x10048740
push 0x104
push eax
call fcn.1001ce3e
add esp, 0xc
lea eax, [esp + 0xbf8]
push str.data.sys
push 0x104
push eax
call fcn.1001cea2
mov esi, dword [sym.imp.KERNEL32.dll_SetLastError]
add esp, 0xc
push 0
call esi
cmp dword [0x100492d4], 1
jne 0x1000c3aa
push 0
push 0x80
push 4
push 0
push 2
push 0x40000000
lea eax, [esp + 0xc10]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x1000c3a4
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1000c39d
push eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push 0x74
push 0x10042d10
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 [0x10049770], 1
jne 0x1000c455
push 0x208
lea eax, [esp + 0x4cc]
push 0
push eax
call fcn.10016fc0
add esp, 0xc
lea eax, [esp + 0x4c8]
push 0x10048740
push 0x104
push eax
call fcn.1001ce3e
add esp, 0xc
lea eax, [esp + 0x4c8]
push str.data.002
push 0x104
push eax
call fcn.1001cea2
add esp, 0xc
push 0
call esi
push 0
push 0x80
push 4
push 0
push 2
push 0x40000000
lea eax, [esp + 0x4e0]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x1000c455
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1000c44e
push eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push 0x1350
push 0x10042d88
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.10002740
push str._r_n______________________________________________________________________________________________________r_n
push 0
call fcn.10002740
mov ecx, dword [esp + 0x101c]
add esp, 0x10
xor eax, eax
pop edi
pop esi
xor ecx, esp
call fcn.100151d3
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]