Function at 0x449a80
Capabilities:
Read file on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50d73f
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x790
mov eax, dword [0x56a040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x6f8]
call fcn.00405650
push 0x400
lea eax, [ebp - 0x438]
push 0
push eax
call fcn.004dbbb0
add esp, 0xc
mov byte [0x56ac0d], 1
lea ecx, [ebp - 0x4a4]
push 0x56cfd4
call fcn.00404a50
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x4bc]
mov byte [ebp - 0x43c], 0
mov edx, 0x546a59
push dword [ebp - 0x43c]
call fcn.00423810
add esp, 4
lea edx, [ebp - 0x4bc]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4a4]
call fcn.004490d0
cmp dword [0x27d6e64], 0
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
je 0x449d9b
push ecx
lea eax, [ebp - 0x6f0]
push eax
lea ecx, [ebp - 0x4bc]
call fcn.00404ee0
mov byte [ebp - 4], 2
lea edi, [ebp - 0x6f0]
cmp dword [ebp - 0x6dc], 0xf
push 0x10000
cmova edi, dword [ebp - 0x6f0]
call fcn.004e3625
add esp, 4
mov dword [ebp - 0x6cc], eax
test eax, eax
je 0x449d73
mov ecx, edi
call fcn.0044bf40
mov edi, eax
mov dword [ebp - 0x43c], edi
test edi, edi
je 0x449d46
call fcn.0044bdf0
mov dword [ebp - 0x6c4], eax
test eax, eax
je 0x449d10
push 0x54c184
push edi
call fcn.004dfafd
mov edi, eax
add esp, 8
test edi, edi
je 0x449cc3
push 0x54c188
push dword [ebp - 0x6c4]
call fcn.004dfafd
add esp, 8
mov dword [ebp - 0x6d4], eax
test eax, eax
je 0x449c7b
push ecx
push dword [ebp - 0x6cc]
mov edx, eax
lea ecx, [ebp - 0x6c0]
push edi
call fcn.0044bd40
add esp, 0xc
push edi
push 0x2200
push 1
push 0x22c0b80
call fcn.004e3264
push dword [ebp - 0x6d4]
lea eax, [ebp - 0x6c0]
push 0x200
push 1
push eax
call fcn.004e3051
push dword [ebp - 0x6d4]
call fcn.004dfdfb
add esp, 0x24
push edi
call fcn.004dfdfb
add esp, 4
push dword [ebp - 0x6c4]
call fcn.004df21f
mov edi, dword [ebp - 0x43c]
add esp, 4
push edi
call fcn.004df21f
add esp, 4
push dword [ebp - 0x6cc]
call fcn.004df21f
add esp, 4
jmp 0x449d90
mov edx, 0x54c158
mov ecx, str.Could_not_open_SD_image_file.
call fcn.0044bfa0
push edi
call fcn.004dfdfb
add esp, 4
push dword [ebp - 0x6c4]
call fcn.004df21f
mov edi, dword [ebp - 0x43c]
add esp, 4
push edi
call fcn.004df21f
add esp, 4
push dword [ebp - 0x6cc]
call fcn.004df21f
add esp, 4
jmp 0x449d90
cmp dword [0x27d6f38], 0
jne 0x449ce0
push 0x40
push 0x54c1bc
push str.Could_not_open_SD_state_file.
push dword [0x67355c]
call esi
push dword [ebp - 0x6c4]
call fcn.004df21f
mov edi, dword [ebp - 0x43c]
add esp, 4
push edi
call fcn.004df21f
add esp, 4
push dword [ebp - 0x6cc]
call fcn.004df21f
add esp, 4
jmp 0x449d90
cmp dword [0x27d6f38], 0
jne 0x449d2d
push 0x40
push 0x54c18c
push str.Could_not_generate_SD_image_path.
push dword [0x67355c]
call esi
push edi
call fcn.004df21f
add esp, 4
push dword [ebp - 0x6cc]
call fcn.004df21f
add esp, 4
jmp 0x449d90
cmp dword [0x27d6f38], 0
jne 0x449d63
push 0x40
push str.Load_error
push str.Could_not_generate_SD_state_path.
push dword [0x67355c]
call esi
push dword [ebp - 0x6cc]
call fcn.004df21f
add esp, 4
jmp 0x449d90
cmp dword [0x27d6f38], 0
jne 0x449d90
push 0x40
push 0x54c1e8
push str.Could_not_allocate_buffer.
push dword [0x67355c]
call esi
lea ecx, [ebp - 0x6f0]
call fcn.00404b50
vpxor xmm0, xmm0, xmm0
vmovq qword [ebp - 0x45c], xmm0
mov dword [ebp - 0x454], 0
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0
mov byte [ebp - 4], 3
mov eax, dword [0x56cdc8]
sub eax, 0
je 0x449e62
sub eax, 1
je 0x449e62
sub eax, 1
jne 0x449ec5
cmp dword [0x56cfd0], 0xf
mov edi, 0x56cfbc
mov edx, 0x811c9dc5
cmova edi, dword [0x56cfbc]
xor ecx, ecx
cmp dword [0x56cfcc], ecx
jbe 0x449e26
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [0x56cfcc]
jb 0x449e11
push edx
push 0x56cfbc
lea eax, [ebp - 0x440]
push eax
call fcn.0044b850
cmp dword [eax + 4], 0
je 0x449ec5
push ecx
lea eax, [ebp - 0x440]
push eax
call fcn.0044b2b0
lea ecx, [ebp - 0x45c]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.0044ae10
jmp 0x449ec5
lea edx, [ebp - 0x4a4]
lea ecx, [ebp - 0x444]
call fcn.004a5ad0
mov esi, eax
lea eax, [ebp - 0x45c]
cmp eax, esi
je 0x449eb4
mov ecx, eax
call fcn.0044af30
mov ecx, dword [esi]
mov dword [ebp - 0x45c], ecx
mov eax, dword [esi + 4]
mov dword [ebp - 0x458], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x454], eax
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
lea ecx, [ebp - 0x444]
call fcn.0044af30
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0x45c]
cmp eax, dword [ebp - 0x458]
jne 0x449f64
lea eax, [ebp - 0x480]
push eax
lea ecx, [ebp - 0x4a4]
call fcn.00426380
push ecx
lea ecx, [ebp - 0x6f0]
mov byte [ebp - 4], 4
push ecx
mov ecx, eax
call fcn.00404ee0
push 0xc
push str._not_found
lea edx, [ebp - 0x6f0]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x450]
call fcn.00423040
add esp, 8
cmp dword [eax + 0x14], 0xf
jbe 0x449f23
mov eax, dword [eax]
push eax
push 0
push 0x401
push dword [0x67353c]
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [ebp - 0x450]
call fcn.00404b50
lea ecx, [ebp - 0x6f0]
call fcn.00404b50
lea ecx, [ebp - 0x480]
call fcn.00404c70
mov byte [0x56ac0d], 0
jmp 0x44ac72
vpxor xmm0, xmm0, xmm0
push ecx
lea edx, [ebp - 0x45c]
mov dword [ebp - 0x460], 0
lea ecx, [ebp - 0x468]
vmovq qword [ebp - 0x468], xmm0
call fcn.004a5c50
add esp, 4
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x468]
cmp ecx, dword [ebp - 0x464]
jne 0x449fd1
cmp dword [0x27d6f38], 0
jne 0x44a1df
push 0x10
push 0
push str.Failed_to_decompress_savestate
push dword [0x67355c]
call esi
mov ecx, dword [ebp - 0x468]
xor al, al
mov byte [0x56ac0d], al
jmp 0x44ac20
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [ebp - 0x38], ymm0
mov byte [ebp - 0x18], 0
lea edi, [ecx + 0x20]
vmovdqu ymm0, ymmword [ecx]
vmovdqu ymmword [ebp - 0x38], ymm0
lea ecx, [ebp - 0x38]
mov edx, 0x27c3ca0
mov esi, 0x1c
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44a00c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x449ff7
xor eax, eax
jmp 0x44a033
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44a02e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44a02e
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44a02e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44a02e
xor eax, eax
jmp 0x44a033
sbb eax, eax
or eax, 1
test eax, eax
je 0x44a0d2
lea eax, [ebp - 0x38]
mov dword [ebp - 0x6d0], 0xb0000000
sub esp, 8
mov dword [ebp - 0x6cc], eax
mov eax, esp
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x6d0]
push 0x90
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x450]
mov dword [eax], 1
push str.The_savestate_was_created_on_a_rom_with_hash___but_is_being_loaded_on_another_rom._r_nThe_emulator_may_crash._Are_you_sure_you_want_to_continue_
vzeroupper
call fcn.00416960
add esp, 0x10
lea eax, [ebp - 0x450]
cmp dword [ebp - 0x43c], 0xf
cmova eax, dword [ebp - 0x450]
cmp dword [0x27d6f38], 0
je 0x44a0ab
lea ecx, [ebp - 0x450]
call fcn.00404b50
jmp 0x44a0d2
push 0x24
push 0
push eax
push dword [0x67355c]
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x450]
mov esi, eax
call fcn.00404b50
cmp esi, 6
jne 0x44a1d9
push 0xa02b94
push edi
push 0x10bdfd0
vzeroupper
call fcn.004db630
add esp, 0xc
add edi, 0xa02b94
xor ecx, ecx
mov eax, dword [edi]
add edi, 4
mov dword [ebp + ecx - 0x438], eax
cmp eax, 0xffffffff
je 0x44a1eb
mov eax, dword [edi]
add edi, 4
mov dword [ebp + ecx - 0x434], eax
add ecx, 8
cmp ecx, 0x400
jl 0x44a0f0
jne 0x44a1eb
push str.Snapshot_event_queue_terminator_not_reached._n
push 2
call fcn.004dfbdc
add esp, 4
push eax
call fcn.00405630
vpxor xmm0, xmm0, xmm0
add esp, 8
mov byte [0x56ac0d], 0
vmovdqu xmmword [ebp - 0x450], xmm0
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0
push 0x21
push str.Event_queue_too_long__corrupted__
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 8
call fcn.00405070
cmp dword [ebp - 0x43c], 0xf
lea eax, [ebp - 0x450]
cmova eax, dword [ebp - 0x450]
push eax
push 0
push 0x401
push dword [0x67353c]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0x43c]
cmp ecx, 0xf
jbe 0x44a1d9
mov edx, dword [ebp - 0x450]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a1cf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44acfa
push ecx
push edx
call fcn.004d7c38
add esp, 8
mov ecx, dword [ebp - 0x468]
xor al, al
mov byte [0x56ac0d], al
jmp 0x44ac20
cmp dword [edi], 0
lea esi, [edi + 4]
je 0x44a877
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x488], xmm0
mov dword [ebp - 0x478], 0
mov dword [ebp - 0x474], 0
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0
mov byte [ebp - 4], 9
lea edi, [esi + 0x14]
mov eax, dword [esi]
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x488], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x484], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x480], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x47c], eax
lea eax, [ecx*4 + 4]
mov dword [ebp - 0x478], ecx
lea ecx, [ebp - 0x474]
push eax
call fcn.0044b090
mov esi, dword [ebp - 0x470]
mov eax, dword [ebp - 0x474]
sub esi, eax
sar esi, 2
push esi
push edi
push eax
call fcn.004db630
sub esp, 0x14
add edi, esi
mov ecx, esp
mov dword [ebp - 0x6cc], edi
mov dword [ebp - 0x43c], ecx
lea esi, [ecx + 0x14]
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x43c], esi
mov dword [ecx], eax
mov eax, dword [ebp - 0x484]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x480]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x47c]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x478]
mov dword [ecx + 0x10], eax
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov eax, dword [ebp - 0x470]
sub eax, dword [ebp - 0x474]
sar eax, 2
test eax, eax
je 0x44a336
cmp eax, 0x3fffffff
ja 0x44acff
push eax
mov ecx, esi
call fcn.00410220
mov edi, dword [esi]
mov esi, dword [ebp - 0x470]
mov eax, dword [ebp - 0x474]
sub esi, eax
push esi
push eax
push edi
call fcn.004db630
mov ecx, dword [ebp - 0x43c]
add esp, 0xc
sar esi, 2
lea eax, [edi + esi*4]
mov dword [ecx + 4], eax
call fcn.00478aa0
mov esi, eax
add esp, 0x20
test esi, esi
je 0x44a44d
mov ecx, dword [0x27d5308]
test ecx, ecx
je 0x44a44d
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x450], xmm0
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0
push 0x19
push str.Failed_to_restore_movie_
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0xa
call fcn.00405070
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x450]
sub esi, 1
je 0x44a3cf
sub esi, 5
je 0x44a3c1
sub esi, 4
je 0x44a3b3
push 0x1d
push str.an_unknown_error_has_occured.
call fcn.00404cd0
jmp 0x44a3e5
push 0x24
push str.the_snapshot_is_not_from_this_movie.
call fcn.00404cd0
jmp 0x44a3e5
push 0x37
push str.the_savestate_frame_is_outside_the_bounds_of_the_movie.
call fcn.00404cd0
jmp 0x44a3e5
push 0x16
push str.the_format_is_invalid.
call fcn.00404cd0
mov dword [0x22c318c], 1
push 0x24
push str._r_nAre_you_sure_you_want_to_continue_
lea ecx, [ebp - 0x450]
call fcn.00404cd0
cmp dword [ebp - 0x43c], 0xf
lea ecx, [ebp - 0x450]
push 1
cmova ecx, dword [ebp - 0x450]
xor edx, edx
call fcn.004a5080
add esp, 4
test al, al
jne 0x44a442
call fcn.0047b1b0
lea ecx, [ebp - 0x450]
mov byte [0x56ac0d], 0
call fcn.00404b50
lea ecx, [ebp - 0x474]
call fcn.0040f970
jmp 0x44ab6d
lea ecx, [ebp - 0x450]
call fcn.00404b50
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 6
call fcn.0040f970
mov esi, dword [ebp - 0x6cc]
mov eax, dword [ebp - 0x464]
sub eax, esi
push eax
push str._Savestates___d_bytes_remaining_n
call fcn.00403a40
xor eax, eax
mov dword [ebp - 0x6c4], 0
mov dword [ebp - 0x43c], eax
add esp, 8
mov dword [ebp - 0x6d4], eax
mov eax, dword [ebp - 0x464]
sub eax, esi
je 0x44a501
mov eax, dword [esi]
mov dword [ebp - 0x48c], eax
lea eax, [ebp - 0x48c]
mov eax, dword [eax]
cmp eax, dword [0x56ac24]
jne 0x44a501
push str._Savestates__Restoring_screen_buffer..._n
call fcn.00403a40
mov ecx, dword [esi + 4]
lea edi, [esi + 0xc]
mov eax, dword [esi + 8]
add esp, 4
mov esi, eax
mov dword [ebp - 0x43c], eax
imul esi, ecx
mov dword [ebp - 0x6c4], ecx
mov ecx, 0xffffffff
imul eax, esi, 3
cmovo eax, ecx
push eax
call fcn.004e3625
add esp, 4
mov dword [ebp - 0x6d4], eax
lea ecx, [esi + esi*2]
push ecx
push edi
push eax
call fcn.004db630
add esp, 0xc
mov eax, dword [0x281779c]
test eax, eax
je 0x44a527
nop word [eax + eax]
mov esi, dword [eax + 8]
push eax
call fcn.004df21f
add esp, 4
mov eax, esi
mov dword [0x281779c], eax
test esi, esi
jne 0x44a510
mov eax, dword [ebp - 0x438]
cmp eax, 0xffffffff
je 0x44a55b
lea esi, [ebp - 0x438]
nop dword [eax + eax]
mov edx, dword [esi + 4]
mov ecx, eax
sub edx, dword [0x22c31c4]
call fcn.004555f0
mov eax, dword [esi + 8]
lea esi, [esi + 8]
cmp eax, 0xffffffff
jne 0x44a540
vmovdqu ymm0, ymmword [0x10bdfd0]
mov eax, dword [0x10bdff4]
vmovdqu ymmword [0x81dec0], ymm0
vmovq xmm0, qword [0x10bdff0]
vmovq qword [0x81dee0], xmm0
test eax, eax
jns 0x44a595
and eax, 0x7fffffff
mov byte [0x61d24c], 1
mov dword [0x81dee4], eax
vmovdqu ymm0, ymmword [0x10bdff8]
vmovdqu ymmword [0x79de5c], ymm0
vmovdqu ymm0, ymmword [0x10be01c]
vmovdqu ymmword [0x67d5d0], ymm0
vmovdqu xmm0, xmmword [0x10be03c]
vmovdqu xmmword [0x67d5f0], xmm0
vmovdqu ymm0, ymmword [0x10be050]
vmovdqu ymmword [0x67d604], ymm0
vmovdqu xmm0, xmmword [0x10be070]
mov eax, dword [0x10be018]
vmovdqu xmmword [0x67d624], xmm0
vmovdqu xmm0, xmmword [0x10be08c]
vmovdqu xmmword [0x67d5c0], xmm0
vmovdqu ymm0, ymmword [0x10be09c]
mov ecx, dword [0x10be088]
vmovdqu ymmword [0x81de84], ymm0
vmovdqu xmm0, xmmword [0x10be0bc]
vmovdqu xmmword [0x81dea4], xmm0
vmovq xmm0, qword [0x10be0cc]
vmovq qword [0x81deb4], xmm0
vmovdqu ymm0, ymmword [0x10be0d8]
vmovdqu ymmword [0x81dee8], ymm0
vmovdqu ymm0, ymmword [0x10be0f8]
vmovdqu ymmword [0x8bdf7c], ymm0
vmovq xmm0, qword [0x10be118]
vmovq qword [0x8bdf9c], xmm0
vmovdqu ymm0, ymmword [0x10be120]
mov dword [0x79de7c], eax
mov eax, dword [0x10be04c]
mov dword [0x67d600], eax
mov eax, dword [0x10be080]
vmovdqu ymmword [0x87df40], ymm0
vmovdqu xmm0, xmmword [0x10be140]
mov dword [0x67d634], eax
mov eax, dword [0x10be084]
push 0x800000
vmovdqu xmmword [0x87df60], xmm0
vmovdqu xmm0, xmmword [0x10be150]
mov dword [0x81de7c], eax
mov eax, dword [0x10be0d4]
push 0x10be160
mov dword [0x81de80], ecx
mov dword [0x81debc], eax
vmovdqu xmmword [0x83df10], xmm0
push 0x8bdfc0
vzeroupper
call fcn.004db630
add esp, 0xc
push 0x1000
push 0x18be160
push 0x67b5c0
call fcn.004db630
add esp, 0xc
push 0x1000
push 0x18bf160
push dword [0x56ac10]
call fcn.004db630
vmovdqu ymm0, ymmword [0x18c0160]
vmovdqu xmm1, xmmword [0x18c01a0]
vmovdqu ymmword [0x67b580], ymm0
vmovdqu ymm0, ymmword [0x18c0180]
add esp, 0xc
vmovdqu xmmword [ebp - 0x7a0], xmm1
mov eax, dword [ebp - 0x7a0]
vmovdqu ymmword [0x67b5a0], ymm0
vmovq xmm0, qword [0x18c01b0]
mov dword [0x673568], eax
mov eax, dword [ebp - 0x79c]
vmovq qword [ebp - 0x790], xmm0
mov dword [0x27d6f90], eax
mov eax, dword [ebp - 0x790]
push 0x100000
mov dword [0x27d61d8], eax
mov eax, dword [ebp - 0x78c]
push 0x18c01b8
vpextrd dword [0x27d6f88], xmm1, 2
vpextrd dword [0x27d6f8c], xmm1, 3
mov dword [0x27d61dc], eax
push 0x1ec0b80
vzeroupper
call fcn.004db630
add esp, 0xc
push 0x100000
push 0x19c01b8
push 0x1ac0b80
call fcn.004db630
mov eax, dword [0x1ac01b8]
mov ecx, 0x40
mov esi, 0x1ac01bc
mov dword [0x27c3b38], eax
mov edi, 0x27c3280
add esp, 0xc
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x1ac02bc
mov edx, 0x22c31a0
mov eax, dword [ecx]
add ecx, 8
mov dword [edx], eax
add edx, 4
cmp edx, 0x22c3220
jl 0x44a7e2
cmp dword [0x27c3380], 0
lea esi, [ecx + 0x10]
mov edx, dword [ecx + 4]
mov edi, 0x27c33a0
mov eax, dword [ecx]
mov dword [ebp - 0x6cc], ecx
mov dword [0x27c338c], edx
mov edx, dword [ecx + 0xc]
mov dword [0x27c3388], eax
mov eax, dword [ecx + 8]
mov ecx, 0x40
mov dword [0x27c3b24], edx
mov edx, dword [ebp - 0x6cc]
rep movsd dword es:[edi], dword [esi]
mov dword [0x27c3b20], eax
lea esi, [edx + 0x118]
mov eax, dword [edx + 0x110]
mov ecx, 0x1a0
mov dword [0x27c3b34], eax
mov edi, 0x27c34a0
mov eax, dword [edx + 0x114]
mov dword [0x27c3b2c], eax
rep movsd dword es:[edi], dword [esi]
jne 0x44a8c6
cmp dword [0x22c3220], 0
je 0x44a8c6
mov eax, dword [edx + 0x798]
mov dword [0x22c30c8], eax
jmp 0x44a8f1
mov eax, dword [0x27d5308]
cmp eax, 4
je 0x44a88f
mov eax, dword [0x27d5308]
cmp eax, 7
jne 0x44a462
cmp dword [0x27d6f38], 0
jne 0x44a462
push 0x24
push 0
push str.Loading_a_non_movie_savestate_during_movie_playback_might_desynchronize_playback._r_nAre_you_sure_you_want_to_continue_
push dword [0x67355c]
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
je 0x44a462
mov byte [0x56ac0d], 0
jmp 0x44ac1a
mov esi, dword [edx + 0x798]
push 0x100000
push 1
push 0x22c3240
call fcn.004dbbb0
add esp, 0xc
mov dword [0x27c3b3c], esi
call fcn.004646c0
mov edx, dword [ebp - 0x6cc]
cmp dword [0x22c30b0], 0
mov eax, dword [edx + 0x79c]
mov dword [0x27c3264], eax
mov eax, dword [edx + 0x7a0]
mov dword [0x22c2d94], eax
mov eax, dword [edx + 0x7a4]
mov dword [0x22c2d90], eax
je 0x44aa3a
cmp dword [0x22c30b4], 0
je 0x44aa3a
cmp dword [ebp - 0x6d4], 0
je 0x44aa3a
cmp byte [0x27d5304], 0
jne 0x44aa3a
mov eax, dword [ebp - 0x6c4]
cmp dword [0x6734a0], eax
jne 0x44aa3a
mov edi, dword [ebp - 0x43c]
cmp dword [0x6734a4], edi
jne 0x44aa3a
mov esi, dword [sym.imp.USER32.dll_SetWindowLongA]
push 0x6734e8
push 0xffffffffffffffeb
push dword [0x6734e0]
call esi
mov eax, dword [ebp - 0x6c4]
push dword [0x6734f8]
mov dword [0x6734f0], eax
mov dword [0x673500], eax
mov dword [0x6734f4], edi
mov dword [0x673504], edi
call fcn.004df21f
mov eax, dword [0x6734f4]
add esp, 4
imul eax, dword [0x6734f0]
mov ecx, 0xffffffff
imul eax, eax, 3
cmovo eax, ecx
push eax
call fcn.004e3625
mov ecx, dword [0x6734f4]
add esp, 4
imul ecx, dword [0x6734f0]
mov dword [0x6734f8], eax
lea ecx, [ecx + ecx*2]
push ecx
push dword [ebp - 0x6d4]
push eax
call fcn.004db630
mov eax, dword [ebp - 0x6c4]
add esp, 0xc
push 1
push edi
push eax
push 0
push 0
push dword [0x6734e0]
call dword [sym.imp.USER32.dll_MoveWindow]
push 0x101
push 0
push 0
push dword [0x6734e0]
call dword [sym.imp.USER32.dll_RedrawWindow]
push 0x673498
push 0xffffffffffffffeb
push dword [0x6734e0]
call esi
push dword [ebp - 0x6d4]
call fcn.004df21f
add esp, 4
cmp dword [0x27d5458], 0
je 0x44aa85
lea eax, [ebp - 0x720]
mov dword [ebp - method.std::_Func_impl_no_alloc_class__void___cdecl_LuaCallbacks::call_load_state_void_::_2::_lambda_1___void___.virtual_0], vtable.std::_Func_impl_no_alloc_class__void___cdecl_LuaCallbacks::call_load_state_void_::_2::_lambda_1___void___.0
mov dword [ebp - 0x6fc], eax
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.0041f5e0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x6fc]
test ecx, ecx
je 0x44aa85
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x720]
cmp ecx, eax
setne al
push eax
call edx
mov eax, dword [0x56cdc8]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 1
jne 0x44ab1f
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x4a4]
call fcn.00426380
push ecx
lea ecx, [ebp - 0x6f0]
mov byte [ebp - 4], 0xd
push ecx
mov ecx, eax
call fcn.00404ee0
push 9
push str.Loaded_
lea edx, [ebp - 0x6f0]
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x480]
call fcn.00423040
add esp, 8
cmp dword [eax + 0x14], 0xf
jbe 0x44aae5
mov eax, dword [eax]
push eax
push 0
push 0x401
push dword [0x67353c]
call esi
lea ecx, [ebp - 0x480]
call fcn.00404b50
lea ecx, [ebp - 0x6f0]
call fcn.00404b50
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 6
call fcn.00404c70
mov eax, dword [0x56cdc8]
test eax, eax
jne 0x44ab6d
mov eax, dword [0x1ac0b64]
lea edx, [ebp - 0x43c]
inc eax
lea ecx, [ebp - 0x480]
push 0xe
push str.Loaded_slot_
mov dword [ebp - 0x43c], eax
call fcn.004158d0
add esp, 8
cmp dword [eax + 0x14], 0xf
jbe 0x44ab52
mov eax, dword [eax]
push eax
push 0
push 0x401
push dword [0x67353c]
call esi
lea ecx, [ebp - 0x480]
call fcn.00404b50
cmp dword [0x22c30c8], 0x80000180
mov eax, dword [0x27c3b28]
je 0x44ab8b
cmp dword [eax + 0x14], 0x80000180
je 0x44ab8b
xor cl, cl
jmp 0x44ab8d
mov cl, 1
cmp dword [0x22c30c8], 0x80000180
mov byte [0x61d24d], cl
je 0x44abb1
cmp dword [eax + 0x14], 0x80000180
jne 0x44abb8
cmp dword [0x27c3380], 0
jne 0x44abd1
mov byte [0x61d24e], 1
cmp dword [0x27c3380], 0
jne 0x44abd1
cmp dword [0x22c3220], 0
je 0x44abd1
mov eax, dword [0x22c30c8]
jmp 0x44abd4
mov eax, dword [eax + 0x14]
mov dword [0x27c3b30], eax
lea ecx, [ebp - 0x6d0]
lea eax, [ebp - 0x6f8]
push eax
call fcn.00405650
mov edx, eax
lea ecx, [ebp - 0x6d8]
call fcn.00406e40
add esp, 4
push 0
push 0xf4240
push dword [eax + 4]
push dword [eax]
call fcn.004d85d0
push eax
push str.Savestate_loading_took__dms_n
call fcn.00403a40
add esp, 8
mov ecx, dword [ebp - 0x468]
test ecx, ecx
je 0x44ac72
mov edx, dword [ebp - 0x460]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x44ac4a
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad04
push edx
push ecx
call fcn.004d7c38
add esp, 8
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x464], 0
mov dword [ebp - 0x460], 0
mov ecx, dword [ebp - 0x45c]
test ecx, ecx
je 0x44acc6
mov edx, dword [ebp - 0x454]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x44ac9e
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad04
push edx
push ecx
call fcn.004d7c38
add esp, 8
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0
lea ecx, [ebp - 0x4bc]
call fcn.00404c70
lea ecx, [ebp - 0x4a4]
call fcn.00404c70
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004d7bf5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004e35d4
call fcn.00408340
call fcn.004e35d4
int3