Function at 0x10008000
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, 0xbf8
mov eax, dword [0x10048040]
xor eax, esp
mov dword [esp + 0xbf4], eax
push esi
push edi
call fcn.10001d30
test eax, eax
je 0x1000802f
push str._r_nFailed_to_initialize_MinHook__r_n
jmp 0x100102f5
cmp dword [0x1004f050], 1
jne 0x10008068
lea ecx, [esp + 0x2b]
mov byte [esp + 0x2b], 0
call fcn.10002ff0
test eax, eax
jne 0x10008068
cmp byte [esp + 0x2b], al
jne 0x10008068
push str.Fixing_audio_r_n_r_n
push eax
call fcn.10002ac0
add esp, 8
mov ecx, 0xa
call fcn.10003060
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x1004ee48
mov byte [esp + 0x3c], 0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov esi, eax
cmp esi, 0xffffffff
je 0x100080d6
lea eax, [esp + 0x480]
mov dword [esp + 0x480], 0
push eax
push esi
mov dword [esp + 0x48c], 0
call edi
cmp eax, 1
jne 0x100080cf
cmp dword [esp + 0x480], 0xb123a8
jbe 0x100080cf
mov byte [0x1004e6e7], al
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x1004e998
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x10008139
lea eax, [esp + 0x480]
mov dword [esp + 0x480], 0
push eax
push esi
mov dword [esp + 0x48c], 0
call edi
cmp eax, 1
jne 0x10008132
cmp dword [esp + 0x480], 0x1303300
jbe 0x10008132
mov byte [0x1004f2cc], al
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x1004f4f8
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x100081a8
lea eax, [esp + 0x480]
mov dword [esp + 0x480], 0
push eax
push esi
mov dword [esp + 0x48c], 0
call edi
cmp eax, 1
jne 0x100081a1
mov eax, dword [esp + 0x20]
mov ecx, 1
cmp dword [esp + 0x480], 0x4b9
movzx eax, al
cmova eax, ecx
mov dword [esp + 0x20], eax
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.RtlGetNtVersionNumbers
push eax
mov dword [esp + 0x24], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x1004f290], eax
test eax, eax
je 0x100081ee
push 0x10050464
push 0x1004f764
push 0x100501f4
call eax
mov eax, dword [0x10050464]
and eax, 0x7fff
mov dword [0x10050464], eax
jmp 0x100081f3
mov eax, dword [0x10050464]
push eax
push dword [0x1004f764]
push dword [0x100501f4]
push str.OS_Version______lu._lu._lu_r_n_r_n
push 0
call fcn.10002ac0
add esp, 0x14
lea eax, [esp + 0x378]
push 0xdc
push 0
push eax
call fcn.1001c960
add esp, 0xc
mov eax, 0xdc
mov word [esp + 0x3bc], ax
lea eax, [esp + 0x378]
push eax
push 0xffffffffffffffff
push 0
call dword [sym.imp.USER32.dll_EnumDisplaySettingsW]
test eax, eax
jne 0x10008253
push str._r_nFailed_to_get_the_monitor_resolution__r_n
jmp 0x100102f5
mov ecx, dword [0x1004e47c]
mov eax, dword [0x10050454]
test ecx, ecx
jne 0x1000827f
test eax, eax
jne 0x1000827f
mov ecx, dword [esp + 0x424]
mov eax, dword [esp + 0x428]
mov dword [0x1004e47c], ecx
mov dword [0x10050454], eax
cmp dword [0x1004ffac], 0
jne 0x1000829c
cmp dword [0x10050238], 0
jne 0x1000829c
mov dword [0x1004ffac], ecx
mov dword [0x10050238], eax
push 0x344
lea eax, [esp + 0x38]
mov dword [esp + 0x28], 0
push 0
push eax
call fcn.1001c960
add esp, 0xc
lea eax, [esp + 0x30]
push 1
push eax
push 0
push 0
mov dword [esp + 0x40], 0x348
call dword [sym.imp.USER32.dll_EnumDisplayDevicesW]
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x100084c0
push dword [esp + 0x174]
push str.GPU_StateFlags______p_r_n_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x180]
add esp, 0xc
test al, 4
je 0x10008308
test al, 1
jne 0x100083af
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x88]
push eax
push 0x80
push 0xfde9
call esi
mov edi, eax
test edi, edi
je 0x100084c0
push edi
call fcn.1001a866
add esp, 4
mov esi, eax
push edi
push 0
push esi
call fcn.1001c960
add esp, 0xc
lea eax, [esp + 0x74]
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 0x100084b2
push str.Secondary_GPU______s_r_n_r_n
push 0
call fcn.10002ac0
add esp, 0xc
push esi
call fcn.1001a709
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x38]
add esp, 4
inc esi
mov dword [esp + 0x24], esi
push 0x344
push 0
push eax
call fcn.1001c960
add esp, 0xc
lea eax, [esp + 0x30]
push 1
push eax
push esi
jmp 0x100082c1
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x88]
push eax
push 0x80
push 0xfde9
call esi
mov dword [esp + 0x24], eax
test eax, eax
je 0x100084c0
push eax
call fcn.1001a866
add esp, 4
mov edi, eax
push dword [esp + 0x24]
push 0
push edi
call fcn.1001c960
add esp, 0xc
lea eax, [esp + 0x74]
push 0
push 0
push dword [esp + 0x2c]
push edi
push 0xffffffffffffffff
push eax
push 0x80
push 0xfde9
call esi
push edi
test eax, eax
jne 0x1000841e
call fcn.1001a709
jmp 0x100084bd
push str.Primary_GPU______s_r_n_r_n
push 0
call fcn.10002ac0
lea ecx, [esp + 0x80]
add esp, 0xc
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10008437
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.1001a866
add esp, 4
mov dword [esp + 0x460], eax
push esi
push 0
push eax
call fcn.1001c960
mov edx, dword [esp + 0x46c]
lea ecx, [esp + 0x80]
add esp, 0xc
mov dword [0x1004e6f4], edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10008490
sub ecx, esi
lea eax, [esp + 0x74]
sar ecx, 1
push eax
lea eax, [ecx + 2]
push eax
push edx
call fcn.1002201a
add esp, 0xc
push edi
call fcn.1001a709
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add esp, 4
cmp dword [0x1004e6f4], 0
jne 0x10008500
push 0x1e
call fcn.1001a866
add esp, 4
mov dword [0x1004e6f4], 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.1002201a
add esp, 0xc
push 0x190
lea eax, [esp + 0x4cc]
push 0
push eax
call fcn.1001c960
mov edi, dword [sym.imp.ADVAPI32.dll_RegGetValueW]
lea eax, [esp + 0x46c]
add esp, 0xc
mov dword [esp + 0x24], 1
mov dword [esp + 0x460], 0x190
push eax
lea eax, [esp + 0x4cc]
push eax
lea eax, [esp + 0x2c]
push eax
push 2
push str.ProcessorNameString
push str.HARDWAREDESCRIPTIONSystemCentralProcessor0
push 0x80000002
call edi
test eax, eax
jne 0x10008600
push eax
push eax
push eax
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x4dc]
push eax
push 0x80
push 0xfde9
call esi
mov dword [esp + 0x24], eax
test eax, eax
je 0x10008600
push eax
call fcn.1001a866
add esp, 4
mov edi, eax
push dword [esp + 0x24]
push 0
push edi
call fcn.1001c960
add esp, 0xc
lea eax, [esp + 0x4c8]
push 0
push 0
push dword [esp + 0x2c]
push edi
push 0xffffffffffffffff
push eax
push 0x80
push 0xfde9
call esi
test eax, eax
je 0x100085e0
push edi
push str.CPU______s_r_n_r_n
push 0
call fcn.10002ac0
add esp, 0xc
push edi
call fcn.1001a709
mov edi, dword [sym.imp.ADVAPI32.dll_RegGetValueW]
add esp, 4
jmp 0x1000860f
push str.Unknown_CPU_r_n_r_n
push 0
call fcn.10002ac0
add esp, 8
push edi
call fcn.1001a709
mov edi, dword [sym.imp.ADVAPI32.dll_RegGetValueW]
add esp, 4
jmp 0x1000860f
push str.Unknown_CPU_r_n_r_n
push 0
call fcn.10002ac0
add esp, 8
push dword [0x10050454]
push dword [0x1004e47c]
push str.Resolution______d_x__d_r_n
push 0
call fcn.10002ac0
push dword [0x10050238]
push dword [0x1004ffac]
push str.Render_Resolution______d_x__d_r_n_r_n
push 0
call fcn.10002ac0
xor eax, eax
mov byte [esp + 0x4b], 0
add esp, 0x20
mov dword [esp + 0x4a8], eax
mov word [esp + 0x4ac], ax
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
push eax
push 6
lea eax, [esp + 0x4b0]
push eax
push 0x426121
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp eax, 1
jne 0x100086dc
cmp dword [esp + 0x2c], 6
jne 0x100086dc
cmp byte [esp + 0x4a8], 0x89
jne 0x100086d5
cmp byte [esp + 0x4a9], 0x15
jne 0x100086d5
cmp byte [esp + 0x4aa], 0
jne 0x100086d5
cmp byte [esp + 0x4ab], 0x13
jne 0x100086d5
cmp byte [esp + 0x4ac], 0x6b
jne 0x100086d5
cmp byte [esp + 0x4ad], 0
jne 0x100086d5
mov byte [esp + 0x2b], al
mov dword [0x1004f74c], 0
jmp 0x100086dc
mov byte [0x1004ec1f], 1
push 0x190
lea eax, [esp + 0x65c]
push 0
push eax
call fcn.1001c960
add esp, 0xc
mov byte [esp + 0x10], 0
cmp byte [0x1004ec1f], 0
lea eax, [esp + 0x460]
mov dword [esp + 0x24], 1
mov dword [esp + 0x460], 0x190
push eax
lea eax, [esp + 0x65c]
push eax
lea eax, [esp + 0x2c]
push eax
push 2
push str.movie
jne 0x10008737
push str.SOFTWAREKonamiSILENT_HILL_3
jmp 0x1000873c
push str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000002
call edi
test eax, eax
jne 0x10008773
lea ecx, [esp + 0x658]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10008751
mov eax, dword [esp + 0x10]
sub ecx, edx
sar ecx, 1
movzx eax, al
mov ecx, 1
cmove eax, ecx
mov dword [esp + 0x10], eax
cmp byte [0x1004ec1f], 0
mov edx, str.data
push 0x80000002
push 0x10050248
jne 0x100087db
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002eb0
push 0x80000002
push 0x10050248
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002eb0
add esp, 0x10
cmp byte [esp + 0x10], 0
jne 0x100087d4
push 0x80000002
push 0x10050248
mov edx, str.movie
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002eb0
add esp, 8
mov edi, str.SOFTWAREKonamiSILENT_HILL_3
jmp 0x10008829
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002eb0
push 0x80000002
push 0x10050248
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002eb0
add esp, 0x10
cmp byte [esp + 0x10], 0
jne 0x10008824
push 0x80000002
push 0x10050248
mov edx, str.movie
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002eb0
add esp, 8
mov edi, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000002
push 0x1004e710
mov edx, str.save
mov ecx, edi
call fcn.10002eb0
push 0x80000002
push 0x10050248
mov edx, str.sound
mov ecx, edi
call fcn.10002eb0
add esp, 0x10
cmp dword [0x1004ec10], 1
jne 0x10008966
cmp byte [0x1004ec1f], 0
mov edx, str.data
push 0x80000001
push 0x10050248
jne 0x100088e7
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002eb0
push 0x80000001
push 0x10050248
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002eb0
cmp byte [esp + 0x20], 0
mov ecx, 0x10050248
mov eax, 0x1003c3d4
mov edx, str.movie
cmove eax, ecx
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
push 0x80000001
push eax
call fcn.10002eb0
push 0x80000001
push 0x1004e710
mov edx, str.save
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
call fcn.10002eb0
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3
jmp 0x1000894f
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002eb0
push 0x80000001
push 0x10050248
mov edx, str.installdir
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002eb0
cmp byte [esp + 0x20], 0
mov ecx, 0x10050248
mov eax, 0x1003c3d4
mov edx, str.movie
cmove eax, ecx
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000001
push eax
call fcn.10002eb0
push 0x80000001
push 0x1004e710
mov edx, str.save
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
call fcn.10002eb0
mov ecx, str.SOFTWAREKonamiSILENT_HILL_3_TRIAL_
push 0x80000001
push 0x10050248
mov edx, str.sound
call fcn.10002eb0
add esp, 0x28
mov eax, dword [0x1004e47c]
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10043d60]
mov eax, dword [0x10050454]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movss dword [0x1004f2b0], xmm1
addsd xmm0, qword [eax*8 + 0x10043d60]
mov eax, dword [0x1004ffac]
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x10043d60]
mov eax, dword [0x10050238]
movss dword [esp + 0x2c], xmm2
movss dword [0x1004f05c], xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x478], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10043d60]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x460], xmm0
movss xmm0, dword [0x10043ce8]
divss xmm0, xmm1
movss dword [0x1004e98c], xmm0
movss dword [0x1004f774], xmm0
mulss xmm0, dword [0x10043ce0]
movss dword [0x1004ec00], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push str.Aspect_Ratio______f_r_n
push 0
call fcn.10002ac0
movss xmm0, dword [0x1004f2c0]
add esp, 0x10
ucomiss xmm0, dword [0x10043cd4]
movss dword [esp + 0x10], xmm0
lahf
test ah, 0x44
jp 0x10008aab
movss xmm0, dword [0x1004f05c]
comiss xmm0, dword [0x10043d38]
jb 0x10008a82
movss xmm0, dword [0x10043cfc]
jmp 0x10008aa5
comiss xmm0, dword [0x10043d0c]
jb 0x10008a95
movss xmm0, dword [0x10043cf8]
jmp 0x10008aa5
movss xmm0, dword [0x10043ce4]
divss xmm0, dword [0x1004f774]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [0x1004ec00]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Horizontal_FOV______f_r_n
push 0
call fcn.10002ac0
movss xmm0, dword [esp + 0x20]
add esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Cutscene_Vertical_FOV______f_r_n_r_n
push 0
call fcn.10002ac0
mov ecx, dword [0x1004ffac]
add esp, 0x10
movss xmm2, dword [0x1004f2b0]
mov eax, ecx
shr eax, 0x1f
movaps xmm1, xmm2
cmp dword [0x1004e484], 0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x10043d60]
cvtpd2ps xmm3, xmm0
movss xmm0, dword [esp + 0x24]
jne 0x10008b2e
mulss xmm0, dword [0x10043ce8]
jmp 0x10008b36
mulss xmm0, dword [0x10043d08]
subss xmm1, xmm0
mov eax, dword [0x10050238]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.kernel32.dll
mulss xmm1, dword [0x10043cdc]
addsd xmm0, qword [ecx*8 + 0x10043d60]
divss xmm2, xmm1
cvtpd2ps xmm0, xmm0
divss xmm3, xmm2
subss xmm0, xmm3
movss dword [0x1004e240], xmm3
movss dword [0x10050214], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10043d60]
cvtpd2ps xmm0, xmm0
movss dword [0x1004e934], xmm0
call edi
push 0x1004ffc8
mov dword [esp + 0x14], eax
call edi
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push 0x1004ffc8
push 0x80
mov edi, eax
push 0xfde9
mov dword [esp + 0x38], edi
call esi
mov dword [esp + 0x14], eax
test eax, eax
je 0x10008c47
push eax
call fcn.1001a866
add esp, 4
mov dword [esp + 0x468], eax
push dword [esp + 0x14]
push 0
push eax
call fcn.1001c960
add esp, 0xc
push 0
push 0
push dword [esp + 0x1c]
push dword [esp + 0x474]
push 0xffffffffffffffff
push 0x1004ffc8
push 0x80
push 0xfde9
call esi
test eax, eax
je 0x10008c38
push edi
push dword [esp + 0x46c]
push str._s______p_r_n_r_n
push 0
call fcn.10002ac0
add esp, 0x10
push dword [esp + 0x468]
call fcn.1001a709
add esp, 4
push str.RtlImageNtHeader
push dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov dword [0x1004e498], eax
call eax
cmp byte [0x1004ec1f], 1
mov esi, eax
mov dword [esp + 0x14], esi
jne 0x10009251
cmp byte [esp + 0x20], 1
jne 0x10009251
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x____xxxxx
push 0x1003f070
call fcn.10002de0
mov esi, eax
push esi
push str.Patching_trial_version_pause_menu_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0x14
mov byte [esp + 0x4b0], 0x80
lea edx, [esp + 0x4b0]
mov byte [esp + 0x4b1], 0xd
mov ecx, esi
mov byte [esp + 0x4b2], 0x21
mov byte [esp + 0x4b3], 0xaf
push 7
mov byte [esp + 0x4b8], 0xbc
mov byte [esp + 0x4b9], 0
mov byte [esp + 0x4ba], 0xf
call fcn.10002e30
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, edi
mov edx, dword [edx + 0x50]
push str.x____x____xxx____xx
push 0x1003f0c0
call fcn.10002de0
mov esi, eax
push esi
push str.Patching_trial_restart_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0x14
mov byte [esp + 0x460], 0x90
lea edx, [esp + 0x460]
mov byte [esp + 0x461], 0x90
mov ecx, esi
mov byte [esp + 0x462], 0x90
mov byte [esp + 0x463], 0x90
push 5
mov byte [esp + 0x468], 0x90
call fcn.10002e30
mov eax, dword [esp + 0x18]
add esp, 4
mov ecx, edi
mov edx, dword [eax + 0x50]
push str.xxxxxx______x
push 0x1003f108
call fcn.10002de0
mov esi, eax
add esp, 8
test esi, esi
je 0x10008dc6
push esi
push str._r_nHooking_SH3LoadFile_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
mov dword [0x1004f73c], esi
mov edx, 0x10007e10
mov ecx, esi
push 0x1004f73c
call fcn.10001dc0
mov ecx, esi
mov edi, eax
call fcn.10002460
mov ecx, eax
call fcn.100024c0
mov ecx, edi
mov esi, eax
call fcn.100024c0
push esi
push eax
push str.SH3LoadFile_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x10008dd5
push str.Failed_to_find_SH3LoadFile_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
push 0x60aff0
push str._r_nHooking_SetActionLevel_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
mov dword [0x1004e984], 0x60aff0
mov edx, 0x10007e40
mov ecx, 0x60aff0
push 0x1004e984
call fcn.10001dc0
mov ecx, 0x60aff0
mov edi, eax
call fcn.10002460
mov ecx, eax
call fcn.100024c0
mov ecx, edi
mov esi, eax
call fcn.100024c0
push esi
push eax
push str.SetActionLevel_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
push 0x60b060
push str._r_nHooking_SetRiddleLevel_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0x1c
mov dword [0x1004e93c], 0x60b060
mov edx, 0x10007e60
mov ecx, 0x60b060
push 0x1004e93c
call fcn.10001dc0
mov ecx, 0x60b060
mov edi, eax
call fcn.10002460
mov ecx, eax
call fcn.100024c0
mov ecx, edi
mov esi, eax
call fcn.100024c0
push esi
push eax
push str.SetRiddleLevel_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
push 0x60b000
push str._r_nHooking_GetActionLevel_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0x1c
mov dword [0x1004eba4], 0x60b000
mov edx, 0x10007e80
mov ecx, 0x60b000
push 0x1004eba4
call fcn.10001dc0
mov ecx, 0x60b000
mov edi, eax
call fcn.10002460
mov ecx, eax
call fcn.100024c0
mov ecx, edi
mov esi, eax
call fcn.100024c0
push esi
push eax
push str.GetActionLevel_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
push 0x60b070
push str._r_nHooking_GetRiddleLevel_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0x1c
mov dword [0x1004e4a4], 0x60b070
mov edx, 0x10007e90
mov ecx, 0x60b070
push 0x1004e4a4
call fcn.10001dc0
mov edi, eax
mov ecx, 0x60b070
call fcn.10002460
mov ecx, eax
call fcn.100024c0
mov ecx, edi
mov esi, eax
call fcn.100024c0
push esi
push eax
push str.GetRiddleLevel_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
push 0x5d59dd
push str.Patching_trial_main_menu__1__at______p_r_n
push 0
call fcn.10002ac0
add esp, 0x1c
mov byte [esp + 0x468], 0xc7
cmp dword [0x1004f058], 0
lea edx, [esp + 0x468]
mov byte [esp + 0x469], 0x44
mov ecx, 0x5d59dd
mov byte [esp + 0x46a], 0x24
mov byte [esp + 0x46b], 0x18
mov byte [esp + 0x46d], 0
mov byte [esp + 0x46e], 0
mov byte [esp + 0x46f], 0
push 8
mov byte [esp + 0x470], 3
je 0x10008fb8
mov byte [esp + 0x470], 4
call fcn.10002e30
add esp, 4
push 0x5d59fc
push str.Patching_trial_main_menu__2__at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
mov byte [esp + 0x4c0], 0xc7
lea edx, [esp + 0x4c0]
mov byte [esp + 0x4c1], 0x44
mov ecx, 0x5d59fc
mov byte [esp + 0x4c2], 0xac
mov byte [esp + 0x4c3], 0x18
push 8
mov byte [esp + 0x4c8], 5
mov byte [esp + 0x4c9], 0
mov byte [esp + 0x4ca], 0
mov byte [esp + 0x4cb], 0
call fcn.10002e30
add esp, 4
push 0x5d5a0c
push str.Patching_trial_main_menu__3__at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
mov byte [esp + 0x20], 0x90
lea edx, [esp + 0x20]
mov byte [esp + 0x21], 0x90
mov ecx, 0x5d5a0c
push 2
call fcn.10002e30
add esp, 4
push 0x5d5a0e
push str.Patching_trial_main_menu__4__at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
mov byte [esp + 0x480], 0xc7
lea edx, [esp + 0x480]
mov byte [esp + 0x481], 0x44
mov ecx, 0x5d5a0e
mov byte [esp + 0x482], 0xac
mov byte [esp + 0x483], 0x18
push 8
mov byte [esp + 0x488], 6
mov byte [esp + 0x489], 0
mov byte [esp + 0x48a], 0
mov byte [esp + 0x48b], 0
call fcn.10002e30
add esp, 4
push 0x60bfc3
push str.Patching_trial_main_menu__5__at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
mov byte [esp + 0x478], 0x90
lea edx, [esp + 0x478]
mov byte [esp + 0x479], 0x90
mov ecx, 0x60bfc3
mov byte [esp + 0x47a], 0x90
mov byte [esp + 0x47b], 0x90
push 6
mov byte [esp + 0x480], 0x90
mov byte [esp + 0x481], 0x90
call fcn.10002e30
add esp, 4
push 0x60bef3
push str.Patching_trial_main_menu__6__at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
mov byte [esp + 0x4b8], 0xc6
mov byte [esp + 0x4b9], 5
lea edx, [esp + 0x4b8]
mov byte [esp + 0x4ba], 0xf
mov ecx, 0x60bef3
mov byte [esp + 0x4bb], 0x41
mov byte [esp + 0x4bc], 0xde
mov byte [esp + 0x4bd], 6
mov byte [esp + 0x4be], 0
push 7
call fcn.10002e30
add esp, 4
cmp dword [0x1004f74c], 1
jne 0x100091e6
push 0x5d4ee2
push str.Patching_trial_main_menu__7__at______p_r_n
push 0
mov dword [0x1004f75c], 1
call fcn.10002ac0
add esp, 0xc
mov byte [esp + 0x468], 0xbb
lea edx, [esp + 0x468]
mov byte [esp + 0x469], 0xf4
mov ecx, 0x5d4ee2
mov byte [esp + 0x46a], 0xcf
mov byte [esp + 0x46b], 0x71
push 5
mov byte [esp + 0x470], 0
call fcn.10002e30
add esp, 4
cmp dword [0x1004f744], 1
jne 0x10009249
push 0x5e1831
push str.Patching_trial_main_menu__8__at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
mov byte [esp + 0x468], 0xe9
lea edx, [esp + 0x468]
mov byte [esp + 0x469], 0x2b
mov ecx, 0x5e1831
mov byte [esp + 0x46a], 1
mov byte [esp + 0x46b], 0
push 6
mov byte [esp + 0x470], 0
mov byte [esp + 0x471], 0
call fcn.10002e30
add esp, 4
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
cmp byte [esp + 0x2b], 1
jne 0x100093f3
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x____x_____x_____xx
push 0x1003f4a0
call fcn.10002de0
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x_____x_____x_____xxxx
push 0x1003f4dc
mov dword [esp + 0x478], eax
call fcn.10002de0
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.x_____x_____x_____x_____xx
push 0x1003f518
mov dword [esp + 0x38], eax
call fcn.10002de0
mov edx, dword [esp + 0x480]
add esp, 0x18
mov ecx, eax
mov dword [esp + 0x460], ecx
test edx, edx
je 0x100093f3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x100093f3
test ecx, ecx
je 0x100093f3
push ecx
push eax
push edx
push str.Patching_sliding_transitions_and_pixelation_at______p______p______p_r_n
push 0
call fcn.10002ac0
movaps xmm0, xmmword [0x10043d70]
lea edx, [esp + 0x494]
mov ecx, dword [esp + 0x47c]
add esp, 0x14
movq qword [esp + 0x490], xmm0
movaps xmmword [esp + 0x480], xmm0
mov byte [esp + 0x495], 0xdd
push 0x17
mov byte [esp + 0x49a], 0xd8
call fcn.10002e30
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x484]
add esp, 4
mov byte [esp + 0x496], 0xdd
mov byte [esp + 0x494], 0xdd
mov byte [esp + 0x497], 0xd8
mov byte [esp + 0x495], 0xd8
push 0x18
call fcn.10002e30
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x484]
add esp, 4
push 0x18
call fcn.10002e30
movss xmm1, dword [0x10043cdc]
add esp, 4
movss xmm0, dword [esp + 0x470]
subss xmm0, xmm1
movss dword [0x6b1300], xmm0
movss dword [0x6b12d0], xmm0
movss dword [0x6b0bc0], xmm0
movss dword [0x6b0b60], xmm0
movss dword [0x6b0be0], xmm0
movss dword [0x6b0b90], xmm0
movss xmm0, dword [esp + 0x458]
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 [0x1004f074], 1
mov eax, dword [0x1004f714]
mov ecx, dword [0x1004f084]
je 0x10009427
cmp dword [0x1004f2b8], 1
je 0x10009427
cmp dword [0x1004e97c], 1
je 0x10009434
cmp eax, 1
je 0x10009427
cmp ecx, 1
jne 0x10009a39
cmp dword [0x1004e97c], 1
jne 0x100095ab
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x10009450
mov dword [esp + 0x468], 0xb
jmp 0x10009485
push 0x1003f580
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x1000946d
mov dword [esp + 0x468], 0xc
jmp 0x10009485
push 0x1004e990
mov edx, 0x10003940
mov ecx, eax
call fcn.10001dc0
mov dword [esp + 0x468], eax
push 0x1003f580
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, 1
mov ecx, eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x100094a6
jmp dword [eax*4 + 0x10010318]
mov ecx, str.MH_UNKNOWN
jmp 0x10009514
mov ecx, str.MH_OK
jmp 0x10009514
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x10009514
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x10009514
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x10009514
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x10009514
mov ecx, str.MH_ERROR_ENABLED
jmp 0x10009514
mov ecx, str.MH_ERROR_DISABLED
jmp 0x10009514
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x10009514
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x10009514
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x10009514
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x10009514
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x10009514
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x10009514
mov ecx, str._unknown_
mov eax, dword [esp + 0x468]
inc eax
cmp eax, 0xd
ja case.default.0x10009521
jmp dword [eax*4 + 0x10010350]
mov eax, str.MH_UNKNOWN
jmp 0x1000958f
mov eax, str.MH_OK
jmp 0x1000958f
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000958f
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000958f
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000958f
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000958f
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000958f
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000958f
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000958f
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000958f
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000958f
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000958f
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000958f
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000958f
mov eax, str._unknown_
push ecx
push eax
push str.ReadFile_Hook______s______s_r_n
push 0
call fcn.10002ac0
mov eax, dword [0x1004f714]
add esp, 0x10
mov ecx, dword [0x1004f084]
cmp dword [0x1004f074], 1
je 0x100095cb
cmp dword [0x1004e97c], 1
je 0x100095cb
cmp eax, 1
je 0x100095cb
cmp ecx, 1
jne 0x10009747
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
push 0x1003f5e4
call fcn.10002de0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x10009738
push eax
push str.Hooking_debug_messages_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x474]
add esp, 0xc
mov edx, 0x10005be0
mov dword [0x1004ee38], eax
mov ecx, eax
push 0x1004ee38
call fcn.10001dc0
mov ecx, dword [esp + 0x468]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000963c
jmp dword [eax*4 + 0x10010388]
mov ecx, str.MH_UNKNOWN
jmp 0x100096aa
mov ecx, str.MH_OK
jmp 0x100096aa
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x100096aa
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x100096aa
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x100096aa
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x100096aa
mov ecx, str.MH_ERROR_ENABLED
jmp 0x100096aa
mov ecx, str.MH_ERROR_DISABLED
jmp 0x100096aa
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x100096aa
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x100096aa
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x100096aa
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x100096aa
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x100096aa
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x100096aa
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x100096b7
jmp dword [eax*4 + 0x100103c0]
mov eax, str.MH_UNKNOWN
jmp 0x10009725
mov eax, str.MH_OK
jmp 0x10009725
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x10009725
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x10009725
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x10009725
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x10009725
mov eax, str.MH_ERROR_ENABLED
jmp 0x10009725
mov eax, str.MH_ERROR_DISABLED
jmp 0x10009725
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x10009725
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x10009725
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x10009725
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x10009725
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x10009725
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x10009725
mov eax, str._unknown_
push ecx
push eax
push str.Debug_messages_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x10009747
push str.Failed_to_find_debug_message_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x10050200], 0
je 0x10009971
cmp dword [0x1004f074], 1
jne 0x100098d8
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxxxxxx____
push 0x1003f6bc
call fcn.10002de0
add esp, 8
mov dword [esp + 0x468], eax
test eax, eax
je 0x100098c9
push eax
push str.Hooking_ADX_debug_messages_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x474]
add esp, 0xc
mov edx, 0x10006220
mov dword [0x1004e49c], eax
mov ecx, eax
push 0x1004e49c
call fcn.10001dc0
mov ecx, dword [esp + 0x468]
mov dword [esp + 0x458], eax
call fcn.10002460
inc eax
cmp eax, 0xd
ja case.default.0x100097cd
jmp dword [eax*4 + 0x100103f8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000983b
mov ecx, str.MH_OK
jmp 0x1000983b
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000983b
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000983b
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000983b
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000983b
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000983b
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000983b
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000983b
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000983b
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000983b
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000983b
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000983b
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000983b
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x10009848
jmp dword [eax*4 + 0x10010430]
mov eax, str.MH_UNKNOWN
jmp 0x100098b6
mov eax, str.MH_OK
jmp 0x100098b6
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x100098b6
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x100098b6
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x100098b6
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x100098b6
mov eax, str.MH_ERROR_ENABLED
jmp 0x100098b6
mov eax, str.MH_ERROR_DISABLED
jmp 0x100098b6
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x100098b6
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x100098b6
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x100098b6
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x100098b6
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x100098b6
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x100098b6
mov eax, str._unknown_
push ecx
push eax
push str.ADX_Debug_messages_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x100098d8
push str.Failed_to_find_ADX_debug_message_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x10050200], 0
je 0x10009971
cmp dword [0x1004f2b8], 1
jne 0x10009971
mov edx, dword [esi + 0x50]
mov ecx, edi
push str.xxxxx_____xxxx
push 0x1003f778
call fcn.10002de0
mov esi, eax
add esp, 8
test esi, esi
je 0x10009962
push esi
push str.Hooking_map_debug_messages_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
mov dword [0x1004e95c], esi
mov edx, 0x10006190
mov ecx, esi
push 0x1004e95c
call fcn.10001dc0
mov ecx, esi
mov edi, eax
call fcn.10002460
mov ecx, eax
call fcn.100024c0
mov ecx, edi
mov esi, eax
call fcn.100024c0
push esi
push eax
push str.Map_Debug_messages_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x10009971
push str.Failed_to_find_map_debug_message_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp byte [0x1004ec1f], 0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
jne 0x10009a41
cmp dword [0x1004e97c], 1
jne 0x10009a41
mov edx, dword [edi + 0x50]
xor eax, eax
push str.xxx______xxxxxxx_____
push 0x1003f83c
mov ecx, esi
mov dword [esp + 0x470], eax
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x10009a28
nop
mov ecx, dword [esp + 0x468]
push eax
inc ecx
push ecx
push str.Patching_Audio___d__at______p_r_n
push 0
mov dword [esp + 0x478], ecx
call fcn.10002ac0
mov ecx, dword [esp + 0x470]
lea edx, [esp + 0x30]
push 2
mov byte [esp + 0x34], 0xeb
mov byte [esp + 0x35], 0xd
call fcn.10002e30
mov edx, dword [edi + 0x50]
add esp, 0x14
mov ecx, esi
push str.xxx______xxxxxxx_____
push 0x1003f83c
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
jne 0x100099c0
cmp dword [esp + 0x468], 2
je 0x10009a41
push str.Failed_to_find_Audio_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
jmp 0x10009a41
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
cmp dword [0x1004f070], 1
jne 0x10009bb6
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxxx
push 0x1003f8a4
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x10009ac2
push eax
push str.Patching_safe_mode__1__at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x47c]
add esp, 0xc
mov byte [esp + 0x470], 0xb8
mov byte [esp + 0x471], 0
mov byte [esp + 0x472], 0
mov byte [esp + 0x473], 0
push 5
mov byte [esp + 0x478], 0
call fcn.10002e30
add esp, 4
jmp 0x10009ad1
push str.Failed_to_find_safe_mode__1__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.x____xxxxxx_xx____xxxxx
push 0x1003f918
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x10009b45
push eax
push str.Patching_safe_mode__2__at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x47c]
add esp, 0xc
mov byte [esp + 0x470], 0x90
mov byte [esp + 0x471], 0x90
mov byte [esp + 0x472], 0x90
mov byte [esp + 0x473], 0x90
push 5
mov byte [esp + 0x478], 0x90
call fcn.10002e30
add esp, 4
jmp 0x10009b54
push str.Failed_to_find_safe_mode__2__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.x_xx____xxxxx
push 0x1003f990
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x10009ba7
push eax
push str.Patching_safe_mode__3__at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x2c]
add esp, 0xc
mov byte [esp + 0x20], 0xeb
mov byte [esp + 0x21], 9
push 2
call fcn.10002e30
add esp, 4
jmp 0x10009bb6
push str.Failed_to_find_safe_mode__3__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov eax, dword [0x1004ec18]
test eax, eax
je 0x10009c94
cmp eax, 0x1000
jbe 0x10009bd4
mov dword [0x1004ec18], 0x1000
mov edx, dword [edi + 0x50]
xor eax, eax
push str.xxxxxxxxxx
push 0x1003f9fc
mov ecx, esi
mov dword [esp + 0x470], eax
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x10009c85
mov ecx, dword [esp + 0x468]
push eax
inc ecx
push ecx
push str.Patching_DOF___d__at______p_r_n
push 0
mov dword [esp + 0x478], ecx
call fcn.10002ac0
mov eax, dword [0x1004ec18]
lea edx, [esp + 0x490]
mov ecx, dword [esp + 0x470]
push 0x10
mov dword [esp + 0x494], eax
mov dword [esp + 0x498], eax
mov dword [esp + 0x49c], eax
mov dword [esp + 0x4a0], eax
call fcn.10002e30
mov edx, dword [edi + 0x50]
add esp, 0x14
mov ecx, esi
push str.xxxxxxxxxx
push 0x1003f9fc
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
jne 0x10009c03
cmp dword [esp + 0x468], 2
je 0x10009c94
push str.Failed_to_find_DOF_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004e92c], 0
je 0x1000a121
mov dword [esp + 0x20], 0
nop dword [eax]
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xx______xxxx____xxxx
push 0x1003fa60
call fcn.10002de0
add esp, 8
test eax, eax
je 0x10009d37
mov ecx, dword [esp + 0x20]
add eax, 6
push eax
inc ecx
mov dword [esp + 0x474], eax
push ecx
push str.Patching_Shadows__1._d__at______p_r_n
push 0
mov dword [esp + 0x30], ecx
call fcn.10002ac0
mov eax, dword [0x1004e92c]
lea edx, [esp + 0x468]
mov ecx, dword [esp + 0x480]
push 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10043d60]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x46c], xmm0
call fcn.10002e30
add esp, 0x14
cmp dword [esp + 0x20], 0xe
jl 0x10009cb0
jmp 0x10009d4d
cmp dword [esp + 0x20], 0xf
je 0x10009d4d
push str.Failed_to_find_shadows__1__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
xor eax, eax
push str.xx______xxx_x
push 0x1003fad4
mov ecx, esi
mov dword [esp + 0x470], eax
call fcn.10002de0
add esp, 8
test eax, eax
je 0x10009dff
mov ecx, dword [esp + 0x468]
add eax, 6
push eax
inc ecx
mov dword [esp + 0x474], eax
push ecx
push str.Patching_Shadows__2._d__at______p_r_n
push 0
mov dword [esp + 0x478], ecx
call fcn.10002ac0
mov eax, dword [0x1004e92c]
lea edx, [esp + 0x468]
mov ecx, dword [esp + 0x480]
push 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10043d60]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x46c], xmm0
call fcn.10002e30
mov edx, dword [edi + 0x50]
add esp, 0x14
mov ecx, esi
push str.xx______xxx_x
push 0x1003fad4
call fcn.10002de0
add esp, 8
test eax, eax
jne 0x10009d75
cmp dword [esp + 0x468], 2
je 0x10009e0e
push str.Failed_to_find_shadows__2__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
xor eax, eax
push str.x___xxxx
push 0x1003fb3c
mov ecx, esi
mov dword [esp + 0x470], eax
call fcn.10002de0
add esp, 8
test eax, eax
je 0x10009eca
nop word [eax + eax]
mov ecx, dword [esp + 0x468]
add eax, 4
push eax
inc ecx
mov dword [esp + 0x474], eax
push ecx
push str.Patching_Shadows__3._d__at______p_r_n
push 0
mov dword [esp + 0x478], ecx
call fcn.10002ac0
mov eax, dword [0x1004e92c]
lea edx, [esp + 0x468]
mov ecx, dword [esp + 0x480]
push 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10043d60]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x46c], xmm0
call fcn.10002e30
mov edx, dword [edi + 0x50]
add esp, 0x14
mov ecx, esi
push str.x___xxxx
push 0x1003fb3c
call fcn.10002de0
add esp, 8
test eax, eax
jne 0x10009e40
cmp dword [esp + 0x468], 4
je 0x10009ed9
push str.Failed_to_find_shadows__3__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxxxxxx__xxx_
push 0x1003fba8
call fcn.10002de0
add esp, 8
test eax, eax
je 0x10009f5c
inc eax
push eax
push str.Patching_Shadows__4.1__at______p_r_n
push 0
mov dword [esp + 0x2c], eax
call fcn.10002ac0
mov eax, dword [0x1004e92c]
lea edx, [esp + 0x46c]
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov dword [esp + 0x460], eax
push 4
call fcn.10002e30
mov eax, dword [esp + 0x24]
add esp, 4
add eax, 5
mov dword [esp + 0x20], eax
push eax
push str.Patching_Shadows__4.2__at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x46c]
add esp, 0xc
push 4
call fcn.10002e30
add esp, 4
jmp 0x10009f6b
push str.Failed_to_find_shadows__4__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxxxxxx__x
push 0x1003fc3c
call fcn.10002de0
add esp, 8
test eax, eax
je 0x10009fee
inc eax
push eax
push str.Patching_Shadows__5.1__at______p_r_n
push 0
mov dword [esp + 0x2c], eax
call fcn.10002ac0
mov eax, dword [0x1004e92c]
lea edx, [esp + 0x46c]
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov dword [esp + 0x460], eax
push 4
call fcn.10002e30
mov eax, dword [esp + 0x24]
add esp, 4
add eax, 5
mov dword [esp + 0x20], eax
push eax
push str.Patching_Shadows__5.2__at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x46c]
add esp, 0xc
push 4
call fcn.10002e30
add esp, 4
jmp 0x10009ffd
push str.Failed_to_find_shadows__5__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxxxxxx__xx
push 0x1003fcd0
call fcn.10002de0
add esp, 8
test eax, eax
je 0x1000a080
inc eax
push eax
push str.Patching_Shadows__6.1__at______p_r_n
push 0
mov dword [esp + 0x2c], eax
call fcn.10002ac0
mov eax, dword [0x1004e92c]
lea edx, [esp + 0x46c]
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov dword [esp + 0x460], eax
push 4
call fcn.10002e30
mov eax, dword [esp + 0x24]
add esp, 4
add eax, 5
mov dword [esp + 0x20], eax
push eax
push str.Patching_Shadows__6.2__at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x46c]
add esp, 0xc
push 4
call fcn.10002e30
add esp, 4
jmp 0x1000a08f
push str.Failed_to_find_shadows__6__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxxxxxx__xxx_xxx
push 0x1003fd6c
call fcn.10002de0
add esp, 8
test eax, eax
je 0x1000a112
inc eax
push eax
push str.Patching_Shadows__7.1__at______p_r_n
push 0
mov dword [esp + 0x2c], eax
call fcn.10002ac0
mov eax, dword [0x1004e92c]
lea edx, [esp + 0x46c]
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov dword [esp + 0x460], eax
push 4
call fcn.10002e30
mov eax, dword [esp + 0x24]
add esp, 4
add eax, 5
mov dword [esp + 0x20], eax
push eax
push str.Patching_Shadows__7.2__at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x46c]
add esp, 0xc
push 4
call fcn.10002e30
add esp, 4
jmp 0x1000a121
push str.Failed_to_find_shadows__7__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004e6f0], 0
je 0x1000a1e8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxxxxxx
push 0x1003fe04
call fcn.10002de0
add esp, 8
test eax, eax
je 0x1000a1d9
cmp dword [0x1004e6f0], 0x400
jbe 0x1000a163
mov dword [0x1004e6f0], 0x400
inc eax
push eax
push str.Patching_inventory_background__1__at______p_r_n
push 0
mov dword [esp + 0x2c], eax
call fcn.10002ac0
mov eax, dword [0x1004e6f0]
lea edx, [esp + 0x464]
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov dword [esp + 0x458], eax
push 4
call fcn.10002e30
mov eax, dword [0x1004e6f0]
add esp, 4
neg eax
mov dword [esp + 0x470], eax
mov eax, dword [esp + 0x20]
add eax, 5
push eax
push str.Patching_inventory_background__2__at______p_r_n
push 0
mov dword [esp + 0x2c], eax
call fcn.10002ac0
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x47c]
add esp, 0xc
push 4
call fcn.10002e30
add esp, 4
jmp 0x1000a1e8
push str.Failed_to_find_inventory_background_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov ecx, dword [0x1004e91c]
test ecx, ecx
je 0x1000a4bb
cmp ecx, 0x1000
jbe 0x1000a209
mov ecx, 0x1000
mov dword [0x1004e91c], ecx
mov eax, dword [0x1004ec18]
test eax, eax
je 0x1000a21b
cmp ecx, eax
je 0x1000a21b
mov dword [0x1004e91c], eax
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.x____xxxxxxxxxxxxxxxxx
push 0x1003fec0
call fcn.10002de0
add esp, 8
test eax, eax
je 0x1000a274
inc eax
push eax
push str.Patching_status_screen__1__at______p_r_n
push 0
mov dword [esp + 0x47c], eax
call fcn.10002ac0
mov eax, dword [0x1004e91c]
lea edx, [esp + 0x464]
mov ecx, dword [esp + 0x47c]
add esp, 0xc
mov dword [esp + 0x458], eax
push 4
call fcn.10002e30
add esp, 4
jmp 0x1000a283
push str.Failed_to_find_status_screen__1__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.x____xxxxxxxxxxxxxxxx
push 0x1003ff48
call fcn.10002de0
add esp, 8
test eax, eax
je 0x1000a2dc
inc eax
push eax
push str.Patching_status_screen__2__at______p_r_n
push 0
mov dword [esp + 0x47c], eax
call fcn.10002ac0
mov eax, dword [0x1004e91c]
lea edx, [esp + 0x464]
mov ecx, dword [esp + 0x47c]
add esp, 0xc
mov dword [esp + 0x458], eax
push 4
call fcn.10002e30
add esp, 4
jmp 0x1000a2eb
push str.Failed_to_find_status_screen__2__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxxxxxx
push 0x1003ffb8
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000a3de
mov ecx, dword [0x1004e91c]
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 + 0x10043d60]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x464], xmm0
call fcn.10002ac0
movss xmm0, dword [esp + 0x464]
lea edx, [esp + 0x2c]
add esp, 0xc
movss dword [esp + 0x20], xmm0
mov ecx, esi
push 4
call fcn.10002e30
add esp, 4
add esi, 0x30
push esi
push str.Patching_status_screen__3.1__at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
lea edx, [esp + 0x20]
mov ecx, esi
push 4
call fcn.10002e30
add esp, 4
lea esi, [edi + 0x34]
push esi
push str.Patching_status_screen__3.2__at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
lea edx, [esp + 0x20]
mov ecx, esi
push 4
call fcn.10002e30
add esp, 4
lea esi, [edi + 0x4c]
push esi
push str.Patching_status_screen__3.3__at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
lea edx, [esp + 0x20]
mov ecx, esi
push 4
call fcn.10002e30
mov esi, dword [esp + 0x1c]
add esp, 4
mov edi, dword [esp + 0x14]
jmp 0x1000a3ed
push str.Failed_to_find_status_screen__3__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004ec18], 0
jne 0x1000a4bb
mov edx, dword [edi + 0x50]
xor eax, eax
push str.xxxxxxxxxx
push 0x1003f9fc
mov ecx, esi
mov dword [esp + 0x470], eax
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000a4ac
nop dword [eax]
inc dword [esp + 0x468]
push eax
push str.Patching_status_screen__4__at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [0x1004e91c]
lea edx, [esp + 0x48c]
mov ecx, dword [esp + 0x46c]
add esp, 0xc
mov dword [esp + 0x480], eax
mov dword [esp + 0x484], eax
mov dword [esp + 0x488], eax
push 0x10
mov dword [esp + 0x490], eax
call fcn.10002e30
mov edx, dword [edi + 0x50]
add esp, 4
mov ecx, esi
push str.xxxxxxxxxx
push 0x1003f9fc
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
jne 0x1000a430
cmp dword [esp + 0x468], 2
je 0x1000a4bb
push str.Failed_to_find_status_screen__4__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004e470], 1
jne 0x1000a553
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.x_____x_________xx
push 0x10040110
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000a544
push eax
push str.Patching_cutscene_borders_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x484]
add esp, 0xc
mov byte [esp + 0x478], 0xd9
mov byte [esp + 0x479], 0xee
mov byte [esp + 0x47a], 0x90
mov byte [esp + 0x47b], 0x90
push 6
mov byte [esp + 0x480], 0x90
mov byte [esp + 0x481], 0x90
call fcn.10002e30
add esp, 4
jmp 0x1000a553
push str.Failed_to_find_cutscene_borders_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004f068], 1
jne 0x1000a6ee
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xx____xxxxxxxxxxx
push 0x10040190
call fcn.10002de0
add esp, 8
test eax, eax
je 0x1000a618
add eax, 2
push eax
push str.Patching_black_bars__1__at______p_r_n
push 0
mov dword [esp + 0x46c], eax
mov dword [esp + 0x464], eax
call fcn.10002ac0
add esp, 0xc
mov dword [esp + 0x468], 0
lea eax, [esp + 0x468]
push eax
push 4
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a627
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x458]
mov dword [eax], 0x10043718
lea eax, [esp + 0x468]
push eax
push dword [esp + 0x46c]
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000a627
push str.Failed_to_find_black_bars__1__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xx____x____x____xxxxxx
push 0x1004020c
call fcn.10002de0
add esp, 8
test eax, eax
je 0x1000a6df
add eax, 2
push eax
push str.Patching_black_bars__2__at______p_r_n
push 0
mov dword [esp + 0x46c], eax
mov dword [esp + 0x464], eax
call fcn.10002ac0
add esp, 0xc
mov dword [esp + 0x468], 0
lea eax, [esp + 0x468]
push eax
push 4
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a6ee
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x458]
mov dword [eax], 0x10043718
lea eax, [esp + 0x468]
push eax
push dword [esp + 0x46c]
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000a6ee
push str.Failed_to_find_black_bars__2__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxx____xx
push 0x10040280
call fcn.10002de0
add esp, 8
mov dword [0x10050208], eax
cmp dword [0x1004ebd4], 1
jne 0x1000a751
test eax, eax
je 0x1000a742
push eax
push str.Patching_FPS_fix_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [0x10050208]
lea edx, [esp + 0x37]
add esp, 0xc
mov byte [esp + 0x2b], 0x42
push 1
call fcn.10002e30
add esp, 4
jmp 0x1000a751
push str.Failed_to_find_FPS_fix_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004e944], 1
jne 0x1000a7e9
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxxx
push 0x100402d0
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000a7da
push eax
push str.Patching_option_menu_freeze_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x484]
add esp, 0xc
mov byte [esp + 0x478], 0xc3
mov byte [esp + 0x479], 0x90
mov byte [esp + 0x47a], 0x90
mov byte [esp + 0x47b], 0x90
push 6
mov byte [esp + 0x480], 0x90
mov byte [esp + 0x481], 0x90
call fcn.10002e30
add esp, 4
jmp 0x1000a7e9
push str.Failed_to_find_option_menu_freeze_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x100501e4], 1
jne 0x1000a854
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxx
push 0x1004033c
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000a845
push eax
push str.Patching_pause_menu_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x2c]
add esp, 0xc
mov byte [esp + 0x20], 0xeb
mov byte [esp + 0x21], 0x36
push 2
call fcn.10002e30
add esp, 4
jmp 0x1000a854
push str.Failed_to_find_pause_menu_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004ffb4], 1
jne 0x1000ab8a
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xx____xx____xxx
push 0x1004039c
call fcn.10002de0
add esp, 8
test eax, eax
je 0x1000a919
add eax, 2
push eax
push str.Patching_FMV1_at______p_r_n
push 0
mov dword [esp + 0x46c], eax
mov dword [esp + 0x464], eax
call fcn.10002ac0
add esp, 0xc
mov dword [esp + 0x468], 0
lea eax, [esp + 0x468]
push eax
push 4
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a928
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x458]
mov dword [eax], 0x1004e240
lea eax, [esp + 0x468]
push eax
push dword [esp + 0x46c]
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000a928
push str.Failed_to_find_FMV1_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xx____xxxxxxxxxx
push 0x10040400
call fcn.10002de0
add esp, 8
test eax, eax
je 0x1000a9e0
add eax, 2
push eax
push str.Patching_FMV2_at______p_r_n
push 0
mov dword [esp + 0x46c], eax
mov dword [esp + 0x464], eax
call fcn.10002ac0
add esp, 0xc
mov dword [esp + 0x468], 0
lea eax, [esp + 0x468]
push eax
push 4
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000a9ef
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x458]
mov dword [eax], 0x10050214
lea eax, [esp + 0x468]
push eax
push dword [esp + 0x46c]
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000a9ef
push str.Failed_to_find_FMV2_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004e484], 0
je 0x1000ab8a
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xx____xxxxxx____x
push 0x10040468
call fcn.10002de0
add esp, 8
test eax, eax
je 0x1000aab4
add eax, 2
push eax
push str.Patching_FMV3_at______p_r_n
push 0
mov dword [esp + 0x46c], eax
mov dword [esp + 0x464], eax
call fcn.10002ac0
add esp, 0xc
mov dword [esp + 0x468], 0
lea eax, [esp + 0x468]
push eax
push 4
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000aac3
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x458]
mov dword [eax], 0x10043718
lea eax, [esp + 0x468]
push eax
push dword [esp + 0x46c]
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000aac3
push str.Failed_to_find_FMV3_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xx____xx____xxxx
push 0x100404d0
call fcn.10002de0
add esp, 8
test eax, eax
je 0x1000ab7b
add eax, 2
push eax
push str.Patching_FMV4_at______p_r_n
push 0
mov dword [esp + 0x46c], eax
mov dword [esp + 0x464], eax
call fcn.10002ac0
add esp, 0xc
mov dword [esp + 0x468], 0
lea eax, [esp + 0x468]
push eax
push 4
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 1
jne 0x1000ab8a
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [esp + 0x458]
mov dword [eax], 0x1004e934
lea eax, [esp + 0x468]
push eax
push dword [esp + 0x46c]
push 4
push dword [esp + 0x46c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
jmp 0x1000ab8a
push str.Failed_to_find_FMV4_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.x____x____xxxx
push 0x10040534
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000abfe
push eax
push str.Patching_option_menu_window_size_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x47c]
add esp, 0xc
mov byte [esp + 0x470], 0x90
mov byte [esp + 0x471], 0x90
mov byte [esp + 0x472], 0x90
mov byte [esp + 0x473], 0x90
push 5
mov byte [esp + 0x478], 0x90
call fcn.10002e30
add esp, 4
jmp 0x1000ac0d
push str.Failed_to_find_option_menu_window_size_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxx____xxx
push 0x100405b4
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000ac60
push eax
push str.Patching_option_menu_render_size_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x2c]
add esp, 0xc
mov byte [esp + 0x20], 0xeb
mov byte [esp + 0x21], 0x1a
push 2
call fcn.10002e30
add esp, 4
jmp 0x1000ac6f
push str.Failed_to_find_option_menu_render_size_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxx____xxx____x_____xx
push 0x1004063c
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000acc2
push eax
push str.Patching_option_menu_screen_mode_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x2c]
add esp, 0xc
mov byte [esp + 0x20], 0xeb
mov byte [esp + 0x21], 7
push 2
call fcn.10002e30
add esp, 4
jmp 0x1000acd1
push str.Failed_to_find_option_menu_screen_mode_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.x____x____x____x____xx
push 0x100406d0
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000ad99
push eax
push str.Patching_option_menu_PC_settings_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x48c]
add esp, 0xc
mov byte [esp + 0x480], 0x90
mov byte [esp + 0x481], 0x90
mov byte [esp + 0x482], 0x90
mov byte [esp + 0x483], 0x90
push 0xf
mov byte [esp + 0x488], 0x90
mov byte [esp + 0x489], 0x90
mov byte [esp + 0x48a], 0x90
mov byte [esp + 0x48b], 0x90
mov byte [esp + 0x48c], 0x90
mov byte [esp + 0x48d], 0x90
mov byte [esp + 0x48e], 0x90
mov byte [esp + 0x48f], 0x90
mov byte [esp + 0x490], 0x90
mov byte [esp + 0x491], 0x90
mov byte [esp + 0x492], 0x90
call fcn.10002e30
add esp, 4
jmp 0x1000ada8
push str.Failed_to_find_option_menu_PC_settings_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004e6dc], 1
jne 0x1000af0c
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxx
push 0x10040758
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000ae29
push eax
push str.Patching_ADX_buffer_size__1__at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x47c]
add esp, 0xc
mov byte [esp + 0x470], 0x68
mov byte [esp + 0x471], 0x30
mov byte [esp + 0x472], 0x57
mov byte [esp + 0x473], 0x57
push 5
mov byte [esp + 0x478], 0
call fcn.10002e30
add esp, 4
jmp 0x1000ae38
push str.Failed_to_find_ADX_buffer_size__1__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxx_xx
push 0x100407cc
mov dword [esp + 0x470], 0
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000aeef
nop dword [eax]
mov ecx, dword [esp + 0x468]
push eax
inc ecx
push ecx
push str.Patching_ADX_buffer_size__2._d__at______p_r_n
push 0
mov dword [esp + 0x478], ecx
call fcn.10002ac0
mov ecx, dword [esp + 0x470]
lea edx, [esp + 0x468]
push 5
mov byte [esp + 0x46c], 0x68
mov byte [esp + 0x46d], 0xc8
mov byte [esp + 0x46e], 0x63
mov byte [esp + 0x46f], 0xe
mov byte [esp + 0x470], 0
call fcn.10002e30
mov edx, dword [edi + 0x50]
add esp, 0x14
mov ecx, esi
push str.xxxxx_xx
push 0x100407cc
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
jne 0x1000ae70
mov eax, dword [esp + 0x468]
inc eax
cmp eax, 4
je 0x1000af0c
push eax
push str.Failed_to_find_ADX_buffer_size__2._d__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 0xc
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.x____x____xxxx____xx
push 0x10040850
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000afc4
push eax
push str.Patching_Sleep_Debug_Msg_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x48c]
add esp, 0xc
mov byte [esp + 0x480], 0x90
mov byte [esp + 0x481], 0x90
mov byte [esp + 0x482], 0x90
mov byte [esp + 0x483], 0x90
push 0xd
mov byte [esp + 0x488], 0x90
mov byte [esp + 0x489], 0x90
mov byte [esp + 0x48a], 0x90
mov byte [esp + 0x48b], 0x90
mov byte [esp + 0x48c], 0x90
mov byte [esp + 0x48d], 0x90
mov byte [esp + 0x48e], 0x90
mov byte [esp + 0x48f], 0x90
mov byte [esp + 0x490], 0x90
call fcn.10002e30
add esp, 4
jmp 0x1000afd3
push str.Failed_to_find_Sleep_Debug_Msg_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxx
push 0x100408bc
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000b030
push eax
push str.Patching_Sleep_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x2c]
add esp, 0xc
mov byte [esp + 0x20], 0x90
mov byte [esp + 0x21], 0x90
mov byte [esp + 0x22], 0x90
mov byte [esp + 0x23], 0x90
push 4
call fcn.10002e30
add esp, 4
jmp 0x1000b03f
push str.Failed_to_find_Sleep_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004e474], 1
jne 0x1000b132
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxxxxxx
push 0x10040904
mov byte [esp + 0x478], 0x90
mov byte [esp + 0x479], 0x90
mov byte [esp + 0x47a], 0x90
mov byte [esp + 0x47b], 0x90
mov byte [esp + 0x47c], 0x90
mov byte [esp + 0x47d], 0x90
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000b0c8
push eax
push str.Patching_GodMode__1__at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x47c]
add esp, 0xc
push 6
call fcn.10002e30
add esp, 4
jmp 0x1000b0d7
push str.Failed_to_find_GodMode__1__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxx
push 0x10040960
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000b123
push eax
push str.Patching_GodMode__2__at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x47c]
add esp, 0xc
push 6
call fcn.10002e30
add esp, 4
jmp 0x1000b132
push str.Failed_to_find_GodMode__2__in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004f4f0], 1
jne 0x1000b1da
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xx______xx_______xx
push 0x100409cc
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000b1cb
push eax
push str.Patching_infinite_items_ammo_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x48c]
add esp, 0xc
mov byte [esp + 0x480], 0x90
mov byte [esp + 0x481], 0x90
mov byte [esp + 0x482], 0x90
mov byte [esp + 0x483], 0x90
push 8
mov byte [esp + 0x488], 0x90
mov byte [esp + 0x489], 0x90
mov byte [esp + 0x48a], 0x90
mov byte [esp + 0x48b], 0x90
call fcn.10002e30
add esp, 4
jmp 0x1000b1da
push str.Failed_to_find_infinite_items_ammo_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004ffc0], 1
jne 0x1000b6ed
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxx____xxxxx__xx____x
push 0x10040a54
mov dword [esp + 0x470], 0
call fcn.10002de0
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
je 0x1000b555
nop word [eax + eax]
inc dword [esp + 0x468]
push eax
push str._r_nHooking_FOV_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x2c]
add esp, 0xc
cmp dword [esp + 0x468], 1
mov ecx, eax
jne 0x1000b3ff
push 0x1004e494
mov edx, 0x10005770
mov dword [0x1004e494], eax
call fcn.10001dc0
mov ecx, dword [esp + 0x20]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000b27a
jmp dword [eax*4 + 0x10010468]
mov ecx, str.MH_UNKNOWN
jmp 0x1000b2e8
mov ecx, str.MH_OK
jmp 0x1000b2e8
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000b2e8
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000b2e8
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000b2e8
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000b2e8
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000b2e8
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000b2e8
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000b2e8
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000b2e8
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000b2e8
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000b2e8
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000b2e8
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000b2e8
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000b2f9
jmp dword [eax*4 + 0x100104a0]
push ecx
mov eax, str.MH_UNKNOWN
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000b51e
push ecx
mov eax, str.MH_OK
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000b51e
push ecx
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000b51e
push ecx
mov eax, str.MH_ERROR_NOT_INITIALIZED
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000b51e
push ecx
mov eax, str.MH_ERROR_ALREADY_CREATED
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000b51e
push ecx
mov eax, str.MH_ERROR_NOT_CREATED
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000b51e
push ecx
mov eax, str.MH_ERROR_ENABLED
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000b51e
push ecx
mov eax, str.MH_ERROR_DISABLED
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000b51e
push ecx
mov eax, str.MH_ERROR_NOT_EXECUTABLE
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000b51e
push ecx
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000b51e
push ecx
mov eax, str.MH_ERROR_MEMORY_ALLOC
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000b51e
push ecx
mov eax, str.MH_ERROR_MEMORY_PROTECT
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000b51e
push ecx
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000b51e
push ecx
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000b51e
push ecx
mov eax, str._unknown_
push eax
push str.Horizontal_FOV_function_Hook______s______s_r_n
jmp 0x1000b51e
push 0x1004f704
mov edx, 0x100058a0
mov dword [0x1004f704], eax
call fcn.10001dc0
mov ecx, dword [esp + 0x20]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000b42e
jmp dword [eax*4 + 0x100104d8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000b49c
mov ecx, str.MH_OK
jmp 0x1000b49c
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000b49c
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000b49c
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000b49c
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000b49c
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000b49c
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000b49c
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000b49c
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000b49c
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000b49c
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000b49c
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000b49c
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000b49c
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000b4a9
jmp dword [eax*4 + 0x10010510]
mov eax, str.MH_UNKNOWN
jmp 0x1000b517
mov eax, str.MH_OK
jmp 0x1000b517
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000b517
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000b517
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000b517
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000b517
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000b517
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000b517
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000b517
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000b517
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000b517
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000b517
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000b517
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000b517
mov eax, str._unknown_
push ecx
push eax
push str.Vertical_FOV_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
mov edx, dword [edi + 0x50]
add esp, 0x10
mov ecx, esi
push str.xxx____xxxxx__xx____x
push 0x10040a54
call fcn.10002de0
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne 0x1000b220
cmp dword [esp + 0x468], 2
je 0x1000b564
push str.Failed_to_find_FOV_functions_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004e254], 1
jne 0x1000b6ed
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxx____xxxxxxxx_____xx
push 0x10040b34
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000b6de
push eax
push str._r_nHooking_scene_type_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10005930
mov dword [0x1004ec14], eax
mov ecx, eax
push 0x1004ec14
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000b5e2
jmp dword [eax*4 + 0x10010548]
mov ecx, str.MH_UNKNOWN
jmp 0x1000b650
mov ecx, str.MH_OK
jmp 0x1000b650
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000b650
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000b650
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000b650
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000b650
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000b650
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000b650
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000b650
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000b650
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000b650
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000b650
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000b650
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000b650
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000b65d
jmp dword [eax*4 + 0x10010580]
mov eax, str.MH_UNKNOWN
jmp 0x1000b6cb
mov eax, str.MH_OK
jmp 0x1000b6cb
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000b6cb
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000b6cb
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000b6cb
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000b6cb
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000b6cb
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000b6cb
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000b6cb
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000b6cb
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000b6cb
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000b6cb
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000b6cb
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000b6cb
mov eax, str._unknown_
push ecx
push eax
push str.Scene_type_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000b6ed
push str.Failed_to_find_scene_type_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004fd80], 1
jne 0x1000c391
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.x_____x____x_____x_____
push 0x10040bf0
call fcn.10002de0
push eax
push str._r_nGetting_cursor_at______p_r_n
push 0
mov dword [0x1004ebe8], eax
call fcn.10002ac0
mov edx, dword [edi + 0x50]
add esp, 0x14
mov ecx, esi
push str.xxxxxxxxx
push 0x10040c28
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000b890
push eax
push str._r_nHooking_show_item_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x100058b0
mov dword [0x1004f2c4], eax
mov ecx, eax
push 0x1004f2c4
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000b794
jmp dword [eax*4 + 0x100105b8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000b802
mov ecx, str.MH_OK
jmp 0x1000b802
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000b802
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000b802
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000b802
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000b802
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000b802
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000b802
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000b802
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000b802
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000b802
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000b802
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000b802
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000b802
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000b80f
jmp dword [eax*4 + 0x100105f0]
mov eax, str.MH_UNKNOWN
jmp 0x1000b87d
mov eax, str.MH_OK
jmp 0x1000b87d
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000b87d
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000b87d
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000b87d
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000b87d
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000b87d
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000b87d
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000b87d
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000b87d
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000b87d
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000b87d
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000b87d
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000b87d
mov eax, str._unknown_
push ecx
push eax
push str.Show_item_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000b89f
push str.Failed_to_find_show_item_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxx
push 0x10040cb8
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000ba0c
push eax
push str._r_nHooking_save_and_load_menu_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10007300
mov dword [0x1004e248], eax
mov ecx, eax
push 0x1004e248
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000b910
jmp dword [eax*4 + 0x10010628]
mov ecx, str.MH_UNKNOWN
jmp 0x1000b97e
mov ecx, str.MH_OK
jmp 0x1000b97e
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000b97e
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000b97e
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000b97e
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000b97e
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000b97e
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000b97e
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000b97e
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000b97e
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000b97e
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000b97e
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000b97e
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000b97e
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000b98b
jmp dword [eax*4 + 0x10010660]
mov eax, str.MH_UNKNOWN
jmp 0x1000b9f9
mov eax, str.MH_OK
jmp 0x1000b9f9
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000b9f9
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000b9f9
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000b9f9
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000b9f9
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000b9f9
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000b9f9
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000b9f9
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000b9f9
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000b9f9
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000b9f9
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000b9f9
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000b9f9
mov eax, str._unknown_
push ecx
push eax
push str.Save_and_load_menu_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000ba1b
push str.Failed_to_find_save_and_load_menu_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
xor eax, eax
cmp byte [0x1004ec1f], al
mov dword [esp + 0x470], eax
mov word [esp + 0x474], ax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
push 6
lea eax, [esp + 0x478]
push eax
jne 0x1000be1c
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 0x1000c1fb
cmp dword [esp + 0x20], 6
jne 0x1000c1fb
cmp byte [esp + 0x470], 0x51
jne 0x1000c1fb
cmp byte [esp + 0x471], 0xe8
jne 0x1000c1fb
cmp byte [esp + 0x472], 0xfa
jne 0x1000c1fb
cmp byte [esp + 0x473], 0xff
jne 0x1000c1fb
cmp byte [esp + 0x474], 0xd7
jne 0x1000c1fb
cmp byte [esp + 0x475], 0xff
jne 0x1000c1fb
push 0x682ba0
push str._r_nHooking_2D_width_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
mov dword [0x1004fd8c], 0x682ba0
mov edx, 0x10006fc0
mov ecx, 0x682ba0
push 0x1004fd8c
call fcn.10001dc0
mov ecx, 0x682ba0
mov edi, eax
call fcn.10002460
mov ecx, eax
call fcn.100024c0
mov ecx, edi
mov esi, eax
call fcn.100024c0
push esi
push eax
push str.2D_width_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
push 0x4168e0
push str._r_nHooking_screen_width_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0x1c
mov dword [0x1004e4b0], 0x4168e0
mov edx, 0x10007220
mov ecx, 0x4168e0
push 0x1004e4b0
call fcn.10001dc0
mov ecx, 0x4168e0
mov edi, eax
call fcn.10002460
mov ecx, eax
call fcn.100024c0
mov ecx, edi
mov esi, eax
call fcn.100024c0
push esi
push eax
push str.Screen_width_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
push 0x600b60
push str._r_nHooking_hitbox_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0x1c
mov dword [0x1004f2ac], 0x600b60
mov edx, 0x10007280
mov ecx, 0x600b60
push 0x1004f2ac
call fcn.10001dc0
mov ecx, 0x600b60
mov edi, eax
call fcn.10002460
mov ecx, eax
call fcn.100024c0
mov ecx, edi
mov esi, eax
call fcn.100024c0
push esi
push eax
push str.Hitbox_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
mov eax, dword [0x1004ffac]
add esp, 0x10
movss xmm3, dword [esp + 0x24]
mulss xmm3, dword [0x10043ce8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10043d60]
cvtpd2ps xmm2, xmm0
movss xmm0, dword [0x1004f2b0]
movaps xmm1, xmm0
subss xmm1, xmm3
cmp dword [0x100501e8], 1
mulss xmm1, dword [0x10043cdc]
mov byte [esp + 0x460], 0xd9
divss xmm0, xmm2
mov byte [esp + 0x461], 5
mov byte [esp + 0x462], 0xf0
mov byte [esp + 0x463], 0xa8
mov byte [esp + 0x464], 0x68
mov byte [esp + 0x465], 0
divss xmm1, xmm0
subss xmm2, xmm1
movss dword [esp + 0x468], xmm1
movss dword [0x1004eba0], xmm2
jne 0x1000bd48
push 0x5d7414
push 0x5d74ac
push 0x5d7446
push str._r_nPatching_logos_at______p______p______p_r_n
push 0
call fcn.10002ac0
add esp, 0x14
lea edx, [esp + 0x468]
mov ecx, 0x5d744a
push 4
call fcn.10002e30
add esp, 4
lea edx, [esp + 0x468]
mov ecx, 0x5d74b0
push 4
call fcn.10002e30
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x5d7414
push 6
call fcn.10002e30
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [esp + 0x28]
add esp, 4
mov dword [esp + 0x24], 0
mov dword [esp + 0x458], 0x5d7416
push eax
push 4
push 4
push 0x5d7416
call esi
cmp eax, 1
jne 0x1000bd4e
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edi, dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
push eax
call edi
mov eax, dword [esp + 0x458]
mov dword [eax], 0x1004eba0
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x28]
push 4
push 0x5d7416
call esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call edi
jmp 0x1000bd54
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov edi, dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
cmp dword [0x1004e960], 1
jne 0x1000c1f3
push 0x59be13
push 0x59beab
push 0x59be45
push str._r_nPatching_credits_at______p______p______p_r_n
push 0
call fcn.10002ac0
add esp, 0x14
lea edx, [esp + 0x468]
mov ecx, 0x59be49
push 4
call fcn.10002e30
add esp, 4
lea edx, [esp + 0x468]
mov ecx, 0x59beaf
push 4
call fcn.10002e30
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x59be13
push 6
call fcn.10002e30
add esp, 4
mov dword [esp + 0x24], 0
lea eax, [esp + 0x24]
mov dword [esp + 0x458], 0x59be15
push eax
push 4
push 4
push 0x59be15
call esi
cmp eax, 1
jne 0x1000c1f3
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call edi
mov eax, dword [esp + 0x458]
mov dword [eax], 0x1004eba0
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x28]
push 4
push 0x59be15
jmp 0x1000c1e4
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 0x1000c1fb
cmp dword [esp + 0x20], 6
jne 0x1000c1fb
cmp byte [esp + 0x470], 0x51
jne 0x1000c1fb
cmp byte [esp + 0x471], 0xe8
jne 0x1000c1fb
cmp byte [esp + 0x472], 0xba
jne 0x1000c1fb
cmp byte [esp + 0x473], 0x12
jne 0x1000c1fb
cmp byte [esp + 0x474], 0xd8
jne 0x1000c1fb
cmp byte [esp + 0x475], 0xff
jne 0x1000c1fb
push 0x6818e0
push str._r_nHooking_2D_width_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
mov dword [0x1004fd8c], 0x6818e0
mov edx, 0x10006fc0
mov ecx, 0x6818e0
push 0x1004fd8c
call fcn.10001dc0
mov ecx, 0x6818e0
mov edi, eax
call fcn.10002460
mov ecx, eax
call fcn.100024c0
mov ecx, edi
mov esi, eax
call fcn.100024c0
push esi
push eax
push str.2D_width_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
push 0x4168e0
push str._r_nHooking_screen_width_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0x1c
mov dword [0x1004e4b0], 0x4168e0
mov edx, 0x10007220
mov ecx, 0x4168e0
push 0x1004e4b0
call fcn.10001dc0
mov ecx, 0x4168e0
mov edi, eax
call fcn.10002460
mov ecx, eax
call fcn.100024c0
mov ecx, edi
mov esi, eax
call fcn.100024c0
push esi
push eax
push str.Screen_width_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
push 0x5ff7f0
push str._r_nHooking_hitbox_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0x1c
mov dword [0x1004f2ac], 0x5ff7f0
mov edx, 0x10007280
mov ecx, 0x5ff7f0
push 0x1004f2ac
call fcn.10001dc0
mov ecx, 0x5ff7f0
mov edi, eax
call fcn.10002460
mov ecx, eax
call fcn.100024c0
mov ecx, edi
mov esi, eax
call fcn.100024c0
push esi
push eax
push str.Hitbox_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
mov eax, dword [0x1004ffac]
add esp, 0x10
movss xmm3, dword [esp + 0x24]
mulss xmm3, dword [0x10043ce8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10043d60]
cvtpd2ps xmm2, xmm0
movss xmm0, dword [0x1004f2b0]
movaps xmm1, xmm0
subss xmm1, xmm3
cmp dword [0x100501e8], 1
mulss xmm1, dword [0x10043cdc]
mov byte [esp + 0x460], 0xd9
divss xmm0, xmm2
mov byte [esp + 0x461], 5
mov byte [esp + 0x462], 0xf0
mov byte [esp + 0x463], 0xa8
mov byte [esp + 0x464], 0x68
mov byte [esp + 0x465], 0
divss xmm1, xmm0
subss xmm2, xmm1
movss dword [esp + 0x468], xmm1
movss dword [0x1004eba0], xmm2
jne 0x1000c119
push 0x5d4d24
push 0x5d4dbc
push 0x5d4d56
push str._r_nPatching_logos_at______p______p______p_r_n
push 0
call fcn.10002ac0
add esp, 0x14
lea edx, [esp + 0x468]
mov ecx, 0x5d4d5a
push 4
call fcn.10002e30
add esp, 4
lea edx, [esp + 0x468]
mov ecx, 0x5d4dc0
push 4
call fcn.10002e30
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x5d4d24
push 6
call fcn.10002e30
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [esp + 0x28]
add esp, 4
mov dword [esp + 0x24], 0
mov dword [esp + 0x458], 0x5d4d26
push eax
push 4
push 4
push 0x5d4d26
call esi
cmp eax, 1
jne 0x1000c11f
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edi, dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
push eax
call edi
mov eax, dword [esp + 0x458]
mov dword [eax], 0x1004eba0
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x28]
push 4
push 0x5d4d26
call esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call edi
jmp 0x1000c125
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov edi, dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
cmp dword [0x1004e960], 1
jne 0x1000c1f3
push 0x5e0463
push 0x5e04fb
push 0x5e0495
push str._r_nPatching_credits_at______p______p______p_r_n
push 0
call fcn.10002ac0
add esp, 0x14
lea edx, [esp + 0x468]
mov ecx, 0x5e0499
push 4
call fcn.10002e30
add esp, 4
lea edx, [esp + 0x468]
mov ecx, 0x5e04ff
push 4
call fcn.10002e30
add esp, 4
lea edx, [esp + 0x460]
mov ecx, 0x5e0463
push 6
call fcn.10002e30
add esp, 4
mov dword [esp + 0x24], 0
lea eax, [esp + 0x24]
mov dword [esp + 0x458], 0x5e0465
push eax
push 4
push 4
push 0x5e0465
call esi
cmp eax, 1
jne 0x1000c1f3
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call edi
mov eax, dword [esp + 0x458]
mov dword [eax], 0x1004eba0
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x28]
push 4
push 0x5e0465
call esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call edi
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
cmp dword [0x1004fd80], 1
jne 0x1000c391
cmp dword [0x1004e478], 1
jne 0x1000c391
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxx____xx
push 0x10040eb8
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000c382
push eax
push str._r_nHooking_display_map_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x100072f0
mov dword [0x1004ec0c], eax
mov ecx, eax
push 0x1004ec0c
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000c286
jmp dword [eax*4 + 0x10010698]
mov ecx, str.MH_UNKNOWN
jmp 0x1000c2f4
mov ecx, str.MH_OK
jmp 0x1000c2f4
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000c2f4
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000c2f4
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000c2f4
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000c2f4
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000c2f4
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000c2f4
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000c2f4
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000c2f4
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000c2f4
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000c2f4
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000c2f4
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000c2f4
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000c301
jmp dword [eax*4 + 0x100106d0]
mov eax, str.MH_UNKNOWN
jmp 0x1000c36f
mov eax, str.MH_OK
jmp 0x1000c36f
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000c36f
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000c36f
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000c36f
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000c36f
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000c36f
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000c36f
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000c36f
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000c36f
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000c36f
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000c36f
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000c36f
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000c36f
mov eax, str._unknown_
push ecx
push eax
push str.Display_Map_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000c391
push str.Failed_to_find_display_map_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxx___xx___
push 0x10040f60
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000c4fe
push eax
push str._r_nHooking_window_resolution_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10005a40
mov dword [0x1004f060], eax
mov ecx, eax
push 0x1004f060
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000c402
jmp dword [eax*4 + 0x10010708]
mov ecx, str.MH_UNKNOWN
jmp 0x1000c470
mov ecx, str.MH_OK
jmp 0x1000c470
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000c470
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000c470
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000c470
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000c470
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000c470
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000c470
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000c470
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000c470
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000c470
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000c470
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000c470
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000c470
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000c47d
jmp dword [eax*4 + 0x10010740]
mov eax, str.MH_UNKNOWN
jmp 0x1000c4eb
mov eax, str.MH_OK
jmp 0x1000c4eb
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000c4eb
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000c4eb
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000c4eb
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000c4eb
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000c4eb
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000c4eb
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000c4eb
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000c4eb
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000c4eb
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000c4eb
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000c4eb
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000c4eb
mov eax, str._unknown_
push ecx
push eax
push str.Window_Resolution_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000c50d
push str.Failed_to_find_window_resolution_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxx___xx___
push 0x10040f60
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000c67a
push eax
push str._r_nHooking_render_resolution_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10005af0
mov dword [0x100501fc], eax
mov ecx, eax
push 0x100501fc
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000c57e
jmp dword [eax*4 + 0x10010778]
mov ecx, str.MH_UNKNOWN
jmp 0x1000c5ec
mov ecx, str.MH_OK
jmp 0x1000c5ec
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000c5ec
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000c5ec
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000c5ec
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000c5ec
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000c5ec
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000c5ec
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000c5ec
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000c5ec
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000c5ec
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000c5ec
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000c5ec
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000c5ec
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000c5f9
jmp dword [eax*4 + 0x100107b0]
mov eax, str.MH_UNKNOWN
jmp 0x1000c667
mov eax, str.MH_OK
jmp 0x1000c667
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000c667
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000c667
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000c667
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000c667
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000c667
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000c667
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000c667
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000c667
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000c667
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000c667
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000c667
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000c667
mov eax, str._unknown_
push ecx
push eax
push str.Render_Resolution_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000c689
push str.Failed_to_find_render_resolution_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xx___xx
push 0x100410b0
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000c7f6
push eax
push str._r_nHooking_window_mode_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10005ba0
mov dword [0x1004ffb0], eax
mov ecx, eax
push 0x1004ffb0
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000c6fa
jmp dword [eax*4 + 0x100107e8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000c768
mov ecx, str.MH_OK
jmp 0x1000c768
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000c768
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000c768
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000c768
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000c768
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000c768
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000c768
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000c768
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000c768
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000c768
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000c768
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000c768
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000c768
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000c775
jmp dword [eax*4 + 0x10010820]
mov eax, str.MH_UNKNOWN
jmp 0x1000c7e3
mov eax, str.MH_OK
jmp 0x1000c7e3
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000c7e3
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000c7e3
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000c7e3
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000c7e3
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000c7e3
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000c7e3
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000c7e3
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000c7e3
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000c7e3
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000c7e3
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000c7e3
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000c7e3
mov eax, str._unknown_
push ecx
push eax
push str.Window_mode_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000c805
push str.Failed_to_find_window_mode_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004e924], 0
je 0x1000c98e
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxxx
push 0x10041144
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000c97f
push eax
push str._r_nHooking_fog_complexity_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10005bd0
mov dword [0x1005023c], eax
mov ecx, eax
push 0x1005023c
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000c883
jmp dword [eax*4 + 0x10010858]
mov ecx, str.MH_UNKNOWN
jmp 0x1000c8f1
mov ecx, str.MH_OK
jmp 0x1000c8f1
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000c8f1
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000c8f1
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000c8f1
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000c8f1
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000c8f1
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000c8f1
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000c8f1
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000c8f1
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000c8f1
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000c8f1
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000c8f1
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000c8f1
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000c8fe
jmp dword [eax*4 + 0x10010890]
mov eax, str.MH_UNKNOWN
jmp 0x1000c96c
mov eax, str.MH_OK
jmp 0x1000c96c
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000c96c
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000c96c
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000c96c
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000c96c
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000c96c
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000c96c
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000c96c
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000c96c
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000c96c
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000c96c
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000c96c
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000c96c
mov eax, str._unknown_
push ecx
push eax
push str.Fog_complexity_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000c98e
push str.Failed_to_find_fog_complexity_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004ebd4], 2
je 0x1000c9a4
cmp dword [0x1004e25c], 1
jne 0x1000cb20
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxx_____xxxxxxxx____
push 0x100411f0
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000cb11
push eax
push str._r_nHooking_FPS_limit_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x100062b0
mov dword [0x1004ee2c], eax
mov ecx, eax
push 0x1004ee2c
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000ca15
jmp dword [eax*4 + 0x100108c8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000ca83
mov ecx, str.MH_OK
jmp 0x1000ca83
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000ca83
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000ca83
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000ca83
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000ca83
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000ca83
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000ca83
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000ca83
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000ca83
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000ca83
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000ca83
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000ca83
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000ca83
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000ca90
jmp dword [eax*4 + 0x10010900]
mov eax, str.MH_UNKNOWN
jmp 0x1000cafe
mov eax, str.MH_OK
jmp 0x1000cafe
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000cafe
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000cafe
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000cafe
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000cafe
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000cafe
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000cafe
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000cafe
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000cafe
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000cafe
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000cafe
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000cafe
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000cafe
mov eax, str._unknown_
push ecx
push eax
push str.FPS_limit_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000cb20
push str.Failed_to_find_FPS_limit_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.x_____xxxxx
push 0x10041298
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000cc8d
push eax
push str._r_nHooking_Camera_index_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x100058d0
mov dword [0x1004ebd8], eax
mov ecx, eax
push 0x1004ebd8
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000cb91
jmp dword [eax*4 + 0x10010938]
mov ecx, str.MH_UNKNOWN
jmp 0x1000cbff
mov ecx, str.MH_OK
jmp 0x1000cbff
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000cbff
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000cbff
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000cbff
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000cbff
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000cbff
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000cbff
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000cbff
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000cbff
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000cbff
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000cbff
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000cbff
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000cbff
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000cc0c
jmp dword [eax*4 + 0x10010970]
mov eax, str.MH_UNKNOWN
jmp 0x1000cc7a
mov eax, str.MH_OK
jmp 0x1000cc7a
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000cc7a
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000cc7a
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000cc7a
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000cc7a
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000cc7a
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000cc7a
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000cc7a
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000cc7a
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000cc7a
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000cc7a
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000cc7a
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000cc7a
mov eax, str._unknown_
push ecx
push eax
push str.Camera_index_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000cc9c
push str.Failed_to_find_camera_index_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004e6fc], 8
jae 0x1000d40b
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxx____
push str.SUVW3
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000ce16
push eax
push str._r_nHooking_Message_Selector_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x100062e0
mov dword [0x1004ff98], eax
mov ecx, eax
push 0x1004ff98
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000cd1a
jmp dword [eax*4 + 0x100109a8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000cd88
mov ecx, str.MH_OK
jmp 0x1000cd88
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000cd88
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000cd88
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000cd88
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000cd88
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000cd88
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000cd88
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000cd88
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000cd88
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000cd88
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000cd88
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000cd88
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000cd88
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000cd95
jmp dword [eax*4 + 0x100109e0]
mov eax, str.MH_UNKNOWN
jmp 0x1000ce03
mov eax, str.MH_OK
jmp 0x1000ce03
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000ce03
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000ce03
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000ce03
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000ce03
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000ce03
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000ce03
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000ce03
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000ce03
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000ce03
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000ce03
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000ce03
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000ce03
mov eax, str._unknown_
push ecx
push eax
push str.Message_Selector_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000ce25
push str.Failed_to_find_message_selector_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp byte [0x1004ec1f], 0
mov ecx, esi
mov edx, dword [edi + 0x50]
jne 0x1000cf33
push str.x____xxxxxxxxxxxx_____xxxxxxxxxxx______
push 0x10041400
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000d0a3
push eax
push str._r_nHooking_GetWindowsLangID_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10006310
mov dword [0x1004ffa0], eax
mov ecx, eax
push 0x1004ffa0
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000cea3
jmp dword [eax*4 + 0x10010a18]
mov ecx, str.MH_UNKNOWN
jmp 0x1000cf11
mov ecx, str.MH_OK
jmp 0x1000cf11
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000cf11
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000cf11
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000cf11
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000cf11
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000cf11
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000cf11
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000cf11
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000cf11
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000cf11
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000cf11
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000cf11
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000cf11
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000d01a
jmp dword [eax*4 + 0x10010a50]
mov eax, str.MH_OK
jmp 0x1000d081
push str.x____xxxxxxxxxxxxx
push 0x1004148c
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000d094
push eax
push str._r_nHooking_GetWindowsLangID_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10006310
mov dword [0x1004ffa0], eax
mov ecx, eax
push 0x1004ffa0
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000cf9f
jmp dword [eax*4 + 0x10010a88]
mov ecx, str.MH_UNKNOWN
jmp 0x1000d00d
mov ecx, str.MH_OK
jmp 0x1000d00d
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000d00d
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000d00d
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000d00d
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000d00d
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000d00d
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000d00d
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000d00d
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000d00d
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000d00d
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000d00d
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000d00d
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000d00d
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000d01a
jmp dword [eax*4 + 0x10010ac0]
mov eax, str.MH_UNKNOWN
jmp 0x1000d081
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000d081
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000d081
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000d081
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000d081
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000d081
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000d081
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000d081
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000d081
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000d081
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000d081
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000d081
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000d081
mov eax, str._unknown_
push ecx
push eax
push str.GetWindowsLangID_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000d0a3
push str.Failed_to_find_GetWindowsLangID_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.x____xxxxxxxxxxxxxxxx____xxxxxxxx____xxxxxxxxxxxx
push 0x1004150c
call fcn.10002de0
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
je 0x1000d207
push eax
push str._r_nHooking_GetCurrentLanguageIndex_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x30]
add esp, 0xc
mov edx, 0x10006310
mov dword [0x1004ebf0], eax
mov ecx, eax
push 0x1004ebf0
call fcn.10001dc0
mov ecx, dword [esp + 0x24]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000d10b
jmp dword [eax*4 + 0x10010af8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000d179
mov ecx, str.MH_OK
jmp 0x1000d179
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000d179
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000d179
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000d179
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000d179
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000d179
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000d179
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000d179
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000d179
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000d179
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000d179
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000d179
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000d179
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000d186
jmp dword [eax*4 + 0x10010b30]
mov eax, str.MH_UNKNOWN
jmp 0x1000d1f4
mov eax, str.MH_OK
jmp 0x1000d1f4
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000d1f4
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000d1f4
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000d1f4
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000d1f4
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000d1f4
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000d1f4
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000d1f4
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000d1f4
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000d1f4
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000d1f4
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000d1f4
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000d1f4
mov eax, str._unknown_
push ecx
push eax
push str.GetCurrentLanguageIndex_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000d216
push str.Failed_to_find_GetCurrentLanguageIndex_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov dword [esp + 0x460], eax
je 0x1000d371
push eax
push str._r_nHooking_SetCurrentLanguageIndex_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10006330
mov dword [0x1004ebec], eax
mov ecx, eax
push 0x1004ebec
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000d275
jmp dword [eax*4 + 0x10010b68]
mov ecx, str.MH_UNKNOWN
jmp 0x1000d2e3
mov ecx, str.MH_OK
jmp 0x1000d2e3
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000d2e3
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000d2e3
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000d2e3
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000d2e3
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000d2e3
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000d2e3
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000d2e3
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000d2e3
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000d2e3
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000d2e3
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000d2e3
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000d2e3
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000d2f0
jmp dword [eax*4 + 0x10010ba0]
mov eax, str.MH_UNKNOWN
jmp 0x1000d35e
mov eax, str.MH_OK
jmp 0x1000d35e
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000d35e
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000d35e
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000d35e
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000d35e
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000d35e
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000d35e
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000d35e
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000d35e
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000d35e
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000d35e
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000d35e
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000d35e
mov eax, str._unknown_
push ecx
push eax
push str.SetCurrentLanguageIndex_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000d380
push str.Failed_to_find_SetCurrentLanguageIndex_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxx_____
push 0x10041690
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000d3fc
push eax
push str._r_nPatching_language_function_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x484]
add esp, 0xc
mov byte [esp + 0x478], 0xe9
mov byte [esp + 0x479], 0x81
mov byte [esp + 0x47a], 0
mov byte [esp + 0x47b], 0
push 6
mov byte [esp + 0x480], 0
mov byte [esp + 0x481], 0x90
call fcn.10002e30
add esp, 4
jmp 0x1000d40b
push str.Failed_to_find_language_patch_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004f75c], 1
jne 0x1000da0e
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.x_____xxxx
push 0x10041704
call fcn.10002de0
push eax
push str._r_nSaveStatusAddress______p_r_n
push 0
mov dword [0x10050210], eax
call fcn.10002ac0
mov edx, dword [edi + 0x50]
add esp, 0x14
mov ecx, esi
push str.xxxxx_________xxx
push 0x10041744
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000d5ae
push eax
push str._r_nHooking_SaveRead_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10006350
mov dword [0x1004f080], eax
mov ecx, eax
push 0x1004f080
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000d4b2
jmp dword [eax*4 + 0x10010bd8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000d520
mov ecx, str.MH_OK
jmp 0x1000d520
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000d520
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000d520
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000d520
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000d520
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000d520
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000d520
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000d520
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000d520
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000d520
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000d520
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000d520
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000d520
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000d52d
jmp dword [eax*4 + 0x10010c10]
mov eax, str.MH_UNKNOWN
jmp 0x1000d59b
mov eax, str.MH_OK
jmp 0x1000d59b
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000d59b
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000d59b
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000d59b
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000d59b
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000d59b
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000d59b
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000d59b
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000d59b
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000d59b
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000d59b
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000d59b
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000d59b
mov eax, str._unknown_
push ecx
push eax
push str.SaveRead_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000d5bd
push str.Failed_to_find_save_read_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxx_________xxx
push 0x10041744
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000d72a
push eax
push str._r_nHooking_SaveWrite_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10006880
mov dword [0x1004f740], eax
mov ecx, eax
push 0x1004f740
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000d62e
jmp dword [eax*4 + 0x10010c48]
mov ecx, str.MH_UNKNOWN
jmp 0x1000d69c
mov ecx, str.MH_OK
jmp 0x1000d69c
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000d69c
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000d69c
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000d69c
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000d69c
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000d69c
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000d69c
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000d69c
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000d69c
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000d69c
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000d69c
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000d69c
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000d69c
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000d6a9
jmp dword [eax*4 + 0x10010c80]
mov eax, str.MH_UNKNOWN
jmp 0x1000d717
mov eax, str.MH_OK
jmp 0x1000d717
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000d717
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000d717
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000d717
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000d717
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000d717
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000d717
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000d717
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000d717
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000d717
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000d717
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000d717
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000d717
mov eax, str._unknown_
push ecx
push eax
push str.SaveWrite_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000d739
push str.Failed_to_find_save_write_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxx
push 0x10041864
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000d8a6
push eax
push str._r_nHooking_SaveDelete_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10006cf0
mov dword [0x1004e4ac], eax
mov ecx, eax
push 0x1004e4ac
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000d7aa
jmp dword [eax*4 + 0x10010cb8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000d818
mov ecx, str.MH_OK
jmp 0x1000d818
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000d818
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000d818
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000d818
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000d818
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000d818
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000d818
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000d818
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000d818
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000d818
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000d818
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000d818
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000d818
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000d825
jmp dword [eax*4 + 0x10010cf0]
mov eax, str.MH_UNKNOWN
jmp 0x1000d893
mov eax, str.MH_OK
jmp 0x1000d893
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000d893
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000d893
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000d893
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000d893
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000d893
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000d893
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000d893
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000d893
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000d893
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000d893
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000d893
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000d893
mov eax, str._unknown_
push ecx
push eax
push str.SaveDelete_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000d8b5
push str.Failed_to_find_save_delete_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxx
push 0x100418f8
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000d912
push eax
push str._r_nPatching_BeginSaveFileChecksumVerification_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x30]
add esp, 0xc
mov byte [esp + 0x24], 0xb0
mov byte [esp + 0x25], 1
mov byte [esp + 0x26], 0xc3
mov byte [esp + 0x27], 0x90
push 4
call fcn.10002e30
add esp, 4
jmp 0x1000d921
push str.Failed_to_find_begin_save_file_checksum_verification_patch_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxx
push 0x10041990
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000d96f
push eax
push str._r_nPatching_ApplyChecksumToSaveFile_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x37]
add esp, 0xc
mov byte [esp + 0x2b], 0xc3
push 1
call fcn.10002e30
add esp, 4
jmp 0x1000d97e
push str.Failed_to_find_apply_save_file_checksum_verification_patch_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.x____xxxxxx____
push 0x10041a20
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000d9f2
push eax
push str._r_nPatching_strftime_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x47c]
add esp, 0xc
mov byte [esp + 0x470], 0x90
mov byte [esp + 0x471], 0x90
mov byte [esp + 0x472], 0x90
mov byte [esp + 0x473], 0x90
push 5
mov byte [esp + 0x478], 0x90
call fcn.10002e30
add esp, 4
jmp 0x1000da01
push str.Failed_to_find_strftime_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
push 0
push 0x1004e268
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.x_____xxxx_____xxx
push 0x10041a8c
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000db7b
push eax
push str._r_nHooking_show_picture_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10006f10
mov dword [0x1004f2c8], eax
mov ecx, eax
push 0x1004f2c8
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000da7f
jmp dword [eax*4 + 0x10010d28]
mov ecx, str.MH_UNKNOWN
jmp 0x1000daed
mov ecx, str.MH_OK
jmp 0x1000daed
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000daed
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000daed
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000daed
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000daed
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000daed
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000daed
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000daed
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000daed
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000daed
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000daed
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000daed
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000daed
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000dafa
jmp dword [eax*4 + 0x10010d60]
mov eax, str.MH_UNKNOWN
jmp 0x1000db68
mov eax, str.MH_OK
jmp 0x1000db68
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000db68
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000db68
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000db68
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000db68
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000db68
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000db68
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000db68
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000db68
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000db68
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000db68
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000db68
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000db68
mov eax, str._unknown_
push ecx
push eax
push str.Show_picture_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000db8a
push str.Failed_to_find_show_picture_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxxxx
push 0x10041b2c
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000dcf7
push eax
push str._r_nHooking_inflate_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10007330
mov dword [0x1004f770], eax
mov ecx, eax
push 0x1004f770
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000dbfb
jmp dword [eax*4 + 0x10010d98]
mov ecx, str.MH_UNKNOWN
jmp 0x1000dc69
mov ecx, str.MH_OK
jmp 0x1000dc69
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000dc69
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000dc69
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000dc69
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000dc69
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000dc69
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000dc69
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000dc69
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000dc69
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000dc69
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000dc69
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000dc69
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000dc69
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000dc76
jmp dword [eax*4 + 0x10010dd0]
mov eax, str.MH_UNKNOWN
jmp 0x1000dce4
mov eax, str.MH_OK
jmp 0x1000dce4
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000dce4
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000dce4
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000dce4
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000dce4
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000dce4
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000dce4
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000dce4
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000dce4
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000dce4
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000dce4
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000dce4
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000dce4
mov eax, str._unknown_
push ecx
push eax
push str.inflate_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000dd06
push str.Failed_to_find_inflate_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxxx
push 0x10041bb8
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000dd46
push eax
push str._r_nGetting_SH3GetFileStruct_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x464]
add esp, 0xc
mov dword [0x1004f760], eax
jmp 0x1000dd55
push str.Failed_to_find_SH3GetFileStruct_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxxxxx
push 0x10041c38
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000dec2
push eax
push str._r_nHooking_SH3ReadFile_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10007420
mov dword [0x1004e4a0], eax
mov ecx, eax
push 0x1004e4a0
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000ddc6
jmp dword [eax*4 + 0x10010e08]
mov ecx, str.MH_UNKNOWN
jmp 0x1000de34
mov ecx, str.MH_OK
jmp 0x1000de34
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000de34
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000de34
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000de34
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000de34
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000de34
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000de34
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000de34
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000de34
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000de34
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000de34
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000de34
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000de34
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000de41
jmp dword [eax*4 + 0x10010e40]
mov eax, str.MH_UNKNOWN
jmp 0x1000deaf
mov eax, str.MH_OK
jmp 0x1000deaf
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000deaf
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000deaf
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000deaf
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000deaf
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000deaf
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000deaf
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000deaf
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000deaf
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000deaf
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000deaf
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000deaf
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000deaf
mov eax, str._unknown_
push ecx
push eax
push str.SH3ReadFile_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000ded1
push str.Failed_to_find_SH3ReadFile_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxx____xxxxxxxxxxxxxxxxxx
push 0x10041cec
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000e03e
push eax
push str._r_nHooking_SH3LoadArc_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10007eb0
mov dword [0x1004e6e0], eax
mov ecx, eax
push 0x1004e6e0
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000df42
jmp dword [eax*4 + 0x10010e78]
mov ecx, str.MH_UNKNOWN
jmp 0x1000dfb0
mov ecx, str.MH_OK
jmp 0x1000dfb0
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000dfb0
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000dfb0
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000dfb0
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000dfb0
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000dfb0
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000dfb0
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000dfb0
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000dfb0
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000dfb0
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000dfb0
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000dfb0
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000dfb0
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000dfbd
jmp dword [eax*4 + 0x10010eb0]
mov eax, str.MH_UNKNOWN
jmp 0x1000e02b
mov eax, str.MH_OK
jmp 0x1000e02b
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000e02b
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000e02b
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000e02b
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000e02b
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000e02b
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000e02b
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000e02b
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000e02b
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000e02b
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000e02b
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000e02b
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000e02b
mov eax, str._unknown_
push ecx
push eax
push str.SH3LoadArc_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000e04d
push str.Failed_to_find_SH3LoadArc_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp byte [0x1004ec1f], 0
jne 0x1000e27d
push 0x6099f0
push str._r_nHooking_AcquireFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
mov dword [0x1004ee3c], 0x6099f0
mov edx, 0x10007ee0
mov ecx, 0x6099f0
push 0x1004ee3c
call fcn.10001dc0
mov edx, 1
mov dword [esp + 0x458], eax
mov ecx, 0x6099f0
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000e0a8
jmp dword [eax*4 + 0x10010ee8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000e116
mov ecx, str.MH_OK
jmp 0x1000e116
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000e116
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000e116
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000e116
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000e116
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000e116
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000e116
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000e116
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000e116
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000e116
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000e116
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000e116
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000e116
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000e123
jmp dword [eax*4 + 0x10010f20]
mov eax, str.MH_UNKNOWN
jmp 0x1000e191
mov eax, str.MH_OK
jmp 0x1000e191
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000e191
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000e191
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000e191
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000e191
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000e191
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000e191
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000e191
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000e191
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000e191
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000e191
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000e191
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000e191
mov eax, str._unknown_
push ecx
push eax
push str.AcquireFilesystemSemaphore_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
push 0x609a60
push str._r_nHooking_ReleaseFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0x1c
mov dword [0x1004ec04], 0x609a60
mov edx, 0x10007f30
mov ecx, 0x609a60
push 0x1004ec04
call fcn.10001dc0
mov edx, 1
mov dword [esp + 0x458], eax
mov ecx, 0x609a60
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000e1ed
jmp dword [eax*4 + 0x10010f58]
mov ecx, str.MH_UNKNOWN
jmp 0x1000e25b
mov ecx, str.MH_OK
jmp 0x1000e25b
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000e25b
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000e25b
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000e25b
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000e25b
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000e25b
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000e25b
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000e25b
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000e25b
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000e25b
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000e25b
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000e25b
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000e25b
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000e48b
jmp dword [eax*4 + 0x10010f90]
mov eax, str.MH_OK
jmp 0x1000e4f2
push 0x608680
push str._r_nHooking_AcquireFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
mov dword [0x1004ee3c], 0x608680
mov edx, 0x10007ee0
mov ecx, 0x608680
push 0x1004ee3c
call fcn.10001dc0
mov edx, 1
mov dword [esp + 0x458], eax
mov ecx, 0x608680
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000e2cb
jmp dword [eax*4 + 0x10010fc8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000e339
mov ecx, str.MH_OK
jmp 0x1000e339
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000e339
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000e339
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000e339
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000e339
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000e339
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000e339
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000e339
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000e339
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000e339
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000e339
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000e339
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000e339
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000e346
jmp dword [eax*4 + 0x10011000]
mov eax, str.MH_UNKNOWN
jmp 0x1000e3b4
mov eax, str.MH_OK
jmp 0x1000e3b4
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000e3b4
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000e3b4
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000e3b4
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000e3b4
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000e3b4
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000e3b4
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000e3b4
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000e3b4
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000e3b4
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000e3b4
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000e3b4
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000e3b4
mov eax, str._unknown_
push ecx
push eax
push str.AcquireFilesystemSemaphore_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
push 0x6086f0
push str._r_nHooking_ReleaseFilesystemSemaphore_function_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0x1c
mov dword [0x1004ec04], 0x6086f0
mov edx, 0x10007f30
mov ecx, 0x6086f0
push 0x1004ec04
call fcn.10001dc0
mov edx, 1
mov dword [esp + 0x458], eax
mov ecx, 0x6086f0
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000e410
jmp dword [eax*4 + 0x10011038]
mov ecx, str.MH_UNKNOWN
jmp 0x1000e47e
mov ecx, str.MH_OK
jmp 0x1000e47e
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000e47e
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000e47e
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000e47e
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000e47e
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000e47e
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000e47e
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000e47e
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000e47e
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000e47e
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000e47e
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000e47e
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000e47e
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000e48b
jmp dword [eax*4 + 0x10011070]
mov eax, str.MH_UNKNOWN
jmp 0x1000e4f2
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000e4f2
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000e4f2
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000e4f2
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000e4f2
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000e4f2
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000e4f2
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000e4f2
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000e4f2
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000e4f2
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000e4f2
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000e4f2
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000e4f2
mov eax, str._unknown_
push ecx
push eax
push str.ReleaseFilesystemSemaphore_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
mov edx, dword [edi + 0x50]
add esp, 0x10
mov ecx, esi
push str.x____xxxxx____
push 0x10041e90
call fcn.10002de0
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxxxxxxxx_________
push 0x10041eb8
mov dword [esp + 0x34], eax
call fcn.10002de0
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.x_____xx_____x_________x____
push 0x10041ef0
mov dword [0x1004f2a8], eax
call fcn.10002de0
add esp, 0x18
mov dword [0x1005045c], eax
cmp dword [esp + 0x24], 0
je 0x1000e6da
mov ecx, dword [0x1004f2a8]
test ecx, ecx
je 0x1000e6da
test eax, eax
je 0x1000e6da
push ecx
push str._r_nPulseEvent_Return_Address_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
push dword [0x1005045c]
push str.PulseEvent_Exit_Return_Address_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
push dword [esp + 0x24]
push str._r_nHooking_WaitForADXEvent_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x30]
add esp, 0xc
mov edx, 0x10007f80
mov dword [0x1004f778], eax
mov ecx, eax
push 0x1004f778
call fcn.10001dc0
mov ecx, dword [esp + 0x24]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000e5de
jmp dword [eax*4 + 0x100110a8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000e64c
mov ecx, str.MH_OK
jmp 0x1000e64c
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000e64c
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000e64c
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000e64c
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000e64c
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000e64c
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000e64c
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000e64c
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000e64c
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000e64c
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000e64c
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000e64c
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000e64c
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000e659
jmp dword [eax*4 + 0x100110e0]
mov eax, str.MH_UNKNOWN
jmp 0x1000e6c7
mov eax, str.MH_OK
jmp 0x1000e6c7
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000e6c7
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000e6c7
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000e6c7
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000e6c7
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000e6c7
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000e6c7
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000e6c7
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000e6c7
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000e6c7
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000e6c7
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000e6c7
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000e6c7
mov eax, str._unknown_
push ecx
push eax
push str.WaitForADXEvent_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000e6e9
push str.Failed_to_find_WaitForADXEvent_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004e96c], 1
jne 0x1000e872
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxxxxx______
push 0x1004200c
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000e863
push eax
push str._r_nHooking_Password_function_at______p_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x46c]
add esp, 0xc
mov edx, 0x10007fd0
mov dword [0x1004f4f4], eax
mov ecx, eax
push 0x1004f4f4
call fcn.10001dc0
mov ecx, dword [esp + 0x460]
mov edx, 1
mov dword [esp + 0x458], eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000e767
jmp dword [eax*4 + 0x10011118]
mov ecx, str.MH_UNKNOWN
jmp 0x1000e7d5
mov ecx, str.MH_OK
jmp 0x1000e7d5
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000e7d5
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000e7d5
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000e7d5
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000e7d5
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000e7d5
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000e7d5
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000e7d5
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000e7d5
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000e7d5
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000e7d5
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000e7d5
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000e7d5
mov ecx, str._unknown_
mov eax, dword [esp + 0x458]
inc eax
cmp eax, 0xd
ja case.default.0x1000e7e2
jmp dword [eax*4 + 0x10011150]
mov eax, str.MH_UNKNOWN
jmp 0x1000e850
mov eax, str.MH_OK
jmp 0x1000e850
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000e850
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000e850
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000e850
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000e850
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000e850
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000e850
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000e850
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000e850
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000e850
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000e850
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000e850
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000e850
mov eax, str._unknown_
push ecx
push eax
push str.Password_function_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000e872
push str.Failed_to_find_password_function_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xxx____x_____x
push 0x100420ac
call fcn.10002de0
add esp, 8
mov dword [esp + 0x458], eax
test eax, eax
je 0x1000e8c5
push eax
push str._r_nPatching_WaitForSingleObject_call_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x464]
lea edx, [esp + 0x2c]
add esp, 0xc
mov byte [esp + 0x20], 0xeb
mov byte [esp + 0x21], 5
push 2
call fcn.10002e30
add esp, 4
jmp 0x1000e8d4
push str.Failed_to_find_WaitForSingleObject_call_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
xor eax, eax
push str.x____xx____x____
push 0x10042138
mov ecx, esi
mov dword [esp + 0x2c], eax
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
je 0x1000e9b1
inc dword [esp + 0x24]
push eax
push str._r_nPatching_unused_ADX_counter_at______p_r_n
push 0
call fcn.10002ac0
mov ecx, dword [esp + 0x46c]
lea edx, [esp + 0x48c]
add esp, 0xc
mov byte [esp + 0x480], 0x90
mov byte [esp + 0x481], 0x90
mov byte [esp + 0x482], 0x90
mov byte [esp + 0x483], 0x90
push 0xb
mov byte [esp + 0x488], 0x90
mov byte [esp + 0x489], 0x90
mov byte [esp + 0x48a], 0x90
mov byte [esp + 0x48b], 0x90
mov byte [esp + 0x48c], 0x90
mov byte [esp + 0x48d], 0x90
mov byte [esp + 0x48e], 0x90
call fcn.10002e30
mov edx, dword [edi + 0x50]
add esp, 4
mov ecx, esi
push str.x____xx____x____
push 0x10042138
call fcn.10002de0
add esp, 8
mov dword [esp + 0x460], eax
test eax, eax
jne 0x1000e900
cmp dword [esp + 0x24], 2
je 0x1000e9c0
push str.Failed_to_find_unused_ADX_counter_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, esi
push str.xx______xxxx
push 0x100421b8
call fcn.10002de0
mov esi, eax
add esp, 8
test esi, esi
je 0x1000ea04
push esi
push str._r_nPatching_unused_ADX_function_counter_at______p_r_n
push 0
call fcn.10002ac0
add esp, 0xc
mov byte [esp + 0x2b], 0x90
lea edx, [esp + 0x2b]
mov ecx, esi
push 1
call fcn.10002e30
add esp, 4
jmp 0x1000ea13
push str.Failed_to_find_unused_ADX_function_counter_in_sh3.exe_r_n
push 1
call fcn.10002ac0
add esp, 8
cmp dword [0x1004e488], 1
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
jbe 0x1000ee84
push str.NtQueryVirtualMemory
push dword [esp + 0x20]
call edi
mov dword [0x1004f708], eax
mov eax, dword [0x1004e488]
cmp eax, 2
je 0x1000ebf4
cmp eax, 3
je 0x1000eaac
cmp eax, 4
jb 0x1000ed3c
push 0x1004ee34
push 0x100030d0
mov edx, 0x100422d4
mov ecx, str.kernel32.dll
call fcn.10002470
push 0x100422d4
push dword [esp + 0x14]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, eax
call fcn.10002460
mov ecx, eax
call fcn.100024c0
mov ecx, edi
mov esi, eax
call fcn.100024c0
push esi
push eax
push str._r_nCreateThread_Hook______s______s_r_n
push 0
call fcn.10002ac0
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x1000ed39
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000eac0
lea esi, [eax + 0xb]
jmp 0x1000eae4
push str.SetThreadPriority
push eax
call edi
test eax, eax
jne 0x1000ead1
lea esi, [eax + 0xc]
jmp 0x1000eae4
push 0x1004eba8
mov edx, 0x10003360
mov ecx, eax
call fcn.10001dc0
mov esi, eax
push str.SetThreadPriority
push dword [esp + 0x14]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000eb01
jmp dword [eax*4 + 0x10011188]
mov ecx, str.MH_UNKNOWN
jmp 0x1000eb6f
mov ecx, str.MH_OK
jmp 0x1000eb6f
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000eb6f
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000eb6f
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000eb6f
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000eb6f
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000eb6f
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000eb6f
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000eb6f
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000eb6f
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000eb6f
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000eb6f
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000eb6f
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000eb6f
mov ecx, str._unknown_
inc esi
cmp esi, 0xd
ja case.default.0x1000eb75
jmp dword [esi*4 + 0x100111c0]
mov eax, str.MH_UNKNOWN
jmp 0x1000ebe3
mov eax, str.MH_OK
jmp 0x1000ebe3
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000ebe3
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000ebe3
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000ebe3
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000ebe3
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000ebe3
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000ebe3
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000ebe3
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000ebe3
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000ebe3
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000ebe3
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000ebe3
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000ebe3
mov eax, str._unknown_
push ecx
push eax
push str._r_nSetThreadPriority_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000ec08
lea esi, [eax + 0xb]
jmp 0x1000ec2c
push str.SetThreadPriorityBoost
push eax
call edi
test eax, eax
jne 0x1000ec19
lea esi, [eax + 0xc]
jmp 0x1000ec2c
push 0x1004e700
mov edx, 0x10003430
mov ecx, eax
call fcn.10001dc0
mov esi, eax
push str.SetThreadPriorityBoost
push dword [esp + 0x14]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000ec49
jmp dword [eax*4 + 0x100111f8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000ecb7
mov ecx, str.MH_OK
jmp 0x1000ecb7
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000ecb7
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000ecb7
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000ecb7
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000ecb7
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000ecb7
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000ecb7
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000ecb7
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000ecb7
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000ecb7
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000ecb7
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000ecb7
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000ecb7
mov ecx, str._unknown_
inc esi
cmp esi, 0xd
ja case.default.0x1000ecbd
jmp dword [esi*4 + 0x10011230]
mov eax, str.MH_UNKNOWN
jmp 0x1000ed2b
mov eax, str.MH_OK
jmp 0x1000ed2b
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000ed2b
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000ed2b
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000ed2b
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000ed2b
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000ed2b
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000ed2b
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000ed2b
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000ed2b
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000ed2b
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000ed2b
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000ed2b
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000ed2b
mov eax, str._unknown_
push ecx
push eax
push str._r_nSetThreadPriorityBoost_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000ed50
lea esi, [eax + 0xb]
jmp 0x1000ed74
push str.SetThreadAffinityMask
push eax
call edi
test eax, eax
jne 0x1000ed61
lea esi, [eax + 0xc]
jmp 0x1000ed74
push 0x1004e704
mov edx, 0x10003290
mov ecx, eax
call fcn.10001dc0
mov esi, eax
push str.SetThreadAffinityMask
push dword [esp + 0x14]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000ed91
jmp dword [eax*4 + 0x10011268]
mov ecx, str.MH_UNKNOWN
jmp 0x1000edff
mov ecx, str.MH_OK
jmp 0x1000edff
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000edff
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000edff
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000edff
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000edff
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000edff
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000edff
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000edff
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000edff
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000edff
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000edff
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000edff
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000edff
mov ecx, str._unknown_
inc esi
cmp esi, 0xd
ja case.default.0x1000ee05
jmp dword [esi*4 + 0x100112a0]
mov eax, str.MH_UNKNOWN
jmp 0x1000ee73
mov eax, str.MH_OK
jmp 0x1000ee73
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000ee73
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000ee73
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000ee73
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000ee73
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000ee73
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000ee73
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000ee73
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000ee73
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000ee73
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000ee73
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000ee73
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000ee73
mov eax, str._unknown_
push ecx
push eax
push str.SetThreadAffinityMask_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
push str.d3d8.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, eax
test esi, esi
je 0x100102f0
push 0x1004234c
push esi
call edi
push 0x10042360
push esi
mov dword [0x1004e260], eax
call edi
mov edx, dword [0x1004e490]
mov dword [0x100501d0], eax
test edx, edx
je 0x1000eeed
mov ecx, dword [0x1004e260]
test ecx, ecx
je 0x1000eeed
cmp edx, 1
jne 0x1000eed6
push dword [0x1004ffa4]
push 0
jmp 0x1000eee3
cmp edx, 2
jne 0x1000eeed
push dword [0x1004ffa4]
push 1
call ecx
mov eax, dword [0x100501d0]
add esp, 8
mov ecx, dword [0x1004f700]
test ecx, ecx
je 0x1000ef01
test eax, eax
je 0x1000ef01
push ecx
call eax
add esp, 4
cmp dword [0x1004f754], 1
jne 0x1000f115
push str.d3d8.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000ef22
lea edi, [eax + 0xb]
jmp 0x1000ef46
push str.Direct3DCreate8
push eax
call edi
test eax, eax
jne 0x1000ef33
lea edi, [eax + 0xc]
jmp 0x1000ef46
push 0x1004ee44
mov edx, 0x10005320
mov ecx, eax
call fcn.10001dc0
mov edi, eax
push str.Direct3DCreate8
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, 1
mov ecx, eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000ef64
jmp dword [eax*4 + 0x100112d8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000efd2
mov ecx, str.MH_OK
jmp 0x1000efd2
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000efd2
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000efd2
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000efd2
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000efd2
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000efd2
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000efd2
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000efd2
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000efd2
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000efd2
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000efd2
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000efd2
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000efd2
mov ecx, str._unknown_
inc edi
cmp edi, 0xd
ja case.default.0x1000efd8
jmp dword [edi*4 + 0x10011310]
mov eax, str.MH_UNKNOWN
jmp 0x1000f046
mov eax, str.MH_OK
jmp 0x1000f046
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000f046
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000f046
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000f046
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000f046
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000f046
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000f046
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000f046
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000f046
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000f046
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000f046
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000f046
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000f046
mov eax, str._unknown_
push ecx
push eax
push str._r_nDirect3DCreate8_Hook______s______s_r_n_r_n
push 0
call fcn.10002ac0
add esp, 0x10
push str.PatchMaximizedWindowedMode
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.UseDirectX12UsermodeDisplayDriver
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x1004f2b4], eax
call esi
cmp dword [0x1004e980], 1
mov dword [0x100501f8], eax
jne 0x1000f0af
cmp dword [0x1004f2b4], 0
je 0x1000f0af
push str.Patching_Maximized_Windowed_Mode_r_n
push 0
call fcn.10002ac0
add esp, 8
call dword [0x1004f2b4]
test al, al
jne 0x1000f0c8
push str._r_nFailed_to_disable_maximized_windowed_mode__r_n
push 1
jmp 0x1000f0b6
push str.Not_patching_Maximized_Windowed_Mode_r_n
push 0
call fcn.10002ac0
mov dword [0x10050204], 0
add esp, 8
cmp dword [0x1004ffa4], 1
jne 0x1000f104
cmp dword [0x100501f8], 0
je 0x1000f104
push str._r_nEnabling_DirextX_12_r_n
push 0
call fcn.10002ac0
add esp, 8
call dword [0x100501f8]
test al, al
jne 0x1000f11b
push str._r_nFailed_to_enable_DirextX_12__r_n
push 1
call fcn.10002ac0
add esp, 8
jmp 0x1000f11b
push str._r_nNot_using_DirectX_12_r_n
push 0
call fcn.10002ac0
add esp, 8
jmp 0x1000f11b
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.Advapi32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edi, eax
test edi, edi
jne 0x1000f147
push str.Advapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
test edi, edi
jne 0x1000f147
push str._r_nFailed_to_load_Advapi32.dll__r_n_r_n
jmp 0x100102f5
push str.Advapi32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000f160
mov dword [esp + 0x24], 0xb
jmp 0x1000f18b
push str.RegOpenKeyExA
push eax
call esi
test eax, eax
jne 0x1000f176
mov dword [esp + 0x24], 0xc
jmp 0x1000f18b
push 0x1004f76c
mov edx, 0x10003700
mov ecx, eax
call fcn.10001dc0
mov dword [esp + 0x24], eax
push str.Advapi32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000f1a7
mov dword [esp + 0x468], 0xb
jmp 0x1000f1d8
push str.RegQueryValueExA
push eax
call esi
test eax, eax
jne 0x1000f1c0
mov dword [esp + 0x468], 0xc
jmp 0x1000f1d8
push 0x1004ec08
mov edx, 0x100037b0
mov ecx, eax
call fcn.10001dc0
mov dword [esp + 0x468], eax
push str.Advapi32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000f1f1
mov dword [esp + 0x18], 0xb
jmp 0x1000f21c
push 0x10042538
push eax
call esi
test eax, eax
jne 0x1000f207
mov dword [esp + 0x18], 0xc
jmp 0x1000f21c
push 0x1005021c
mov edx, 0x100037f0
mov ecx, eax
call fcn.10001dc0
mov dword [esp + 0x18], eax
push str.RegOpenKeyExA
push edi
call esi
mov edx, 1
mov ecx, eax
call fcn.10002350
push str.RegQueryValueExA
push edi
lea esi, [eax + 1]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, 1
mov ecx, eax
call fcn.10002350
push 0x10042538
push edi
mov dword [esp + 0x460], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, 1
mov ecx, eax
call fcn.10002350
mov edi, eax
cmp esi, 0xd
ja case.default.0x1000f271
jmp dword [esi*4 + 0x10011348]
mov ecx, str.MH_UNKNOWN
jmp 0x1000f2df
mov ecx, str.MH_OK
jmp 0x1000f2df
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000f2df
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000f2df
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000f2df
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000f2df
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000f2df
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000f2df
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000f2df
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000f2df
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000f2df
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000f2df
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000f2df
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000f2df
mov ecx, str._unknown_
mov eax, dword [esp + 0x24]
inc eax
cmp eax, 0xd
ja case.default.0x1000f2e9
jmp dword [eax*4 + 0x10011380]
mov eax, str.MH_UNKNOWN
jmp 0x1000f357
mov eax, str.MH_OK
jmp 0x1000f357
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000f357
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000f357
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000f357
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000f357
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000f357
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000f357
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000f357
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000f357
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000f357
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000f357
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000f357
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000f357
mov eax, str._unknown_
push ecx
push eax
push str._r_nRegOpenKeyExA_Hook______s______s_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x468]
add esp, 0x10
inc eax
cmp eax, 0xd
ja case.default.0x1000f375
jmp dword [eax*4 + 0x100113b8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000f3e3
mov ecx, str.MH_OK
jmp 0x1000f3e3
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000f3e3
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000f3e3
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000f3e3
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000f3e3
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000f3e3
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000f3e3
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000f3e3
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000f3e3
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000f3e3
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000f3e3
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000f3e3
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000f3e3
mov ecx, str._unknown_
mov eax, dword [esp + 0x468]
inc eax
cmp eax, 0xd
ja case.default.0x1000f3f0
jmp dword [eax*4 + 0x100113f0]
mov eax, str.MH_UNKNOWN
jmp 0x1000f45e
mov eax, str.MH_OK
jmp 0x1000f45e
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000f45e
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000f45e
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000f45e
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000f45e
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000f45e
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000f45e
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000f45e
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000f45e
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000f45e
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000f45e
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000f45e
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000f45e
mov eax, str._unknown_
push ecx
push eax
push str.RegQueryValueExA_Hook______s______s_r_n
push 0
call fcn.10002ac0
lea eax, [edi + 1]
add esp, 0x10
cmp eax, 0xd
ja case.default.0x1000f477
jmp dword [eax*4 + 0x10011428]
mov ecx, str.MH_UNKNOWN
jmp 0x1000f4e5
mov ecx, str.MH_OK
jmp 0x1000f4e5
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000f4e5
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000f4e5
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000f4e5
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000f4e5
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000f4e5
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000f4e5
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000f4e5
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000f4e5
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000f4e5
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000f4e5
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000f4e5
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000f4e5
mov ecx, str._unknown_
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 0xd
ja case.default.0x1000f4ef
jmp dword [eax*4 + 0x10011460]
mov eax, str.MH_UNKNOWN
jmp 0x1000f55d
mov eax, str.MH_OK
jmp 0x1000f55d
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000f55d
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000f55d
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000f55d
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000f55d
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000f55d
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000f55d
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000f55d
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000f55d
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000f55d
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000f55d
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000f55d
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000f55d
mov eax, str._unknown_
push ecx
push eax
push str.RegCloseKey_Hook______s______s_r_n_r_n
push 0
call fcn.10002ac0
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0x10
push str.User32.dll
call esi
mov edi, eax
test edi, edi
jne 0x1000f59c
push str.User32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
test edi, edi
jne 0x1000f59c
push str.Failed_to_load_User32.dll__r_n
jmp 0x100102f5
push str.User32.dll
call esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x1000f5b7
mov dword [esp + 0x24], 0xb
jmp 0x1000f5e2
push str.AdjustWindowRectEx
push eax
call esi
test eax, eax
jne 0x1000f5cd
mov dword [esp + 0x24], 0xc
jmp 0x1000f5e2
push 0x1004e994
mov edx, 0x10003490
mov ecx, eax
call fcn.10001dc0
mov dword [esp + 0x24], eax
push str.User32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000f5fe
mov dword [esp + 0x468], 0xb
jmp 0x1000f62f
push str.CreateWindowExA
push eax
call esi
test eax, eax
jne 0x1000f617
mov dword [esp + 0x468], 0xc
jmp 0x1000f62f
push 0x100501ec
mov edx, 0x100034c0
mov ecx, eax
call fcn.10001dc0
mov dword [esp + 0x468], eax
push str.AdjustWindowRectEx
push edi
call esi
mov edx, 1
mov ecx, eax
call fcn.10002350
push str.CreateWindowExA
push edi
lea esi, [eax + 1]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, 1
mov ecx, eax
call fcn.10002350
mov dword [esp + 0x458], eax
cmp esi, 0xd
ja case.default.0x1000f66a
jmp dword [esi*4 + 0x10011498]
mov ecx, str.MH_UNKNOWN
jmp 0x1000f6d8
mov ecx, str.MH_OK
jmp 0x1000f6d8
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000f6d8
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000f6d8
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000f6d8
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000f6d8
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000f6d8
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000f6d8
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000f6d8
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000f6d8
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000f6d8
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000f6d8
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000f6d8
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000f6d8
mov ecx, str._unknown_
mov eax, dword [esp + 0x24]
inc eax
cmp eax, 0xd
ja case.default.0x1000f6e2
jmp dword [eax*4 + 0x100114d0]
mov eax, str.MH_UNKNOWN
jmp 0x1000f750
mov eax, str.MH_OK
jmp 0x1000f750
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000f750
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000f750
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000f750
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000f750
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000f750
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000f750
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000f750
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000f750
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000f750
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000f750
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000f750
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000f750
mov eax, str._unknown_
push ecx
push eax
push str.AdjustWindowRectEx_Hook______s______s_r_n
push 0
call fcn.10002ac0
mov eax, dword [esp + 0x468]
add esp, 0x10
inc eax
cmp eax, 0xd
ja case.default.0x1000f76e
jmp dword [eax*4 + 0x10011508]
mov ecx, str.MH_UNKNOWN
jmp 0x1000f7dc
mov ecx, str.MH_OK
jmp 0x1000f7dc
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000f7dc
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000f7dc
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000f7dc
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000f7dc
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000f7dc
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000f7dc
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000f7dc
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000f7dc
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000f7dc
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000f7dc
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000f7dc
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000f7dc
mov ecx, str._unknown_
mov eax, dword [esp + 0x468]
inc eax
cmp eax, 0xd
ja case.default.0x1000f7e9
jmp dword [eax*4 + 0x10011540]
mov eax, str.MH_UNKNOWN
jmp 0x1000f857
mov eax, str.MH_OK
jmp 0x1000f857
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000f857
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000f857
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000f857
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000f857
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000f857
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000f857
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000f857
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000f857
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000f857
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000f857
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000f857
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000f857
mov eax, str._unknown_
push ecx
push eax
push str.CreateWindowExA_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
cmp dword [0x10050218], 0
je 0x1000f9c6
push str.User32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000f889
lea esi, [eax + 0xb]
jmp 0x1000f8b1
push str.PostMessageA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x1000f89e
lea esi, [eax + 0xc]
jmp 0x1000f8b1
push 0x1004f298
mov edx, 0x10003650
mov ecx, eax
call fcn.10001dc0
mov esi, eax
push str.PostMessageA
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000f8d1
jmp dword [eax*4 + 0x10011578]
mov ecx, str.MH_UNKNOWN
jmp 0x1000f93f
mov ecx, str.MH_OK
jmp 0x1000f93f
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000f93f
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000f93f
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000f93f
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000f93f
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000f93f
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000f93f
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000f93f
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000f93f
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000f93f
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000f93f
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000f93f
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000f93f
mov ecx, str._unknown_
inc esi
cmp esi, 0xd
ja case.default.0x1000f945
jmp dword [esi*4 + 0x100115b0]
mov eax, str.MH_UNKNOWN
jmp 0x1000f9b3
mov eax, str.MH_OK
jmp 0x1000f9b3
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000f9b3
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000f9b3
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000f9b3
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000f9b3
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000f9b3
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000f9b3
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000f9b3
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000f9b3
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000f9b3
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000f9b3
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000f9b3
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000f9b3
mov eax, str._unknown_
push ecx
push eax
push str.PostMessageA_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
jmp 0x1000f9cc
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000f9e0
lea esi, [eax + 0xb]
jmp 0x1000fa04
push 0x10042698
push eax
call edi
test eax, eax
jne 0x1000f9f1
lea esi, [eax + 0xc]
jmp 0x1000fa04
push 0x1004f078
mov edx, 0x10003830
mov ecx, eax
call fcn.10001dc0
mov esi, eax
push 0x10042698
push dword [esp + 0x14]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000fa21
jmp dword [eax*4 + 0x100115e8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000fa8f
mov ecx, str.MH_OK
jmp 0x1000fa8f
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000fa8f
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000fa8f
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000fa8f
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000fa8f
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000fa8f
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000fa8f
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000fa8f
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000fa8f
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000fa8f
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000fa8f
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000fa8f
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000fa8f
mov ecx, str._unknown_
inc esi
cmp esi, 0xd
ja case.default.0x1000fa95
jmp dword [esi*4 + 0x10011620]
mov eax, str.MH_UNKNOWN
jmp 0x1000fb03
mov eax, str.MH_OK
jmp 0x1000fb03
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000fb03
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000fb03
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000fb03
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000fb03
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000fb03
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000fb03
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000fb03
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000fb03
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000fb03
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000fb03
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000fb03
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000fb03
mov eax, str._unknown_
push ecx
push eax
push str._r_nHeapCreate_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000fb28
lea esi, [eax + 0xb]
jmp 0x1000fb4c
push 0x100426c8
push eax
call edi
test eax, eax
jne 0x1000fb39
lea esi, [eax + 0xc]
jmp 0x1000fb4c
push 0x1004ffbc
mov edx, 0x10003870
mov ecx, eax
call fcn.10001dc0
mov esi, eax
push 0x100426c8
push dword [esp + 0x14]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000fb69
jmp dword [eax*4 + 0x10011658]
mov ecx, str.MH_UNKNOWN
jmp 0x1000fbd7
mov ecx, str.MH_OK
jmp 0x1000fbd7
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000fbd7
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000fbd7
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000fbd7
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000fbd7
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000fbd7
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000fbd7
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000fbd7
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000fbd7
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000fbd7
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000fbd7
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000fbd7
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000fbd7
mov ecx, str._unknown_
inc esi
cmp esi, 0xd
ja case.default.0x1000fbdd
jmp dword [esi*4 + 0x10011690]
mov eax, str.MH_UNKNOWN
jmp 0x1000fc4b
mov eax, str.MH_OK
jmp 0x1000fc4b
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000fc4b
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000fc4b
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000fc4b
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000fc4b
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000fc4b
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000fc4b
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000fc4b
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000fc4b
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000fc4b
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000fc4b
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000fc4b
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000fc4b
mov eax, str._unknown_
push ecx
push eax
push str.HeapAlloc_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000fc70
lea esi, [eax + 0xb]
jmp 0x1000fc94
push 0x100426f4
push eax
call edi
test eax, eax
jne 0x1000fc81
lea esi, [eax + 0xc]
jmp 0x1000fc94
push 0x1004e988
mov edx, 0x100038f0
mov ecx, eax
call fcn.10001dc0
mov esi, eax
push 0x100426f4
push dword [esp + 0x14]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000fcb1
jmp dword [eax*4 + 0x100116c8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000fd1f
mov ecx, str.MH_OK
jmp 0x1000fd1f
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000fd1f
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000fd1f
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000fd1f
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000fd1f
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000fd1f
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000fd1f
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000fd1f
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000fd1f
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000fd1f
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000fd1f
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000fd1f
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000fd1f
mov ecx, str._unknown_
inc esi
cmp esi, 0xd
ja case.default.0x1000fd25
jmp dword [esi*4 + 0x10011700]
mov eax, str.MH_UNKNOWN
jmp 0x1000fd93
mov eax, str.MH_OK
jmp 0x1000fd93
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000fd93
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000fd93
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000fd93
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000fd93
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000fd93
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000fd93
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000fd93
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000fd93
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000fd93
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000fd93
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000fd93
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000fd93
mov eax, str._unknown_
push ecx
push eax
push str.HeapFree_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000fdb8
lea esi, [eax + 0xb]
jmp 0x1000fddc
push str.PulseEvent
push eax
call edi
test eax, eax
jne 0x1000fdc9
lea esi, [eax + 0xc]
jmp 0x1000fddc
push 0x1004e6f8
mov edx, 0x10003090
mov ecx, eax
call fcn.10001dc0
mov esi, eax
push str.PulseEvent
push dword [esp + 0x14]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000fdf9
jmp dword [eax*4 + 0x10011738]
mov ecx, str.MH_UNKNOWN
jmp 0x1000fe67
mov ecx, str.MH_OK
jmp 0x1000fe67
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000fe67
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000fe67
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000fe67
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000fe67
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000fe67
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000fe67
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000fe67
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000fe67
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000fe67
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000fe67
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000fe67
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000fe67
mov ecx, str._unknown_
inc esi
cmp esi, 0xd
ja case.default.0x1000fe6d
jmp dword [esi*4 + 0x10011770]
mov eax, str.MH_UNKNOWN
jmp 0x1000fedb
mov eax, str.MH_OK
jmp 0x1000fedb
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000fedb
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000fedb
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000fedb
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x1000fedb
mov eax, str.MH_ERROR_ENABLED
jmp 0x1000fedb
mov eax, str.MH_ERROR_DISABLED
jmp 0x1000fedb
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000fedb
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000fedb
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000fedb
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000fedb
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000fedb
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000fedb
mov eax, str._unknown_
push ecx
push eax
push str._r_nPulseEvent_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1000ff00
lea esi, [eax + 0xb]
jmp 0x1000ff24
push str.SetPriorityClass
push eax
call edi
test eax, eax
jne 0x1000ff11
lea esi, [eax + 0xc]
jmp 0x1000ff24
push 0x1004e6e8
mov edx, 0x10003470
mov ecx, eax
call fcn.10001dc0
mov esi, eax
push str.SetPriorityClass
push dword [esp + 0x14]
call edi
mov edx, 1
mov ecx, eax
call fcn.10002350
inc eax
cmp eax, 0xd
ja case.default.0x1000ff41
jmp dword [eax*4 + 0x100117a8]
mov ecx, str.MH_UNKNOWN
jmp 0x1000ffaf
mov ecx, str.MH_OK
jmp 0x1000ffaf
mov ecx, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x1000ffaf
mov ecx, str.MH_ERROR_NOT_INITIALIZED
jmp 0x1000ffaf
mov ecx, str.MH_ERROR_ALREADY_CREATED
jmp 0x1000ffaf
mov ecx, str.MH_ERROR_NOT_CREATED
jmp 0x1000ffaf
mov ecx, str.MH_ERROR_ENABLED
jmp 0x1000ffaf
mov ecx, str.MH_ERROR_DISABLED
jmp 0x1000ffaf
mov ecx, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x1000ffaf
mov ecx, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x1000ffaf
mov ecx, str.MH_ERROR_MEMORY_ALLOC
jmp 0x1000ffaf
mov ecx, str.MH_ERROR_MEMORY_PROTECT
jmp 0x1000ffaf
mov ecx, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x1000ffaf
mov ecx, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x1000ffaf
mov ecx, str._unknown_
inc esi
cmp esi, 0xd
ja case.default.0x1000ffb5
jmp dword [esi*4 + 0x100117e0]
mov eax, str.MH_UNKNOWN
jmp 0x10010023
mov eax, str.MH_OK
jmp 0x10010023
mov eax, str.MH_ERROR_ALREADY_INITIALIZED
jmp 0x10010023
mov eax, str.MH_ERROR_NOT_INITIALIZED
jmp 0x10010023
mov eax, str.MH_ERROR_ALREADY_CREATED
jmp 0x10010023
mov eax, str.MH_ERROR_NOT_CREATED
jmp 0x10010023
mov eax, str.MH_ERROR_ENABLED
jmp 0x10010023
mov eax, str.MH_ERROR_DISABLED
jmp 0x10010023
mov eax, str.MH_ERROR_NOT_EXECUTABLE
jmp 0x10010023
mov eax, str.MH_ERROR_UNSUPPORTED_FUNCTION
jmp 0x10010023
mov eax, str.MH_ERROR_MEMORY_ALLOC
jmp 0x10010023
mov eax, str.MH_ERROR_MEMORY_PROTECT
jmp 0x10010023
mov eax, str.MH_ERROR_MODULE_NOT_FOUND
jmp 0x10010023
mov eax, str.MH_ERROR_FUNCTION_NOT_FOUND
jmp 0x10010023
mov eax, str._unknown_
push ecx
push eax
push str._r_nSetPriorityClass_Hook______s______s_r_n
push 0
call fcn.10002ac0
add esp, 0x10
push 0
push 0x1004e710
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x208
lea eax, [esp + 0x7ec]
push 0
push eax
call fcn.1001c960
add esp, 0xc
lea eax, [esp + 0x7e8]
push 0x1004e710
push 0x104
push eax
call fcn.1002201a
add esp, 0xc
lea eax, [esp + 0x7e8]
push str.disp.ini
push 0x104
push eax
call fcn.1002207e
add esp, 0xc
cmp dword [0x1004ee30], 1
jne 0x100100a3
lea eax, [esp + 0x7e8]
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 + 0x800]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, 0xffffffff
je 0x1001015d
call edi
test eax, eax
jne 0x10010156
push 0x104
push eax
lea eax, [esp + 0x38]
push eax
call fcn.1001c960
add esp, 0xc
lea eax, [esp + 0x30]
push dword [0x10050454]
push dword [0x1004e47c]
push dword [0x10050238]
push dword [0x1004ffac]
push str.formatD3DFMT_A8R8G8B8_ngamma_b1_ngamma_g1_ngamma_r1_nmodewindow_nresolution_dx_d_nsize_dx_d_n
push 0x104
push eax
call fcn.100128e0
lea ecx, [esp + 0x4c]
mov dword [esp + 0x474], 0
add esp, 0x1c
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10010136
push 0
lea eax, [esp + 0x45c]
sub ecx, edx
push eax
push ecx
lea eax, [esp + 0x3c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x208
lea eax, [esp + 0x9f4]
push 0
push eax
call fcn.1001c960
add esp, 0xc
lea eax, [esp + 0x9f0]
push 0x1004e710
push 0x104
push eax
call fcn.1002201a
add esp, 0xc
lea eax, [esp + 0x9f0]
push str.data.sys
push 0x104
push eax
call fcn.1002207e
mov esi, dword [sym.imp.KERNEL32.dll_SetLastError]
add esp, 0xc
push 0
call esi
cmp dword [0x1004f29c], 1
jne 0x1001021a
push 0
push 0x80
push 4
push 0
push 2
push 0x40000000
lea eax, [esp + 0xa08]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x10010214
call edi
test eax, eax
jne 0x1001020d
push eax
mov dword [esp + 0x45c], eax
lea eax, [esp + 0x45c]
push eax
push 0x74
push 0x10048d10
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
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 [0x1004f74c], 1
jne 0x100102bf
push 0x208
lea eax, [esp + 0x34]
push 0
push eax
call fcn.1001c960
add esp, 0xc
lea eax, [esp + 0x30]
push 0x1004e710
push 0x104
push eax
call fcn.1002201a
add esp, 0xc
lea eax, [esp + 0x30]
push str.data.002
push 0x104
push eax
call fcn.1002207e
add esp, 0xc
push 0
call esi
push 0
push 0x80
push 4
push 0
push 2
push 0x40000000
lea eax, [esp + 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x100102bf
call edi
test eax, eax
jne 0x100102b8
push str._r_nPatching_thread_done__r_n
push 0
call fcn.10002ac0
push str._r_n______________________________________________________________________________________________________r_n
push 0
call fcn.10002ac0
add esp, 0x10
mov al, 1
pop edi
pop esi
mov ecx, dword [esp + 0xbf4]
xor ecx, esp
call fcn.1001a6fb
mov esp, ebp
pop ebp
ret
push str._r_nFailed_to_get_d3d8.dll__r_n
push 1
call fcn.10002ac0
mov ecx, dword [esp + 0xc04]
add esp, 8
xor al, al
pop edi
pop esi
xor ecx, esp
call fcn.1001a6fb
mov esp, ebp
pop ebp
ret