Function at 0x425b10
Capabilities:
Resolve function by parsing pe exports

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 0x4933b5
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x50
push esi
push edi
mov eax, dword [0x4b9068]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x1c], esi
mov ecx, str._n_nNew_Session__n_n
call fcn.00418450
mov dword [esi + 0x14], 0x101
xor eax, eax
mov byte [esi + 0x3c8], 0
mov byte [esi + 0x1a], 0
mov dword [esi + 0x4c], 1
mov dword [esi + 0xa5c], 0
mov byte [esi + 0x3cc], 0
mov dword [esi + 0x3d0], 0
mov dword [esi + 0x3d4], 0
mov dword [esi + 0x3d8], 0
mov dword [esi + 0x3dc], 0
mov dword [esi + 0x3e0], 0
nop dword [eax + eax]
inc eax
cmp byte [eax + str.TRUE], 0
jne 0x425bc0
push 1
inc eax
lea ecx, [esi + 0xc18]
push eax
push str.TRUE
call fcn.004056b0
xor eax, eax
inc eax
cmp byte [eax + str.true], 0
jne 0x425be0
push 1
inc eax
lea ecx, [esi + 0xc18]
push eax
push str.true
call fcn.004056b0
xor eax, eax
inc eax
cmp byte [eax + str.RELEASEMODE], 0
jne 0x425c00
push 1
inc eax
lea ecx, [esi + 0xc18]
push eax
push str.RELEASEMODE
call fcn.004056b0
push str.RELEASEMODE
lea ecx, [esi + 0xc18]
call fcn.004058c0
test eax, eax
jne 0x425c50
inc eax
cmp byte [eax + str.JOURNALENABLED], 0
jne 0x425c32
push 1
inc eax
lea ecx, [esi + 0xc18]
push eax
push str.JOURNALENABLED
call fcn.004056b0
movsd xmm0, qword [0x4af3c0]
movsd qword [esi + 0x20], xmm0
movsd xmm0, qword [0x4af3d8]
push 0x220
mov word [esi + 0x18], 0x100
mov dword [esi + 0x404], 0
mov dword [esi + 0x408], 0
mov dword [esi + 0x40c], 0
mov dword [esi + 0x410], 0
mov dword [esi + 0x414], 0
mov word [esi + 0x1b], 1
mov byte [esi + 0x1d], 1
mov dword [esi + 0x50], 2
mov dword [esi + 0x54], 0
mov word [esi + 0x28], 1
movsd qword [esi + 0x30], xmm0
mov byte [esi + 0x3c9], 1
mov byte [esi + 0x3cb], 0
mov dword [esi + 0x658], 0x71
mov dword [esi + 0x65c], 0
mov dword [esi + 0x660], 0
mov dword [esi + 0x664], 0
mov dword [esi + 0x668], 0
mov dword [esi + 0x66c], 0
mov dword [esi + 0x670], 0
mov dword [esi + 0x674], 0x756f59
mov dword [esi + 0x1470], esi
call dword [sym.imp.SDL2.dll_SDL_Init]
add esp, 4
test eax, eax
jns 0x425d60
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.SDL_could_not_initialize__SDL_Error:__s_n
call fcn.004012d0
add esp, 8
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 2
call dword [sym.imp.SDL2_image.dll_IMG_Init]
add esp, 4
cmp eax, 2
je 0x425d9a
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.SDL_image_could_not_initialize__SDL_image_Error:__s_n
call fcn.004012d0
add esp, 8
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
cmp byte [esi + 0x16], 0
jne 0x425ec8
push 0x800
push 2
push 0x8010
push 0xac44
call dword [sym.imp.SDL2_mixer.dll_Mix_OpenAudio]
add esp, 0x10
test eax, eax
jns 0x425dec
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.SDL_mixer_could_not_initialize__SDL_mixer_Error:__s_n
call fcn.004012d0
add esp, 8
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edi, dword [sym.imp.SDL2.dll_SDL_RWFromFile]
push 1
push 0x4a38a8
push str.Train_Assets_SFX_sfx_cancel.wav
mov byte [esi + 0x3c8], 1
mov dword [esi + 0x874], 0
mov dword [esi + 0x878], 0
mov dword [esi + 0x87c], 0
mov dword [esi + 0x880], 0
call edi
mov esi, dword [sym.imp.SDL2_mixer.dll_Mix_LoadWAV_RW]
add esp, 8
push eax
call esi
mov ecx, dword [ebp - 0x1c]
add esp, 8
push 1
push 0x4a38a8
push str.Train_Assets_SFX_sfx_bleep.wav
mov dword [ecx + 0x884], eax
call edi
add esp, 8
push eax
call esi
mov esi, dword [ebp - 0x1c]
add esp, 8
mov ecx, esi
mov dword [esi + 0x888], eax
call fcn.00420760
test al, al
jne 0x425e95
push str.Failed_to_initialize_the_sound_effects_hash_table_n
call fcn.004012d0
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 3
call dword [sym.imp.SDL2_mixer.dll_Mix_ReserveChannels]
add esp, 4
cmp eax, 3
je 0x425ec8
push str.Could_not_reserve_the_cross_fade_music_and_sound_effect_channels._n
call fcn.004012d0
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movsd xmm1, qword [esi + 0x20]
movaps xmm0, xmm1
mulsd xmm1, qword [0x4af4c0]
push 4
mulsd xmm0, qword [0x4af4b0]
cvttsd2si eax, xmm0
push eax
cvttsd2si eax, xmm1
push eax
push 0x1fff0000
push 0x1fff0000
push str.Detective_Instinct:_Farewell__My_Beloved
call dword [sym.imp.SDL2.dll_SDL_CreateWindow]
add esp, 0x18
mov dword [esi + 0x890], eax
test eax, eax
jne 0x425f38
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.Main_Window_could_not_be_created__SDL_Error:__s_n
call fcn.004012d0
add esp, 8
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 1
push eax
call dword [sym.imp.SDL2.dll_SDL_SetWindowResizable]
push 6
push 0xffffffffffffffff
push dword [esi + 0x890]
call dword [sym.imp.SDL2.dll_SDL_CreateRenderer]
mov edx, eax
add esp, 0x14
mov dword [esi + 0x894], edx
test edx, edx
jne 0x425f84
push str.Error_creating_SDL_Renderer_for_the_main_window_
call dword [sym.imp.SDL2.dll_SDL_Log]
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movsd xmm2, qword [0x4af408]
lea ecx, [esi + 0x15f4]
mov dword [esi + 0x15f0], 0xf
movups xmm0, xmmword [str.Train_Assets_Fonts_Font_5.ttf]
push ecx
movups xmmword [ecx], xmm0
movq xmm0, qword [0x4a49f8]
movq qword [ecx + 0x10], xmm0
mov eax, dword [0x4a4a00]
mov dword [ecx + 0x18], eax
mov ax, word [0x4a4a04]
mov word [ecx + 0x1c], ax
lea eax, [esi + 0xab8]
mov ecx, eax
mov dword [esi + 0xb50], edx
mov dword [ebp - 0x20], eax
call fcn.0041db00
mov eax, dword [esi + 0xb54]
push 0xff
push 0
push 0
push 0
push dword [esi + 0x894]
mov dword [esi + 0x9bc], eax
call dword [sym.imp.SDL2.dll_SDL_SetRenderDrawColor]
add esp, 0x14
push dword [esi + 0x894]
call dword [sym.imp.SDL2.dll_SDL_RenderClear]
add esp, 4
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0
push eax
push 0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x18], 0xffffffff
call fcn.00462ab0
push str.Loading...
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [esi + 0xb68]
call fcn.0041d7f0
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x48]
mov byte [0x4f9c24], 1
movsd xmm3, qword [esi + 0x20]
mov word [esi + 0x28], 0x101
movaps xmm1, xmm3
mulsd xmm1, qword [0x4af4b0]
mov dword [esi + 0x54], 1
movd xmm0, dword [eax + 4]
mulsd xmm3, qword [0x4af4c0]
mov dword [ebp - 0x18], 0xff000000
push dword [ebp - 0x18]
cvtdq2pd xmm0, xmm0
sub esp, 0xc
mov ecx, esp
subsd xmm1, xmm0
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
lea eax, [ebp - 0x3c]
push eax
mulsd xmm1, qword [0x4af398]
subsd xmm3, xmm0
cvttsd2si edi, xmm1
mulsd xmm3, qword [0x4af398]
cvttsd2si esi, xmm3
call fcn.004517f0
push str.Loading...
push edi
mov edi, dword [ebp - 0x1c]
mov ecx, edi
push esi
push dword [ebp - 0x20]
call fcn.004410d0
push dword [edi + 0x894]
call dword [sym.imp.SDL2.dll_SDL_RenderPresent]
add esp, 4
push dword [edi + 0x890]
call dword [sym.imp.SDL2.dll_SDL_RaiseWindow]
mov esi, dword [sym.imp.SDL2.dll_SDL_CreateTexture]
add esp, 4
push 0x10e
push 0x1e0
push 2
push 0x16862004
push dword [edi + 0x894]
call esi
add esp, 0x14
mov dword [edi + 0x89c], eax
test eax, eax
jne 0x42613b
mov eax, str.Unable_to_create_the_main_screen_texture__n
push eax
jmp 0x426c3b
push 0x10e
push 0x1e0
push 2
push 0x16862004
push dword [edi + 0x894]
call esi
add esp, 0x14
mov dword [edi + 0x9c0], eax
test eax, eax
jne 0x42616c
mov eax, str.Unable_to_create_the_fade_texture__n
push eax
jmp 0x426c3b
push 1
push eax
call dword [sym.imp.SDL2.dll_SDL_SetTextureBlendMode]
add esp, 8
mov ecx, edi
call fcn.00421180
test al, al
jne 0x426190
push str.Could_not_initialize_the_fade_texture__n
call fcn.004012d0
add esp, 4
mov esi, dword [sym.imp.SDL2_image.dll_IMG_LoadTexture]
push str.Train_Assets_Textures_NoteAdd.png
push dword [edi + 0x894]
call esi
add esp, 8
mov dword [edi + 0x9d4], eax
test eax, eax
jne 0x4261c9
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.Unable_to_load_the_note_added_texture__SDL_Error:__s_n
call fcn.004012d0
add esp, 8
jmp 0x426c43
push str.Train_Assets_Textures_hand_cursor.png
push dword [edi + 0x894]
call esi
add esp, 8
mov dword [edi + 0x8a0], eax
test eax, eax
jne 0x4261fc
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.Unable_to_load_the_test_cursor__SDL_Error:__s_n
call fcn.004012d0
add esp, 8
jmp 0x426c43
push str.Train_Assets_Textures_menu_cursor.png
push dword [edi + 0x894]
call esi
add esp, 8
mov dword [edi + 0x8a4], eax
test eax, eax
jne 0x42622f
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.Unable_to_load_the_menu_cursor_texture__SDL_Error:__s_n
call fcn.004012d0
add esp, 8
jmp 0x426c43
push str.Train_Assets_Textures_Advance_Text.png
push dword [edi + 0x894]
call esi
add esp, 8
mov dword [edi + 0x8a8], eax
test eax, eax
jne 0x426262
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.Unable_to_load_the_advance_text_texture__SDL_Error:__s_n
call fcn.004012d0
add esp, 8
jmp 0x426c43
push str.Train_Assets_Textures_PaperTexture.png
push dword [edi + 0x894]
call esi
mov edx, eax
add esp, 8
mov dword [edi + 0x8ac], edx
test edx, edx
jne 0x426297
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.Unable_to_load_the_paper_texture__SDL_Error:__s_n
call fcn.004012d0
add esp, 8
jmp 0x426c43
movzx eax, byte [0x4f9c22]
push eax
mov eax, dword [0x4f9c20]
movzx ecx, ah
push ecx
movzx eax, al
push eax
push edx
call dword [sym.imp.SDL2.dll_SDL_SetTextureColorMod]
push str.Train_Assets_Textures_pixel.png
push dword [edi + 0x894]
call esi
mov edx, eax
add esp, 0x18
mov dword [edi + 0x8b0], edx
test edx, edx
jne 0x4262e8
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.Unable_to_load_the_banner_texture__SDL_Error:__s_n
call fcn.004012d0
add esp, 8
jmp 0x426c43
mov dword [ebp - 0x18], 0xffff9211
mov eax, dword [ebp - 0x18]
mov ecx, eax
shr ecx, 0x10
push ecx
mov ecx, eax
mov dword [edi + 0x420], eax
shr ecx, 8
push ecx
push eax
push edx
call dword [sym.imp.SDL2.dll_SDL_SetTextureColorMod]
push 1
push dword [edi + 0x8b0]
call dword [sym.imp.SDL2.dll_SDL_SetTextureBlendMode]
push str.Train_Assets_Textures_Title_Screen.png
push dword [edi + 0x894]
call esi
add esp, 0x20
mov dword [edi + 0x8b4], eax
test eax, eax
jne 0x42634d
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.Unable_to_load_the_title_texture__SDL_Error:__s_n
call fcn.004012d0
add esp, 8
jmp 0x426c43
push 1
push eax
call dword [sym.imp.SDL2.dll_SDL_SetTextureBlendMode]
push str.Train_Assets_Textures_Title_White.png
push dword [edi + 0x894]
call esi
add esp, 0x10
mov dword [edi + 0x8b8], eax
test eax, eax
jne 0x426389
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.Unable_to_load_the_white_title_texture__SDL_Error:__s_n
call fcn.004012d0
add esp, 8
jmp 0x426c43
push 1
push eax
call dword [sym.imp.SDL2.dll_SDL_SetTextureBlendMode]
push str.Train_Assets_Textures_logo.png
push dword [edi + 0x894]
call esi
add esp, 0x10
mov dword [edi + 0x8bc], eax
test eax, eax
jne 0x4263c5
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.Unable_to_load_the_logo_texture__SDL_Error:__s_n
call fcn.004012d0
add esp, 8
jmp 0x426c43
push 1
push eax
call dword [sym.imp.SDL2.dll_SDL_SetTextureBlendMode]
push str.Train_Assets_Textures_work_in_progress.png
push dword [edi + 0x894]
call esi
add esp, 0x10
mov dword [edi + 0x8c0], eax
test eax, eax
jne 0x426401
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.Unable_to_load_the_disclaimer_texture__SDL_Error:__s_n
call fcn.004012d0
add esp, 8
jmp 0x426c43
push 1
push eax
call dword [sym.imp.SDL2.dll_SDL_SetTextureBlendMode]
push str.Train_Assets_Textures_End_Splash.png
push dword [edi + 0x894]
call esi
add esp, 0x10
mov dword [edi + 0x8c4], eax
test eax, eax
jne 0x42643d
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.Unable_to_load_the_end_splash_texture__SDL_Error:__s_n
call fcn.004012d0
add esp, 8
jmp 0x426c43
push 1
push eax
call dword [sym.imp.SDL2.dll_SDL_SetTextureBlendMode]
push str.Train_Assets_Textures_notebook_texture.png
push dword [edi + 0x894]
call esi
add esp, 0x10
mov dword [edi + 0x8c8], eax
test eax, eax
jne 0x426479
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.Unable_to_load_the_notebook_texture__SDL_Error:__s_n
call fcn.004012d0
add esp, 8
jmp 0x426c43
push 1
push eax
call dword [sym.imp.SDL2.dll_SDL_SetTextureBlendMode]
mov eax, dword [edi + 0x894]
lea ecx, [edi + 0x8cc]
add esp, 8
mov dword [edi + 0x8f0], eax
push str.Train_Assets_Textures_Train_UI.png
call fcn.00419290
lea ecx, [edi + 0x8cc]
mov dword [edi + 0x8d0], 0
mov dword [edi + 0x8d4], 0
mov dword [edi + 0x8d8], 0x18
mov dword [edi + 0x8dc], 0x18
mov dword [edi + 0x8e0], 1
mov dword [edi + 0x8e4], 1
call fcn.004192e0
test al, al
jne 0x4264f6
push str.Unable_to_load_the_UI_texture_n
jmp 0x426c3b
mov eax, dword [edi + 0x894]
lea ecx, [edi + 0x8f4]
push str.Train_Assets_Textures_Train_UI_Black.png
mov dword [edi + 0x918], eax
call fcn.00419290
mov dword [edi + 0x8f8], 0
mov dword [edi + 0x8fc], 0
mov dword [edi + 0x900], 0x18
mov dword [edi + 0x904], 0x18
mov dword [edi + 0x908], 1
mov dword [edi + 0x90c], 1
cmp dword [edi + 0x8f4], 0
je 0x426c36
cmp dword [edi + 0x918], 0
je 0x426c36
cmp dword [edi + 0x900], 0
jle 0x426c36
cmp dword [edi + 0x904], 0
jle 0x426c36
mov eax, dword [edi + 0x894]
lea ecx, [edi + 0x91c]
push str.Train_Assets_Textures_Text_Box_UI.png
mov dword [edi + 0x940], eax
call fcn.00419290
mov dword [edi + 0x920], 0
mov dword [edi + 0x924], 0
mov dword [edi + 0x928], 0x18
mov dword [edi + 0x92c], 0x18
mov dword [edi + 0x930], 1
mov dword [edi + 0x934], 1
cmp dword [edi + 0x91c], 0
je 0x426c2f
cmp dword [edi + 0x940], 0
je 0x426c2f
cmp dword [edi + 0x928], 0
jle 0x426c2f
cmp dword [edi + 0x92c], 0
jle 0x426c2f
mov eax, dword [edi + 0x894]
lea ecx, [edi + 0x944]
push str.Train_Assets_Textures_Text_Box_UI_flipped.png
mov dword [edi + 0x968], eax
call fcn.00419290
lea ecx, [edi + 0x944]
mov dword [edi + 0x948], 0
mov dword [edi + 0x94c], 0
mov dword [edi + 0x950], 0x18
mov dword [edi + 0x954], 0x18
mov dword [edi + 0x958], 1
mov dword [edi + 0x95c], 1
call fcn.004192e0
test al, al
jne 0x42667f
push str.Unable_to_load_the_texbox_UI_flipped_texture_n
jmp 0x426c3b
mov eax, dword [edi + 0x894]
lea ecx, [edi + 0x96c]
push str.Train_Assets_Textures_Name_Box_UI.png
mov dword [edi + 0x990], eax
call fcn.00419290
push 4
push 4
sub esp, 8
lea ecx, [edi + 0x970]
call fcn.004116b0
lea ecx, [edi + 0x96c]
mov dword [edi + 0x980], 1
mov dword [edi + 0x984], 1
call fcn.004192e0
test al, al
jne 0x4266da
push str.Unable_to_load_the_name_box_UI_texture_n
jmp 0x426c3b
mov eax, dword [edi + 0x894]
lea ecx, [edi + 0x994]
push str.Train_Assets_Textures_scrollbar_texture.png
mov dword [edi + 0x9b8], eax
call fcn.00419290
push 2
push 2
sub esp, 8
lea ecx, [edi + 0x998]
call fcn.004116b0
lea ecx, [edi + 0x994]
mov dword [edi + 0x9a8], 0
mov dword [edi + 0x9ac], 0
call fcn.004192e0
test al, al
jne 0x426735
push str.Unable_to_load_the_scrollbar_texture_n
jmp 0x426c3b
push 0x4f9c20
lea ecx, [edi + 0x58]
call fcn.004517c0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0xff2b3b76
push eax
lea ecx, [edi + 0x58]
call fcn.004517c0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0xff2d3d1d
push eax
lea ecx, [edi + 0x58]
call fcn.004517c0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0xff1d1d3d
push eax
lea ecx, [edi + 0x58]
call fcn.004517c0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0xff523643
push eax
lea ecx, [edi + 0x58]
call fcn.004517c0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0xff414623
push eax
lea ecx, [edi + 0x58]
call fcn.004517c0
mov eax, dword [edi + 0x894]
lea ecx, [edi + 0xb68]
movsd xmm2, qword [0x4af400]
push str.Train_Assets_Fonts_apple_kid.ttf
mov dword [0x4fb138], 0
mov dword [edi + 0xc00], eax
call fcn.0041db00
movsd xmm0, qword [0x4af440]
lea ecx, [edi + 0x9d8]
sub esp, 0x10
movsd qword [ebp - 0x30], xmm0
mov eax, esp
mov dword [ebp - 0x28], 1
mov byte [ebp - 0x24], 0
movups xmm0, xmmword [ebp - 0x30]
movups xmmword [eax], xmm0
call fcn.004115f0
mov dword [edi + 0xa88], 0
mov ecx, edi
mov dword [edi + 0xa8c], 0
mov dword [edi + 0xa90], 0
mov dword [edi + 0xa94], 0
mov dword [edi + 0xa74], 0
mov dword [edi + 0xa6c], 0
mov dword [edi + 0xa70], 0
mov dword [edi + 0xa78], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 1
mov dword [edi + 0x40], 2
mov dword [edi + 0x44], 3
mov dword [edi + 0x48], 7
mov dword [edi + 0xa60], 0
mov dword [edi + 0xa7c], 0
mov dword [edi + 0xa80], 0
mov dword [edi + 0xa84], 0
call fcn.00421080
call fcn.00420360
movsd xmm0, qword [0x4af358]
lea eax, [edi + 0x994]
movsd qword [edi + 0x2400], xmm0
lea ecx, [edi + 0x450]
mov dword [edi + 0xb4], edi
mov dword [edi + 0x150], eax
mov dword [edi + 0x170], edi
mov dword [edi + 0x184], edi
push str.Train_Assets_Journal_
mov dword [edi + 0x450], edi
call fcn.0044ca40
lea eax, [edi + 0x994]
lea ecx, [edi + 0x450]
mov dword [edi + 0x570], eax
call fcn.0041c6b0
mov dword [edi + 0x51c], 0xffffffff
push 0x26
mov dword [edi + 0x518], 0
lea eax, [edi + 0x994]
push 0x1ba
mov dword [edi + 0x648], eax
lea ecx, [edi + 0xc28]
mov dword [edi + 0x5d8], edi
xorps xmm0, xmm0
push 0xd4
push 0x13
movups xmmword [edi + 0x5e0], xmm0
mov dword [edi + 0x5dc], 0
mov dword [edi + 0x5f0], 0x32
call fcn.004345d0
lea eax, [edi + 0xc18]
mov dword [edi + 0x13f8], eax
lea ecx, [edi + 0xc28]
mov dword [edi + 0xc28], edi
lea eax, [edi + 0xab8]
mov dword [edi + 0x13a0], eax
lea eax, [edi + 0xb68]
mov dword [edi + 0x13a4], eax
call fcn.00447ac0
movups xmm0, xmmword [str.Train_Assets_Characters]
lea eax, [edi + 0x17f4]
lea ecx, [edi + 0x1460]
movups xmmword [eax], xmm0
push eax
movq xmm0, qword [0x4a5118]
movq qword [eax + 0x10], xmm0
mov dword [ecx], edi
call fcn.00442140
lea eax, [edi + 0x19f4]
push str.Train_Assets_Settings_
push eax
call fcn.00401380
lea eax, [edi + 0x1bf4]
push str.Train_Assets_Music_
push eax
call fcn.00401380
lea eax, [edi + 0x1df4]
push str.Train_Assets_Settings_
push eax
call fcn.00401380
lea eax, [edi + 0x1ff4]
push str.Train_Assets_Video_
push eax
call fcn.00401380
lea esi, [edi + 0x21f4]
push str.Train_Assets_Scroll_
push esi
call fcn.00401380
add esp, 0x28
mov dword [edi + 0x15ec], edi
lea ecx, [edi + 0x15e0]
push esi
call fcn.0044a350
push str.Setting_the_settings_parent_game_state..._n
call fcn.004012d0
add esp, 4
mov dword [edi + 0x1480], edi
lea ecx, [edi + 0x1480]
push str.Train_Assets_Settings_Park_park.ase
call fcn.0044c130
test al, al
jne 0x426a58
push str.Failed_to_load_test_setting._n
jmp 0x426c3b
push str.Done_Setting_the_settings_parent_game_state..._n
call fcn.004012d0
add esp, 4
call fcn.00470a34
mov dword [ebp - 0x20], eax
lea ecx, [edi + 8]
lea eax, [ebp - 0x20]
push eax
call fcn.00450a70
mov ecx, edi
mov dword [edi + 4], 0
call fcn.00420320
lea ecx, [edi + 0x78]
call fcn.0041b1a0
lea esi, [edi + 0x3bc]
mov edi, esi
mov ecx, edi
call fcn.00451310
xor esi, esi
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 2
call fcn.00469470
push str.Train_Assets_UI_Strings_Submenu_Advance_Ignore.txt
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 3
call fcn.00469a60
lea ecx, [ebp - 0x5c]
call fcn.00469560
push 8
lea ecx, [ebp - 0x5c]
call fcn.00469830
mov cl, al
mov byte [ebp - 0x11], cl
test cl, cl
je 0x426b0e
cmp cl, 0xa
je 0x426b0e
cmp cl, 0xd
je 0x426b0e
cmp esi, dword [ebp - 0x24]
je 0x426af9
mov byte [esi], cl
inc esi
jmp 0x426b62
lea eax, [ebp - 0x11]
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.00463560
mov esi, dword [ebp - 0x28]
mov cl, byte [ebp - 0x11]
jmp 0x426b65
mov eax, esi
sub eax, dword [ebp - 0x2c]
je 0x426b65
mov byte [ebp - 0x12], 0
cmp esi, dword [ebp - 0x24]
je 0x426b27
mov byte [esi], 0
inc esi
mov dword [ebp - 0x28], esi
jmp 0x426b34
lea eax, [ebp - 0x12]
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.00463560
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x2c]
push ecx
cmp eax, dword [edi + 8]
je 0x426b4d
mov ecx, eax
call fcn.00453650
add dword [edi + 4], 0xc
jmp 0x426b55
push eax
mov ecx, edi
call fcn.00461f10
mov esi, dword [ebp - 0x28]
cmp dword [ebp - 0x2c], esi
mov cl, byte [ebp - 0x11]
cmovne esi, dword [ebp - 0x2c]
mov dword [ebp - 0x28], esi
test cl, cl
jne 0x426ad2
push str.Sub_Menu_Advance_Ignore_Strings:_n
call fcn.004012d0
mov eax, dword [edi + 4]
add esp, 4
mov ecx, dword [edi]
sub eax, ecx
mov edi, dword [ebp - 0x1c]
sar eax, 2
imul eax, eax, 0xaaaaaaab
mov dword [ebp - 0x18], 0
test eax, eax
je 0x426bd8
xor edx, edx
mov dword [ebp - 0x1c], edx
nop dword [eax]
push dword [edx + ecx]
push str._t_s_n
call fcn.004012d0
mov eax, dword [edi + 0x3c0]
add esp, 8
mov ecx, dword [edi + 0x3bc]
sub eax, ecx
mov edx, dword [ebp - 0x1c]
inc dword [ebp - 0x18]
add edx, 0xc
sar eax, 2
imul eax, eax, 0xaaaaaaab
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x18], eax
jb 0x426ba0
lea ecx, [ebp - 0x5c]
call fcn.00417f30
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.00417f80
mov ecx, edi
call fcn.00425580
cmp byte [edi + 0x1b], 0
je 0x426c29
push 0x1001
push dword [edi + 0x890]
call dword [sym.imp.SDL2.dll_SDL_SetWindowFullscreen]
add esp, 8
test eax, eax
jns 0x426c29
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.Failed_to_make_window_fullscreen:__s_n
call fcn.004012d0
add esp, 8
mov byte [edi + 0x1b], 0
mov byte [ebp - 0x11], 1
jmp 0x426c47
push str.Unable_to_load_the_texbox_UI_texture_n
jmp 0x426c3b
push str.Unable_to_load_the_black_UI_texture_n
call fcn.004012d0
add esp, 4
mov byte [ebp - 0x11], 0
lea ecx, [ebp - 0x48]
call fcn.00450a10
lea ecx, [ebp - 0x3c]
call fcn.00450a10
mov al, byte [ebp - 0x11]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret