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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xe08
mov eax, dword [0x10044040]
xor eax, esp
mov dword [esp + 0xe04], eax
push esi
push edi
xor esi, esi
mov ecx, 1
mov edi, 0x1004a1fc
xor eax, eax
lock cmpxchg dword [edi], ecx
test eax, eax
je 0x10007c5c
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0x20
jae 0x10007c41
push 0
jmp 0x10007c43
push 1
call edi
inc esi
mov ecx, 1
xor eax, eax
mov edx, 0x1004a1fc
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0x10007c38
mov edi, edx
cmp dword [0x1004a200], 0
jne 0x10007c84
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapCreate]
xor edx, edx
mov dword [0x1004a200], eax
test eax, eax
mov ecx, 9
cmovne ecx, edx
jmp 0x10007c89
mov ecx, 1
xor eax, eax
xchg dword [edi], eax
test ecx, ecx
je 0x10007ca2
push 0x10
push str.Silent_Hill_3_PC_Fix
push str.Unable_to_initialize_MinHook_
jmp 0x1000cfd2
cmp dword [0x1004b010], 1
jne 0x10007d0e
lea eax, [esp + 0x30]
mov dword [esp + 0x30], 0
push eax
push 0
call dword [sym.imp.WINMM.dll_waveOutGetVolume]
test eax, eax
je 0x10007ccc
push eax
push str._r_nFailed_to_get_volume_______u_r_n
jmp 0x10007d04
movzx ecx, word [esp + 0x30]
mov eax, 0xa003c017
mul ecx
shr edx, 0xc
test edx, edx
jne 0x10007d0e
push str.Fixing_audio_r_n_r_n
push edx
call fcn.10002a10
add esp, 8
push 0xfffafffa
push 0
call dword [sym.imp.WINMM.dll_waveOutSetVolume]
test eax, eax
je 0x10007d0e
push eax
push str._r_nFailed_to_set_volume_______u_r_n
push 1
call fcn.10002a10
add esp, 0xc
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x1004ae08
mov byte [esp + 0x47c], 0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov esi, eax
cmp esi, 0xffffffff
je 0x10007d7f
lea eax, [esp + 0x490]
mov dword [esp + 0x490], 0
push eax
push esi
mov dword [esp + 0x49c], 0
call edi
cmp eax, 1
jne 0x10007d78
cmp dword [esp + 0x490], 0xb123a8
jbe 0x10007d78
mov byte [0x1004a486], al
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x1004a958
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x10007de2
lea eax, [esp + 0x490]
mov dword [esp + 0x490], 0
push eax
push esi
mov dword [esp + 0x49c], 0
call edi
cmp eax, 1
jne 0x10007ddb
cmp dword [esp + 0x490], 0x1303300
jbe 0x10007ddb
mov byte [0x1004abde], al
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x1004b4b0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x10007e57
lea eax, [esp + 0x490]
mov dword [esp + 0x490], 0
push eax
push esi
mov dword [esp + 0x49c], 0
call edi
cmp eax, 1
jne 0x10007e50
mov eax, dword [esp + 0x460]
mov ecx, 1
cmp dword [esp + 0x490], 0x4b9
movzx eax, al
cmova eax, ecx
mov dword [esp + 0x460], eax
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.RtlGetNtVersionNumbers
push eax
mov dword [esp + 0x28], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x1004b250], eax
test eax, eax
je 0x10007e9d
push 0x1004c418
push 0x1004b71c
push 0x1004c1a8
call eax
mov eax, dword [0x1004c418]
and eax, 0x7fff
mov dword [0x1004c418], eax
jmp 0x10007ea2
mov eax, dword [0x1004c418]
push eax
push dword [0x1004b71c]
push dword [0x1004c1a8]
push str.OS_Version______lu._lu._lu_r_n_r_n
push 0
call fcn.10002a10
add esp, 0x14
lea eax, [esp + 0x380]
push 0xdc
push 0
push eax
call fcn.100180d0
add esp, 0xc
mov eax, 0xdc
mov word [esp + 0x3c4], ax
lea eax, [esp + 0x380]
push eax
push 0xffffffffffffffff
push 0
call dword [sym.imp.USER32.dll_EnumDisplaySettingsW]
test eax, eax
jne 0x10007f09
push 0x10
push str.Silent_Hill_3_PC_Fix
push str.Failed_to_get_the_monitor_resolution_
jmp 0x1000cfd2
mov ecx, dword [0x1004a448]
mov eax, dword [0x1004c408]
test ecx, ecx
jne 0x10007f35
test eax, eax
jne 0x10007f35
mov ecx, dword [esp + 0x42c]
mov eax, dword [esp + 0x430]
mov dword [0x1004a448], ecx
mov dword [0x1004c408], eax
cmp dword [0x1004bf64], 0
jne 0x10007f52
cmp dword [0x1004c1ec], 0
jne 0x10007f52
mov dword [0x1004bf64], ecx
mov dword [0x1004c1ec], eax
push 0x344
lea eax, [esp + 0x40]
mov dword [esp + 0x34], 0
push 0
push eax
call fcn.100180d0
add esp, 0xc
lea eax, [esp + 0x38]
push 1
push eax
push 0
push 0
mov dword [esp + 0x48], 0x348
call dword [sym.imp.USER32.dll_EnumDisplayDevicesW]
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x10008176
push dword [esp + 0x17c]
push str.GPU_StateFlags______p_r_n_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x188]
add esp, 0xc
test al, 4
je 0x10007fbe
test al, 1
jne 0x10008065
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x90]
push eax
push 0x80
push 0xfde9
call esi
mov edi, eax
test edi, edi
je 0x10008176
push edi
call fcn.10015f8e
add esp, 4
mov esi, eax
push edi
push 0
push esi
call fcn.100180d0
add esp, 0xc
lea eax, [esp + 0x7c]
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push eax
push 0x80
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push esi
test eax, eax
je 0x10008168
push str.Secondary_GPU______s_r_n_r_n
push 0
call fcn.10002a10
add esp, 0xc
push esi
call fcn.10015e31
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x40]
add esp, 4
inc esi
mov dword [esp + 0x30], esi
push 0x344
push 0
push eax
call fcn.100180d0
add esp, 0xc
lea eax, [esp + 0x38]
push 1
push eax
push esi
jmp 0x10007f77
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x90]
push eax
push 0x80
push 0xfde9
call esi
mov dword [esp + 0x30], eax
test eax, eax
je 0x10008176
push eax
call fcn.10015f8e
add esp, 4
mov edi, eax
push dword [esp + 0x30]
push 0
push edi
call fcn.100180d0
add esp, 0xc
lea eax, [esp + 0x7c]
push 0
push 0
push dword [esp + 0x38]
push edi
push 0xffffffffffffffff
push eax
push 0x80
push 0xfde9
call esi
push edi
test eax, eax
jne 0x100080d4
call fcn.10015e31
jmp 0x10008173
push str.Primary_GPU______s_r_n_r_n
push 0
call fcn.10002a10
lea ecx, [esp + 0x88]
add esp, 0xc
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100080f0
sub ecx, edx
sar ecx, 1
lea eax, [ecx + 2]
mov ecx, 2
mul ecx
mov esi, eax
mov eax, 0xffffffff
cmovb esi, eax
push esi
call fcn.10015f8e
add esp, 4
mov dword [esp + 0x470], eax
push esi
push 0
push eax
call fcn.100180d0
mov edx, dword [esp + 0x47c]
lea ecx, [esp + 0x88]
add esp, 0xc
mov dword [0x1004a6c0], edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10008146
sub ecx, esi
lea eax, [esp + 0x7c]
sar ecx, 1
push eax
lea eax, [ecx + 2]
push eax
push edx
call fcn.1001d78a
add esp, 0xc
push edi
call fcn.10015e31
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add esp, 4
cmp dword [0x1004a6c0], 0
jne 0x100081b6
push 0x1e
call fcn.10015f8e
add esp, 4
mov dword [0x1004a6c0], eax
xorps xmm0, xmm0
movups xmmword [eax], xmm0
push str.Unknown_GPU
movq qword [eax + 0x10], xmm0
push 0xf
mov dword [eax + 0x18], 0
push eax
mov word [eax + 0x1c], 0
call fcn.1001d78a
add esp, 0xc
push 0x190
lea eax, [esp + 0x4d4]
push 0
push eax
call fcn.100180d0
add esp, 8
lea eax, [esp + 0x4d4]
mov edx, str.ProcessorNameString
mov ecx, str.HARDWAREDESCRIPTIONSystemCentralProcessor0
push eax
call fcn.10002e00
add esp, 8
test eax, eax
jne 0x10008283
push eax
push eax
push eax
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x4e4]
push eax
push 0x80
push 0xfde9
call esi
mov dword [esp + 0x30], eax
test eax, eax
je 0x10008283
push eax
call fcn.10015f8e
add esp, 4
mov edi, eax
push dword [esp + 0x30]
push 0
push edi
call fcn.100180d0
add esp, 0xc
lea eax, [esp + 0x4d0]
push 0
push 0
push dword [esp + 0x38]
push edi
push 0xffffffffffffffff
push eax
push 0x80
push 0xfde9
call esi
test eax, eax
je 0x10008269
push edi
push str.CPU______s_r_n_r_n
push 0
call fcn.10002a10
add esp, 0xc
push edi
call fcn.10015e31
add esp, 4
jmp 0x10008292
push str.Unknown_CPU_r_n_r_n
push 0
call fcn.10002a10
add esp, 8
push edi
call fcn.10015e31
add esp, 4
jmp 0x10008292
push str.Unknown_CPU_r_n_r_n
push 0
call fcn.10002a10
add esp, 8
push dword [0x1004c408]
push dword [0x1004a448]
push str.Resolution______d_x__d_r_n
push 0
call fcn.10002a10
push dword [0x1004c1ec]
push dword [0x1004bf64]
push str.Render_Resolution______d_x__d_r_n_r_n
push 0
call fcn.10002a10
xor eax, eax
mov byte [esp + 0x4f], 0
add esp, 0x20
mov dword [esp + 0x4b0], eax
mov word [esp + 0x4b4], ax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x34]
push eax
push 6
lea eax, [esp + 0x4b8]
push eax
push 0x426121
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp eax, 1
jne 0x1000835f
cmp dword [esp + 0x34], 6
jne 0x1000835f
cmp byte [esp + 0x4b0], 0x89
jne 0x10008358
cmp byte [esp + 0x4b1], 0x15
jne 0x10008358
cmp byte [esp + 0x4b2], 0
jne 0x10008358
cmp byte [esp + 0x4b3], 0x13
jne 0x10008358
cmp byte [esp + 0x4b4], 0x6b
jne 0x10008358
cmp byte [esp + 0x4b5], 0
jne 0x10008358
mov byte [esp + 0x2f], al
mov dword [0x1004b704], 0
jmp 0x1000835f
mov byte [0x1004abdd], 1
push 0x190
lea eax, [esp + 0x664]
push 0
push eax
call fcn.100180d0
add esp, 0xc
mov byte [esp + 0x18], 0
cmp byte [0x1004abdd], 0
lea eax, [esp + 0x470]
mov dword [esp + 0x30], 1
mov dword [esp + 0x470], 0x190
push eax
lea eax, [esp + 0x664]
push eax
lea eax, [esp + 0x38]
push eax
push 2
push str.movie
jne 0x100083ba
push str.SOFTWAREKonamiSILENT_HILL_3
jmp 0x100083bf
push str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x10008402
lea ecx, [esp + 0x660]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100083e0
mov eax, dword [esp + 0x18]
sub ecx, edx
sar ecx, 1
movzx eax, al
mov ecx, 1
cmove eax, ecx
mov dword [esp + 0x18], eax
cmp byte [0x1004abdd], 0
mov edx, str.data
push 0x80000002
push 0x1004c1f8
jne 0x1000846a
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002e50
push 0x80000002
push 0x1004c1f8
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002e50
add esp, 0x10
cmp byte [esp + 0x18], 0
jne 0x10008463
push 0x80000002
push 0x1004c1f8
mov edx, str.movie
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002e50
add esp, 8
mov esi, str.SOFTWAREKonamiSILENT_HILL_3
jmp 0x100084b8
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002e50
push 0x80000002
push 0x1004c1f8
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002e50
add esp, 0x10
cmp byte [esp + 0x18], 0
jne 0x100084b3
push 0x80000002
push 0x1004c1f8
mov edx, str.movie
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002e50
add esp, 8
mov esi, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000002
push 0x1004a6d8
mov edx, str.save
mov ecx, esi
call fcn.10002e50
push 0x80000002
push 0x1004c1f8
mov edx, str.sound
mov ecx, esi
call fcn.10002e50
add esp, 0x10
cmp dword [0x1004abd0], 1
jne 0x100085f5
cmp byte [0x1004abdd], 0
mov edx, str.data
push 0x80000001
push 0x1004c1f8
jne 0x10008576
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002e50
push 0x80000001
push 0x1004c1f8
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002e50
cmp byte [esp + 0x28], 0
mov ecx, 0x1004c1f8
mov eax, 0x10038404
mov edx, str.movie
cmove eax, ecx
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
push 0x80000001
push eax
call fcn.10002e50
push 0x80000001
push 0x1004a6d8
mov edx, str.save
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002e50
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
jmp 0x100085de
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002e50
push 0x80000001
push 0x1004c1f8
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002e50
cmp byte [esp + 0x28], 0
mov ecx, 0x1004c1f8
mov eax, 0x10038404
mov edx, str.movie
cmove eax, ecx
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000001
push eax
call fcn.10002e50
push 0x80000001
push 0x1004a6d8
mov edx, str.save
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002e50
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000001
push 0x1004c1f8
mov edx, str.sound
call fcn.10002e50
add esp, 0x28
mov eax, dword [0x1004a448]
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fa60]
mov eax, dword [0x1004c408]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movss dword [0x1004b270], xmm1
addsd xmm0, qword [eax*8 + 0x1003fa60]
mov eax, dword [0x1004bf64]
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x1003fa60]
mov eax, dword [0x1004c1ec]
movss dword [esp + 0x30], xmm2
movss dword [0x1004b01c], xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x488], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fa60]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x480], xmm0
movss xmm0, dword [0x1003f9e0]
divss xmm0, xmm1
movss dword [0x1004a94c], xmm0
movss dword [0x1004b72c], xmm0
mulss xmm0, dword [0x1003f9d8]
movss dword [0x1004abc0], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push str.Aspect_Ratio______f_r_n
push 0
call fcn.10002a10
movss xmm0, dword [0x1004b280]
add esp, 0x10
ucomiss xmm0, dword [0x1003f9cc]
movss dword [esp + 0x18], xmm0
lahf
test ah, 0x44
jp 0x1000873a
movss xmm0, dword [0x1004b01c]
comiss xmm0, dword [0x1003fa30]
jb 0x10008711
movss xmm0, dword [0x1003f9f4]
jmp 0x10008734
comiss xmm0, dword [0x1003fa04]
jb 0x10008724
movss xmm0, dword [0x1003f9f0]
jmp 0x10008734
movss xmm0, dword [0x1003f9dc]
divss xmm0, dword [0x1004b72c]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [0x1004abc0]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Horizontal_FOV______f_r_n
push 0
call fcn.10002a10
movss xmm0, dword [esp + 0x28]
add esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Cutscene_Vertical_FOV______f_r_n_r_n
push 0
call fcn.10002a10
mov ecx, dword [0x1004bf64]
add esp, 0x10
movss xmm2, dword [0x1004b270]
mov eax, ecx
shr eax, 0x1f
movaps xmm1, xmm2
cmp dword [0x1004a450], 0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x1003fa60]
cvtpd2ps xmm3, xmm0
movss xmm0, dword [esp + 0x28]
jne 0x100087bd
mulss xmm0, dword [0x1003f9e0]
jmp 0x100087c5
mulss xmm0, dword [0x1003fa00]
subss xmm1, xmm0
mov eax, dword [0x1004c1ec]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
push 0x208
push 0
mulss xmm1, dword [0x1003f9d4]
addsd xmm0, qword [ecx*8 + 0x1003fa60]
divss xmm2, xmm1
cvtpd2ps xmm0, xmm0
divss xmm3, xmm2
subss xmm0, xmm3
movss dword [0x1004a210], xmm3
movss dword [0x1004c1c8], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fa60]
lea eax, [esp + 0xa00]
push eax
cvtpd2ps xmm0, xmm0
movss dword [0x1004a8f8], xmm0
call fcn.100180d0
add esp, 0xc
lea eax, [esp + 0x9f8]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1000cfc6
cmp eax, 0xff
ja 0x1000cfc6
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x10008885
push 0x10
push str.Silent_Hill_3_PC_Fix
push str.Unable_to_get_exe_path___2___ERROR_INSUFFICIENT_BUFFER_
jmp 0x1000cfd2
lea eax, [esp + 0x9f8]
push eax
push 0x104
push 0x1004bf80
call fcn.1001d78a
add esp, 0xc
push 0x1004bf80
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.kernel32.dll
call edi
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push str.User32.dll
mov dword [esp + 0x1c], eax
call esi
push str.Advapi32.dll
mov dword [esp + 0x34], eax
call esi
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x9f8]
push eax
call edi
push str.RtlImageNtHeader
push dword [esp + 0x24]
mov edi, eax
mov dword [esp + 0x470], edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov dword [0x1004a464], eax
call eax
cmp byte [0x1004abdd], 1
mov esi, eax
mov dword [esp + 0x14], esi
jne 0x10008dfa
cmp byte [esp + 0x460], 1
jne 0x10008dfa
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxx
push 0x1003afe0
call fcn.10002d30
mov esi, eax
push esi
push str.Patching_trial_version_pause_menu_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x14
mov dword [esp + 0x4b8], 0xaf210d80
lea edx, [esp + 0x4b8]
mov word [esp + 0x4bc], 0xbc
mov ecx, esi
mov byte [esp + 0x4be], 0xf
push 7
call fcn.10002d80
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, edi
mov edx, dword [edx + 0x50]
push str.x____x____xxx____xx
push 0x1003b030
call fcn.10002d30
mov esi, eax
push esi
push str.Patching_trial_restart_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x14
mov dword [esp + 0x460], 0x90909090
lea edx, [esp + 0x460]
mov byte [esp + 0x464], 0x90
mov ecx, esi
push 5
call fcn.10002d80
mov eax, dword [esp + 0x18]
add esp, 4
mov ecx, edi
mov edx, dword [eax + 0x50]
push str.xxxxxx______x
push 0x1003b078
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x470], esi
test esi, esi
je 0x10008a4b
push esi
push str._r_nHooking_SH3LoadFile_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004b6f4], esi
mov edx, 0x10007a20
mov ecx, esi
push 0x1004b6f4
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SH3LoadFile_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x10008a5a
push str.Failed_to_find_SH3LoadFile_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
push 0x60aff0
push str._r_nHooking_SetActionLevel_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004a944], 0x60aff0
mov edx, 0x10007a50
mov ecx, 0x60aff0
push 0x1004a944
call fcn.10001d70
mov edx, 1
mov ecx, 0x60aff0
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SetActionLevel_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x60b060
push str._r_nHooking_SetRiddleLevel_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004a900], 0x60b060
mov edx, 0x10007a70
mov ecx, 0x60b060
push 0x1004a900
call fcn.10001d70
mov edx, 1
mov ecx, 0x60b060
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SetRiddleLevel_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x60b000
push str._r_nHooking_GetActionLevel_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004ab64], 0x60b000
mov edx, 0x10007a90
mov ecx, 0x60b000
push 0x1004ab64
call fcn.10001d70
mov edx, 1
mov ecx, 0x60b000
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.GetActionLevel_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x60b070
push str._r_nHooking_GetRiddleLevel_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004a470], 0x60b070
mov edx, 0x10007aa0
mov ecx, 0x60b070
push 0x1004a470
call fcn.10001d70
mov esi, eax
mov edx, 1
mov ecx, 0x60b070
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.GetRiddleLevel_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x5d59dd
push str.Patching_trial_main_menu__1__at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [esp + 0x470], 0x182444c7
cmp dword [0x1004b018], 0
lea edx, [esp + 0x470]
mov ecx, 0x5d59dd
mov dword [esp + 0x474], 3
push 8
je 0x10008c22
mov dword [esp + 0x478], 4
call fcn.10002d80
add esp, 4
push 0x5d59fc
push str.Patching_trial_main_menu__2__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x4c8], 0x18ac44c7
lea edx, [esp + 0x4c8]
mov dword [esp + 0x4cc], 5
mov ecx, 0x5d59fc
push 8
call fcn.10002d80
add esp, 4
push 0x5d5a0c
push str.Patching_trial_main_menu__3__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov word [esp + 0x24], 0x9090
lea edx, [esp + 0x24]
mov ecx, 0x5d5a0c
push 2
call fcn.10002d80
add esp, 4
push 0x5d5a0e
push str.Patching_trial_main_menu__4__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x490], 0x18ac44c7
lea edx, [esp + 0x490]
mov dword [esp + 0x494], 6
mov ecx, 0x5d5a0e
push 8
call fcn.10002d80
add esp, 4
push 0x60bfc3
push str.Patching_trial_main_menu__5__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x488], 0x90909090
lea edx, [esp + 0x488]
mov word [esp + 0x48c], 0x9090
mov ecx, 0x60bfc3
push 6
call fcn.10002d80
add esp, 4
push 0x60bef3
push str.Patching_trial_main_menu__6__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x4c0], 0x410f05c6
lea edx, [esp + 0x4c0]
mov word [esp + 0x4c4], 0x6de
mov ecx, 0x60bef3
mov byte [esp + 0x4c6], 0
push 7
call fcn.10002d80
add esp, 4
cmp dword [0x1004b704], 1
jne 0x10008dae
push 0x5d4ee2
push str.Patching_trial_main_menu__7__at______p_r_n
push 0
mov dword [0x1004b714], 1
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x470], 0x71cff4bb
lea edx, [esp + 0x470]
mov byte [esp + 0x474], 0
mov ecx, 0x5d4ee2
push 5
call fcn.10002d80
add esp, 4
cmp dword [0x1004b6fc], 1
jne 0x10008df6
push 0x5e1831
push str.Patching_trial_main_menu__8__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x470], 0x12be9
lea edx, [esp + 0x470]
mov word [esp + 0x474], 0
mov ecx, 0x5e1831
push 6
call fcn.10002d80
add esp, 4
mov esi, dword [esp + 0x14]
cmp byte [esp + 0x2f], 1
jne 0x10008f81
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x____x_____x_____xx
push 0x1003b410
call fcn.10002d30
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x_____x_____x_____xxxx
push 0x1003b44c
mov dword [esp + 0x470], eax
call fcn.10002d30
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x_____x_____x_____xx
push 0x1003b488
mov dword [esp + 0x3c], eax
call fcn.10002d30
mov edx, dword [esp + 0x478]
add esp, 0x18
mov ecx, eax
mov dword [esp + 0x470], ecx
test edx, edx
je 0x10008f81
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10008f81
test ecx, ecx
je 0x10008f81
push ecx
push eax
push edx
push str.Patching_sliding_transitions_and_pixelation_at______p______p______p_r_n
push 0
call fcn.10002a10
movaps xmm0, xmmword [0x1003fa70]
lea edx, [esp + 0x4a4]
mov ecx, dword [esp + 0x474]
add esp, 0x14
movq qword [esp + 0x4a0], xmm0
movaps xmmword [esp + 0x490], xmm0
mov word [esp + 0x4a5], 0xd8dd
push 0x17
call fcn.10002d80
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x494]
add esp, 4
mov dword [esp + 0x4a4], 0xd8ddd8dd
push 0x18
call fcn.10002d80
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x494]
add esp, 4
push 0x18
call fcn.10002d80
movss xmm1, dword [0x1003f9d4]
add esp, 4
movss xmm0, dword [esp + 0x480]
subss xmm0, xmm1
movss dword [0x6b1300], xmm0
movss dword [0x6b12d0], xmm0
movss dword [0x6b0bc0], xmm0
movss dword [0x6b0b60], xmm0
movss dword [0x6b0be0], xmm0
movss dword [0x6b0b90], xmm0
movss xmm0, dword [esp + 0x478]
subss xmm0, xmm1
movss dword [0x6b131c], xmm0
movss dword [0x6b1304], xmm0
movss dword [0x6b0be4], xmm0
movss dword [0x6b0b94], xmm0
movss dword [0x6b0bf4], xmm0
movss dword [0x6b0bac], xmm0
cmp dword [0x1004b034], 1
mov eax, dword [0x1004b6cc]
mov ecx, dword [0x1004b044]
je 0x10008fb5
cmp dword [0x1004b278], 1
je 0x10008fb5
cmp dword [0x1004a93c], 1
je 0x10008fc2
cmp eax, 1
je 0x10008fb5
cmp ecx, 1
jne 0x10009326
cmp dword [0x1004a93c], 1
jne 0x1000905d
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x10008fde
mov dword [esp + 0x460], 0xb
jmp 0x10009013
push 0x1003b4f0
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x10008ffb
mov dword [esp + 0x460], 0xc
jmp 0x10009013
push 0x1004a950
mov edx, 0x10003840
mov ecx, eax
call fcn.10001d70
mov dword [esp + 0x460], eax
push 0x1003b4f0
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
mov ecx, dword [esp + 0x460]
push eax
call fcn.10002410
push eax
push str.ReadFile_Hook______s______s_r_n
push 0
call fcn.10002a10
mov eax, dword [0x1004b6cc]
add esp, 0x10
mov ecx, dword [0x1004b044]
cmp dword [0x1004b034], 1
je 0x1000907d
cmp dword [0x1004a93c], 1
je 0x1000907d
cmp eax, 1
je 0x1000907d
cmp ecx, 1
jne 0x1000910b
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
push 0x1003b554
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x478], esi
test esi, esi
je 0x100090fc
push esi
push str.Hooking_debug_messages_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004adf8], esi
mov edx, 0x10005a40
mov ecx, esi
push 0x1004adf8
call fcn.10001d70
mov ecx, dword [esp + 0x478]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Debug_messages_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000910b
push str.Failed_to_find_debug_message_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004c1b4], 0
je 0x10009267
cmp dword [0x1004b034], 1
mov esi, dword [esp + 0x14]
jne 0x100091bf
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx____
push 0x1003b62c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x100091b0
push eax
push str.Hooking_ADX_debug_messages_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10005e70
mov dword [0x1004a468], eax
mov ecx, eax
push 0x1004a468
call fcn.10001d70
mov ecx, dword [esp + 0x460]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.ADX_Debug_messages_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x100091bf
push str.Failed_to_find_ADX_debug_message_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004c1b4], 0
je 0x10009267
cmp dword [0x1004b278], 1
jne 0x10009267
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx_____xxxx
push 0x1003b6e8
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x478], esi
test esi, esi
je 0x10009258
push esi
push str.Hooking_map_debug_messages_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004a920], esi
mov edx, 0x10005de0
mov ecx, esi
push 0x1004a920
call fcn.10001d70
mov ecx, dword [esp + 0x478]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Map_Debug_messages_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x10009267
push str.Failed_to_find_map_debug_message_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp byte [0x1004abdd], 0
mov esi, dword [esp + 0x14]
jne 0x1000932a
cmp dword [0x1004a93c], 1
jne 0x1000932a
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xxx______xxxxxxx_____
push 0x1003b7ac
mov ecx, edi
mov dword [esp + 0x468], eax
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x10009315
mov ecx, dword [esp + 0x460]
push eax
inc ecx
push ecx
push str.Patching_Audio___d__at______p_r_n
push 0
mov dword [esp + 0x470], ecx
call fcn.10002a10
mov ecx, dword [esp + 0x480]
lea edx, [esp + 0x34]
push 2
mov word [esp + 0x38], 0xdeb
call fcn.10002d80
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxx______xxxxxxx_____
push 0x1003b7ac
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
jne 0x100092b0
cmp dword [esp + 0x460], 2
je 0x1000932a
push str.Failed_to_find_Audio_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
jmp 0x1000932a
mov esi, dword [esp + 0x14]
cmp dword [0x1004b030], 1
jne 0x10009472
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx
push 0x1003b814
call fcn.10002d30
add esp, 8
mov dword [esp + 0x478], eax
test eax, eax
je 0x10009396
push eax
push str.Patching_safe_mode__1__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x484]
lea edx, [esp + 0x48c]
add esp, 0xc
mov dword [esp + 0x480], 0xb8
mov byte [esp + 0x484], 0
push 5
call fcn.10002d80
add esp, 4
jmp 0x100093a5
push str.Failed_to_find_safe_mode__1__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxx_xx____xxxxx
push 0x1003b888
call fcn.10002d30
add esp, 8
mov dword [esp + 0x478], eax
test eax, eax
je 0x10009404
push eax
push str.Patching_safe_mode__2__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x484]
lea edx, [esp + 0x48c]
add esp, 0xc
mov dword [esp + 0x480], 0x90909090
mov byte [esp + 0x484], 0x90
push 5
call fcn.10002d80
add esp, 4
jmp 0x10009413
push str.Failed_to_find_safe_mode__2__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_xx____xxxxx
push 0x1003b900
call fcn.10002d30
add esp, 8
mov dword [esp + 0x478], eax
test eax, eax
je 0x10009463
push eax
push str.Patching_safe_mode__3__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x484]
lea edx, [esp + 0x30]
add esp, 0xc
mov word [esp + 0x24], 0x9eb
push 2
call fcn.10002d80
add esp, 4
jmp 0x10009472
push str.Failed_to_find_safe_mode__3__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov eax, dword [0x1004abd8]
test eax, eax
je 0x10009551
cmp eax, 0x1000
jbe 0x10009490
mov dword [0x1004abd8], 0x1000
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xxxxxxxxxx
push 0x1003b96c
mov ecx, edi
mov dword [esp + 0x468], eax
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x10009542
nop
mov ecx, dword [esp + 0x460]
push eax
inc ecx
push ecx
push str.Patching_DOF___d__at______p_r_n
push 0
mov dword [esp + 0x470], ecx
call fcn.10002a10
mov eax, dword [0x1004abd8]
lea edx, [esp + 0x4a0]
mov ecx, dword [esp + 0x480]
push 0x10
mov dword [esp + 0x4a4], eax
mov dword [esp + 0x4a8], eax
mov dword [esp + 0x4ac], eax
mov dword [esp + 0x4b0], eax
call fcn.10002d80
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxxxxxxxxx
push 0x1003b96c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
jne 0x100094c0
cmp dword [esp + 0x460], 2
je 0x10009551
push str.Failed_to_find_DOF_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a8f4], 0
je 0x100099d2
mov dword [esp + 0x24], 0
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx______xxxx____xxxx
push 0x1003b9d0
call fcn.10002d30
add esp, 8
test eax, eax
je 0x100095ed
mov ecx, dword [esp + 0x24]
add eax, 6
push eax
inc ecx
mov dword [esp + 0x484], eax
push ecx
push str.Patching_Shadows__1._d__at______p_r_n
push 0
mov dword [esp + 0x34], ecx
call fcn.10002a10
mov eax, dword [0x1004a8f4]
lea edx, [esp + 0x488]
mov ecx, dword [esp + 0x490]
push 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fa60]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x48c], xmm0
call fcn.10002d80
add esp, 0x14
cmp dword [esp + 0x24], 0xe
jl 0x10009566
jmp 0x10009603
cmp dword [esp + 0x24], 0xf
je 0x10009603
push str.Failed_to_find_shadows__1__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xx______xxx_x
push 0x1003ba44
mov ecx, edi
mov dword [esp + 0x468], eax
call fcn.10002d30
add esp, 8
test eax, eax
je 0x100096ba
nop dword [eax + eax]
mov ecx, dword [esp + 0x460]
add eax, 6
push eax
inc ecx
mov dword [esp + 0x484], eax
push ecx
push str.Patching_Shadows__2._d__at______p_r_n
push 0
mov dword [esp + 0x470], ecx
call fcn.10002a10
mov eax, dword [0x1004a8f4]
lea edx, [esp + 0x488]
mov ecx, dword [esp + 0x490]
push 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fa60]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x48c], xmm0
call fcn.10002d80
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xx______xxx_x
push 0x1003ba44
call fcn.10002d30
add esp, 8
test eax, eax
jne 0x10009630
cmp dword [esp + 0x460], 2
je 0x100096c9
push str.Failed_to_find_shadows__2__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
xor eax, eax
push str.x___xxxx
push 0x1003baac
mov ecx, edi
mov dword [esp + 0x468], eax
call fcn.10002d30
add esp, 8
test eax, eax
je 0x1000977b
mov ecx, dword [esp + 0x460]
add eax, 4
push eax
inc ecx
mov dword [esp + 0x484], eax
push ecx
push str.Patching_Shadows__3._d__at______p_r_n
push 0
mov dword [esp + 0x470], ecx
call fcn.10002a10
mov eax, dword [0x1004a8f4]
lea edx, [esp + 0x488]
mov ecx, dword [esp + 0x490]
push 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fa60]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x48c], xmm0
call fcn.10002d80
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.x___xxxx
push 0x1003baac
call fcn.10002d30
add esp, 8
test eax, eax
jne 0x100096f1
cmp dword [esp + 0x460], 4
je 0x1000978a
push str.Failed_to_find_shadows__3__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__xxx_
push 0x1003bb18
call fcn.10002d30
add esp, 8
test eax, eax
je 0x1000980d
inc eax
push eax
push str.Patching_Shadows__4.1__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002a10
mov eax, dword [0x1004a8f4]
lea edx, [esp + 0x47c]
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x470], eax
push 4
call fcn.10002d80
mov eax, dword [esp + 0x28]
add esp, 4
add eax, 5
mov dword [esp + 0x24], eax
push eax
push str.Patching_Shadows__4.2__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x47c]
add esp, 0xc
push 4
call fcn.10002d80
add esp, 4
jmp 0x1000981c
push str.Failed_to_find_shadows__4__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__x
push 0x1003bbac
call fcn.10002d30
add esp, 8
test eax, eax
je 0x1000989f
inc eax
push eax
push str.Patching_Shadows__5.1__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002a10
mov eax, dword [0x1004a8f4]
lea edx, [esp + 0x47c]
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x470], eax
push 4
call fcn.10002d80
mov eax, dword [esp + 0x28]
add esp, 4
add eax, 5
mov dword [esp + 0x24], eax
push eax
push str.Patching_Shadows__5.2__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x47c]
add esp, 0xc
push 4
call fcn.10002d80
add esp, 4
jmp 0x100098ae
push str.Failed_to_find_shadows__5__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__xx
push 0x1003bc40
call fcn.10002d30
add esp, 8
test eax, eax
je 0x10009931
inc eax
push eax
push str.Patching_Shadows__6.1__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002a10
mov eax, dword [0x1004a8f4]
lea edx, [esp + 0x47c]
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x470], eax
push 4
call fcn.10002d80
mov eax, dword [esp + 0x28]
add esp, 4
add eax, 5
mov dword [esp + 0x24], eax
push eax
push str.Patching_Shadows__6.2__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x47c]
add esp, 0xc
push 4
call fcn.10002d80
add esp, 4
jmp 0x10009940
push str.Failed_to_find_shadows__6__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx__xxx_xxx
push 0x1003bcdc
call fcn.10002d30
add esp, 8
test eax, eax
je 0x100099c3
inc eax
push eax
push str.Patching_Shadows__7.1__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002a10
mov eax, dword [0x1004a8f4]
lea edx, [esp + 0x47c]
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x470], eax
push 4
call fcn.10002d80
mov eax, dword [esp + 0x28]
add esp, 4
add eax, 5
mov dword [esp + 0x24], eax
push eax
push str.Patching_Shadows__7.2__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x47c]
add esp, 0xc
push 4
call fcn.10002d80
add esp, 4
jmp 0x100099d2
push str.Failed_to_find_shadows__7__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a6bc], 0
je 0x10009a99
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx
push 0x1003bd74
call fcn.10002d30
add esp, 8
test eax, eax
je 0x10009a8a
cmp dword [0x1004a6bc], 0x400
jbe 0x10009a14
mov dword [0x1004a6bc], 0x400
inc eax
push eax
push str.Patching_inventory_background__1__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002a10
mov eax, dword [0x1004a6bc]
lea edx, [esp + 0x484]
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x478], eax
push 4
call fcn.10002d80
mov eax, dword [0x1004a6bc]
add esp, 4
neg eax
mov dword [esp + 0x480], eax
mov eax, dword [esp + 0x24]
add eax, 5
push eax
push str.Patching_inventory_background__2__at______p_r_n
push 0
mov dword [esp + 0x30], eax
call fcn.10002a10
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x48c]
add esp, 0xc
push 4
call fcn.10002d80
add esp, 4
jmp 0x10009a99
push str.Failed_to_find_inventory_background_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov ecx, dword [0x1004a8e4]
test ecx, ecx
je 0x10009d6b
cmp ecx, 0x1000
jbe 0x10009aba
mov ecx, 0x1000
mov dword [0x1004a8e4], ecx
mov eax, dword [0x1004abd8]
test eax, eax
je 0x10009acc
cmp ecx, eax
je 0x10009acc
mov dword [0x1004a8e4], eax
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxxxxxxxxxxxxx
push 0x1003be30
call fcn.10002d30
add esp, 8
test eax, eax
je 0x10009b25
inc eax
push eax
push str.Patching_status_screen__1__at______p_r_n
push 0
mov dword [esp + 0x48c], eax
call fcn.10002a10
mov eax, dword [0x1004a8e4]
lea edx, [esp + 0x484]
mov ecx, dword [esp + 0x48c]
add esp, 0xc
mov dword [esp + 0x478], eax
push 4
call fcn.10002d80
add esp, 4
jmp 0x10009b34
push str.Failed_to_find_status_screen__1__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxxxxxxxxxxxx
push 0x1003beb8
call fcn.10002d30
add esp, 8
test eax, eax
je 0x10009b8d
inc eax
push eax
push str.Patching_status_screen__2__at______p_r_n
push 0
mov dword [esp + 0x48c], eax
call fcn.10002a10
mov eax, dword [0x1004a8e4]
lea edx, [esp + 0x484]
mov ecx, dword [esp + 0x48c]
add esp, 0xc
mov dword [esp + 0x478], eax
push 4
call fcn.10002d80
add esp, 4
jmp 0x10009b9c
push str.Failed_to_find_status_screen__2__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx
push 0x1003bf28
call fcn.10002d30
add esp, 8
mov dword [esp + 0x478], eax
test eax, eax
je 0x10009c92
mov ecx, dword [0x1004a8e4]
mov esi, eax
push esi
push str.Patching_status_screen__3__at______p_r_n
push 0
movd xmm0, ecx
mov edi, esi
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x1003fa60]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x484], xmm0
call fcn.10002a10
movss xmm0, dword [esp + 0x484]
lea edx, [esp + 0x30]
add esp, 0xc
movss dword [esp + 0x24], xmm0
mov ecx, esi
push 4
call fcn.10002d80
add esp, 4
add esi, 0x30
push esi
push str.Patching_status_screen__3.1__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
lea edx, [esp + 0x24]
mov ecx, esi
push 4
call fcn.10002d80
add esp, 4
lea esi, [edi + 0x34]
push esi
push str.Patching_status_screen__3.2__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
lea edx, [esp + 0x24]
mov ecx, esi
push 4
call fcn.10002d80
add esp, 4
lea esi, [edi + 0x4c]
push esi
push str.Patching_status_screen__3.3__at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
lea edx, [esp + 0x24]
mov ecx, esi
push 4
call fcn.10002d80
mov edi, dword [esp + 0x46c]
add esp, 4
mov esi, dword [esp + 0x14]
jmp 0x10009ca1
push str.Failed_to_find_status_screen__3__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004abd8], 0
jne 0x10009d6b
mov edx, dword [esi + 0x50]
xor eax, eax
push str.xxxxxxxxxx
push 0x1003b96c
mov ecx, edi
mov dword [esp + 0x468], eax
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x10009d5c
nop dword [eax]
inc dword [esp + 0x460]
push eax
push str.Patching_status_screen__4__at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [0x1004a8e4]
lea edx, [esp + 0x49c]
mov ecx, dword [esp + 0x47c]
add esp, 0xc
mov dword [esp + 0x490], eax
mov dword [esp + 0x494], eax
mov dword [esp + 0x498], eax
push 0x10
mov dword [esp + 0x4a0], eax
call fcn.10002d80
mov edx, dword [esi + 0x50]
add esp, 4
mov ecx, edi
push str.xxxxxxxxxx
push 0x1003b96c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
jne 0x10009ce0
cmp dword [esp + 0x460], 2
je 0x10009d6b
push str.Failed_to_find_status_screen__4__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a440], 1
jne 0x10009de4
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x_________xx
push 0x1003c080
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x10009dd5
push eax
push str.Patching_cutscene_borders_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x494]
add esp, 0xc
mov dword [esp + 0x488], 0x9090eed9
mov word [esp + 0x48c], 0x9090
push 6
call fcn.10002d80
add esp, 4
jmp 0x10009de4
push str.Failed_to_find_cutscene_borders_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004b028], 1
jne 0x10009f7f
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xxxxxxxxxxx
push 0x1003c100
call fcn.10002d30
add esp, 8
test eax, eax
je 0x10009ea9
add eax, 2
push eax
push str.Patching_black_bars__1__at______p_r_n
push 0
mov dword [esp + 0x47c], eax
mov dword [esp + 0x474], eax
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x10009eb8
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1003f410
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x10009eb8
push str.Failed_to_find_black_bars__1__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____x____x____xxxxxx
push 0x1003c17c
call fcn.10002d30
add esp, 8
test eax, eax
je 0x10009f70
add eax, 2
push eax
push str.Patching_black_bars__2__at______p_r_n
push 0
mov dword [esp + 0x47c], eax
mov dword [esp + 0x474], eax
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x10009f7f
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1003f410
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x10009f7f
push str.Failed_to_find_black_bars__2__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxx____xx
push 0x1003c1f0
call fcn.10002d30
add esp, 8
mov dword [0x1004c1bc], eax
cmp dword [0x1004ab94], 1
jne 0x10009fe2
test eax, eax
je 0x10009fd3
push eax
push str.Patching_FPS_fix_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [0x1004c1bc]
lea edx, [esp + 0x3b]
add esp, 0xc
mov byte [esp + 0x2f], 0x42
push 1
call fcn.10002d80
add esp, 4
jmp 0x10009fe2
push str.Failed_to_find_FPS_fix_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a908], 1
jne 0x1000a05b
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx
push 0x1003c240
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a04c
push eax
push str.Patching_option_menu_freeze_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x494]
add esp, 0xc
mov dword [esp + 0x488], 0x909090c3
mov word [esp + 0x48c], 0x9090
push 6
call fcn.10002d80
add esp, 4
jmp 0x1000a05b
push str.Failed_to_find_option_menu_freeze_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004c198], 1
jne 0x1000a0c3
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxx
push 0x1003c2ac
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a0b4
push eax
push str.Patching_pause_menu_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x30]
add esp, 0xc
mov word [esp + 0x24], 0x36eb
push 2
call fcn.10002d80
add esp, 4
jmp 0x1000a0c3
push str.Failed_to_find_pause_menu_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004bf6c], 1
jne 0x1000a3f9
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xx____xxx
push 0x1003c30c
call fcn.10002d30
add esp, 8
test eax, eax
je 0x1000a188
add eax, 2
push eax
push str.Patching_FMV1_at______p_r_n
push 0
mov dword [esp + 0x47c], eax
mov dword [esp + 0x474], eax
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a197
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1004a210
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000a197
push str.Failed_to_find_FMV1_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xxxxxxxxxx
push 0x1003c370
call fcn.10002d30
add esp, 8
test eax, eax
je 0x1000a24f
add eax, 2
push eax
push str.Patching_FMV2_at______p_r_n
push 0
mov dword [esp + 0x47c], eax
mov dword [esp + 0x474], eax
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a25e
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1004c1c8
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000a25e
push str.Failed_to_find_FMV2_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a450], 0
je 0x1000a3f9
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xxxxxx____x
push 0x1003c3d8
call fcn.10002d30
add esp, 8
test eax, eax
je 0x1000a323
add eax, 2
push eax
push str.Patching_FMV3_at______p_r_n
push 0
mov dword [esp + 0x47c], eax
mov dword [esp + 0x474], eax
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a332
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1003f410
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000a332
push str.Failed_to_find_FMV3_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx____xx____xxxx
push 0x1003c440
call fcn.10002d30
add esp, 8
test eax, eax
je 0x1000a3ea
add eax, 2
push eax
push str.Patching_FMV4_at______p_r_n
push 0
mov dword [esp + 0x47c], eax
mov dword [esp + 0x474], eax
call fcn.10002a10
add esp, 0xc
mov dword [esp + 0x460], 0
lea eax, [esp + 0x460]
push eax
push 4
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a3f9
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1004a8f8
lea eax, [esp + 0x460]
push eax
push dword [esp + 0x464]
push 4
push dword [esp + 0x47c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000a3f9
push str.Failed_to_find_FMV4_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____x____xxxx
push 0x1003c4a4
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a458
push eax
push str.Patching_option_menu_window_size_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x484]
add esp, 0xc
mov dword [esp + 0x478], 0x90909090
mov byte [esp + 0x47c], 0x90
push 5
call fcn.10002d80
add esp, 4
jmp 0x1000a467
push str.Failed_to_find_option_menu_window_size_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____xxx
push 0x1003c524
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a4b7
push eax
push str.Patching_option_menu_render_size_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x30]
add esp, 0xc
mov word [esp + 0x24], 0x1aeb
push 2
call fcn.10002d80
add esp, 4
jmp 0x1000a4c6
push str.Failed_to_find_option_menu_render_size_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____xxx____x_____xx
push 0x1003c5ac
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a516
push eax
push str.Patching_option_menu_screen_mode_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x30]
add esp, 0xc
mov word [esp + 0x24], 0x7eb
push 2
call fcn.10002d80
add esp, 4
jmp 0x1000a525
push str.Failed_to_find_option_menu_screen_mode_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____x____x____x____xx
push 0x1003c640
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a5a4
push eax
push str.Patching_option_menu_PC_settings_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x49c]
add esp, 0xc
mov dword [esp + 0x490], 0x90909090
mov dword [esp + 0x494], 0x90909090
mov dword [esp + 0x498], 0x90909090
mov word [esp + 0x49c], 0x9090
push 0xf
mov byte [esp + 0x4a2], 0x90
call fcn.10002d80
add esp, 4
jmp 0x1000a5b3
push str.Failed_to_find_option_menu_PC_settings_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a6ac], 1
jne 0x1000a6e7
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxx
push 0x1003c6c8
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a61f
push eax
push str.Patching_ADX_buffer_size__1__at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x484]
add esp, 0xc
mov dword [esp + 0x478], 0x57573068
mov byte [esp + 0x47c], 0
push 5
call fcn.10002d80
add esp, 4
jmp 0x1000a62e
push str.Failed_to_find_ADX_buffer_size__1__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx_xx
push 0x1003c73c
mov dword [esp + 0x468], 0
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000a6ca
nop dword [eax + eax]
mov ecx, dword [esp + 0x460]
push eax
inc ecx
push ecx
push str.Patching_ADX_buffer_size__2._d__at______p_r_n
push 0
mov dword [esp + 0x470], ecx
call fcn.10002a10
mov ecx, dword [esp + 0x480]
lea edx, [esp + 0x478]
push 5
mov dword [esp + 0x47c], 0xe63c868
mov byte [esp + 0x480], 0
call fcn.10002d80
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxxxx_xx
push 0x1003c73c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
jne 0x1000a660
mov eax, dword [esp + 0x460]
inc eax
cmp eax, 4
je 0x1000a6e7
push eax
push str.Failed_to_find_ADX_buffer_size__2._d__in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 0xc
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____x____xxxx____xx
push 0x1003c7c0
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a75c
push eax
push str.Patching_Sleep_Debug_Msg_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x49c]
add esp, 0xc
mov dword [esp + 0x490], 0x90909090
mov dword [esp + 0x494], 0x90909090
mov dword [esp + 0x498], 0x90909090
mov byte [esp + 0x49c], 0x90
push 0xd
call fcn.10002d80
add esp, 4
jmp 0x1000a76b
push str.Failed_to_find_Sleep_Debug_Msg_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxx
push 0x1003c82c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000a7bc
push eax
push str.Patching_Sleep_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x24], 0x90909090
push 4
call fcn.10002d80
add esp, 4
jmp 0x1000a7cb
push str.Failed_to_find_Sleep_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004bf78], 1
jne 0x1000a99a
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____xxxxx__xx____x
push 0x1003c88c
mov dword [esp + 0x468], 0
call fcn.10002d30
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
je 0x1000a8e8
nop word [eax + eax]
mov esi, dword [esp + 0x24]
inc dword [esp + 0x460]
push esi
push str._r_nHooking_FOV_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov ecx, esi
cmp dword [esp + 0x460], 1
jne 0x1000a873
push 0x1004a460
mov edx, 0x100055d0
mov dword [0x1004a460], esi
call fcn.10001d70
mov ecx, dword [esp + 0x24]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000a8ad
push 0x1004b6bc
mov edx, 0x10005700
mov dword [0x1004b6bc], esi
call fcn.10001d70
mov ecx, dword [esp + 0x24]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Vertical_FOV_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
mov ecx, edi
mov edx, dword [esi + 0x50]
push str.xxx____xxxxx__xx____x
push 0x1003c88c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
jne 0x1000a810
cmp dword [esp + 0x460], 2
je 0x1000a8f7
push str.Failed_to_find_FOV_functions_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a224], 1
jne 0x1000a99a
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx____xxxxxxxx_____xx
push 0x1003c96c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000a98b
push eax
push str._r_nHooking_scene_type_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10005790
mov dword [0x1004abd4], eax
mov ecx, eax
push 0x1004abd4
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Scene_type_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000a99a
push str.Failed_to_find_scene_type_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004bd38], 1
jne 0x1000b358
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x____x_____x_____
push 0x1003ca28
call fcn.10002d30
push eax
push str._r_nGetting_cursor_at______p_r_n
push 0
mov dword [0x1004aba8], eax
call fcn.10002a10
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxxxxxxxx
push 0x1003ca60
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000aa57
push eax
push str._r_nHooking_show_item_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10005710
mov dword [0x1004b284], eax
mov ecx, eax
push 0x1004b284
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Show_item_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000aa66
push str.Failed_to_find_show_item_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxx
push 0x1003caf0
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x1000aae5
push esi
push str._r_nHooking_save_and_load_menu_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004a218], esi
mov edx, 0x10006f50
mov ecx, esi
push 0x1004a218
call fcn.10001d70
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Save_and_load_menu_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000aaf4
push str.Failed_to_find_save_and_load_menu_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
xor eax, eax
cmp byte [0x1004abdd], al
mov dword [esp + 0x478], eax
mov word [esp + 0x47c], ax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
push 6
lea eax, [esp + 0x480]
push eax
jne 0x1000aee3
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 0x1000b2ac
cmp dword [esp + 0x24], 6
jne 0x1000b2ac
cmp byte [esp + 0x478], 0x51
jne 0x1000b2ac
cmp byte [esp + 0x479], 0xe8
jne 0x1000b2ac
cmp byte [esp + 0x47a], 0xfa
jne 0x1000b2ac
cmp byte [esp + 0x47b], 0xff
jne 0x1000b2ac
cmp byte [esp + 0x47c], 0xd7
jne 0x1000b2ac
cmp byte [esp + 0x47d], 0xff
jne 0x1000b2ac
push 0x682ba0
push str._r_nHooking_2D_width_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004bd44], 0x682ba0
mov edx, 0x10006c10
mov ecx, 0x682ba0
push 0x1004bd44
call fcn.10001d70
mov edx, 1
mov ecx, 0x682ba0
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.2D_width_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x4168e0
push str._r_nHooking_screen_width_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004a47c], 0x4168e0
mov edx, 0x10006e70
mov ecx, 0x4168e0
push 0x1004a47c
call fcn.10001d70
mov edx, 1
mov ecx, 0x4168e0
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Screen_width_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x600b60
push str._r_nHooking_hitbox_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004b26c], 0x600b60
mov edx, 0x10006ed0
mov ecx, 0x600b60
push 0x1004b26c
call fcn.10001d70
mov edx, 1
mov ecx, 0x600b60
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Hitbox_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov eax, dword [0x1004bf64]
add esp, 0x10
movss xmm3, dword [esp + 0x28]
mulss xmm3, dword [0x1003f9e0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fa60]
cvtpd2ps xmm2, xmm0
movss xmm0, dword [0x1004b270]
movaps xmm1, xmm0
subss xmm1, xmm3
cmp dword [0x1004c19c], 1
mulss xmm1, dword [0x1003f9d4]
mov dword [esp + 0x480], 0xa8f005d9
divss xmm0, xmm2
mov word [esp + 0x484], 0x68
divss xmm1, xmm0
subss xmm2, xmm1
movss dword [esp + 0x460], xmm1
movss dword [0x1004ab60], xmm2
jne 0x1000ae11
push 0x5d7414
push 0x5d74ac
push 0x5d7446
push str._r_nPatching_logos_at______p______p______p_r_n
push 0
call fcn.10002a10
add esp, 0x14
lea edx, [esp + 0x460]
mov ecx, 0x5d744a
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x5d74b0
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x480]
mov ecx, 0x5d7414
push 6
call fcn.10002d80
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [esp + 0x2c]
add esp, 4
mov dword [esp + 0x28], 0
mov dword [esp + 0x468], 0x5d7416
push eax
push 4
push 4
push 0x5d7416
call esi
cmp eax, 1
jne 0x1000ae17
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1004ab60
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x2c]
push 4
push 0x5d7416
call esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000ae17
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp dword [0x1004a924], 1
jne 0x1000b2ac
push 0x59be13
push 0x59beab
push 0x59be45
push str._r_nPatching_credits_at______p______p______p_r_n
push 0
call fcn.10002a10
add esp, 0x14
lea edx, [esp + 0x460]
mov ecx, 0x59be49
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x59beaf
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x480]
mov ecx, 0x59be13
push 6
call fcn.10002d80
add esp, 4
mov dword [esp + 0x28], 0
lea eax, [esp + 0x28]
mov dword [esp + 0x468], 0x59be15
push eax
push 4
push 4
push 0x59be15
call esi
cmp eax, 1
jne 0x1000b2ac
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1004ab60
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x2c]
push 4
push 0x59be15
jmp 0x1000b299
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 0x1000b2ac
cmp dword [esp + 0x24], 6
jne 0x1000b2ac
cmp byte [esp + 0x478], 0x51
jne 0x1000b2ac
cmp byte [esp + 0x479], 0xe8
jne 0x1000b2ac
cmp byte [esp + 0x47a], 0xba
jne 0x1000b2ac
cmp byte [esp + 0x47b], 0x12
jne 0x1000b2ac
cmp byte [esp + 0x47c], 0xd8
jne 0x1000b2ac
cmp byte [esp + 0x47d], 0xff
jne 0x1000b2ac
push 0x6818e0
push str._r_nHooking_2D_width_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004bd44], 0x6818e0
mov edx, 0x10006c10
mov ecx, 0x6818e0
push 0x1004bd44
call fcn.10001d70
mov edx, 1
mov ecx, 0x6818e0
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.2D_width_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x4168e0
push str._r_nHooking_screen_width_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004a47c], 0x4168e0
mov edx, 0x10006e70
mov ecx, 0x4168e0
push 0x1004a47c
call fcn.10001d70
mov edx, 1
mov ecx, 0x4168e0
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Screen_width_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x5ff7f0
push str._r_nHooking_hitbox_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004b26c], 0x5ff7f0
mov edx, 0x10006ed0
mov ecx, 0x5ff7f0
push 0x1004b26c
call fcn.10001d70
mov edx, 1
mov ecx, 0x5ff7f0
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Hitbox_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov eax, dword [0x1004bf64]
add esp, 0x10
movss xmm3, dword [esp + 0x28]
mulss xmm3, dword [0x1003f9e0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1003fa60]
cvtpd2ps xmm2, xmm0
movss xmm0, dword [0x1004b270]
movaps xmm1, xmm0
subss xmm1, xmm3
cmp dword [0x1004c19c], 1
mulss xmm1, dword [0x1003f9d4]
mov dword [esp + 0x480], 0xa8f005d9
divss xmm0, xmm2
mov word [esp + 0x484], 0x68
divss xmm1, xmm0
subss xmm2, xmm1
movss dword [esp + 0x460], xmm1
movss dword [0x1004ab60], xmm2
jne 0x1000b1d0
push 0x5d4d24
push 0x5d4dbc
push 0x5d4d56
push str._r_nPatching_logos_at______p______p______p_r_n
push 0
call fcn.10002a10
add esp, 0x14
lea edx, [esp + 0x460]
mov ecx, 0x5d4d5a
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x5d4dc0
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x480]
mov ecx, 0x5d4d24
push 6
call fcn.10002d80
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [esp + 0x2c]
add esp, 4
mov dword [esp + 0x28], 0
mov dword [esp + 0x468], 0x5d4d26
push eax
push 4
push 4
push 0x5d4d26
call esi
cmp eax, 1
jne 0x1000b1d6
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1004ab60
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x2c]
push 4
push 0x5d4d26
call esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000b1d6
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp dword [0x1004a924], 1
jne 0x1000b2ac
push 0x5e0463
push 0x5e04fb
push 0x5e0495
push str._r_nPatching_credits_at______p______p______p_r_n
push 0
call fcn.10002a10
add esp, 0x14
lea edx, [esp + 0x460]
mov ecx, 0x5e0499
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x5e04ff
push 4
call fcn.10002d80
add esp, 4
lea edx, [esp + 0x480]
mov ecx, 0x5e0463
push 6
call fcn.10002d80
add esp, 4
mov dword [esp + 0x28], 0
lea eax, [esp + 0x28]
mov dword [esp + 0x468], 0x5e0465
push eax
push 4
push 4
push 0x5e0465
call esi
cmp eax, 1
jne 0x1000b2ac
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x468]
mov dword [eax], 0x1004ab60
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x2c]
push 4
push 0x5e0465
call esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
cmp dword [0x1004bd38], 1
jne 0x1000b358
cmp dword [0x1004a444], 1
jne 0x1000b358
mov eax, dword [esp + 0x14]
mov ecx, edi
push str.xxxx____xx
push 0x1003ccf0
mov edx, dword [eax + 0x50]
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x1000b349
push esi
push str._r_nHooking_display_map_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004abcc], esi
mov edx, 0x10006f40
mov ecx, esi
push 0x1004abcc
call fcn.10001d70
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Display_Map_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000b358
push str.Failed_to_find_display_map_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov eax, dword [esp + 0x14]
mov ecx, edi
push str.xxxx___xx___
push 0x1003cd98
mov edx, dword [eax + 0x50]
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x1000b3db
push esi
push str._r_nHooking_window_resolution_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004b020], esi
mov edx, 0x100058a0
mov ecx, esi
push 0x1004b020
call fcn.10001d70
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Window_Resolution_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000b3ea
push str.Failed_to_find_window_resolution_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov eax, dword [esp + 0x14]
mov ecx, edi
push str.xxxx___xx___
push 0x1003cd98
mov edx, dword [eax + 0x50]
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x1000b46d
push esi
push str._r_nHooking_render_resolution_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004c1b0], esi
mov edx, 0x10005950
mov ecx, esi
push 0x1004c1b0
call fcn.10001d70
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Render_Resolution_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000b47c
push str.Failed_to_find_render_resolution_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov eax, dword [esp + 0x14]
mov ecx, edi
push str.xx___xx
push 0x1003cee8
mov edx, dword [eax + 0x50]
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x1000b4ff
push esi
push str._r_nHooking_window_mode_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004bf68], esi
mov edx, 0x10005a00
mov ecx, esi
push 0x1004bf68
call fcn.10001d70
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Window_mode_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000b50e
push str.Failed_to_find_window_mode_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a8ec], 0
je 0x1000b5ad
mov eax, dword [esp + 0x14]
mov ecx, edi
push str.xxxxxxxxx
push 0x1003cf7c
mov edx, dword [eax + 0x50]
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x1000b59e
push esi
push str._r_nHooking_fog_complexity_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004c1f0], esi
mov edx, 0x10005a30
mov ecx, esi
push 0x1004c1f0
call fcn.10001d70
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Fog_complexity_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000b5ad
push str.Failed_to_find_fog_complexity_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004ab94], 2
je 0x1000b5c3
cmp dword [0x1004a22c], 1
jne 0x1000b64c
mov esi, dword [esp + 0x14]
mov ecx, edi
push str.xxxx_____xxxxxxxx____
push 0x1003d028
mov edx, dword [esi + 0x50]
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000b6d7
push eax
push str._r_nHooking_FPS_limit_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10005f00
mov dword [0x1004adec], eax
mov ecx, eax
push 0x1004adec
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.FPS_limit_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
mov esi, dword [esp + 0x14]
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____xxxxx
push 0x1003d0d0
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000b6eb
push eax
push str._r_nHooking_Camera_index_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10005730
mov dword [0x1004ab98], eax
mov ecx, eax
push 0x1004ab98
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Camera_index_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000b6fa
push str.Failed_to_find_FPS_limit_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
jmp 0x1000b650
push str.Failed_to_find_camera_index_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a6c8], 8
jae 0x1000b9e0
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxx____
push str.SUVW3
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000b78e
push eax
push str._r_nHooking_Message_Selector_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10005f30
mov dword [0x1004bf50], eax
mov ecx, eax
push 0x1004bf50
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Message_Selector_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000b79d
push str.Failed_to_find_message_selector_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp byte [0x1004abdd], 0
mov ecx, edi
mov edx, dword [esi + 0x50]
jne 0x1000b7ce
push str.x____xxxxxxxxxxxx_____xxxxxxxxxxx______
push 0x1003d238
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000b85f
jmp 0x1000b7eb
push str.x____xxxxxxxxxxxxx
push 0x1003d2c4
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000b850
push eax
push str._r_nHooking_GetWindowsLangID_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10005f60
mov dword [0x1004bf58], eax
mov ecx, eax
push 0x1004bf58
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.GetWindowsLangID_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000b85f
push str.Failed_to_find_GetWindowsLangID_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxxxxxxxxxxxx____xxxxxxxx____xxxxxxxxxxxx
push 0x1003d344
call fcn.10002d30
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
je 0x1000b8dd
push eax
push str._r_nHooking_GetCurrentLanguageIndex_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, 0x10005f60
mov dword [0x1004abb0], eax
mov ecx, eax
push 0x1004abb0
call fcn.10001d70
mov ecx, dword [esp + 0x28]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.GetCurrentLanguageIndex_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000b8ec
push str.Failed_to_find_GetCurrentLanguageIndex_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov dword [esp + 0x470], eax
je 0x1000b961
push eax
push str._r_nHooking_SetCurrentLanguageIndex_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10005f80
mov dword [0x1004abac], eax
mov ecx, eax
push 0x1004abac
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SetCurrentLanguageIndex_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000b970
push str.Failed_to_find_SetCurrentLanguageIndex_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxx_____
push 0x1003d4c8
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000b9d1
push eax
push str._r_nPatching_language_function_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x494]
add esp, 0xc
mov dword [esp + 0x488], 0x81e9
mov word [esp + 0x48c], 0x9000
push 6
call fcn.10002d80
add esp, 4
jmp 0x1000b9e0
push str.Failed_to_find_language_patch_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004b714], 1
jne 0x1000bd10
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____xxxx
push 0x1003d53c
call fcn.10002d30
push eax
push str._r_nSaveStatusAddress______p_r_n
push 0
mov dword [0x1004c1c4], eax
call fcn.10002a10
mov edx, dword [esi + 0x50]
add esp, 0x14
mov ecx, edi
push str.xxxxx_________xxx
push 0x1003d57c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000ba9d
push eax
push str._r_nHooking_SaveRead_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10005fa0
mov dword [0x1004b040], eax
mov ecx, eax
push 0x1004b040
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SaveRead_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000baac
push str.Failed_to_find_save_read_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx_________xxx
push 0x1003d57c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000bb33
push eax
push str._r_nHooking_SaveWrite_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x100064d0
mov dword [0x1004b6f8], eax
mov ecx, eax
push 0x1004b6f8
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SaveWrite_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000bb42
push str.Failed_to_find_save_write_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxx
push 0x1003d69c
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000bbc9
push eax
push str._r_nHooking_SaveDelete_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10006940
mov dword [0x1004a478], eax
mov ecx, eax
push 0x1004a478
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SaveDelete_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000bbd8
push str.Failed_to_find_save_delete_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxx
push 0x1003d730
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000bc29
push eax
push str._r_nPatching_BeginSaveFileChecksumVerification_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x34]
add esp, 0xc
mov dword [esp + 0x28], 0x90c301b0
push 4
call fcn.10002d80
add esp, 4
jmp 0x1000bc38
push str.Failed_to_find_begin_save_file_checksum_verification_patch_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxx
push 0x1003d7c8
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000bc86
push eax
push str._r_nPatching_ApplyChecksumToSaveFile_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x3b]
add esp, 0xc
mov byte [esp + 0x2f], 0xc3
push 1
call fcn.10002d80
add esp, 4
jmp 0x1000bc95
push str.Failed_to_find_apply_save_file_checksum_verification_patch_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxxx____
push 0x1003d858
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000bcf4
push eax
push str._r_nPatching_strftime_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x484]
add esp, 0xc
mov dword [esp + 0x478], 0x90909090
mov byte [esp + 0x47c], 0x90
push 5
call fcn.10002d80
add esp, 4
jmp 0x1000bd03
push str.Failed_to_find_strftime_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
push 0
push 0x1004a238
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____xxxx_____xxx
push 0x1003d8c4
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000bd97
push eax
push str._r_nHooking_show_picture_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10006b60
mov dword [0x1004b288], eax
mov ecx, eax
push 0x1004b288
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.Show_picture_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000bda6
push str.Failed_to_find_show_picture_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxx
push 0x1003d964
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000be2d
push eax
push str._r_nHooking_inflate_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10006f80
mov dword [0x1004b728], eax
mov ecx, eax
push 0x1004b728
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.inflate_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000be3c
push str.Failed_to_find_inflate_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx
push 0x1003d9f0
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000be7c
push eax
push str._r_nGetting_SH3GetFileStruct_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x474]
add esp, 0xc
mov dword [0x1004b718], eax
jmp 0x1000be8b
push str.Failed_to_find_SH3GetFileStruct_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxx
push 0x1003da70
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000bf12
push eax
push str._r_nHooking_SH3ReadFile_function_at______p_r_n
push 0
call fcn.10002a10
mov eax, dword [esp + 0x47c]
add esp, 0xc
mov edx, 0x10007070
mov dword [0x1004a46c], eax
mov ecx, eax
push 0x1004a46c
call fcn.10001d70
mov ecx, dword [esp + 0x470]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SH3ReadFile_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000bf21
push str.Failed_to_find_SH3ReadFile_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____xxxxxxxxxxxxxxxxxx
push 0x1003db24
call fcn.10002d30
mov esi, eax
add esp, 8
mov dword [esp + 0x468], esi
test esi, esi
je 0x1000bfa0
push esi
push str._r_nHooking_SH3LoadArc_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004a6b0], esi
mov edx, 0x10007ac0
mov ecx, esi
push 0x1004a6b0
call fcn.10001d70
mov ecx, dword [esp + 0x468]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SH3LoadArc_function_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000bfaf
push str.Failed_to_find_SH3LoadArc_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp byte [0x1004abdd], 0
jne 0x1000c057
push 0x6099f0
push str._r_nHooking_AcquireFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004adfc], 0x6099f0
mov edx, 0x10007af0
mov ecx, 0x6099f0
push 0x1004adfc
call fcn.10001d70
mov edx, 1
mov ecx, 0x6099f0
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.AcquireFilesystemSemaphore_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x609a60
push str._r_nHooking_ReleaseFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004abc4], 0x609a60
mov edx, 0x10007b40
mov ecx, 0x609a60
push 0x1004abc4
call fcn.10001d70
mov ecx, 0x609a60
jmp 0x1000c0ed
push 0x608680
push str._r_nHooking_AcquireFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004adfc], 0x608680
mov edx, 0x10007af0
mov ecx, 0x608680
push 0x1004adfc
call fcn.10001d70
mov edx, 1
mov ecx, 0x608680
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.AcquireFilesystemSemaphore_function_Hook______s______s_r_n
push 0
call fcn.10002a10
push 0x6086f0
push str._r_nHooking_ReleaseFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0x1c
mov dword [0x1004abc4], 0x6086f0
mov edx, 0x10007b40
mov ecx, 0x6086f0
push 0x1004abc4
call fcn.10001d70
mov ecx, 0x6086f0
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.ReleaseFilesystemSemaphore_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
mov ecx, edi
mov edx, dword [esi + 0x50]
push str.x____xxxxx____
push 0x1003dcc8
call fcn.10002d30
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxx_________
push 0x1003dcf0
mov dword [esp + 0x38], eax
call fcn.10002d30
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____xx_____x_________x____
push 0x1003dd28
mov dword [0x1004b268], eax
call fcn.10002d30
add esp, 0x18
mov dword [0x1004c410], eax
cmp dword [esp + 0x28], 0
je 0x1000c20f
mov ecx, dword [0x1004b268]
test ecx, ecx
je 0x1000c20f
test eax, eax
je 0x1000c20f
push ecx
push str._r_nPulseEvent_Return_Address_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
push dword [0x1004c410]
push str.PulseEvent_Exit_Return_Address_at______p_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x34]
add esp, 0xc
push esi
push str._r_nHooking_WaitForADXEvent_function_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov dword [0x1004b730], esi
mov edx, 0x10007b90
mov ecx, esi
push 0x1004b730
call fcn.10001d70
mov ecx, dword [esp + 0x28]
mov edx, 1
mov esi, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.WaitForADXEvent_function_Hook______s______s_r_n
push 0
call fcn.10002a10
mov esi, dword [esp + 0x24]
add esp, 0x10
jmp 0x1000c21e
push str.Failed_to_find_WaitForADXEvent_function_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxx____x_____x
push 0x1003de44
call fcn.10002d30
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x1000c26e
push eax
push str._r_nPatching_WaitForSingleObject_call_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x474]
lea edx, [esp + 0x30]
add esp, 0xc
mov word [esp + 0x24], 0x5eb
push 2
call fcn.10002d80
add esp, 4
jmp 0x1000c27d
push str.Failed_to_find_WaitForSingleObject_call_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
xor eax, eax
push str.x____xx____x____
push 0x1003ded0
mov ecx, edi
mov dword [esp + 0x30], eax
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
je 0x1000c32d
nop dword [eax]
inc dword [esp + 0x28]
push eax
push str._r_nPatching_unused_ADX_counter_at______p_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x47c]
lea edx, [esp + 0x49c]
add esp, 0xc
mov dword [esp + 0x490], 0x90909090
mov dword [esp + 0x494], 0x90909090
mov word [esp + 0x498], 0x9090
mov byte [esp + 0x49a], 0x90
push 0xb
call fcn.10002d80
mov edx, dword [esi + 0x50]
add esp, 4
mov ecx, edi
push str.x____xx____x____
push 0x1003ded0
call fcn.10002d30
add esp, 8
mov dword [esp + 0x470], eax
test eax, eax
jne 0x1000c2b0
cmp dword [esp + 0x28], 2
je 0x1000c33c
push str.Failed_to_find_unused_ADX_counter_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xx______xxxx
push 0x1003df50
call fcn.10002d30
mov esi, eax
add esp, 8
test esi, esi
je 0x1000c380
push esi
push str._r_nPatching_unused_ADX_function_counter_at______p_r_n
push 0
call fcn.10002a10
add esp, 0xc
mov byte [esp + 0x2f], 0x90
lea edx, [esp + 0x2f]
mov ecx, esi
push 1
call fcn.10002d80
add esp, 4
jmp 0x1000c38f
push str.Failed_to_find_unused_ADX_function_counter_in_sh3.exe_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [0x1004a454], 1
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
jbe 0x1000c581
push str.NtQueryVirtualMemory
push dword [esp + 0x24]
call edi
mov dword [0x1004b6c0], eax
mov eax, dword [0x1004a454]
cmp eax, 2
je 0x1000c4a5
cmp eax, 3
je 0x1000c437
cmp eax, 4
jb 0x1000c513
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c3e2
lea esi, [eax + 0xb]
jmp 0x1000c406
push 0x1003e06c
push eax
call edi
test eax, eax
jne 0x1000c3f3
lea esi, [eax + 0xc]
jmp 0x1000c406
push 0x1004adf4
mov edx, 0x10002fd0
mov ecx, eax
call fcn.10001d70
mov esi, eax
push 0x1003e06c
push dword [esp + 0x1c]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str._r_nCreateThread_Hook______s______s_r_n
jmp 0x1000c509
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c44b
lea esi, [eax + 0xb]
jmp 0x1000c46f
push str.SetThreadPriority
push eax
call edi
test eax, eax
jne 0x1000c45c
lea esi, [eax + 0xc]
jmp 0x1000c46f
push 0x1004ab68
mov edx, 0x10003260
mov ecx, eax
call fcn.10001d70
mov esi, eax
push str.SetThreadPriority
push dword [esp + 0x1c]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str._r_nSetThreadPriority_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c4b9
lea esi, [eax + 0xb]
jmp 0x1000c4dd
push str.SetThreadPriorityBoost
push eax
call edi
test eax, eax
jne 0x1000c4ca
lea esi, [eax + 0xc]
jmp 0x1000c4dd
push 0x1004a6cc
mov edx, 0x10003330
mov ecx, eax
call fcn.10001d70
mov esi, eax
push str.SetThreadPriorityBoost
push dword [esp + 0x1c]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str._r_nSetThreadPriorityBoost_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c527
lea esi, [eax + 0xb]
jmp 0x1000c54b
push str.SetThreadAffinityMask
push eax
call edi
test eax, eax
jne 0x1000c538
lea esi, [eax + 0xc]
jmp 0x1000c54b
push 0x1004a6d0
mov edx, 0x10003190
mov ecx, eax
call fcn.10001d70
mov esi, eax
push str.SetThreadAffinityMask
push dword [esp + 0x1c]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, esi
call fcn.10002410
push eax
push str.SetThreadAffinityMask_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
cmp dword [esp + 0x1c], 0
je 0x1000c71c
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.Advapi32.dll
call esi
test eax, eax
jne 0x1000c5a7
mov dword [esp + 0x28], 0xb
jmp 0x1000c5d2
push str.RegOpenKeyExA
push eax
call edi
test eax, eax
jne 0x1000c5bd
mov dword [esp + 0x28], 0xc
jmp 0x1000c5d2
push 0x1004b724
mov edx, 0x10003600
mov ecx, eax
call fcn.10001d70
mov dword [esp + 0x28], eax
push str.Advapi32.dll
call esi
test eax, eax
jne 0x1000c5ea
mov dword [esp + 0x460], 0xb
jmp 0x1000c61b
push str.RegQueryValueExA
push eax
call edi
test eax, eax
jne 0x1000c603
mov dword [esp + 0x460], 0xc
jmp 0x1000c61b
push 0x1004abc8
mov edx, 0x100036b0
mov ecx, eax
call fcn.10001d70
mov dword [esp + 0x460], eax
push str.Advapi32.dll
call esi
test eax, eax
jne 0x1000c630
mov dword [esp + 0x14], 0xb
jmp 0x1000c65b
push 0x1003e108
push eax
call edi
test eax, eax
jne 0x1000c646
mov dword [esp + 0x14], 0xc
jmp 0x1000c65b
push 0x1004c1d0
mov edx, 0x100036f0
mov ecx, eax
call fcn.10001d70
mov dword [esp + 0x14], eax
push str.RegOpenKeyExA
push dword [esp + 0x20]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
push str.RegQueryValueExA
push dword [esp + 0x20]
mov esi, eax
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
push 0x1003e108
push dword [esp + 0x20]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, esi
mov dword [esp + 0x468], eax
call fcn.10002410
mov ecx, dword [esp + 0x28]
push eax
call fcn.10002410
push eax
push str._r_nRegOpenKeyExA_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
mov ecx, edi
call fcn.10002410
mov ecx, dword [esp + 0x460]
push eax
call fcn.10002410
push eax
push str.RegQueryValueExA_Hook______s______s_r_n
push 0
call fcn.10002a10
mov ecx, dword [esp + 0x478]
add esp, 0x10
call fcn.10002410
mov ecx, dword [esp + 0x14]
push eax
call fcn.10002410
push eax
push str.RegCloseKey_Hook______s______s_r_n_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000c72b
push str._r_nFailed_to_load_Advapi32.dll__r_n_r_n
push 1
call fcn.10002a10
add esp, 8
cmp dword [esp + 0x30], 0
je 0x1000c8b9
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 0x1000c757
mov dword [esp + 0x1c], 0xb
jmp 0x1000c782
push str.AdjustWindowRectEx
push eax
call edi
test eax, eax
jne 0x1000c76d
mov dword [esp + 0x1c], 0xc
jmp 0x1000c782
push 0x1004a954
mov edx, 0x10003390
mov ecx, eax
call fcn.10001d70
mov dword [esp + 0x1c], eax
push str.User32.dll
call esi
test eax, eax
jne 0x1000c797
mov dword [esp + 0x28], 0xb
jmp 0x1000c7c2
push str.CreateWindowExA
push eax
call edi
test eax, eax
jne 0x1000c7ad
mov dword [esp + 0x28], 0xc
jmp 0x1000c7c2
push 0x1004c1a0
mov edx, 0x100033c0
mov ecx, eax
call fcn.10001d70
mov dword [esp + 0x28], eax
push str.AdjustWindowRectEx
push dword [esp + 0x34]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
push str.CreateWindowExA
push dword [esp + 0x34]
mov esi, eax
call edi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, esi
mov edi, eax
call fcn.10002410
mov ecx, dword [esp + 0x1c]
push eax
call fcn.10002410
push eax
push str.AdjustWindowRectEx_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
mov ecx, edi
call fcn.10002410
mov ecx, dword [esp + 0x28]
push eax
call fcn.10002410
push eax
push str.CreateWindowExA_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
cmp dword [0x1004c1cc], 0
je 0x1000c8c8
push str.User32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x1000c85d
lea edi, [eax + 0xb]
jmp 0x1000c881
push str.PostMessageA
push eax
call esi
test eax, eax
jne 0x1000c86e
lea edi, [eax + 0xc]
jmp 0x1000c881
push 0x1004b258
mov edx, 0x10003550
mov ecx, eax
call fcn.10001d70
mov edi, eax
push str.PostMessageA
push dword [esp + 0x34]
call esi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, edi
call fcn.10002410
push eax
push str.PostMessageA_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
jmp 0x1000c8ce
push str.Failed_to_load_User32.dll__r_n
push 1
call fcn.10002a10
add esp, 8
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.d3d8.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edi, eax
test edi, edi
je 0x1000ca67
push 0x1003e274
push edi
call esi
push 0x1003e288
push edi
mov dword [0x1004a230], eax
call esi
mov edx, dword [0x1004a45c]
mov dword [0x1004bf7c], eax
test edx, edx
je 0x1000c92b
mov ecx, dword [0x1004a230]
test ecx, ecx
je 0x1000c92b
cmp edx, 1
jne 0x1000c91a
push 0
jmp 0x1000c921
cmp edx, 2
jne 0x1000c92b
push 1
call ecx
mov eax, dword [0x1004bf7c]
add esp, 4
mov ecx, dword [0x1004b6b8]
test ecx, ecx
je 0x1000c93f
test eax, eax
je 0x1000c93f
push ecx
call eax
add esp, 4
cmp dword [0x1004b70c], 1
jne 0x1000ca76
push str.d3d8.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000c965
mov dword [esp + 0x30], 0xb
jmp 0x1000c990
push str.Direct3DCreate8
push eax
call esi
test eax, eax
jne 0x1000c97b
mov dword [esp + 0x30], 0xc
jmp 0x1000c990
push 0x1004ae04
mov edx, 0x10005210
mov ecx, eax
call fcn.10001d70
mov dword [esp + 0x30], eax
push str.Direct3DCreate8
push edi
call esi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
mov ecx, dword [esp + 0x30]
push eax
call fcn.10002410
push eax
push str._r_nDirect3DCreate8_Hook______s______s_r_n_r_n
push 0
call fcn.10002a10
add esp, 0x10
push str.PatchMaximizedWindowedMode
push edi
call esi
push str.UseDirectX12UsermodeDisplayDriver
push edi
mov dword [0x1004b274], eax
call esi
cmp dword [0x1004a940], 1
mov dword [0x1004c1ac], eax
jne 0x1000ca13
cmp dword [0x1004b274], 0
je 0x1000ca13
push str.Patching_Maximized_Windowed_Mode_r_n
push 0
call fcn.10002a10
add esp, 8
call dword [0x1004b274]
test al, al
jne 0x1000ca2c
push str._r_nFailed_to_disable_maximized_windowed_mode__r_n
push 1
jmp 0x1000ca1a
push str.Not_patching_Maximized_Windowed_Mode_r_n
push 0
call fcn.10002a10
mov dword [0x1004c1b8], 0
add esp, 8
cmp dword [0x1004bf5c], 1
jne 0x1000ca5e
cmp dword [0x1004c1ac], 0
je 0x1000ca5e
push str._r_nEnabling_DirextX_12_r_n
push 0
call fcn.10002a10
add esp, 8
call dword [0x1004c1ac]
test al, al
jne 0x1000ca76
push str._r_nFailed_to_enable_DirextX_12__r_n
jmp 0x1000ca6c
push str._r_nNot_using_DirectX_12_r_n
push 0
jmp 0x1000ca6e
push str._r_nFailed_to_get_d3d8.dll__r_n
push 1
call fcn.10002a10
add esp, 8
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000ca8a
lea edi, [eax + 0xb]
jmp 0x1000caae
push 0x1003e3fc
push eax
call esi
test eax, eax
jne 0x1000ca9b
lea edi, [eax + 0xc]
jmp 0x1000caae
push 0x1004b038
mov edx, 0x10003730
mov ecx, eax
call fcn.10001d70
mov edi, eax
push 0x1003e3fc
push dword [esp + 0x1c]
call esi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, edi
call fcn.10002410
push eax
push str._r_nHeapCreate_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000caf8
lea edi, [eax + 0xb]
jmp 0x1000cb1c
push 0x1003e42c
push eax
call esi
test eax, eax
jne 0x1000cb09
lea edi, [eax + 0xc]
jmp 0x1000cb1c
push 0x1004bf74
mov edx, 0x10003770
mov ecx, eax
call fcn.10001d70
mov edi, eax
push 0x1003e42c
push dword [esp + 0x1c]
call esi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, edi
call fcn.10002410
push eax
push str.HeapAlloc_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000cb66
lea edi, [eax + 0xb]
jmp 0x1000cb8a
push 0x1003e458
push eax
call esi
test eax, eax
jne 0x1000cb77
lea edi, [eax + 0xc]
jmp 0x1000cb8a
push 0x1004a948
mov edx, 0x100037f0
mov ecx, eax
call fcn.10001d70
mov edi, eax
push 0x1003e458
push dword [esp + 0x1c]
call esi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, edi
call fcn.10002410
push eax
push str.HeapFree_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000cbd4
lea edi, [eax + 0xb]
jmp 0x1000cbf8
push str.PulseEvent
push eax
call esi
test eax, eax
jne 0x1000cbe5
lea edi, [eax + 0xc]
jmp 0x1000cbf8
push 0x1004a6c4
mov edx, 0x10002f90
mov ecx, eax
call fcn.10001d70
mov edi, eax
push str.PulseEvent
push dword [esp + 0x1c]
call esi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
push eax
mov ecx, edi
call fcn.10002410
push eax
push str._r_nPulseEvent_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000cc42
lea edi, [eax + 0xb]
jmp 0x1000cc66
push str.SetPriorityClass
push eax
call esi
test eax, eax
jne 0x1000cc53
lea edi, [eax + 0xc]
jmp 0x1000cc66
push 0x1004a6b4
mov edx, 0x10003370
mov ecx, eax
call fcn.10001d70
mov edi, eax
push str.SetPriorityClass
push dword [esp + 0x1c]
call esi
mov edx, 1
mov ecx, eax
call fcn.10002300
mov ecx, eax
call fcn.10002410
inc edi
cmp edi, 0xd
ja case.default.0x1000cc8a
jmp dword [edi*4 + 0x1000cff0]
mov ecx, str.MH_UNKNOWN
jmp 0x1000ccf8
mov ecx, str.MH_OK
jmp 0x1000ccf8
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000ccf8
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000ccf8
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000ccf8
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000ccf8
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000ccf8
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000ccf8
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000ccf8
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000ccf8
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000ccf8
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000ccf8
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000ccf8
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000ccf8
mov ecx, str._unknown_
push eax
push ecx
push str._r_nSetPriorityClass_Hook______s______s_r_n
push 0
call fcn.10002a10
add esp, 0x10
push 0
push 0x1004a6d8
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x208
lea eax, [esp + 0x7f4]
push 0
push eax
call fcn.100180d0
add esp, 0xc
lea eax, [esp + 0x7f0]
push 0x1004a6d8
push 0x104
push eax
call fcn.1001d78a
add esp, 0xc
lea eax, [esp + 0x7f0]
push str.disp.ini
push 0x104
push eax
call fcn.1001d7ee
add esp, 0xc
cmp dword [0x1004adf0], 1
jne 0x1000cd78
lea eax, [esp + 0x7f0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0
push 0x80
push 4
push 0
push 2
push 0x40000000
lea eax, [esp + 0x808]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
mov esi, eax
cmp esi, 0xffffffff
je 0x1000ce33
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1000ce2c
push 0x104
push eax
lea eax, [esp + 0x40]
push eax
call fcn.100180d0
add esp, 0xc
lea eax, [esp + 0x38]
push dword [0x1004c408]
push dword [0x1004a448]
push dword [0x1004c1ec]
push dword [0x1004bf64]
push str.formatD3DFMT_A8R8G8B8_ngamma_b1_ngamma_g1_ngamma_r1_nmodewindow_nresolution_dx_d_nsize_dx_d_n
push 0x104
push eax
call fcn.1000e060
lea ecx, [esp + 0x54]
mov dword [esp + 0x484], 0
add esp, 0x1c
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000ce10
push 0
lea eax, [esp + 0x46c]
sub ecx, edx
push eax
push ecx
lea eax, [esp + 0x44]
push eax
push esi
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x208
lea eax, [esp + 0xc04]
push 0
push eax
call fcn.100180d0
add esp, 0xc
lea eax, [esp + 0xc00]
push 0x1004a6d8
push 0x104
push eax
call fcn.1001d78a
add esp, 0xc
lea eax, [esp + 0xc00]
push str.data.sys
push 0x104
push eax
call fcn.1001d7ee
mov esi, dword [sym.imp.KERNEL32.dll_SetLastError]
add esp, 0xc
push 0
call esi
cmp dword [0x1004b25c], 1
jne 0x1000cef0
push 0
push 0x80
push 4
push 0
push 2
push 0x40000000
lea eax, [esp + 0xc18]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x1000ceea
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1000cee3
push eax
mov dword [esp + 0x46c], eax
lea eax, [esp + 0x46c]
push eax
push 0x74
push 0x10044d10
push esi
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [0x1004b704], 1
jne 0x1000cf95
push 0x208
lea eax, [esp + 0x3c]
push 0
push eax
call fcn.100180d0
add esp, 0xc
lea eax, [esp + 0x38]
push 0x1004a6d8
push 0x104
push eax
call fcn.1001d78a
add esp, 0xc
lea eax, [esp + 0x38]
push str.data.002
push 0x104
push eax
call fcn.1001d7ee
add esp, 0xc
push 0
call esi
push 0
push 0x80
push 4
push 0
push 2
push 0x40000000
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x1000cf95
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1000cf8e
push eax
mov dword [esp + 0x46c], eax
lea eax, [esp + 0x46c]
push eax
push 0x1350
push 0x10044d88
push esi
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str._r_nPatching_thread_done__r_n
push 0
call fcn.10002a10
push str._r_n______________________________________________________________________________________________________r_n
push 0
call fcn.10002a10
add esp, 0x10
mov al, 1
pop edi
pop esi
mov ecx, dword [esp + 0xe04]
xor ecx, esp
call fcn.10015e23
mov esp, ebp
pop ebp
ret
push 0x10
push str.Silent_Hill_3_PC_Fix
push str.Unable_to_get_exe_path___1_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [esp + 0xe0c]
xor al, al
pop edi
pop esi
xor ecx, esp
call fcn.10015e23
mov esp, ebp
pop ebp
ret