Function at 0x42b06c
Capabilities:
Hash data with crc32

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x493432
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x8a78
call fcn.0046c0c0
mov eax, dword [0x4b9068]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x87bc], edi
mov esi, dword [edi + 0x650]
lea eax, [edi + 0xc28]
movsd xmm1, qword [edi + 0x2400]
mov ecx, eax
mov dword [ebp - 0x87e0], esi
mov byte [ebp - 0x88d8], 0
mov dword [ebp - 0x899c], eax
call fcn.0042ca50
lea eax, [ebp - 0x8a7c]
mov ecx, edi
push eax
call fcn.00422c50
push eax
call fcn.0042b830
lea ecx, [ebp - 0x8a7c]
call fcn.00417f30
cmp byte [0x4b9ab1], 0
je 0x42b76e
mov eax, dword [sym.imp.SDL2.dll_SDL_PollEvent]
mov dword [ebp - 0x885c], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_GetWindowFromID]
mov dword [ebp - 0x8994], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_GetKeyboardState]
mov dword [ebp - 0x8970], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_GetWindowFlags]
mov dword [ebp - 0x896c], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_GetWindowSize]
mov dword [ebp - 0x886c], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_GetMouseFocus]
mov dword [ebp - 0x8968], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_GetMouseState]
mov dword [ebp - 0x8964], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_JoystickGetHat]
mov dword [ebp - 0x8960], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_JoystickGetAxis]
mov dword [ebp - 0x88cc], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_JoystickNumButtons]
mov dword [ebp - 0x8818], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_JoystickGetButton]
mov dword [ebp - 0x8814], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_SetWindowSize]
mov dword [ebp - 0x8864], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_SetWindowFullscreen]
mov dword [ebp - 0x88c8], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_GetError]
mov dword [ebp - 0x8860], eax
mov eax, dword [sym.imp.SDL2_mixer.dll_Mix_PlayChannelTimed]
mov dword [ebp - 0x897c], eax
mov eax, dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov dword [ebp - 0x8824], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_SetRenderDrawColor]
mov dword [ebp - 0x8850], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_SetRenderTarget]
mov dword [ebp - 0x884c], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_RenderClear]
mov dword [ebp - 0x8854], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_SetTextureAlphaMod]
mov dword [ebp - 0x87e8], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_RenderCopy]
movsd xmm0, qword [0x4af690]
mov dword [ebp - 0x87d0], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_QueryTexture]
mov dword [ebp - 0x87fc], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_RenderSetViewport]
mov dword [ebp - 0x8928], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_RenderPresent]
mov dword [ebp - 0x892c], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_NumJoysticks]
mov dword [ebp - 0x898c], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_JoystickOpen]
mov dword [ebp - 0x8988], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_JoystickClose]
mov dword [ebp - 0x8990], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_AllocFormat]
mov dword [ebp - 0x895c], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_LockTexture]
mov dword [ebp - 0x8958], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_MapRGBA]
mov dword [ebp - 0x8950], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_UnlockTexture]
mov dword [ebp - 0x8934], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_FreeFormat]
movsd qword [ebp - 0x89f0], xmm0
movsd xmm0, qword [0x4af4c0]
mov dword [ebp - 0x8930], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_CreateRGBSurfaceWithFormatFrom]
movsd qword [ebp - 0x88a8], xmm0
movsd xmm0, qword [0x4af4b0]
mov dword [ebp - 0x8998], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_CreateTextureFromSurface]
mov dword [ebp - 0x8978], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_DestroyTexture]
movsd qword [ebp - 0x88b0], xmm0
movsd xmm0, qword [0x4af398]
mov dword [ebp - 0x8974], eax
mov eax, dword [sym.imp.SDL2.dll_SDL_FreeSurface]
movsd qword [ebp - 0x89f8], xmm0
movsd xmm0, qword [0x4af3b0]
mov dword [ebp - 0x8890], eax
movsd qword [ebp - 0x8940], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8808], xmm0
movsd xmm0, qword [0x4af510]
movsd qword [ebp - 0x8a08], xmm0
movsd xmm0, qword [0x4af380]
movsd qword [ebp - 0x8a28], xmm0
movsd xmm0, qword [0x4af468]
movsd qword [ebp - 0x8a18], xmm0
movsd xmm0, qword [0x4af4a0]
movsd qword [ebp - 0x8880], xmm0
movsd xmm0, qword [0x4af430]
movsd qword [ebp - 0x88a0], xmm0
movsd xmm0, qword [0x4af3d0]
movsd qword [ebp - 0x8a20], xmm0
movsd xmm0, qword [0x4af518]
movsd qword [ebp - 0x8a38], xmm0
movsd xmm0, qword [0x4af428]
movsd qword [ebp - 0x89c0], xmm0
movsd xmm0, qword [0x4af440]
movsd qword [ebp - 0x8a30], xmm0
nop
mov eax, dword [edi + 0x13e4]
mov edx, dword [edi + 0x13e0]
sub eax, edx
mov ecx, dword [0x4fb1dc]
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp ecx, eax
cmova ecx, eax
mov dword [0x4fb1dc], ecx
cmp ecx, eax
jae 0x42700d
nop dword [eax]
lea eax, [ecx + ecx*2]
push dword [edx + eax*4]
lea eax, [ebp - 0x8618]
push 0x4a52b0
push eax
call fcn.00401380
add esp, 0xc
lea ecx, [ebp - 0x8618]
call fcn.00418450
mov eax, dword [edi + 0x13e4]
mov edx, dword [edi + 0x13e0]
sub eax, edx
mov ecx, dword [0x4fb1dc]
sar eax, 2
inc ecx
imul eax, eax, 0xaaaaaaab
mov dword [0x4fb1dc], ecx
cmp ecx, eax
jb 0x426fc0
lea ecx, [edi + 0x9d8]
call fcn.004113a0
cmp byte [0x4b9ab0], 0
mov eax, dword [edi + 0x9dc]
mov dword [ebp - 0x87d8], eax
je 0x42704a
test eax, eax
jne 0x42704a
xor ecx, ecx
mov dword [ebp - 0x87d8], 1
mov byte [0x4b9ab0], al
mov dword [ebp - 0x87f4], ecx
jmp 0x42705a
xor ecx, ecx
mov dword [ebp - 0x87f4], ecx
test eax, eax
jle 0x42a17a
lea eax, [edi + 0x44c]
mov dword [ebp - 0x87e4], eax
mov dword [ebp - 0x87f8], eax
nop dword [eax]
inc dword [edi + 0x448]
lea ecx, [ebp - 0x89c8]
call fcn.004022b0
mov esi, dword [ebp - 0x89c8]
mov ecx, esi
sub ecx, dword [edi + 0x440]
mov edx, dword [ebp - 0x87bc]
mov edi, dword [ebp - 0x89c4]
mov eax, edi
push 0
push 0xf4240
sbb eax, dword [edx + 0x444]
push eax
push ecx
call fcn.0048fbd0
mov dword [ebp - 0x861c], edx
test edx, edx
jne 0x4270bf
test eax, eax
je 0x4270e5
mov ecx, dword [ebp - 0x87bc]
mov dword [ecx + 0x440], esi
mov esi, ecx
mov ecx, dword [ebp - 0x87f8]
mov dword [esi + 0x444], edi
add dword [ecx], eax
mov eax, ecx
mov dword [ebp - 0x87e4], eax
jmp 0x4270f1
mov esi, dword [ebp - 0x87bc]
mov eax, dword [ebp - 0x87e4]
cmp dword [eax], 0xd693a400
jbe 0x4270ff
mov dword [eax], 0xd693a400
cmp dword [esi + 0x448], 0xcdfe600
jbe 0x427115
mov dword [esi + 0x448], 0xcdfe600
mov edi, dword [ebp - 0x885c]
xor al, al
push 0x4fb228
mov dword [esi + 0xa5c], 0
mov byte [ebp - 0x87bd], al
call edi
add esp, 4
test eax, eax
je 0x427465
nop
push dword [0x4fb230]
call dword [ebp - 0x8994]
mov eax, dword [0x4fb228]
add esp, 4
cmp eax, 0x100
jne 0x427167
mov byte [0x4b9ab1], 0
jmp 0x4272d3
cmp eax, 0x200
jne 0x427187
cmp byte [0x4fb234], 0xe
jne 0x4272d3
mov byte [0x4b9ab1], 0
jmp 0x4272d3
cmp eax, 0x403
jne 0x4271ab
movss xmm0, dword [esi + 0xa5c]
subss xmm0, dword [0x4fb248]
movss dword [esi + 0xa5c], xmm0
mov eax, dword [0x4fb228]
cmp eax, 0x605
je 0x4271bd
cmp eax, 0x606
jne 0x42727a
mov edi, dword [esi + 0x240c]
add esi, 0x2408
sub edi, dword [esi]
sar edi, 2
sub edi, 1
js 0x4271e6
mov eax, dword [esi]
push dword [eax + edi*4]
call dword [ebp - 0x8990]
add esp, 4
sub edi, 1
jns 0x4271d3
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x4271f0
mov dword [esi + 4], eax
call dword [ebp - 0x898c]
push eax
push str._d_Controllers_Detected_n
mov dword [ebp - 0x87c4], eax
call fcn.004012d0
xor edi, edi
add esp, 8
cmp dword [ebp - 0x87c4], edi
jle 0x427269
push edi
call dword [ebp - 0x8988]
mov ecx, eax
add esp, 4
mov dword [ebp - 0x87cc], ecx
test ecx, ecx
jne 0x427241
call dword [ebp - 0x8860]
push eax
push edi
push str.Warning:_Unable_to_open_game_controller__d__SDL_Error:__s_n
call fcn.004012d0
add esp, 0xc
jmp 0x427260
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x427251
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x427260
lea ecx, [ebp - 0x87cc]
push ecx
push eax
mov ecx, esi
call fcn.00460060
inc edi
cmp edi, dword [ebp - 0x87c4]
jl 0x427214
mov edi, dword [ebp - 0x885c]
mov esi, dword [ebp - 0x87bc]
mov eax, dword [0x4fb228]
cmp eax, 0x2000
jne 0x4272a9
mov ecx, dword [0x4fb1ec]
push ecx
push str.Render_targets_were_reset.__d_n
lea eax, [ecx + 1]
mov dword [0x4fb1ec], eax
call fcn.004012d0
mov eax, dword [0x4fb228]
add esp, 8
mov byte [ebp - 0x87bd], 1
cmp eax, 0x2001
jne 0x4272d3
mov ecx, dword [0x4fb1f4]
push ecx
push str.Render_device_was_reset.__d_n
lea eax, [ecx + 1]
mov dword [0x4fb1f4], eax
call fcn.004012d0
add esp, 8
mov byte [ebp - 0x87bd], 1
push 0x4fb228
call edi
add esp, 4
test eax, eax
jne 0x427140
cmp byte [ebp - 0x87bd], al
je 0x427465
cmp byte [esi + 0x9c4], al
je 0x42745e
mov eax, dword [esi + 0x9cc]
sub eax, dword [esi + 0x9c8]
cmp eax, 4
jb 0x427417
lea eax, [ebp - 0x8984]
push eax
lea eax, [ebp - 0x8980]
push eax
push 0
push 0
push dword [esi + 0x9c0]
call dword [ebp - 0x87fc]
mov edi, dword [esi + 0x9c8]
add esp, 0x14
mov eax, dword [esi + 0x9cc]
mov esi, dword [ebp - 0x8984]
sub eax, edi
mov ecx, dword [ebp - 0x8980]
mov edx, esi
imul edx, ecx
sar eax, 2
cmp edx, eax
jne 0x4273fe
push 0x16762004
lea eax, [ecx*4]
push eax
push 0x20
push esi
push ecx
push edi
call dword [ebp - 0x8998]
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4273e9
mov eax, dword [ebp - 0x87bc]
push esi
push dword [eax + 0x894]
call dword [ebp - 0x8978]
mov edi, eax
add esp, 8
test edi, edi
je 0x4273ca
mov eax, dword [ebp - 0x87bc]
push 0
push 0
push edi
push dword [eax + 0x894]
call dword [ebp - 0x87d0]
push edi
call dword [ebp - 0x8974]
add esp, 0x14
push esi
call dword [ebp - 0x8890]
add esp, 4
jmp 0x427465
push str.Texture_could_not_be_created._n
call fcn.004012d0
add esp, 4
push esi
call dword [ebp - 0x8890]
mov esi, dword [ebp - 0x87bc]
add esp, 4
jmp 0x427424
push str.Surface_could_not_be_created._n
call fcn.004012d0
mov esi, dword [ebp - 0x87bc]
add esp, 4
jmp 0x427424
push edx
push esi
push ecx
push eax
push str.Size_of_backup___d__did_not_match_crossfade_texture__dx_d_d_n
call fcn.004012d0
mov esi, dword [ebp - 0x87bc]
add esp, 0x14
jmp 0x427424
push str.No_Crossfade_Backup._n
call fcn.004012d0
add esp, 4
push 0
push 0
push 0
push 0
push dword [esi + 0x894]
call dword [ebp - 0x8850]
add esp, 0x14
push dword [esi + 0x9c0]
push dword [esi + 0x894]
call dword [ebp - 0x884c]
push dword [esi + 0x894]
call dword [ebp - 0x8854]
add esp, 0xc
jmp 0x427465
mov ecx, esi
call fcn.00421180
mov ecx, dword [ebp - 0x87bc]
call fcn.00421080
lea eax, [ebp - 0x8894]
mov dword [ecx + 0xa60], 0
push eax
mov dword [ecx + 0xa7c], 0
mov dword [ecx + 0xa80], 0
mov dword [ecx + 0xa84], 0
mov dword [ebp - 0x8894], 0
call dword [ebp - 0x8970]
mov edi, dword [ebp - 0x8894]
add esp, 4
mov dword [ebp - 0x888c], 0
mov esi, eax
mov dword [ebp - 0x87e0], esi
mov dword [ebp - 0x8888], 0
mov dword [ebp - 0x8884], 0
test edi, edi
je 0x427568
cmp edi, 0x7fffffff
ja 0x42b798
cmp edi, 0x1000
jb 0x427523
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x42b793
push eax
call fcn.0046b369
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x42b79d
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x42752c
push edi
call fcn.0046b369
add esp, 4
push edi
lea esi, [eax + edi]
mov dword [ebp - 0x888c], eax
push 0
push eax
mov dword [ebp - 0x8884], esi
call fcn.0046cf00
add esp, 0xc
mov dword [ebp - 0x8888], esi
lea ecx, [ebp - 0x87c4]
mov dword [ebp - 0x87c4], 0
call fcn.0045db30
mov esi, dword [ebp - 0x87e0]
mov eax, dword [ebp - 0x87bc]
mov dword [ebp - 4], 0
push dword [eax + 0x890]
call dword [ebp - 0x896c]
mov ecx, dword [ebp - 0x88d8]
add esp, 4
shr eax, 9
and al, 1
mov byte [ebp - 0x87bd], cl
mov dword [ebp - 0x88d8], eax
lea eax, [ebp - 0x88d0]
cmove esi, dword [ebp - 0x888c]
push eax
mov dword [ebp - 0x87e0], esi
lea eax, [ebp - 0x88d4]
mov esi, dword [ebp - 0x87bc]
push eax
push dword [esi + 0x890]
call dword [ebp - 0x886c]
add esp, 0xc
call dword [ebp - 0x8968]
cmp dword [esi + 0x890], eax
jne 0x427630
lea eax, [esi + 0xa8c]
push eax
lea eax, [esi + 0xa88]
push eax
call dword [ebp - 0x8964]
add esp, 8
test al, 1
je 0x427602
mov byte [esi + 0xa83], 1
mov byte [0x4fb1f0], 1
test al, 4
je 0x427614
mov byte [esi + 0xa84], 1
mov byte [0x4fb1f0], 1
movss xmm0, dword [esi + 0xa5c]
ucomiss xmm0, dword [0x4af2b8]
lahf
test ah, 0x44
jnp 0x427630
mov byte [0x4fb1f0], 1
mov eax, dword [0x4f9c2c]
test eax, eax
jg 0x427665
mov eax, dword [esi + 0xa88]
cmp eax, dword [esi + 0xaa8]
je 0x42764e
mov byte [esi + 0xa87], 1
mov eax, dword [esi + 0xa8c]
cmp eax, dword [esi + 0xaac]
je 0x42766b
mov byte [esi + 0xa87], 1
jmp 0x42766b
dec eax
mov dword [0x4f9c2c], eax
cmp byte [esi + 0x1b], 0
mov eax, dword [esi + 0xa8c]
mov edi, dword [esi + 0xa88]
mov dword [esi + 0xaa8], edi
mov dword [ebp - 0x87c4], eax
mov dword [esi + 0xaac], eax
je 0x4276fd
cmp byte [esi + 0x28], 0
jne 0x42769b
cmp byte [esi + 0x29], 0
je 0x4276fd
movsd xmm1, qword [esi + 0x30]
mov eax, dword [ebp - 0x88d4]
movaps xmm0, xmm1
mulsd xmm0, qword [ebp - 0x88a8]
mulsd xmm1, qword [ebp - 0x88b0]
cvttsd2si ecx, xmm0
cvttsd2si esi, xmm1
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
sub edi, eax
mov eax, dword [ebp - 0x88d0]
movd xmm0, ecx
mov ecx, dword [ebp - 0x87c4]
sub eax, esi
cdq
movd xmm1, edi
sub eax, edx
cvtdq2pd xmm0, xmm0
sar eax, 1
sub ecx, eax
cvtdq2pd xmm1, xmm1
movd xmm2, ecx
divsd xmm1, xmm0
movd xmm0, esi
jmp 0x427721
movd xmm0, dword [ebp - 0x88d4]
movd xmm1, edi
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
movd xmm2, eax
divsd xmm1, xmm0
movd xmm0, dword [ebp - 0x88d0]
cmp byte [0x4fb1f0], 0
cvtdq2pd xmm2, xmm2
mov edi, dword [ebp - 0x87bc]
cvtdq2pd xmm0, xmm0
mulsd xmm1, qword [ebp - 0x88a8]
divsd xmm2, xmm0
cvttsd2si ecx, xmm1
mulsd xmm2, qword [ebp - 0x88b0]
cvttsd2si eax, xmm2
je 0x427762
mov byte [edi + 0xa87], 1
mov byte [0x4fb1f0], 0
cmp byte [edi + 0xa87], 0
je 0x427777
mov dword [edi + 0xa90], ecx
mov dword [edi + 0xa94], eax
cmp byte [edi + 0xa83], 0
mov al, byte [ebp - 0x87bd]
je 0x42779d
mov byte [edi + 0xa85], 1
test al, al
jne 0x42779d
cmp byte [edi + 0x1a], al
jne 0x42779d
mov byte [edi + 0xaa5], 1
cmp byte [edi + 0xa84], 0
je 0x4277bd
mov byte [edi + 0xa86], 1
test al, al
jne 0x4277bd
cmp byte [edi + 0x1a], al
jne 0x4277bd
mov byte [edi + 0xaa6], 1
mov eax, dword [edi + 0x240c]
xor esi, esi
mov ecx, dword [edi + 0x2408]
sub eax, ecx
sar eax, 2
mov dword [ebp - 0x87c4], esi
test eax, eax
je 0x427a38
nop
mov eax, dword [ecx + esi*4]
test eax, eax
je 0x427a12
push 0
push eax
call dword [ebp - 0x8960]
mov cl, al
and cl, 1
or byte [edi + 0xa60], cl
mov cl, al
shr cl, 2
and cl, 1
or byte [edi + 0xa61], cl
mov cl, al
shr al, 1
shr cl, 3
and al, 1
or byte [edi + 0xa62], al
and cl, 1
or byte [edi + 0xa63], cl
mov eax, dword [edi + 0x2408]
push 0
push dword [eax + esi*4]
call dword [ebp - 0x88cc]
movzx eax, ax
mov ecx, 0x4e20
add esp, 0x10
cmp ax, cx
jle 0x42784f
or byte [edi + 0xa62], 1
jmp 0x427860
mov ecx, 0xffffb1e0
cmp ax, cx
jge 0x427860
or byte [edi + 0xa63], 1
mov eax, dword [edi + 0x2408]
push 1
push dword [eax + esi*4]
call dword [ebp - 0x88cc]
movzx eax, ax
mov ecx, 0x4e20
add esp, 8
cmp ax, cx
jle 0x42788a
or byte [edi + 0xa61], 1
jmp 0x42789b
mov ecx, 0xffffb1e0
cmp ax, cx
jge 0x42789b
or byte [edi + 0xa60], 1
mov eax, dword [edi + 0x2408]
mov edi, dword [edi + 0x38]
push dword [eax + esi*4]
call dword [ebp - 0x8818]
add esp, 4
cmp edi, eax
jge 0x4278e0
mov eax, dword [ebp - 0x87bc]
push edi
mov eax, dword [eax + 0x2408]
push dword [eax + esi*4]
call dword [ebp - 0x8814]
mov ecx, dword [ebp - 0x87bc]
add esp, 8
test al, al
je 0x4278e6
mov byte [ecx + 0xa7c], 1
jmp 0x4278e6
mov ecx, dword [ebp - 0x87bc]
mov eax, dword [ecx + 0x2408]
mov edi, dword [ecx + 0x48]
push dword [eax + esi*4]
call dword [ebp - 0x8818]
add esp, 4
cmp edi, eax
jge 0x42792b
mov eax, dword [ebp - 0x87bc]
push edi
mov eax, dword [eax + 0x2408]
push dword [eax + esi*4]
call dword [ebp - 0x8814]
mov ecx, dword [ebp - 0x87bc]
add esp, 8
test al, al
je 0x427931
mov byte [ecx + 0xa80], 1
jmp 0x427931
mov ecx, dword [ebp - 0x87bc]
mov eax, dword [ecx + 0x2408]
mov edi, dword [ecx + 0x3c]
push dword [eax + esi*4]
call dword [ebp - 0x8818]
add esp, 4
cmp edi, eax
jge 0x427976
mov eax, dword [ebp - 0x87bc]
push edi
mov eax, dword [eax + 0x2408]
push dword [eax + esi*4]
call dword [ebp - 0x8814]
mov ecx, dword [ebp - 0x87bc]
add esp, 8
test al, al
je 0x42797c
mov byte [ecx + 0xa7d], 1
jmp 0x42797c
mov ecx, dword [ebp - 0x87bc]
mov eax, dword [ecx + 0x2408]
mov edi, dword [ecx + 0x40]
push dword [eax + esi*4]
call dword [ebp - 0x8818]
add esp, 4
cmp edi, eax
jge 0x4279c1
mov eax, dword [ebp - 0x87bc]
push edi
mov eax, dword [eax + 0x2408]
push dword [eax + esi*4]
call dword [ebp - 0x8814]
mov ecx, dword [ebp - 0x87bc]
add esp, 8
test al, al
je 0x4279c7
mov byte [ecx + 0xa7e], 1
jmp 0x4279c7
mov ecx, dword [ebp - 0x87bc]
mov eax, dword [ecx + 0x2408]
mov edi, dword [ecx + 0x44]
push dword [eax + esi*4]
call dword [ebp - 0x8818]
add esp, 4
cmp edi, eax
jge 0x427a0c
mov eax, dword [ebp - 0x87bc]
push edi
mov eax, dword [eax + 0x2408]
push dword [eax + esi*4]
call dword [ebp - 0x8814]
mov edi, dword [ebp - 0x87bc]
add esp, 8
test al, al
je 0x427a12
mov byte [edi + 0xa7f], 1
jmp 0x427a12
mov edi, dword [ebp - 0x87bc]
mov eax, dword [edi + 0x240c]
mov esi, dword [ebp - 0x87c4]
mov ecx, dword [edi + 0x2408]
inc esi
sub eax, ecx
mov dword [ebp - 0x87c4], esi
sar eax, 2
cmp esi, eax
jb 0x4277e0
mov esi, dword [ebp - 0x87e0]
cmp byte [esi + 0x52], 0
setne al
or byte [edi + 0xa60], al
cmp byte [esi + 0x51], 0
setne al
or byte [edi + 0xa61], al
cmp byte [esi + 0x50], 0
setne al
or byte [edi + 0xa63], al
cmp byte [esi + 0x4f], 0
mov ah, byte [edi + 0xa63]
setne al
or byte [edi + 0xa62], al
cmp byte [esi + 0x5d], 0
setne al
or byte [edi + 0xa60], al
cmp byte [esi + 0x5a], 0
setne al
or byte [edi + 0xa61], al
cmp byte [esi + 0x59], 0
setne al
or al, ah
mov byte [edi + 0xa63], al
cmp byte [esi + 0x5b], 0
setne al
or byte [edi + 0xa62], al
cmp byte [esi + 8], 0
setne al
or byte [edi + 0xa7f], al
cmp byte [esi + 0x1a], 0
setne al
or byte [edi + 0xa82], al
cmp byte [esi + 0x15], 0
setne al
or byte [edi + 0xa81], al
cmp byte [esi + 0x29], 0
je 0x427ae2
mov byte [edi + 0xa7d], 1
cmp byte [esi + 0x2a], 0
je 0x427aef
mov byte [edi + 0xa7d], 1
cmp byte [esi + 0xbb], 0
je 0x427aff
mov byte [edi + 0xa7d], 1
cmp byte [esi + 0x4c], 0
je 0x427b0c
mov byte [edi + 0xa7d], 1
cmp byte [esi + 0x1b], 0
je 0x427b19
mov byte [edi + 0xa7d], 1
cmp byte [esi + 0x5c], 0
je 0x427b26
mov byte [edi + 0xa7d], 1
cmp byte [esi + 0x2b], 0
je 0x427b33
mov byte [edi + 0xa7e], 1
cmp byte [esi + 0x1d], 0
je 0x427b40
mov byte [edi + 0xa7c], 1
cmp byte [esi + 0x28], 0
je 0x427b4d
mov byte [edi + 0xa7c], 1
cmp byte [esi + 0x58], 0
je 0x427b5a
mov byte [edi + 0xa7c], 1
cmp byte [esi + 0x5e], 0
je 0x427b67
mov byte [edi + 0xa7c], 1
cmp byte [esi + 0xe1], 0
je 0x427b77
mov byte [edi + 0xa80], 1
cmp byte [esi + 0xe5], 0
je 0x427b87
mov byte [edi + 0xa80], 1
mov al, byte [edi + 0xa63]
mov byte [ebp - 0x87fd], al
test al, al
je 0x427bd4
mov eax, dword [edi + 0xa6c]
mov ecx, dword [edi + 0xa68]
add edi, 0xa64
cmp eax, ecx
jge 0x427bbe
mov esi, dword [ebp - 0x87bc]
lea edx, [eax + 1]
mov dword [esi + 0xa6c], edx
jmp 0x427bea
sub eax, ecx
mov esi, dword [ebp - 0x87bc]
inc eax
cdq
idiv dword [edi]
add edx, ecx
mov dword [esi + 0xa6c], edx
jmp 0x427bea
mov esi, dword [ebp - 0x87bc]
mov dword [edi + 0xa6c], 0
add edi, 0xa64
mov al, byte [esi + 0xa62]
lea ecx, [esi + 0xa70]
mov byte [ebp - 0x87fe], al
test al, al
je 0x427c29
mov eax, dword [ecx]
mov esi, dword [esi + 0xa68]
cmp eax, esi
jge 0x427c17
mov esi, dword [ebp - 0x87bc]
lea edx, [eax + 1]
jmp 0x427c2b
sub eax, esi
mov dword [ecx], eax
inc eax
cdq
idiv dword [edi]
add edx, esi
mov esi, dword [ebp - 0x87bc]
jmp 0x427c2b
xor edx, edx
mov dword [ecx], edx
lea ecx, [esi + 0xa74]
mov al, byte [esi + 0xa60]
mov byte [ebp - 0x87bd], al
test al, al
je 0x427c6a
mov eax, dword [ecx]
mov esi, dword [esi + 0xa68]
cmp eax, esi
jge 0x427c5a
mov esi, dword [ebp - 0x87bc]
lea edx, [eax + 1]
jmp 0x427c6c
sub eax, esi
inc eax
cdq
idiv dword [edi]
add edx, esi
mov esi, dword [ebp - 0x87bc]
jmp 0x427c6c
xor edx, edx
mov dword [ecx], edx
lea ecx, [esi + 0xa78]
mov ah, byte [esi + 0xa61]
mov byte [ebp - 0x87d9], ah
test ah, ah
je 0x427cad
mov eax, dword [ecx]
mov esi, dword [esi + 0xa68]
cmp eax, esi
jge 0x427c9b
lea edx, [eax + 1]
mov ah, byte [ebp - 0x87d9]
jmp 0x427caf
sub eax, esi
mov dword [ecx], eax
inc eax
cdq
idiv dword [edi]
mov ah, byte [ebp - 0x87d9]
add edx, esi
jmp 0x427caf
xor edx, edx
mov edi, dword [ebp - 0x87bc]
mov dword [ecx], edx
cmp byte [edi + 0xa7c], 0
je 0x427ccd
cmp byte [edi + 0xa9c], 0
jne 0x427ccd
mov al, 1
jmp 0x427ccf
xor al, al
cmp byte [edi + 0xa7d], 0
mov byte [edi + 0x1429], al
je 0x427ceb
cmp byte [edi + 0xa9d], 0
jne 0x427ceb
mov al, 1
jmp 0x427ced
xor al, al
cmp byte [ebp - 0x87bd], 0
mov byte [edi + 0x142a], al
je 0x427d09
cmp byte [edi + 0xa98], 0
jne 0x427d09
mov al, 1
jmp 0x427d0b
xor al, al
mov byte [edi + 0x142d], al
test ah, ah
je 0x427d22
cmp byte [edi + 0xa99], 0
jne 0x427d22
mov al, 1
jmp 0x427d24
xor al, al
cmp byte [ebp - 0x87fd], 0
mov byte [edi + 0x142e], al
je 0x427d40
cmp byte [edi + 0xa9b], 0
jne 0x427d40
mov al, 1
jmp 0x427d42
xor al, al
cmp byte [ebp - 0x87fe], 0
mov byte [edi + 0x142b], al
je 0x427d5e
cmp byte [edi + 0xa9a], 0
jne 0x427d5e
mov al, 1
jmp 0x427d60
xor al, al
mov byte [edi + 0x142c], al
lea eax, [ebp - 0x8828]
push eax
lea eax, [ebp - 0x882c]
push eax
push dword [edi + 0x890]
call dword [ebp - 0x886c]
mov eax, dword [ebp - 0x87e0]
add esp, 0xc
cmp byte [eax + 0x3a], 0
je 0x427db9
cmp byte [0x4fb209], 0
jne 0x427db5
push str.Switching_integer_scale_snap._n
call fcn.004012d0
add esp, 4
cmp byte [edi + 0x1c], 0
sete al
mov byte [edi + 0x1c], al
mov eax, dword [ebp - 0x87e0]
cmp byte [eax + 0x3a], 0
setne byte [0x4fb209]
cmp byte [eax + 0x3b], 0
je 0x427df0
cmp byte [0x4fb208], 0
jne 0x427dec
push str.Switching_aspect_ratio_lock._n
call fcn.004012d0
add esp, 4
cmp byte [edi + 0x1d], 0
sete al
mov byte [edi + 0x1d], al
mov eax, dword [ebp - 0x87e0]
cmp byte [eax + 0x3b], 0
setne byte [0x4fb208]
cmp byte [edi + 0x1b], 0
jne 0x428042
cmp byte [edi + 0x1c], 0
mov edx, dword [ebp - 0x882c]
movd xmm3, dword [ebp - 0x8828]
movsd xmm4, qword [ebp - 0x88a8]
movsd xmm5, qword [ebp - 0x88b0]
movd xmm2, edx
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm3, xmm3
divsd xmm2, xmm4
divsd xmm3, xmm5
je 0x427f06
addsd xmm2, qword [ebp - 0x89f8]
movsd xmm1, qword [edi + 0x20]
addsd xmm3, qword [ebp - 0x89f8]
cvttsd2si esi, xmm1
cvttsd2si ecx, xmm2
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm0, xmm1
lahf
test ah, 0x44
cmovp esi, ecx
cvttsd2si ecx, xmm3
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm0, xmm1
lahf
test ah, 0x44
mov eax, 1
cmovp esi, ecx
cmp esi, 1
cmovl esi, eax
imul eax, esi, 0x1e0
imul edi, esi, 0x10e
mov dword [ebp - 0x87c4], eax
cmp eax, edx
jne 0x427eb1
cmp edi, dword [ebp - 0x8828]
je 0x427fe6
push str.It_was_different__n
call fcn.004012d0
mov eax, dword [ebp - 0x87bc]
add esp, 4
push edi
push dword [ebp - 0x87c4]
push dword [eax + 0x890]
call dword [ebp - 0x8864]
add esp, 0xc
push edi
push dword [ebp - 0x87c4]
push str.Window_Width:__d___d_n
call fcn.004012d0
mov edi, dword [ebp - 0x87bc]
add esp, 0xc
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movsd qword [edi + 0x20], xmm0
jmp 0x427fec
cmp byte [edi + 0x1d], 0
je 0x427fec
movsd xmm1, qword [edi + 0x20]
movaps xmm0, xmm1
mulsd xmm0, xmm4
cvttsd2si ecx, xmm0
movaps xmm0, xmm2
mulsd xmm0, xmm4
cvttsd2si eax, xmm0
movaps xmm0, xmm1
mulsd xmm0, xmm5
cvttsd2si edx, xmm0
movaps xmm0, xmm3
mulsd xmm0, xmm5
cvttsd2si esi, xmm0
cmp ecx, eax
jne 0x427f49
cmp edx, esi
je 0x427f7a
movaps xmm0, xmm1
subsd xmm1, xmm2
subsd xmm0, xmm3
andps xmm1, xmmword [ebp - 0x89f0]
andps xmm0, xmmword [ebp - 0x89f0]
comisd xmm1, xmm0
jbe 0x427f72
movsd qword [edi + 0x20], xmm2
movaps xmm1, xmm2
jmp 0x427f7a
movsd qword [edi + 0x20], xmm3
movaps xmm1, xmm3
movsd xmm2, qword [ebp - 0x8940]
comisd xmm2, xmm1
jbe 0x427f90
movsd qword [edi + 0x20], xmm2
movaps xmm1, xmm2
movaps xmm0, xmm1
mulsd xmm1, xmm5
mulsd xmm0, xmm4
cvttsd2si esi, xmm1
cvttsd2si edi, xmm0
cmp edi, dword [ebp - 0x882c]
jne 0x427fb3
cmp esi, dword [ebp - 0x8828]
je 0x427fe6
push str.It_was_different__n
call fcn.004012d0
mov eax, dword [ebp - 0x87bc]
add esp, 4
push esi
push edi
push dword [eax + 0x890]
call dword [ebp - 0x8864]
add esp, 0xc
push esi
push edi
push str.Window_Width:__d___d_n
call fcn.004012d0
add esp, 0xc
mov edi, dword [ebp - 0x87bc]
movss xmm0, dword [0x4f9c28]
mov ecx, 1
comiss xmm0, dword [0x4af344]
movzx eax, byte [0x4f9c25]
cmovae eax, ecx
mov ecx, dword [ebp - 0x87e0]
mov byte [0x4f9c25], al
cmp byte [ecx + 0x3e], 0
je 0x4280f6
cmp byte [0x4fb1fc], 0
jne 0x4280f2
cmp byte [edi + 0x1b], 0
je 0x4280eb
mov al, 1
mov byte [0x4f9c25], al
jmp 0x4280f2
cmp byte [edi + 0x28], 0
je 0x428090
mov eax, 0x88888889
imul dword [ebp - 0x882c]
add edx, dword [ebp - 0x882c]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
movd xmm0, eax
mov eax, 0xf2b9d649
imul dword [ebp - 0x8828]
cvtdq2pd xmm0, xmm0
add edx, dword [ebp - 0x8828]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
jmp 0x4280be
cmp byte [edi + 0x29], 0
je 0x4280ce
movd xmm0, dword [ebp - 0x882c]
movd xmm1, dword [ebp - 0x8828]
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
divsd xmm0, qword [ebp - 0x88a8]
divsd xmm1, qword [ebp - 0x88b0]
comisd xmm0, xmm1
movsd qword [edi + 0x30], xmm0
jbe 0x4280ce
movsd qword [edi + 0x30], xmm1
movsd xmm2, qword [ebp - 0x8940]
comisd xmm2, xmmword [edi + 0x30]
jbe 0x427fec
movsd qword [edi + 0x30], xmm2
jmp 0x427fec
mov byte [0x4f9c24], 1
cmp byte [ecx + 0x3e], 0
setne byte [0x4fb1fc]
cmp byte [0x4f9c24], 0
je 0x42815f
push str.Force_fullscreen_n
call fcn.004012d0
mov esi, dword [ebp - 0x88c8]
add esp, 4
push 0x1001
push dword [edi + 0x890]
call esi
add esp, 8
test eax, eax
jns 0x428143
call dword [ebp - 0x8860]
push eax
push str.Failed_to_make_window_fullscreen:__s_n
call fcn.004012d0
add esp, 8
jmp 0x428147
mov byte [edi + 0x1b], 1
mov al, byte [0x4f9c25]
mov byte [0x4f9c24], 0
mov dword [0x4f9c2c], 3
jmp 0x428165
mov esi, dword [ebp - 0x88c8]
test al, al
je 0x4281b2
push str.Force_windowed_n
call fcn.004012d0
add esp, 4
push 0
push dword [edi + 0x890]
call esi
add esp, 8
test eax, eax
jns 0x42819d
call dword [ebp - 0x8860]
push eax
push str.Failed_to_make_window_windowed:__s_n
call fcn.004012d0
add esp, 8
jmp 0x4281a1
mov byte [edi + 0x1b], 0
mov byte [0x4f9c25], 0
mov dword [0x4f9c2c], 3
movss xmm0, dword [0x4f9c28]
comiss xmm0, dword [0x4af344]
jb 0x42820e
push str.Scale_thing_happened_n
call fcn.004012d0
movss xmm1, dword [0x4f9c28]
add esp, 4
movaps xmm0, xmm1
mulss xmm1, dword [0x4af500]
mulss xmm0, dword [0x4af4fc]
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm1
push eax
push dword [edi + 0x890]
call dword [ebp - 0x8864]
add esp, 0xc
mov dword [0x4f9c2c], 3
mov word [0x4f9c24], 0
mov ecx, edi
mov dword [0x4f9c28], 0xbf800000
inc dword [edi + 0x3e4]
inc dword [edi + 0x3e8]
call fcn.00420f00
mov eax, dword [edi + 0x658]
xor ecx, ecx
cmp byte [edi + 0x3cb], cl
setne cl
cmp byte [edi + 0x3c9], 0
lea ecx, [ecx*8 + 8]
je 0x42826e
add eax, ecx
mov dword [edi + 0x658], eax
cmp eax, 0x71
jle 0x42827e
mov dword [edi + 0x658], 0x71
jmp 0x42827e
sub eax, ecx
mov ecx, 0
cmovs eax, ecx
mov dword [edi + 0x658], eax
cmp dword [edi + 0x894], 0
mov esi, dword [edi + 0x650]
mov dword [ebp - 0x87e0], esi
jne 0x4282a0
push str.Renderer_invalidated_n
call fcn.004012d0
add esp, 4
mov eax, dword [edi + 0x650]
cmp eax, 9
ja case.default.0x429e36
movzx eax, byte [eax + 0x42b7b4]
jmp dword [eax*4 + 0x42b7a4]
lea ecx, [edi + 0x170]
call fcn.00419b60
mov dword [edi + 0x41c], 0
mov dword [edi + 0x418], 0
movss xmm0, dword [edi + 0x15b8]
cvtps2pd xmm0, xmm0
mov edx, dword [edi + 0x1564]
movss xmm1, dword [edi + 0x15c8]
addsd xmm0, qword [edi + 0x1590]
cvtps2pd xmm1, xmm1
movsd qword [edi + 0x1590], xmm0
movss xmm0, dword [edi + 0x15bc]
cvtps2pd xmm0, xmm0
addsd xmm1, qword [edi + 0x15b0]
addsd xmm0, qword [edi + 0x1598]
movsd qword [edi + 0x15b0], xmm1
movsd qword [edi + 0x1598], xmm0
movss xmm0, dword [edi + 0x15c4]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [edi + 0x15a8]
movsd qword [edi + 0x15a8], xmm0
movss xmm0, dword [edi + 0x15c0]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [edi + 0x15a0]
movsd qword [edi + 0x15a0], xmm0
test edx, edx
je 0x4283ed
mov ecx, dword [edx + 0xc]
mov eax, ecx
neg eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jbe 0x4283bc
movaps xmm2, xmm1
nop dword [eax]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm2
movsd qword [edi + 0x15b0], xmm1
movaps xmm2, xmm1
mov ecx, dword [edx + 0xc]
mov eax, ecx
neg eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x428390
movsd xmm3, qword [ebp - 0x8808]
comisd xmm1, xmm3
jb 0x4283f5
nop word [eax + eax]
movd xmm0, dword [edx + 0xc]
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
comisd xmm1, xmm3
movsd qword [edi + 0x15b0], xmm1
jae 0x4283d0
jmp 0x4283f5
movsd xmm3, qword [ebp - 0x8808]
mov esi, dword [ebp - 0x87bc]
mov ecx, dword [edi + 0x1568]
mov edi, dword [edi + 0x156c]
sub edi, ecx
mov dword [ebp - 0x87c4], ecx
mov edx, dword [esi + 0x1580]
mov eax, dword [esi + 0x1584]
mov esi, dword [esi + 0x1574]
sub eax, edx
sar eax, 2
sar edi, 2
cmp eax, edi
mov dword [ebp - 0x87cc], edx
cmovb edi, eax
mov eax, dword [ebp - 0x87bc]
mov eax, dword [eax + 0x1578]
sub eax, esi
sar eax, 3
cmp eax, edi
cmovb edi, eax
xor eax, eax
test edi, edi
jle 0x4284ed
nop dword [eax]
nop dword [eax + eax]
movss xmm0, dword [edx + eax*4]
movsd xmm1, qword [esi + eax*8]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
movsd qword [esi + eax*8], xmm1
mov edx, dword [ecx + eax*4]
test edx, edx
je 0x4284de
mov ecx, dword [edx + 0xc]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jbe 0x4284b6
movaps xmm2, xmm1
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm2
movsd qword [esi + eax*8], xmm1
movaps xmm2, xmm1
mov ecx, dword [edx + 0xc]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x428491
comisd xmm1, xmm3
jb 0x4284d8
nop dword [eax]
movd xmm0, dword [edx + 0xc]
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
comisd xmm1, xmm3
movsd qword [esi + eax*8], xmm1
jae 0x4284c0
mov ecx, dword [ebp - 0x87c4]
mov edx, dword [ebp - 0x87cc]
inc eax
cmp eax, edi
jl 0x428460
mov esi, dword [ebp - 0x87bc]
mov ecx, dword [esi + 0x15d8]
test ecx, ecx
js 0x42858a
mov eax, dword [esi + 0x14ac]
mov edx, dword [esi + 0x14a8]
sub eax, edx
sar eax, 2
imul eax, eax, 0x38e38e39
cmp ecx, eax
jae 0x42858a
mov edi, dword [esi + 0x15d4]
add edi, 0x10
mov dword [esi + 0x15d4], edi
lea esi, [ecx + ecx*8]
mov eax, dword [edx + esi*4 + 0x1c]
mov ecx, dword [ebp - 0x87bc]
sub eax, dword [edx + esi*4 + 0x18]
sar eax, 2
mov ecx, dword [ecx + 0x15d0]
cmp ecx, eax
jae 0x42858a
mov eax, dword [edx + esi*4 + 0x18]
cmp edi, dword [eax + ecx*4]
jl 0x42858a
mov edi, dword [ebp - 0x87bc]
inc ecx
mov dword [ebp - 0x87c4], 0
mov dword [edi + 0x15d0], ecx
mov dword [edi + 0x15d4], 0
mov eax, dword [edx + esi*4 + 0x10]
add eax, ecx
cmp eax, dword [edx + esi*4 + 0x14]
cmovg ecx, dword [ebp - 0x87c4]
mov dword [edi + 0x15d0], ecx
mov ecx, 0x4f9c30
call fcn.0041b440
cmp dword [0x4f9c58], 0
jne 0x4285ac
push str.Null_texture_in_title_screen..._n
call fcn.004012d0
jmp 0x4287f0
push 0x16862004
call dword [ebp - 0x895c]
add esp, 4
mov dword [ebp - 0x87c8], eax
test eax, eax
je 0x4287f3
mov eax, dword [0x4f9c58]
lea ecx, [ebp - 0x8868]
push ecx
lea ecx, [ebp - 0x8954]
mov dword [ebp - 0x87ec], eax
push ecx
push 0
push eax
call dword [ebp - 0x8958]
mov eax, dword [ebp - 0x8868]
add esp, 0x10
movss xmm1, dword [0x4f9c68]
xor edi, edi
movss xmm2, dword [0x4f9c6c]
mov ecx, dword [0x4f9c34]
cdq
and edx, 3
movss dword [ebp - 0x87c4], xmm1
add eax, edx
movss dword [ebp - 0x87cc], xmm2
sar eax, 2
mov dword [ebp - 0x8868], eax
mov eax, dword [ebp - 0x8954]
mov dword [ebp - 0x87d4], eax
test ecx, ecx
jle 0x4287d5
mov eax, dword [0x4f9c30]
xor esi, esi
test eax, eax
jle 0x4287cc
nop dword [eax]
mov ecx, edi
xorps xmm3, xmm3
imul ecx, eax
mov eax, dword [0x4f9c38]
add ecx, esi
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x8810], eax
movzx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
comiss xmm3, xmm0
jbe 0x428684
mov byte [ebp - 0x88c4], 0
jmp 0x42868e
cvttss2si eax, xmm0
mov dword [ebp - 0x88c4], eax
movzx eax, byte [ebp - 0x880f]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
comiss xmm3, xmm0
jbe 0x4286ae
mov byte [ebp - 0x88c0], 0
jmp 0x4286b8
cvttss2si eax, xmm0
mov dword [ebp - 0x88c0], eax
movzx eax, byte [ebp - 0x880e]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
comiss xmm3, xmm0
jbe 0x4286d3
xor dl, dl
jmp 0x4286d7
cvttss2si edx, xmm0
movzx eax, byte [ebp - 0x880d]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
comiss xmm3, xmm0
jbe 0x4286f2
xor cl, cl
jmp 0x4286f6
cvttss2si ecx, xmm0
mov eax, dword [ebp - 0x88c4]
xorps xmm1, xmm1
movzx eax, al
cvtss2sd xmm1, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov byte [ebp - 0x8810], al
mov eax, dword [ebp - 0x88c0]
movzx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov byte [ebp - 0x880f], al
movzx eax, dl
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov byte [ebp - 0x880e], al
movzx eax, cl
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov byte [ebp - 0x880d], al
push dword [ebp - 0x880d]
push dword [ebp - 0x880e]
push dword [ebp - 0x880f]
push dword [ebp - 0x8810]
push dword [ebp - 0x87c8]
call dword [ebp - 0x8950]
mov ecx, dword [ebp - 0x8868]
add esp, 0x14
mov edx, dword [ebp - 0x87d4]
movss xmm1, dword [ebp - 0x87c4]
movss xmm2, dword [ebp - 0x87cc]
imul ecx, edi
add ecx, esi
inc esi
mov dword [edx + ecx*4], eax
mov eax, dword [0x4f9c30]
cmp esi, eax
jl 0x428650
mov ecx, dword [0x4f9c34]
inc edi
cmp edi, ecx
jl 0x428643
push dword [ebp - 0x87ec]
call dword [ebp - 0x8934]
add esp, 4
push dword [ebp - 0x87c8]
call dword [ebp - 0x8930]
add esp, 4
mov edi, dword [ebp - 0x87bc]
mov ecx, dword [edi + 0x654]
mov eax, dword [edi + 0x650]
inc ecx
mov byte [edi + 0x3c9], 0
mov dword [edi + 0x658], 0
mov dword [edi + 0x654], ecx
cmp eax, 8
jne 0x42891d
cmp ecx, 1
jne 0x4288fe
push str..wav
lea eax, [edi + 0x1bf4]
push eax
lea eax, [ebp - 0x818]
push str._sTitle_Screen_s
push eax
call fcn.00401380
lea eax, [ebp - 0x818]
push eax
push str.Swapping_to_title_screen...___s_
call fcn.004012d0
add esp, 0x18
lea eax, [ebp - 0x818]
mov ecx, edi
push eax
call fcn.0042b960
mov eax, dword [edi + 0x878]
sub eax, 0
je 0x4288a0
sub eax, 1
jne 0x4288f0
mov dword [edi + 0x3fc], eax
mov dword [edi + 0x3f4], 0x80
mov dword [edi + 0x400], 0x80
mov dword [edi + 0x3f8], eax
jmp 0x4288c8
mov dword [edi + 0x400], 0
mov dword [edi + 0x3f8], 0x80
mov dword [edi + 0x3fc], 0x80
mov dword [edi + 0x3f4], 0
mov dword [edi + 0x3e4], 0
mov dword [edi + 0x3ec], 0x64
mov dword [edi + 0x3e8], 0
mov dword [edi + 0x3f0], 0x64
mov ecx, edi
call fcn.00420f00
mov byte [edi + 0xa00], 1
cmp dword [edi + 0x654], 0x1a4
jle case.default.0x428d5a
mov dword [edi + 0x650], 9
jmp 0x428eaa
cmp eax, 9
jne 0x428947
cmp ecx, 0x212
jle case.default.0x428d5a
mov dword [edi + 0x650], 0
mov dword [edi + 0x654], 0xffffffff
jmp case.default.0x428d5a
cmp eax, 4
jne 0x428b26
cmp ecx, 0x28
jle case.default.0x428d5a
mov byte [edi + 0x3cc], 0xff
mov dword [edi + 0x3e0], 1
mov dword [edi + 0x3d8], 0xff
mov dword [edi + 0x3dc], 0
mov dword [edi + 0x3d0], 0
mov dword [edi + 0x3d4], 0x10
mov dword [edi + 0x650], 5
xor edi, edi
nop
inc edi
cmp byte [edi + str.RELEASEMODE], 0
jne 0x4289a0
inc edi
push edi
push str.RELEASEMODE
call fcn.00405580
mov ecx, dword [ebp - 0x87bc]
xor edx, edx
mov dword [ebp - 0x87d4], eax
mov esi, dword [ecx + 0xc1c]
mov ecx, dword [ecx + 0xc20]
sub ecx, esi
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
div ecx
xor eax, eax
mov dword [ebp - 0x87c8], eax
lea eax, [edx + edx*2]
mov ecx, dword [esi + eax*4]
mov eax, dword [esi + eax*4 + 4]
sub eax, ecx
mov dword [ebp - 0x87ec], ecx
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [ebp - 0x87c4], eax
test eax, eax
je 0x428abf
mov eax, dword [ebp - 0x87c8]
lea edx, [ecx + 4]
mov ecx, dword [ebp - 0x87d4]
mov esi, dword [ebp - 0x87c4]
mov dword [ebp - 0x87cc], edx
nop dword [eax]
cmp dword [edx - 4], ecx
jne 0x428aa7
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, ecx
cmp edi, eax
jne 0x428a9b
test edi, edi
je 0x428a5e
xor edx, edx
test edi, edi
je 0x428a5e
mov esi, str.RELEASEMODE
sub esi, ecx
mov al, byte [esi + ecx]
cmp al, byte [ecx]
jne 0x428a8f
inc edx
inc ecx
cmp edx, edi
jb 0x428a51
mov eax, dword [ebp - 0x87c8]
mov ecx, dword [ebp - 0x87ec]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*4 + 0x10], 1
jne 0x428abf
mov ecx, dword [ebp - 0x899c]
push str.i_JUMP0__Hotel_Beginning.txt_
call fcn.0042c720
mov edi, dword [ebp - 0x87bc]
jmp case.default.0x428d5a
mov edx, dword [ebp - 0x87cc]
mov esi, dword [ebp - 0x87c4]
mov ecx, dword [ebp - 0x87d4]
mov eax, dword [ebp - 0x87c8]
inc eax
add edx, 0x14
mov dword [ebp - 0x87c8], eax
mov dword [ebp - 0x87cc], edx
cmp eax, esi
jb 0x428a30
movups xmm0, xmmword [str.Train_Assets_Scripts_Start.txt]
mov edi, dword [ebp - 0x87bc]
movups xmmword [edi + 0xf40], xmm0
lea ecx, [edi + 0xc28]
movq xmm0, qword [0x4a5440]
movq qword [edi + 0xf50], xmm0
mov eax, dword [0x4a5448]
mov dword [edi + 0xf58], eax
mov ax, word [0x4a544c]
mov word [edi + 0xf5c], ax
mov al, byte [0x4a544e]
mov byte [edi + 0xf5e], al
call fcn.00447ac0
push str.S___0_
lea ecx, [edi + 0xc28]
call fcn.0042c720
jmp case.default.0x428d5a
test eax, eax
jne 0x428dfc
mov esi, dword [edi + 0x180]
cmp esi, 4
je 0x428b7b
mov ecx, edi
call fcn.004254a0
test al, al
je 0x428b5e
add esi, 0xffffffff
mov dword [edi + 0x180], esi
jns 0x428b5e
mov dword [edi + 0x180], 3
mov esi, 3
call fcn.004254d0
test al, al
je 0x428b7b
inc esi
and esi, 0x80000003
jns 0x428b75
dec esi
or esi, 0xfffffffc
inc esi
mov dword [edi + 0x180], esi
mov ecx, edi
call fcn.00425500
test al, al
jne 0x428b8f
call fcn.00425530
test al, al
je 0x428ba4
xor eax, eax
cmp esi, 4
setl al
lea eax, [eax*2 + 2]
mov dword [edi + 0x180], eax
mov edi, dword [edi + 0x170]
xor esi, esi
mov eax, dword [edi + 0xa90]
mov dword [ebp - 0x87c4], eax
mov eax, dword [edi + 0xa94]
mov dword [ebp - 0x87cc], eax
mov eax, dword [ebp - 0x87bc]
mov ecx, dword [eax + 0x174]
mov eax, dword [eax + 0x178]
sub eax, ecx
mov dword [ebp - 0x87c8], ecx
sar eax, 6
test eax, eax
je 0x428c94
xor edx, edx
nop dword [eax + eax]
mov eax, dword [ebp - 0x87c8]
cmp dword [eax + edx], 0
jne 0x428c73
cmp byte [edi + 0xa87], 0
je 0x428c73
movups xmm0, xmmword [eax + edx + 8]
mov eax, dword [ebp - 0x87c4]
inc eax
movd ecx, xmm0
movups xmmword [ebp - 0x8628], xmm0
cmp eax, ecx
jle 0x428c73
mov eax, dword [ebp - 0x8620]
add eax, ecx
cmp eax, dword [ebp - 0x87c4]
jle 0x428c73
mov eax, dword [ebp - 0x87cc]
mov ecx, dword [ebp - 0x8624]
inc eax
cmp eax, ecx
jle 0x428c73
mov eax, dword [ebp - 0x861c]
add eax, ecx
cmp eax, dword [ebp - 0x87cc]
mov eax, dword [ebp - 0x87bc]
jle 0x428c79
mov dword [eax + 0x180], esi
cmp byte [edi + 0xa85], 0
je 0x428c79
cmp byte [edi + 0xaa5], 0
jne 0x428c79
mov al, 1
jmp 0x428c96
mov eax, dword [ebp - 0x87bc]
mov eax, dword [eax + 0x178]
inc esi
sub eax, dword [ebp - 0x87c8]
add edx, 0x40
sar eax, 6
cmp esi, eax
jb 0x428bf0
xor al, al
mov edi, dword [ebp - 0x87bc]
cmp byte [edi + 0xa7c], 0
je 0x428cb7
cmp byte [edi + 0xa9c], 0
mov ecx, 1
movzx eax, al
cmove eax, ecx
cmp byte [edi + 0xa80], 0
je 0x428d2e
cmp byte [edi + 0xaa0], 0
jne 0x428d2e
lea ecx, [edi + 0xc28]
mov dword [edi + 0x650], 3
mov dword [edi + 0x654], 0
call fcn.00447ac0
push str.S___0_
lea ecx, [edi + 0xc28]
call fcn.0042c720
movsd xmm1, qword [edi + 0x2400]
lea ecx, [edi + 0xc28]
call fcn.0042ca50
mov dword [edi + 0x1358], 9
mov dword [edi + 0x3b8], 0
mov dword [edi + 0x194], 0
jmp case.default.0x428d5a
test al, al
je case.default.0x428d5a
push 0xffffffffffffffff
push 0
push dword [edi + 0x888]
push 0xffffffffffffffff
call dword [ebp - 0x897c]
mov eax, dword [edi + 0x180]
add esp, 0x10
cmp eax, 4
ja case.default.0x428d5a
jmp dword [eax*4 + 0x42b7c0]
mov dword [edi + 0x650], 4
jmp 0x428eaa
lea ecx, [edi + 0xc28]
mov dword [edi + 0x650], 2
mov dword [edi + 0x654], 0
call fcn.00447ac0
push str.S___0_
lea ecx, [edi + 0xc28]
call fcn.0042c720
movsd xmm1, qword [edi + 0x2400]
lea ecx, [edi + 0xc28]
call fcn.0042ca50
lea ecx, [edi + 0x78]
mov dword [edi + 0x1358], 3
call fcn.0041b1a0
mov dword [edi + 0xd8], 2
jmp case.default.0x428d5a
mov byte [0x4b9ab1], 0
jmp case.default.0x428d5a
push 1
push 0
push 0
push str.https:__forms.gle_YJe4ZbHsUPZQTcxM8
push str.open
push 0
call dword [ebp - 0x8824]
jmp case.default.0x428d5a
cmp eax, 2
jne 0x428e5c
movsd xmm1, qword [edi + 0x2400]
lea ecx, [edi + 0xc28]
call fcn.0042ca50
cmp dword [edi + 0x1358], 0
jne 0x428e3a
cmp dword [edi + 0x650], 2
jne 0x428e3a
mov dword [edi + 0x650], 0
mov dword [edi + 0x654], 0xffffffff
cmp dword [edi + 0x650], 5
jne case.default.0x428d5a
mov ecx, edi
mov dword [ebp - 0x87e0], 5
call fcn.00421030
mov byte [edi + 0x3cc], al
jmp case.default.0x428d5a
cmp eax, 3
jne 0x428e93
movsd xmm1, qword [edi + 0x2400]
lea ecx, [edi + 0xc28]
call fcn.0042ca50
cmp dword [edi + 0x1358], 0
jne case.default.0x428d5a
mov dword [edi + 0x650], 0
mov dword [edi + 0x654], 0xffffffff
jmp case.default.0x428d5a
cmp eax, 1
jne case.default.0x428d5a
cmp ecx, 0x258
jle case.default.0x428d5a
mov dword [edi + 0x650], 8
mov dword [edi + 0x654], 0
cmp byte [edi + 0xa7c], 0
je 0x428ec6
cmp byte [edi + 0xa9c], 0
je 0x428ee0
cmp byte [edi + 0xa85], 0
je case.default.0x429e36
cmp byte [edi + 0xaa5], 0
jne case.default.0x429e36
mov eax, dword [edi + 0x650]
sub eax, 1
je 0x428f21
sub eax, 7
je 0x428f08
sub eax, 1
jne case.default.0x429e36
mov dword [edi + 0x654], 0x212
jmp case.default.0x429e36
mov dword [edi + 0x650], 9
mov dword [edi + 0x654], 0
jmp case.default.0x429e36
mov dword [edi + 0x650], 8
mov dword [edi + 0x654], 0
jmp case.default.0x429e36
inc dword [0x4fb21c]
mov dword [edi + 0x41c], 0
mov dword [edi + 0x418], 0
cmp byte [edi + 0x1374], 0
jne 0x429164
mov eax, dword [edi + 0x458]
xor edx, edx
mov ecx, dword [edi + 0x454]
sub eax, ecx
sar eax, 6
mov dword [ebp - 0x87c8], edx
test eax, eax
je 0x429032
xor edi, edi
mov eax, dword [edi + ecx + 0x38]
sub eax, dword [edi + ecx + 0x34]
sar eax, 4
imul eax, eax, 0xaaaaaaab
mov dword [ebp - 0x87c4], 0
test eax, eax
je 0x429009
xor edx, edx
mov dword [ebp - 0x87cc], edx
nop dword [eax + eax]
mov esi, dword [edi + ecx + 0x34]
add esi, edx
mov ecx, esi
call fcn.00444d80
cmp byte [esi + 0x2c], al
jne 0x42905c
mov eax, dword [ebp - 0x87bc]
mov esi, dword [ebp - 0x87c4]
mov edx, dword [ebp - 0x87cc]
inc esi
add edx, 0x30
mov dword [ebp - 0x87c4], esi
mov ecx, dword [eax + 0x454]
mov dword [ebp - 0x87cc], edx
mov eax, dword [edi + ecx + 0x38]
sub eax, dword [edi + ecx + 0x34]
sar eax, 4
imul eax, eax, 0xaaaaaaab
cmp esi, eax
jb 0x428fb0
mov edx, dword [ebp - 0x87c8]
mov eax, dword [ebp - 0x87bc]
inc edx
add edi, 0x40
mov dword [ebp - 0x87c8], edx
mov eax, dword [eax + 0x458]
sub eax, ecx
sar eax, 6
cmp edx, eax
jb 0x428f84
mov edi, dword [ebp - 0x87bc]
mov eax, dword [edi + 0x518]
lea esi, [edi + 0x518]
test eax, eax
jle 0x429158
dec eax
push eax
push str.Counting_down___d_frames_left..._n
mov dword [esi], eax
call fcn.004012d0
add esp, 8
jmp 0x429188
mov eax, dword [ebp - 0x87c8]
mov edi, dword [ebp - 0x87bc]
test eax, eax
js 0x429032
mov dword [edi + 0x51c], eax
shl eax, 6
add eax, dword [edi + 0x454]
push dword [eax + 0x10]
push str.Note_added_to_entry:__s_n
call fcn.004012d0
mov eax, dword [edi + 0x458]
xor edx, edx
mov ecx, dword [edi + 0x454]
add esp, 8
sub eax, ecx
mov dword [ebp - 0x87cc], edx
sar eax, 6
test eax, eax
je 0x42914a
xor esi, esi
nop
mov eax, dword [esi + ecx + 0x38]
sub eax, dword [esi + ecx + 0x34]
sar eax, 4
imul eax, eax, 0xaaaaaaab
mov dword [ebp - 0x87c4], 0
test eax, eax
je 0x42912d
xor edi, edi
mov ecx, dword [esi + ecx + 0x34]
add ecx, edi
call fcn.00444d80
mov ecx, dword [ebp - 0x87bc]
mov edx, dword [ebp - 0x87c4]
inc edx
mov dword [ebp - 0x87c4], edx
mov ecx, dword [ecx + 0x454]
mov ecx, dword [ecx + esi + 0x34]
mov byte [ecx + edi + 0x2c], al
add edi, 0x30
mov eax, dword [ebp - 0x87bc]
mov ecx, dword [eax + 0x454]
mov eax, dword [esi + ecx + 0x38]
sub eax, dword [esi + ecx + 0x34]
sar eax, 4
imul eax, eax, 0xaaaaaaab
cmp edx, eax
jb 0x4290d1
mov edx, dword [ebp - 0x87cc]
mov edi, dword [ebp - 0x87bc]
mov eax, dword [edi + 0x458]
inc edx
sub eax, ecx
mov dword [ebp - 0x87cc], edx
sar eax, 6
add esi, 0x40
cmp edx, eax
jb 0x4290b0
lea esi, [edi + 0x518]
mov dword [esi], 0x1a4
jmp 0x429188
mov dword [edi + 0x51c], 0xffffffff
jmp 0x429188
movaps xmm0, xmmword [0x4af530]
lea esi, [edi + 0x518]
movups xmmword [edi + 0x59c], xmm0
mov dword [edi + 0x51c], 0xffffffff
mov dword [esi], 0
cmp byte [edi + 0x1374], 0
jne 0x429206
cmp dword [esi], 0
jle 0x429206
movaps xmm0, xmmword [0x4af580]
movups xmmword [edi + 0x59c], xmm0
mov eax, dword [edi + 0xa90]
mov ecx, dword [edi + 0xa94]
cmp eax, 0x70
jl 0x429214
cmp eax, 0xe9
jge 0x429214
cmp ecx, 0x9f
jl 0x429214
cmp ecx, 0xc2
jge 0x429214
mov dword [esi], 0x1a4
cmp byte [edi + 0xa85], 0
je 0x429214
cmp byte [edi + 0xaa5], 0
jne 0x429214
push 1
push 1
push 0
push 0xfffffc40
lea ecx, [ebp - 0x8a78]
mov byte [edi + 0xa7f], 1
call fcn.004116d0
movups xmm0, xmmword [eax]
jmp 0x42920d
movaps xmm0, xmmword [0x4af530]
movups xmmword [edi + 0x59c], xmm0
movsd xmm1, qword [edi + 0x2400]
lea ecx, [edi + 0xc28]
call fcn.0042ca50
cmp byte [edi + 0x1374], 0
jne 0x429235
cmp dword [esi], 0
jne 0x429243
movaps xmm0, xmmword [0x4af530]
movups xmmword [edi + 0x59c], xmm0
inc dword [edi + 0x66c]
mov eax, dword [edi + 0x66c]
cmp eax, dword [edi + 0x670]
jl 0x42926f
mov eax, dword [edi + 0x65c]
mov dword [edi + 0x660], eax
mov eax, dword [edi + 0x664]
mov dword [edi + 0x668], eax
movss xmm0, dword [edi + 0x15b8]
cvtps2pd xmm0, xmm0
mov edx, dword [edi + 0x1564]
movss xmm1, dword [edi + 0x15c8]
addsd xmm0, qword [edi + 0x1590]
cvtps2pd xmm1, xmm1
movsd qword [edi + 0x1590], xmm0
movss xmm0, dword [edi + 0x15bc]
cvtps2pd xmm0, xmm0
addsd xmm1, qword [edi + 0x15b0]
addsd xmm0, qword [edi + 0x1598]
movsd qword [edi + 0x15b0], xmm1
movsd qword [edi + 0x1598], xmm0
movss xmm0, dword [edi + 0x15c4]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [edi + 0x15a8]
movsd qword [edi + 0x15a8], xmm0
movss xmm0, dword [edi + 0x15c0]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [edi + 0x15a0]
movsd qword [edi + 0x15a0], xmm0
test edx, edx
je 0x42937d
mov ecx, dword [edx + 0xc]
mov eax, ecx
neg eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jbe 0x42934c
movaps xmm2, xmm1
nop dword [eax]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm2
movsd qword [edi + 0x15b0], xmm1
movaps xmm2, xmm1
mov ecx, dword [edx + 0xc]
mov eax, ecx
neg eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x429320
movsd xmm3, qword [ebp - 0x8808]
comisd xmm1, xmm3
jb 0x429385
nop word [eax + eax]
movd xmm0, dword [edx + 0xc]
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
comisd xmm1, xmm3
movsd qword [edi + 0x15b0], xmm1
jae 0x429360
jmp 0x429385
movsd xmm3, qword [ebp - 0x8808]
mov esi, dword [ebp - 0x87bc]
mov ecx, dword [edi + 0x1568]
mov edi, dword [edi + 0x156c]
sub edi, ecx
mov dword [ebp - 0x87c4], ecx
mov edx, dword [esi + 0x1580]
mov eax, dword [esi + 0x1584]
mov esi, dword [esi + 0x1574]
sub eax, edx
sar eax, 2
sar edi, 2
cmp eax, edi
mov dword [ebp - 0x87ec], edx
cmovb edi, eax
mov eax, dword [ebp - 0x87bc]
mov eax, dword [eax + 0x1578]
sub eax, esi
sar eax, 3
cmp eax, edi
cmovb edi, eax
xor eax, eax
test edi, edi
jle 0x42947d
nop dword [eax]
nop dword [eax + eax]
movss xmm1, dword [edx + eax*4]
cvtps2pd xmm1, xmm1
addsd xmm1, qword [esi + eax*8]
movsd qword [esi + eax*8], xmm1
mov edx, dword [ecx + eax*4]
test edx, edx
je 0x42946e
mov ecx, dword [edx + 0xc]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jbe 0x429445
movaps xmm2, xmm1
nop dword [eax]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm2
movsd qword [esi + eax*8], xmm1
movaps xmm2, xmm1
mov ecx, dword [edx + 0xc]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x429420
comisd xmm1, xmm3
jb 0x429468
nop dword [eax + eax]
movd xmm0, dword [edx + 0xc]
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
comisd xmm1, xmm3
movsd qword [esi + eax*8], xmm1
jae 0x429450
mov ecx, dword [ebp - 0x87c4]
mov edx, dword [ebp - 0x87ec]
inc eax
cmp eax, edi
jl 0x4293f0
mov edi, dword [ebp - 0x87bc]
mov ecx, dword [edi + 0x15d8]
test ecx, ecx
js 0x429528
mov eax, dword [edi + 0x14ac]
mov edx, dword [edi + 0x14a8]
sub eax, edx
sar eax, 2
imul eax, eax, 0x38e38e39
cmp ecx, eax
jae 0x429528
mov eax, dword [ebp - 0x87bc]
lea esi, [ecx + ecx*8]
mov edi, dword [edi + 0x15d4]
mov ecx, dword [ebp - 0x87bc]
add edi, 0x10
mov dword [eax + 0x15d4], edi
mov eax, dword [edx + esi*4 + 0x1c]
sub eax, dword [edx + esi*4 + 0x18]
mov ecx, dword [ecx + 0x15d0]
sar eax, 2
cmp ecx, eax
jae 0x429522
mov eax, dword [edx + esi*4 + 0x18]
cmp edi, dword [eax + ecx*4]
mov edi, dword [ebp - 0x87bc]
jl 0x429528
inc ecx
mov dword [edi + 0x15d4], 0
mov dword [edi + 0x15d0], ecx
mov eax, dword [edx + esi*4 + 0x10]
add eax, ecx
mov dword [ebp - 0x87ec], 0
cmp eax, dword [edx + esi*4 + 0x14]
cmovg ecx, dword [ebp - 0x87ec]
mov dword [edi + 0x15d0], ecx
jmp 0x429528
mov edi, dword [ebp - 0x87bc]
inc dword [edi + 0x3d0]
mov ecx, edi
call fcn.00421030
mov byte [edi + 0x3cc], al
mov eax, dword [edi + 0x404]
test eax, eax
jle 0x4295b7
dec eax
mov dword [edi + 0x404], eax
mov esi, dword [edi + 0x40c]
mov eax, dword [edi + 0x408]
sub esi, eax
jne 0x429564
mov dword [edi + 0x410], eax
jmp 0x42958c
call fcn.00474991
cdq
idiv esi
mov eax, dword [edi + 0x408]
add eax, edx
mov dword [edi + 0x410], eax
call fcn.00474991
cdq
idiv esi
mov eax, dword [edi + 0x408]
add eax, edx
neg eax
mov dword [edi + 0x414], eax
call fcn.00474991
and eax, 0x80000001
jns 0x4295a5
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x4295be
mov eax, dword [edi + 0x410]
neg eax
mov dword [edi + 0x410], eax
jmp 0x4295be
mov ecx, edi
call fcn.00420720
mov eax, dword [edi + 0x1478]
mov ecx, dword [edi + 0x1474]
sub eax, ecx
sar eax, 2
imul eax, eax, 0x3e0f83e1
mov dword [ebp - 0x87c4], 0
test eax, eax
jle 0x429a4a
xor edx, edx
mov dword [ebp - 0x87c8], edx
nop
mov dword [edx + ecx + 0x80], edi
mov eax, dword [edi + 0x1474]
xor edi, edi
mov dword [ebp - 0x87d4], edi
mov esi, dword [edx + eax + 0x34]
mov eax, dword [ebp - 0x87bc]
mov ecx, dword [eax + 0x1464]
mov eax, dword [eax + 0x1468]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xba2e8ba3
mov dword [ebp - 0x87ec], eax
test eax, eax
je 0x429677
mov edi, ecx
mov eax, dword [edi]
mov ecx, esi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x429656
test dl, dl
je 0x429652
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x429656
add ecx, 2
add eax, 2
test dl, dl
jne 0x429636
xor eax, eax
jmp 0x42965b
sbb eax, eax
or eax, 1
test eax, eax
je 0x4296a8
mov edx, dword [ebp - 0x87d4]
add edi, 0x58
inc edx
mov dword [ebp - 0x87d4], edx
cmp edx, dword [ebp - 0x87ec]
jb 0x429632
or edi, 0xffffffff
mov eax, dword [ebp - 0x87bc]
cmp byte [eax + 0x1428], 0
jne 0x4296b0
movsd xmm0, qword [ebp - 0x8a08]
comisd xmm0, xmmword [eax + 0xcf0]
ja 0x4296b0
cmp byte [eax + 0xcf8], 0
je 0x4296b0
xor dl, dl
jmp 0x4296b2
mov edi, dword [ebp - 0x87d4]
jmp 0x42967a
mov dl, 1
mov eax, dword [eax + 0x1394]
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x4296d8
test cl, cl
je 0x4296d4
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x4296d8
add esi, 2
add eax, 2
test cl, cl
jne 0x4296b8
xor eax, eax
jmp 0x4296dd
sbb eax, eax
or eax, 1
test eax, eax
movzx ecx, dl
mov eax, 1
cmovne ecx, eax
test edi, edi
js 0x4299e3
imul edi, edi, 0x58
mov dword [ebp - 0x861c], edi
test cl, cl
je 0x4297a4
mov edx, dword [ebp - 0x87bc]
xor ecx, ecx
mov dword [ebp - 0x87d4], ecx
mov eax, dword [edx + 0x1464]
mov esi, dword [edi + eax + 0x3c]
mov eax, dword [edi + eax + 0x40]
sub eax, esi
sar eax, 2
imul edi, eax, 0xba2e8ba3
mov dword [ebp - 0x87ec], edi
test edi, edi
je 0x4299e3
nop dword [eax + eax]
mov edi, dword [ebp - 0x87c8]
mov ecx, dword [edx + 0x1474]
mov eax, dword [esi]
mov ecx, dword [edi + ecx + 0x40]
mov edi, dword [ebp - 0x87ec]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x429778
test dl, dl
je 0x429774
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x429778
add ecx, 2
add eax, 2
test dl, dl
jne 0x429758
xor eax, eax
jmp 0x42977d
sbb eax, eax
or eax, 1
test eax, eax
je 0x4298ea
mov edx, dword [ebp - 0x87d4]
add esi, 0x2c
inc edx
mov dword [ebp - 0x87d4], edx
cmp edx, edi
mov edx, dword [ebp - 0x87bc]
jb 0x429740
jmp 0x4299e3
mov esi, dword [ebp - 0x87bc]
mov ecx, dword [ebp - 0x87c8]
mov eax, dword [esi + 0x1474]
push dword [ecx + eax + 0x40]
lea eax, [ebp - 0x618]
push str._s_Talk
push eax
call fcn.00401380
mov eax, dword [esi + 0x1464]
xor ecx, ecx
add eax, edi
mov dword [ebp - 0x87d4], ecx
add esp, 0xc
mov edi, dword [eax + 0x3c]
mov eax, dword [eax + 0x40]
sub eax, edi
sar eax, 2
imul eax, eax, 0xba2e8ba3
mov dword [ebp - 0x87cc], eax
test eax, eax
je 0x42987d
mov esi, edi
nop
mov eax, dword [esi]
lea ecx, [ebp - 0x618]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x429828
test dl, dl
je 0x429824
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x429828
add ecx, 2
add eax, 2
test dl, dl
jne 0x429808
xor eax, eax
jmp 0x42982d
sbb eax, eax
or eax, 1
test eax, eax
je 0x429869
mov edx, dword [ebp - 0x87d4]
add esi, 0x2c
inc edx
mov dword [ebp - 0x87d4], edx
cmp edx, dword [ebp - 0x87cc]
jb 0x429800
mov eax, dword [ebp - 0x87bc]
mov ecx, dword [ebp - 0x87c8]
mov eax, dword [eax + 0x1474]
mov esi, dword [eax + ecx + 0x40]
xor ecx, ecx
mov dword [ebp - 0x87d4], ecx
jmp 0x4298a0
mov ecx, dword [ebp - 0x87d4]
test ecx, ecx
jns 0x4298f8
mov esi, dword [ebp - 0x87bc]
mov eax, dword [esi + 0x1474]
xor ecx, ecx
add eax, dword [ebp - 0x87c8]
mov dword [ebp - 0x87d4], ecx
mov esi, dword [eax + 0x40]
cmp dword [ebp - 0x87cc], ecx
jbe 0x4299e3
mov eax, dword [edi]
mov ecx, esi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4298c4
test dl, dl
je 0x4298c0
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4298c4
add ecx, 2
add eax, 2
test dl, dl
jne 0x4298a4
xor eax, eax
jmp 0x4298c9
sbb eax, eax
or eax, 1
test eax, eax
je 0x4298ea
mov edx, dword [ebp - 0x87d4]
add edi, 0x2c
inc edx
mov dword [ebp - 0x87d4], edx
cmp edx, dword [ebp - 0x87cc]
jb 0x4298a0
jmp 0x4299e3
mov ecx, dword [ebp - 0x87d4]
test ecx, ecx
js 0x4299e3
mov edx, dword [ebp - 0x87bc]
imul esi, ecx, 0x2c
mov ecx, dword [ebp - 0x87c8]
mov eax, dword [edx + 0x1464]
add eax, dword [ebp - 0x861c]
mov edi, dword [edx + 0x1474]
add esi, dword [eax + 0x3c]
mov ecx, dword [ecx + edi + 0x4c]
mov eax, dword [esi]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x429942
test dl, dl
je 0x42993e
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x429942
add ecx, 2
add eax, 2
test dl, dl
jne 0x429922
xor eax, eax
jmp 0x429947
sbb eax, eax
or eax, 1
test eax, eax
je 0x4299e3
lea eax, [ebp - 0x8a68]
push esi
mov ecx, eax
mov dword [ebp - 0x861c], eax
call fcn.00453650
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x8a4c]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x8a5c], eax
mov al, byte [esi + 0x10]
mov byte [ebp - 0x8a58], al
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x8a54], eax
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x8a50], eax
lea eax, [esi + 0x1c]
push eax
call fcn.004517f0
mov al, byte [esi + 0x28]
mov byte [ebp - 0x8a40], al
mov ecx, dword [ebp - 0x87c8]
lea eax, [ebp - 0x8a68]
add ecx, 0x4c
mov byte [ebp - 4], 2
push eax
add ecx, edi
call fcn.0041c330
mov eax, dword [ebp - 0x87c8]
lea ecx, [ebp - 0x8a68]
mov byte [ebp - 4], 0
mov dword [eax + edi + 0x78], 0
mov dword [eax + edi + 0x7c], 0
call fcn.0041c290
mov edi, dword [ebp - 0x87bc]
mov ecx, dword [edi + 0x1474]
add ecx, dword [ebp - 0x87c8]
call fcn.004415f0
mov esi, dword [ebp - 0x87c4]
test al, al
jne 0x429a12
push esi
push str.RunFrame___for_character__d_failed_n
call fcn.004012d0
add esp, 8
mov eax, dword [edi + 0x1478]
inc esi
mov ecx, dword [edi + 0x1474]
sub eax, ecx
mov edx, dword [ebp - 0x87c8]
sar eax, 2
add edx, 0x84
imul eax, eax, 0x3e0f83e1
mov dword [ebp - 0x87c4], esi
mov dword [ebp - 0x87c8], edx
cmp esi, eax
jl 0x4295f0
mov eax, dword [edi + 0x650]
cmp eax, 8
je 0x429a5e
cmp eax, 1
jne case.default.0x429e36
push str._n_n_nSetting_last_State_n_n_n
call fcn.004012d0
mov eax, dword [edi + 0x650]
add esp, 4
mov dword [ebp - 0x87e0], eax
jmp case.default.0x429e36
push str..wav
push str.bartender
lea esi, [edi + 0x1bf4]
push esi
lea eax, [ebp - 0x818]
push str._s_s_s
push eax
call fcn.00401380
add esp, 0x14
push str.bartender
push esi
push str._s_s_n
call fcn.004012d0
add esp, 0xc
lea eax, [ebp - 0x818]
mov ecx, edi
push eax
call fcn.0042b960
mov eax, dword [edi + 0x878]
sub eax, 0
je 0x429af4
sub eax, 1
jne 0x429b44
mov dword [edi + 0x3fc], eax
mov dword [edi + 0x3f4], 0x80
mov dword [edi + 0x400], 0x80
mov dword [edi + 0x3f8], eax
jmp 0x429b1c
mov dword [edi + 0x400], 0
mov dword [edi + 0x3f8], 0x80
mov dword [edi + 0x3fc], 0x80
mov dword [edi + 0x3f4], 0
mov dword [edi + 0x3e4], 0
mov dword [edi + 0x3ec], 0x64
mov dword [edi + 0x3e8], 0
mov dword [edi + 0x3f0], 0x64
mov ecx, edi
call fcn.00420f00
mov byte [edi + 0xa00], 1
mov dword [edi], 0
mov eax, dword [edi + 0x894]
mov dword [0x4fb148], 0x43870000
mov dword [edi + 0x650], 7
mov dword [edi + 0x654], 0
test eax, eax
jne 0x429b8f
push str.Renderer_invalid_in_BlackenFadeTexture___n
call fcn.004012d0
add esp, 4
jmp case.0x4282b6.7
push 0xff
push 0
push 0
push 0
push eax
mov byte [edi + 0x9c4], 0
call dword [ebp - 0x8850]
add esp, 0x14
push dword [edi + 0x9c0]
push dword [edi + 0x894]
call dword [ebp - 0x884c]
push dword [edi + 0x894]
call dword [ebp - 0x8854]
add esp, 0xc
mov ecx, edi
call fcn.00425500
test al, al
jne 0x429be0
call fcn.00425530
test al, al
je 0x429bfa
mov ecx, dword [edi]
xor eax, eax
cmp ecx, 3
jge 0x429bf4
cmp ecx, 2
setl al
add eax, 3
jmp 0x429bf8
sete al
inc eax
mov dword [edi], eax
movss xmm0, dword [0x4fb148]
mov ecx, edi
inc dword [edi + 0x654]
mov esi, dword [edi]
cvtps2pd xmm0, xmm0
subsd xmm0, qword [ebp - 0x8a28]
cvtpd2ps xmm0, xmm0
movss dword [0x4fb148], xmm0
cmp esi, 3
jge 0x429c5d
call fcn.004254a0
test al, al
je 0x429c43
add esi, 0xffffffff
mov dword [edi], esi
jns 0x429c43
mov dword [edi], 2
mov esi, 2
mov ecx, edi
call fcn.004254d0
test al, al
je 0x429c9d
lea eax, [esi + 1]
mov ecx, 3
cdq
idiv ecx
mov dword [edi], edx
jmp 0x429c9d
jne 0x429c7b
call fcn.004254d0
test al, al
jne 0x429c97
mov ecx, edi
call fcn.004254a0
test al, al
je 0x429c9d
mov dword [edi], 4
jmp 0x429c9d
call fcn.004254d0
test al, al
je 0x429c8c
mov dword [edi], 3
jmp 0x429c9d
mov ecx, edi
call fcn.004254a0
test al, al
je 0x429c9d
mov dword [edi], 0
cmp byte [edi + 0xa7c], 0
je 0x429cb6
cmp byte [edi + 0xa9c], 0
mov byte [ebp - 0x87d9], 1
je 0x429cbd
mov byte [ebp - 0x87d9], 0
cmp byte [edi + 0xa87], 0
mov ecx, dword [edi + 0xa90]
mov eax, dword [edi + 0xa94]
jne 0x429ce8
cmp byte [edi + 0xa85], 0
jne 0x429cf1
cmp byte [edi + 0xa86], 0
je 0x429e26
cmp byte [edi + 0xa85], 0
je 0x429cfe
cmp byte [edi + 0xaa5], 0
jne 0x429cfe
mov dl, 1
jmp 0x429d00
xor dl, dl
mov byte [ebp - 0x87bd], dl
cmp ecx, 0x35
jge 0x429d21
cmp ecx, 0xb
jge 0x429d49
mov ecx, dword [ebp - 0x87d8]
mov dword [ebp - 0x87d8], ecx
jmp 0x429e26
cmp ecx, 0xab
jl 0x429d33
cmp ecx, 0xd9
jl 0x429d49
jmp 0x429d72
cmp eax, 0xcb
jl 0x429df3
cmp eax, 0xe0
jl 0x429e1c
cmp eax, 0xe3
jl 0x429d6a
cmp eax, 0xf8
jge 0x429d6a
mov dword [edi], 1
test dl, dl
je 0x429e26
jmp 0x429e2f
cmp ecx, 0xb4
jl 0x429dec
mov edx, dword [ebp - 0x87d8]
cmp ecx, 0x139
jl 0x429e26
cmp ecx, 0x1e0
jl 0x429d97
mov dword [ebp - 0x87d8], edx
jmp 0x429e26
cmp eax, 0xf8
jge 0x429dcc
mov ecx, edx
mov dword [ebp - 0x87d8], ecx
cmp eax, 0xe3
jge 0x429db5
mov dword [ebp - 0x87d8], edx
jmp 0x429e26
cmp byte [ebp - 0x87bd], 0
mov dword [edi], 4
je 0x429e26
mov dword [ebp - 0x87d8], ecx
jmp 0x429e2f
cmp eax, 0x10d
jl 0x429ddb
mov dword [ebp - 0x87d8], edx
jmp 0x429e26
cmp byte [ebp - 0x87bd], 0
mov dword [edi], 3
je 0x429e26
jmp 0x429e2f
cmp eax, 0xf8
jge 0x429e01
mov ecx, dword [ebp - 0x87d8]
mov dword [ebp - 0x87d8], ecx
jmp 0x429e26
cmp eax, 0x10d
mov eax, dword [ebp - 0x87d8]
mov dword [ebp - 0x87d8], eax
jge 0x429e26
mov dword [edi], 2
jmp 0x429e22
mov dword [edi], 0
test dl, dl
jne 0x429e2f
cmp byte [ebp - 0x87d9], 0
je case.default.0x429e36
mov eax, dword [edi]
cmp eax, 4
ja case.default.0x429e36
jmp dword [eax*4 + 0x42b7d4]
push 1
push 0
push 0
push str.https:__store.steampowered.com_app_2689930_Detective_Instinct_Farewell_My_Beloved_
jmp 0x429e76
push 1
push 0
push 0
push str.http:__discord.gg_mErvmaqEcs
jmp 0x429e76
push 1
push 0
push 0
push str.https:__twitter.com_TrainDetective
jmp 0x429e76
mov byte [0x4b9ab1], 0
push 1
push 0
push 0
push str.https:__forms.gle_YJe4ZbHsUPZQTcxM8
push str.open
push 0
call dword [ebp - 0x8824]
mov ecx, edi
call fcn.00420700
test al, al
je 0x429ea8
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x429ea8
cmp dword [ecx + 0x10], 0
jne 0x429ea8
movsd xmm1, qword [edi + 0x2400]
call fcn.004128a0
push dword [edi + 0xc44]
lea eax, [ebp - 0x218]
push str._s_MENUSEEN
push eax
call fcn.00401380
add esp, 0xc
xor edi, edi
cmp byte [ebp - 0x218], 0
je 0x429edb
nop dword [eax]
inc edi
cmp byte [ebp + edi - 0x218], 0
jne 0x429ed0
add edi, 1
lea esi, [ebp - 0x218]
mov ecx, edi
mov edx, 0xffffffff
je 0x429f0a
nop dword [eax]
movzx eax, byte [esi]
lea esi, [esi + 1]
xor eax, edx
shr edx, 8
movzx eax, al
xor edx, dword [eax*4 + 0x4aa840]
sub ecx, 1
jne 0x429ef0
mov eax, dword [ebp - 0x87bc]
not edx
mov dword [ebp - 0x87c4], edx
mov dword [ebp - 0x87c8], 0
mov esi, dword [eax + 0xc1c]
mov eax, dword [eax + 0xc20]
sub eax, esi
sar eax, 2
imul ecx, eax, 0xaaaaaaab
mov eax, edx
xor edx, edx
div ecx
lea eax, [edx + edx*2]
mov ecx, dword [esi + eax*4]
mov eax, dword [esi + eax*4 + 4]
sub eax, ecx
mov dword [ebp - 0x87d4], ecx
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [ebp - 0x87cc], eax
test eax, eax
je 0x429fed
mov eax, dword [ebp - 0x87c4]
mov edx, dword [ebp - 0x87c8]
mov esi, dword [ebp - 0x87cc]
nop word [eax + eax]
cmp dword [ecx], eax
jne 0x429fd9
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 4]
sub eax, esi
cmp edi, eax
jne 0x429fcd
test edi, edi
je 0x429fb6
xor edx, edx
test edi, edi
je 0x429fb6
lea eax, [ebp - 0x218]
sub esi, eax
lea ecx, [ebp - 0x218]
add ecx, edx
mov al, byte [ecx]
cmp al, byte [esi + ecx]
jne 0x429fc1
inc edx
cmp edx, edi
jb 0x429fa2
mov edi, dword [ebp - 0x87bc]
jmp 0x42a0fc
mov ecx, dword [ebp - 0x87d4]
mov edx, dword [ebp - 0x87c8]
mov esi, dword [ebp - 0x87cc]
mov eax, dword [ebp - 0x87c4]
inc edx
add ecx, 0x14
mov dword [ebp - 0x87c8], edx
mov dword [ebp - 0x87d4], ecx
cmp edx, esi
jb 0x429f80
mov ecx, dword [ebp - 0x87d8]
xor eax, eax
mov dword [ebp - 0x87d8], ecx
cmp byte [ebp - 0x218], al
je 0x42a01b
mov dword [ebp - 0x87d8], ecx
nop dword [eax]
inc eax
cmp byte [ebp + eax - 0x218], 0
jne 0x42a010
mov edi, dword [ebp - 0x87bc]
inc eax
push 1
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [edi + 0xc18]
call fcn.004056b0
cmp byte [edi + 0xc5c], 0
jne 0x42a0fc
mov eax, dword [edi + 0xc30]
mov ecx, dword [edi + 0xc2c]
sub eax, ecx
je 0x42a05d
cmp byte [ecx], 0x21
je 0x42a0fc
push dword [edi + 0xc44]
lea eax, [ebp - 0x418]
push str._s_MENUSEEN
push eax
call fcn.00401380
xor eax, eax
add esp, 0xc
cmp byte [ebp - 0x418], al
je 0x42a08c
inc eax
cmp byte [ebp + eax - 0x418], 0
jne 0x42a081
inc eax
lea ecx, [edi + 0xc18]
push 1
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.004056b0
mov edx, dword [ebp - 0x87bc]
xor edi, edi
mov eax, dword [edx + 0xc54]
mov ecx, dword [edx + 0xc50]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xb6db6db7
test eax, eax
je 0x42a0fa
xor esi, esi
lea eax, [edx + 0xc18]
add ecx, esi
push eax
call fcn.004190c0
mov edx, dword [ebp - 0x87bc]
inc edi
add esi, 0x38
mov eax, dword [edx + 0xc54]
mov ecx, dword [edx + 0xc50]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xb6db6db7
cmp edi, eax
jb 0x42a0c7
mov edi, edx
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x888c]
test ecx, ecx
je 0x42a15b
mov edx, dword [ebp - 0x8884]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x42a133
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b79d
push edx
push ecx
call fcn.0046b5ea
add esp, 8
mov dword [ebp - 0x888c], 0
mov dword [ebp - 0x8888], 0
mov dword [ebp - 0x8884], 0
mov eax, dword [ebp - 0x87f4]
inc eax
mov dword [ebp - 0x87f4], eax
cmp eax, dword [ebp - 0x87d8]
jl 0x427070
mov esi, dword [ebp - 0x87e0]
cmp byte [edi + 0x9d8], 0
je 0x42b761
push 0xff
push 0
push 0
push 0
push dword [edi + 0x894]
call dword [ebp - 0x8850]
add esp, 0x14
push dword [edi + 0x89c]
push dword [edi + 0x894]
call dword [ebp - 0x884c]
push dword [edi + 0x894]
call dword [ebp - 0x8854]
add esp, 0xc
cmp esi, 9
ja case.default.0x42a1cb
jmp dword [esi*4 + 0x42b7e8]
mov eax, dword [edi + 0x654]
cmp eax, 0xffffffff
jne 0x42a1ec
mov dword [edi + 0x654], 0x7d0
mov eax, 0x7d0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movsd xmm1, qword [ebp - 0x8808]
cvtps2pd xmm2, xmm0
movsd xmm0, qword [ebp - 0x8880]
divsd xmm2, qword [ebp - 0x8a18]
call fcn.00469e00
push dword [edi + 0x89c]
cvttsd2si eax, xmm0
mov ecx, edi
mov byte [ebp - 0x89a0], al
call fcn.00421840
push dword [ebp - 0x89a0]
push dword [edi + 0x9c0]
call dword [ebp - 0x87e8]
movaps xmm0, xmmword [0x4af620]
lea eax, [ebp - 0x8798]
push eax
push eax
push dword [edi + 0x9c0]
movups xmmword [ebp - 0x8798], xmm0
push dword [edi + 0x894]
call dword [ebp - 0x87d0]
mov edi, dword [edi + 0x654]
add esp, 0x18
cmp edi, 0x1c0
jle 0x42a87d
add edi, 0xfffffe40
movsd xmm1, qword [ebp - 0x8880]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
divsd xmm0, qword [ebp - 0x88a0]
movsd qword [ebp - 0x87f0], xmm0
movaps xmm2, xmm0
movsd xmm0, qword [ebp - 0x8808]
call fcn.00469e00
mov esi, dword [ebp - 0x87bc]
cvttsd2si eax, xmm0
mov dword [ebp - 0x861c], eax
mov byte [ebp - 0x89a4], al
lea eax, [ebp - 0x89b0]
push eax
lea eax, [ebp - 0x89ac]
push eax
push 0
push 0
push dword [esi + 0x8b4]
call dword [ebp - 0x87fc]
add esp, 0x14
push dword [ebp - 0x89a4]
push dword [esi + 0x8b4]
call dword [ebp - 0x87e8]
mov eax, dword [ebp - 0x861c]
movsd xmm2, qword [ebp - 0x87f0]
movsd xmm1, qword [ebp - 0x8808]
movzx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
call fcn.00469e00
cvttsd2si eax, xmm0
mov byte [ebp - 0x89a8], al
push dword [ebp - 0x89a8]
push dword [esi + 0x8b8]
call dword [ebp - 0x87e8]
movsd xmm1, qword [ebp - 0x8940]
add esp, 0x10
minsd xmm1, qword [ebp - 0x87f0]
movsd xmm2, qword [ebp - 0x8a20]
movaps xmm0, xmm1
addsd xmm0, xmm1
mulsd xmm1, xmm1
subsd xmm2, xmm0
movsd xmm0, qword [ebp - 0x8a38]
mulsd xmm2, xmm1
movsd xmm1, qword [ebp - 0x8808]
call fcn.00469e00
mov eax, dword [ebp - 0x89b0]
mov ecx, dword [ebp - 0x89ac]
mov dword [ebp - 0x863c], eax
mov eax, 0x1e0
sub eax, ecx
mov dword [ebp - 0x8640], ecx
cvttsd2si esi, xmm0
cdq
mov ecx, 0x4f9c30
mov dword [ebp - 0x8648], 0
sub eax, edx
mov dword [ebp - 0x8644], 0
sar eax, 1
movups xmm0, xmmword [ebp - 0x8648]
movups xmmword [ebp - 0x8708], xmm0
mov dword [ebp - 0x8708], eax
mov dword [ebp - 0x8704], esi
call fcn.0041b7c0
lea eax, [ebp - 0x8900]
push eax
lea eax, [ebp - 0x89b4]
push eax
push 0
push 0
push dword [0x4f9c58]
call dword [ebp - 0x87fc]
mov eax, dword [ebp - 0x89b4]
add esp, 0x14
mov dword [ebp - 0x8698], 0
mov dword [ebp - 0x8694], 0
mov dword [ebp - 0x8690], eax
mov eax, dword [ebp - 0x8900]
mov dword [ebp - 0x868c], eax
lea eax, [ebp - 0x8788]
movups xmm0, xmmword [ebp - 0x8698]
push eax
lea eax, [ebp - 0x8698]
movups xmmword [ebp - 0x8788], xmm0
mov dword [ebp - 0x8784], esi
mov esi, dword [ebp - 0x87bc]
push eax
push dword [0x4f9c58]
push dword [esi + 0x894]
call dword [ebp - 0x87d0]
lea eax, [ebp - 0x8708]
push eax
lea eax, [ebp - 0x8648]
push eax
push dword [esi + 0x8b4]
push dword [esi + 0x894]
call dword [ebp - 0x87d0]
lea eax, [ebp - 0x8708]
push eax
lea eax, [ebp - 0x8648]
push eax
push dword [esi + 0x8b8]
push dword [esi + 0x894]
call dword [ebp - 0x87d0]
add esp, 0x30
cmp edi, 0x28
jle 0x42a892
sub edi, 0x2f
movsd xmm1, qword [ebp - 0x8880]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
cvtps2pd xmm2, xmm0
movsd xmm0, qword [ebp - 0x8808]
divsd xmm2, qword [ebp - 0x88a0]
call fcn.00469e00
cvttsd2si eax, xmm0
mov edx, esi
xor ecx, ecx
mov dword [ebp - 0x87c4], ecx
mov esi, dword [edx + 0x174]
mov dword [ebp - 0x87cc], esi
mov dword [ebp - 0x87c8], eax
mov eax, dword [edx + 0x178]
sub eax, esi
sar eax, 6
test eax, eax
je 0x42a71a
xor edi, edi
mov dword [ebp - 0x87f4], edi
nop word [eax + eax]
cmp ecx, dword [edx + 0x180]
jne 0x42a612
movsd xmm0, qword [edx + 0x470]
lea ecx, [ebp - 0x8a00]
push 0
push 0
push 0
call fcn.00469450
mov ecx, dword [edi + esi + 0x28]
sub esp, 8
mov dword [ebp - 0x861c], ecx
mov ecx, dword [edi + esi + 0x1c]
mov dword [ebp - 0x87ec], ecx
mov ecx, dword [edi + esi + 0x18]
movsd qword [esp], xmm0
push 0xffffffffffffffff
push 1
push dword [eax]
mov dword [ebp - 0x87f8], ecx
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x87e4], ecx
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov eax, dword [edi + esi + 0x38]
sub eax, dword [edi + esi + 0x34]
sar eax, 2
test eax, eax
je 0x42a5f4
cmp eax, 0x3fffffff
ja 0x42b78e
push eax
call fcn.0045ea20
mov eax, dword [ebp - 0x87e4]
mov ecx, dword [ebp - 0x87f4]
mov edi, dword [eax]
mov eax, dword [ebp - 0x87cc]
mov esi, dword [ecx + esi + 0x38]
mov eax, dword [ecx + eax + 0x34]
sub esi, eax
push esi
push eax
push edi
call fcn.0046c970
mov ecx, dword [ebp - 0x87e4]
add esp, 0xc
mov edx, dword [ebp - 0x87bc]
sar esi, 2
lea eax, [edi + esi*4]
mov edi, dword [ebp - 0x87f4]
mov dword [ecx + 4], eax
push dword [ebp - 0x861c]
mov ecx, edx
push dword [ebp - 0x87ec]
push dword [ebp - 0x87f8]
call fcn.0041fc80
jmp 0x42a6df
mov eax, dword [edi + esi + 0x28]
push 0xffffffffffffffff
push 0
push dword [edx + 0x8ac]
mov dword [ebp - 0x8858], 0xff000000
push dword [ebp - 0x8858]
mov dword [ebp - 0x87ec], eax
mov eax, dword [edi + esi + 0x1c]
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x87f8], eax
mov eax, dword [edi + esi + 0x18]
mov dword [ebp - 0x87f4], eax
mov dword [ebp - 0x87e4], ecx
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov eax, dword [edi + esi + 0x38]
sub eax, dword [edi + esi + 0x34]
sar eax, 2
test eax, eax
je 0x42a6c6
cmp eax, 0x3fffffff
ja 0x42b78e
push eax
call fcn.0045ea20
mov eax, dword [ebp - 0x87e4]
mov edx, dword [edi + esi + 0x38]
push ecx
mov ecx, dword [edi + esi + 0x34]
push dword [eax]
call fcn.00462c20
mov ecx, dword [ebp - 0x87e4]
add esp, 8
mov dword [ebp - 0x861c], 0
mov dword [ecx + 4], eax
lea ecx, [ebp - 0x861c]
call fcn.0045db90
mov edx, dword [ebp - 0x87bc]
push dword [ebp - 0x87ec]
mov ecx, edx
push dword [ebp - 0x87f8]
push dword [ebp - 0x87f4]
call fcn.0041f8f0
mov edx, dword [ebp - 0x87bc]
add edi, 0x40
mov ecx, dword [ebp - 0x87c4]
inc ecx
mov dword [ebp - 0x87f4], edi
mov dword [ebp - 0x87c4], ecx
mov esi, dword [edx + 0x174]
mov eax, dword [edx + 0x178]
sub eax, esi
mov dword [ebp - 0x87cc], esi
sar eax, 6
cmp ecx, eax
jb 0x42a520
mov dword [ebp - 0x88f0], 0
mov dword [ebp - 0x88ec], 0
mov dword [ebp - 0x88e8], 0
mov eax, dword [ebp - 0x87c8]
lea ecx, [ebp - 0x88f0]
mov dword [ebp - 4], 3
mov byte [ebp - 0x882d], al
lea eax, [ebp - 0x8830]
push eax
push 0
mov word [ebp - 0x8830], 0xffff
mov byte [ebp - 0x882e], 0xff
call fcn.00462ab0
mov eax, dword [ebp - 0x88ec]
sub eax, dword [ebp - 0x88f0]
mov dword [ebp - 0x8834], 0xff000000
mov edi, eax
push dword [ebp - 0x8834]
sar edi, 2
sub esp, 0xc
mov dword [ebp - 0x861c], eax
mov esi, esp
mov dword [ebp - 0x87ec], esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
test edi, edi
je 0x42a7f0
cmp edi, 0x3fffffff
ja 0x42b78e
push edi
mov ecx, esi
call fcn.0045ea20
push dword [ebp - 0x861c]
mov esi, dword [esi]
push dword [ebp - 0x88f0]
push esi
call fcn.0046c970
mov ecx, dword [ebp - 0x87ec]
lea eax, [esi + edi*4]
add esp, 0xc
mov dword [ecx + 4], eax
mov edi, dword [ebp - 0x87bc]
mov ecx, edi
push str.2024_Armonica_LLC
push 0xf9
push 0x186
lea eax, [edi + 0xb68]
push eax
call fcn.004410d0
mov eax, dword [ebp - 0x87c8]
not al
movzx eax, al
push eax
push dword [edi + 0x9c0]
call dword [ebp - 0x87e8]
movaps xmm0, xmmword [0x4af5b0]
lea eax, [ebp - 0x8778]
push eax
push eax
push dword [edi + 0x9c0]
movups xmmword [ebp - 0x8778], xmm0
push dword [edi + 0x894]
call dword [ebp - 0x87d0]
add esp, 0x18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88f0]
call fcn.00450a10
mov esi, dword [ebp - 0x87e0]
sub esp, 8
mov ecx, edi
call fcn.00424650
jmp case.default.0x42a1cb
mov edi, dword [ebp - 0x87bc]
sub esp, 8
mov ecx, edi
call fcn.00424650
jmp case.default.0x42a1cb
mov edi, esi
sub esp, 8
mov esi, dword [ebp - 0x87e0]
mov ecx, edi
call fcn.00424650
jmp case.default.0x42a1cb
mov byte [ebp - 0x88bc], 0
cmp esi, 4
jne 0x42a8ea
movd xmm0, dword [edi + 0x654]
cvtdq2ps xmm0, xmm0
movsd xmm1, qword [ebp - 0x8880]
cvtps2pd xmm2, xmm0
movsd xmm0, qword [ebp - 0x8808]
divsd xmm2, qword [ebp - 0x88a0]
call fcn.00469e00
cvttsd2si eax, xmm0
mov byte [ebp - 0x88bc], al
push dword [edi + 0x89c]
mov ecx, edi
call fcn.00421840
mov ecx, 0x4f9c30
call fcn.0041b7c0
lea eax, [ebp - 0x8908]
push eax
lea eax, [ebp - 0x8904]
push eax
push 0
push 0
push dword [0x4f9c58]
call dword [ebp - 0x87fc]
mov eax, dword [ebp - 0x8904]
add esp, 0x14
mov esi, dword [ebp - 0x87d0]
mov dword [ebp - 0x86a0], eax
mov eax, dword [ebp - 0x8908]
mov dword [ebp - 0x869c], eax
lea eax, [ebp - 0x87b8]
push eax
lea eax, [ebp - 0x86a8]
mov dword [ebp - 0x86a8], 0
push eax
push dword [0x4f9c58]
mov dword [ebp - 0x86a4], 0
movups xmm0, xmmword [ebp - 0x86a8]
push dword [edi + 0x894]
movups xmmword [ebp - 0x87b8], xmm0
call esi
lea eax, [ebp - 0x8910]
push eax
lea eax, [ebp - 0x890c]
push eax
push 0
push 0
push dword [edi + 0x8b4]
call dword [ebp - 0x87fc]
add esp, 0x24
push 0xff
push dword [edi + 0x8b4]
call dword [ebp - 0x87e8]
mov eax, dword [ebp - 0x8910]
mov ecx, dword [ebp - 0x890c]
mov dword [ebp - 0x86ac], eax
mov eax, 0x1e0
sub eax, ecx
mov dword [ebp - 0x86b8], 0
cdq
mov dword [ebp - 0x86b4], 0
sub eax, edx
mov dword [ebp - 0x86b0], ecx
movups xmm0, xmmword [ebp - 0x86b8]
sar eax, 1
movups xmmword [ebp - 0x8748], xmm0
mov dword [ebp - 0x8748], eax
lea eax, [ebp - 0x8748]
push eax
lea eax, [ebp - 0x86b8]
mov dword [ebp - 0x8744], 0
push eax
push dword [edi + 0x8b4]
push dword [edi + 0x894]
call esi
add esp, 0x18
mov dword [ebp - 0x88fc], 0
mov dword [ebp - 0x88f8], 0
mov dword [ebp - 0x88f4], 0
lea eax, [ebp - 0x8838]
mov dword [ebp - 4], 4
push eax
push 0
lea ecx, [ebp - 0x88fc]
mov dword [ebp - 0x8838], 0xffffffff
call fcn.00462ab0
mov dword [ebp - 0x883c], 0xff000000
push dword [ebp - 0x883c]
sub esp, 0xc
mov esi, esp
mov dword [ebp - 0x87ec], esi
mov eax, dword [ebp - 0x88f8]
sub eax, dword [ebp - 0x88fc]
mov edi, eax
mov dword [esi], 0
sar edi, 2
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [ebp - 0x861c], eax
test edi, edi
je 0x42aae9
cmp edi, 0x3fffffff
ja 0x42b78e
push edi
mov ecx, esi
call fcn.0045ea20
push dword [ebp - 0x861c]
mov esi, dword [esi]
push dword [ebp - 0x88fc]
push esi
call fcn.0046c970
mov ecx, dword [ebp - 0x87ec]
lea eax, [esi + edi*4]
add esp, 0xc
mov dword [ecx + 4], eax
mov edi, dword [ebp - 0x87bc]
mov ecx, edi
push str.2024_Armonica_LLC
push 0xf9
push 0x186
lea eax, [edi + 0xb68]
push eax
call fcn.004410d0
mov esi, dword [ebp - 0x87e0]
mov byte [ebp - 0x87bd], 0
cmp esi, 2
jne 0x42ab29
cmp dword [edi + 0x1358], 3
je 0x42ab37
jmp 0x42ab3e
cmp esi, 3
jne 0x42ab3e
cmp dword [edi + 0x1358], 9
jne 0x42ab3e
mov byte [ebp - 0x87bd], 1
mov ecx, dword [edi + 0x174]
xor edx, edx
mov eax, dword [edi + 0x178]
sub eax, ecx
mov dword [ebp - 0x87f4], edx
sar eax, 6
mov dword [ebp - 0x87e4], ecx
test eax, eax
je 0x42adeb
xor esi, esi
mov dword [ebp - 0x87c8], esi
nop dword [eax]
cmp dword [esi + ecx + 4], 4
mov eax, 0xffffffff
mov edi, 0x7c
cmovne edi, eax
mov eax, dword [ebp - 0x87bc]
cmp edx, dword [eax + 0x180]
jne 0x42acdb
mov dword [ebp - 0x88e4], 0
mov dword [ebp - 0x88e0], 0
mov dword [ebp - 0x88dc], 0
lea eax, [ebp - 0x8840]
mov byte [ebp - 4], 5
push eax
push 0
lea ecx, [ebp - 0x88e4]
mov dword [ebp - 0x8840], 0xffffffff
call fcn.00462ab0
mov eax, dword [ebp - 0x87bc]
sub esp, 8
mov dword [ebp - 0x8844], 0xff000000
movsd xmm0, qword [eax + 0x470]
mov eax, dword [eax + 0x174]
movsd qword [esp], xmm0
push edi
mov ecx, dword [esi + eax + 0x28]
mov dword [ebp - 0x87ec], ecx
mov ecx, dword [esi + eax + 0x1c]
mov eax, dword [esi + eax + 0x18]
mov dword [ebp - 0x87c4], eax
mov al, byte [ebp - 0x87bd]
xor al, 1
mov dword [ebp - 0x87f8], ecx
mov ecx, dword [ebp - 0x88e0]
sub ecx, dword [ebp - 0x88e4]
movzx eax, al
mov edi, ecx
push eax
push dword [ebp - 0x8844]
sar edi, 2
sub esp, 0xc
mov dword [ebp - 0x861c], ecx
mov eax, esp
mov dword [ebp - 0x87e4], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
test edi, edi
je 0x42aca8
cmp edi, 0x3fffffff
ja 0x42b78e
push edi
mov ecx, eax
call fcn.0045ea20
mov eax, dword [ebp - 0x87e4]
push dword [ebp - 0x861c]
push dword [ebp - 0x88e4]
mov esi, dword [eax]
push esi
call fcn.0046c970
mov ecx, dword [ebp - 0x87e4]
lea eax, [esi + edi*4]
mov esi, dword [ebp - 0x87c8]
add esp, 0xc
mov dword [ecx + 4], eax
push dword [ebp - 0x87ec]
mov edi, dword [ebp - 0x87bc]
mov ecx, edi
push dword [ebp - 0x87f8]
push dword [ebp - 0x87c4]
call fcn.0041fc80
lea ecx, [ebp - 0x88e4]
mov byte [ebp - 4], 4
call fcn.00450a10
jmp 0x42adb0
mov eax, dword [esi + ecx + 0x28]
mov dword [ebp - 0x87ec], eax
mov eax, dword [esi + ecx + 0x1c]
mov dword [ebp - 0x87f8], eax
mov eax, dword [esi + ecx + 0x18]
mov dword [ebp - 0x87c4], eax
mov eax, dword [ebp - 0x87bc]
push edi
push 0
mov dword [ebp - 0x8848], 0xff000000
push dword [eax + 0x8ac]
push dword [ebp - 0x8848]
sub esp, 0xc
mov edi, esp
mov dword [ebp - 0x861c], edi
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [esi + ecx + 0x38]
sub eax, dword [esi + ecx + 0x34]
sar eax, 2
test eax, eax
je 0x42ad91
cmp eax, 0x3fffffff
ja 0x42b78e
push eax
mov ecx, edi
call fcn.0045ea20
mov ecx, dword [ebp - 0x87e4]
mov eax, dword [ebp - 0x87c8]
mov edi, dword [edi]
mov esi, dword [esi + ecx + 0x38]
mov eax, dword [eax + ecx + 0x34]
sub esi, eax
push esi
push eax
push edi
call fcn.0046c970
mov ecx, dword [ebp - 0x861c]
add esp, 0xc
sar esi, 2
lea eax, [edi + esi*4]
mov esi, dword [ebp - 0x87c8]
mov dword [ecx + 4], eax
push dword [ebp - 0x87ec]
mov edi, dword [ebp - 0x87bc]
mov ecx, edi
push dword [ebp - 0x87f8]
push dword [ebp - 0x87c4]
call fcn.0041f8f0
mov ecx, dword [edi + 0x174]
add esi, 0x40
mov eax, dword [edi + 0x178]
mov edx, dword [ebp - 0x87f4]
sub eax, ecx
inc edx
sar eax, 6
mov dword [ebp - 0x87f4], edx
mov dword [ebp - 0x87c8], esi
mov dword [ebp - 0x87e4], ecx
cmp edx, eax
jb 0x42ab70
mov esi, dword [ebp - 0x87e0]
cmp esi, 4
jne 0x42adfa
sub esp, 8
mov ecx, edi
call fcn.00424650
push dword [ebp - 0x88bc]
push dword [edi + 0x9c0]
call dword [ebp - 0x87e8]
movaps xmm0, xmmword [0x4af620]
lea eax, [ebp - 0x87a8]
push eax
push eax
push dword [edi + 0x9c0]
movups xmmword [ebp - 0x87a8], xmm0
push dword [edi + 0x894]
call dword [ebp - 0x87d0]
add esp, 0x18
cmp byte [ebp - 0x87bd], 0
je 0x42ae8f
movaps xmm0, xmmword [0x4af620]
push 0xc8
push dword [edi + 0x9c0]
movups xmmword [ebp - 0x8628], xmm0
call dword [ebp - 0x87e8]
lea eax, [ebp - 0x8628]
push eax
push eax
push dword [edi + 0x9c0]
push dword [edi + 0x894]
call dword [ebp - 0x87d0]
movsd xmm1, qword [edi + 0x2400]
lea ecx, [edi + 0xc28]
add esp, 0x18
call fcn.00430240
cmp esi, 4
je 0x42aea7
cmp dword [edi + 0x650], 3
je 0x42aea7
sub esp, 8
mov ecx, edi
call fcn.00424650
lea ecx, [ebp - 0x88fc]
mov dword [ebp - 4], 0xffffffff
call fcn.00450a10
jmp case.default.0x42a1cb
push 0xff
push dword [edi + 0x8bc]
call dword [ebp - 0x87e8]
movaps xmm0, xmmword [0x4af620]
lea eax, [ebp - 0x8738]
push eax
push eax
push dword [edi + 0x8bc]
movups xmmword [ebp - 0x8738], xmm0
push dword [edi + 0x894]
call dword [ebp - 0x87d0]
mov ecx, dword [edi + 0x654]
add esp, 0x18
movsd xmm4, qword [ebp - 0x8808]
movsd xmm5, qword [ebp - 0x8880]
movaps xmm1, xmm4
movaps xmm0, xmm5
lea eax, [ecx - 0x32]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
divsd xmm2, qword [ebp - 0x89c0]
call fcn.00469e00
cvttsd2si eax, xmm0
mov byte [ebp - 0x88b4], al
cmp ecx, 0x55
jle 0x42af71
lea eax, [ecx - 0x55]
cmp eax, 0xb4
jl 0x42af71
add eax, 0xffffff4c
movaps xmm1, xmm5
movaps xmm0, xmm4
movd xmm2, eax
cvtdq2pd xmm2, xmm2
divsd xmm2, qword [ebp - 0x88a0]
call fcn.00469e00
cvttsd2si eax, xmm0
mov byte [ebp - 0x88b4], al
push dword [ebp - 0x88b4]
push dword [edi + 0x9c0]
call dword [ebp - 0x87e8]
lea eax, [ebp - 0x8738]
push eax
push eax
push dword [edi + 0x9c0]
push dword [edi + 0x894]
call dword [ebp - 0x87d0]
add esp, 0x10
mov ecx, edi
call fcn.00424650
jmp case.default.0x42a1cb
movaps xmm0, xmmword [0x4af620]
lea eax, [ebp - 0x8628]
push eax
push eax
push dword [edi + 0x8c0]
movups xmmword [ebp - 0x8628], xmm0
push dword [edi + 0x894]
call dword [ebp - 0x87d0]
mov ecx, dword [edi + 0x654]
add esp, 0x10
movsd xmm4, qword [ebp - 0x8808]
movsd xmm5, qword [ebp - 0x8880]
movaps xmm1, xmm4
movaps xmm0, xmm5
lea eax, [ecx - 0x32]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
divsd xmm2, qword [ebp - 0x89c0]
call fcn.00469e00
cvttsd2si eax, xmm0
mov byte [ebp - 0x88b8], al
cmp ecx, 0x55
jle 0x42b04e
lea eax, [ecx - 0x55]
cmp eax, 0x168
jl 0x42b04e
add eax, 0xfffffe98
movaps xmm1, xmm5
movaps xmm0, xmm4
movd xmm2, eax
cvtdq2pd xmm2, xmm2
divsd xmm2, qword [ebp - 0x88a0]
call fcn.00469e00
cvttsd2si eax, xmm0
mov byte [ebp - 0x88b8], al
push dword [ebp - 0x88b8]
push dword [edi + 0x9c0]
call dword [ebp - 0x87e8]
lea eax, [ebp - 0x8628]
push eax
jmp 0x42af8a
push dword [edi + 0x89c]
mov ecx, edi
call fcn.00421840
push dword [edi + 0x1550]
mov ecx, edi
push dword [edi + 0x89c]
call fcn.004212f0
cmp dword [edi + 0x3e0], 0
jne 0x42b127
movzx eax, byte [edi + 0x3cc]
push eax
push dword [edi + 0x9c0]
call dword [ebp - 0x87e8]
add esp, 8
lea eax, [ebp - 0x89d4]
mov ecx, edi
push eax
call fcn.00424fe0
mov eax, dword [ebp - 0x89d0]
sub eax, dword [ebp - 0x89d4]
sar eax, 2
cmp eax, 2
jne 0x42b11c
mov ecx, dword [edi + 0x658]
mov eax, 0x1e0
sub eax, ecx
mov dword [ebp - 0x86d8], ecx
mov dword [ebp - 0x86d0], eax
lea eax, [ebp - 0x86d8]
push eax
push eax
push dword [edi + 0x9c0]
mov dword [ebp - 0x86d4], 0
push dword [edi + 0x894]
mov dword [ebp - 0x86cc], 0x10e
call dword [ebp - 0x87d0]
add esp, 0x10
lea ecx, [ebp - 0x89d4]
call fcn.00450a10
cmp dword [edi + 0x518], 0
jle 0x42b27e
movups xmm0, xmmword [edi + 0x59c]
sub esp, 0x10
lea ecx, [edi + 0x8f4]
mov eax, esp
movups xmmword [eax], xmm0
call fcn.00419300
lea eax, [ebp - 0x8918]
push eax
lea eax, [ebp - 0x8914]
push eax
push 0
push 0
push dword [edi + 0x9d4]
call dword [ebp - 0x87fc]
mov eax, dword [ebp - 0x8914]
add esp, 0x14
mov dword [ebp - 0x8680], eax
mov eax, dword [ebp - 0x8918]
mov dword [ebp - 0x867c], eax
lea eax, [ebp - 0x8758]
push eax
lea eax, [ebp - 0x8688]
mov dword [ebp - 0x8688], 0
push eax
push dword [edi + 0x9d4]
mov dword [ebp - 0x8684], 0
movups xmm0, xmmword [ebp - 0x8688]
push dword [edi + 0x894]
movups xmmword [ebp - 0x8758], xmm0
mov dword [ebp - 0x8758], 0x7c
mov dword [ebp - 0x8754], 0xa5
call dword [ebp - 0x87d0]
add esp, 0x10
mov dword [ebp - 0x894c], 0
mov dword [ebp - 0x8948], 0
mov dword [ebp - 0x8944], 0
push 0xff
push 0xff
push 0xff
lea ecx, [ebp - 0x89fc]
mov dword [ebp - 4], 6
call fcn.00469450
push eax
lea ecx, [ebp - 0x894c]
call fcn.004517c0
push 0
push 0
push 0
lea ecx, [ebp - 0x8a0c]
call fcn.00469450
push dword [eax]
lea eax, [ebp - 0x894c]
sub esp, 0xc
mov ecx, esp
push eax
call fcn.004517f0
push str.Note_Added_
push 0xaa
push 0x95
lea eax, [edi + 0xab8]
mov ecx, edi
push eax
call fcn.004410d0
lea ecx, [ebp - 0x894c]
mov dword [ebp - 4], 0xffffffff
call fcn.00450a10
movsd xmm1, qword [edi + 0x2400]
lea ecx, [edi + 0xc28]
call fcn.00430240
mov ecx, edi
call fcn.00420700
test al, al
je 0x42b30a
mov eax, dword [0x4fb138]
test eax, eax
je 0x42b30a
lea ecx, [ebp - 0x8920]
push ecx
lea ecx, [ebp - 0x891c]
push ecx
push 0
push 0
push eax
call dword [ebp - 0x87fc]
mov eax, dword [ebp - 0x891c]
add esp, 0x14
mov dword [ebp - 0x8670], eax
mov eax, dword [ebp - 0x8920]
mov dword [ebp - 0x866c], eax
lea eax, [ebp - 0x8678]
push eax
push eax
push dword [0x4fb138]
mov dword [ebp - 0x8678], 0
push dword [edi + 0x894]
mov dword [ebp - 0x8674], 0
call dword [ebp - 0x87d0]
add esp, 0x10
mov dword [0x4fb218], 0
cmp dword [edi + 0x3e0], 1
mov dword [0x4fb1d8], 0
mov dword [0x4fb1f8], 0
jne case.default.0x42a1cb
movzx eax, byte [edi + 0x3cc]
push eax
push dword [edi + 0x9c0]
call dword [ebp - 0x87e8]
movaps xmm0, xmmword [0x4af620]
lea eax, [ebp - 0x8768]
movups xmmword [ebp - 0x8768], xmm0
push eax
jmp 0x42b5f3
movd xmm0, dword [edi + 0x654]
cvtdq2ps xmm0, xmm0
movsd xmm1, qword [ebp - 0x8808]
cvtps2pd xmm2, xmm0
movsd xmm0, qword [ebp - 0x8880]
divsd xmm2, qword [ebp - 0x8a30]
call fcn.00469e00
cvttsd2si eax, xmm0
mov byte [ebp - 0x8924], al
lea eax, [ebp - 0x881c]
push eax
lea eax, [ebp - 0x8820]
push eax
push 0
push 0
push dword [edi + 0x8a4]
call dword [ebp - 0x87fc]
movaps xmm0, xmmword [0x4af620]
lea eax, [ebp - 0x8728]
add esp, 0x14
movups xmmword [ebp - 0x8728], xmm0
push eax
push eax
push dword [edi + 0x8c4]
push dword [edi + 0x894]
call dword [ebp - 0x87d0]
mov eax, dword [edi]
add esp, 0x10
cmp eax, 4
ja case.default.0x42b3ef
jmp dword [eax*4 + 0x42b810]
mov eax, dword [ebp - 0x8820]
mov dword [ebp - 0x8660], eax
mov eax, dword [ebp - 0x881c]
mov dword [ebp - 0x865c], eax
lea eax, [ebp - 0x8628]
mov dword [ebp - 0x8668], 0
mov dword [ebp - 0x8664], 0
movups xmm0, xmmword [ebp - 0x8668]
push eax
lea eax, [ebp - 0x8668]
movups xmmword [ebp - 0x8628], xmm0
mov dword [ebp - 0x8628], 0x32
mov dword [ebp - 0x8624], 0xce
jmp 0x42b5c4
mov eax, dword [ebp - 0x8820]
mov dword [ebp - 0x8650], eax
mov eax, dword [ebp - 0x881c]
mov dword [ebp - 0x864c], eax
lea eax, [ebp - 0x8628]
mov dword [ebp - 0x8658], 0
mov dword [ebp - 0x8654], 0
movups xmm0, xmmword [ebp - 0x8658]
push eax
lea eax, [ebp - 0x8658]
movups xmmword [ebp - 0x8628], xmm0
mov dword [ebp - 0x8628], 0xc
jmp 0x42b5ba
mov eax, dword [ebp - 0x8820]
mov dword [ebp - 0x86f0], eax
mov eax, dword [ebp - 0x881c]
mov dword [ebp - 0x86ec], eax
lea eax, [ebp - 0x8628]
mov dword [ebp - 0x86f8], 0
mov dword [ebp - 0x86f4], 0
movups xmm0, xmmword [ebp - 0x86f8]
push eax
lea eax, [ebp - 0x86f8]
movups xmmword [ebp - 0x8628], xmm0
mov dword [ebp - 0x8628], 0xc
mov dword [ebp - 0x8624], 0xf9
jmp 0x42b5c4
mov eax, dword [ebp - 0x8820]
mov dword [ebp - 0x86c0], eax
mov eax, dword [ebp - 0x881c]
mov dword [ebp - 0x86bc], eax
lea eax, [ebp - 0x8628]
mov dword [ebp - 0x86c8], 0
mov dword [ebp - 0x86c4], 0
movups xmm0, xmmword [ebp - 0x86c8]
push eax
lea eax, [ebp - 0x86c8]
movups xmmword [ebp - 0x8628], xmm0
mov dword [ebp - 0x8628], 0x13a
mov dword [ebp - 0x8624], 0xf9
jmp 0x42b5c4
mov eax, dword [ebp - 0x8820]
mov dword [ebp - 0x86e0], eax
mov eax, dword [ebp - 0x881c]
mov dword [ebp - 0x86dc], eax
lea eax, [ebp - 0x8628]
mov dword [ebp - 0x86e8], 0
mov dword [ebp - 0x86e4], 0
movups xmm0, xmmword [ebp - 0x86e8]
push eax
lea eax, [ebp - 0x86e8]
movups xmmword [ebp - 0x8628], xmm0
mov dword [ebp - 0x8628], 0x13a
mov dword [ebp - 0x8624], 0xe5
push eax
push dword [edi + 0x8a4]
push dword [edi + 0x894]
call dword [ebp - 0x87d0]
add esp, 0x10
push dword [ebp - 0x8924]
push dword [edi + 0x9c0]
call dword [ebp - 0x87e8]
lea eax, [ebp - 0x8728]
push eax
push eax
push dword [edi + 0x9c0]
push dword [edi + 0x894]
call dword [ebp - 0x87d0]
add esp, 0x18
lea eax, [ebp - 0x8874]
push eax
lea eax, [ebp - 0x8870]
push eax
push dword [edi + 0x890]
call dword [ebp - 0x886c]
mov eax, dword [ebp - 0x8870]
add esp, 0xc
mov dword [ebp - 0x8710], eax
mov eax, dword [ebp - 0x8874]
mov dword [ebp - 0x870c], eax
lea eax, [ebp - 0x8718]
push eax
push dword [edi + 0x894]
mov dword [ebp - 0x8718], 0
mov dword [ebp - 0x8714], 0
call dword [ebp - 0x8928]
push 0
push dword [edi + 0x894]
call dword [ebp - 0x884c]
add esp, 0x10
cmp byte [edi + 0x1b], 0
je 0x42b6e2
cmp byte [edi + 0x28], 0
jne 0x42b688
cmp byte [edi + 0x29], 0
je 0x42b6e2
movsd xmm1, qword [edi + 0x30]
mov eax, dword [ebp - 0x8870]
movaps xmm0, xmm1
mulsd xmm0, qword [ebp - 0x88a8]
mulsd xmm1, qword [ebp - 0x88b0]
cvttsd2si esi, xmm0
cvttsd2si ecx, xmm1
sub eax, esi
mov dword [ebp - 0x8630], esi
mov esi, dword [ebp - 0x87e0]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x8638], eax
mov eax, dword [ebp - 0x8874]
sub eax, ecx
mov dword [ebp - 0x862c], ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x8634], eax
jmp 0x42b70e
mov eax, dword [ebp - 0x8870]
mov dword [ebp - 0x8630], eax
mov eax, dword [ebp - 0x8874]
mov dword [ebp - 0x8638], 0
mov dword [ebp - 0x8634], 0
mov dword [ebp - 0x862c], eax
lea eax, [ebp - 0x8638]
push eax
push 0
push dword [edi + 0x89c]
push dword [edi + 0x894]
call dword [ebp - 0x87d0]
push dword [edi + 0x894]
call dword [ebp - 0x892c]
add esp, 0x14
push 0xff
push 0
push 0
push 0
push dword [edi + 0x894]
call dword [ebp - 0x8850]
add esp, 0x14
push dword [edi + 0x894]
call dword [ebp - 0x8854]
add esp, 4
add bh, bh
xchg ebp, eax
mov al, 0x77
invalid
mov bh, 0x94
or byte [eax], al
add bh, bh
xchg ebp, eax
lodsb al, byte [esi]
ja 0x42b75c
invalid
inc dword [ebx + 0x3d8004c4]
mov cl, 0x9a
dec ebx
add byte [eax], al
cmp byte [0x4b9ab1], 0
jne 0x426f90
mov al, 1
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.0046b159
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00458bf0
call fcn.004014e0
call fcn.00458bf0
call fcn.0047bdf3
nop
mov ebp, 0x3a004282
pop dword [edx]
jl 0x42b748
inc edx
add ah, cl
wait
inc edx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [edx], eax
add eax, dword [eax]
add byte [esi - 112], ah
popal
lea eax, [edx]
jo 0x42b753
inc edx
add cl, cl
mov word [edx], es
ror dword [ebp - 0x7220ffbe], cl
inc edx
add byte [0x4a00429e], bh
sahf
inc edx
add byte [edi - 0x62], dl
inc edx
add byte [esi + ebx*4 + 0x42], ah
add byte [ebx - 0x62], ch
inc edx
add byte [ecx - 0x53ffbd58], ch
scasd eax, dword es:[edi]
inc edx
add byte [ecx - 0x56ffbd58], ch
test al, 0x42
add byte [ecx + 0x6c0042a8], ch
mov al, 0x42
add byte [ebx - 0x4d], ah
inc edx
add byte [ebx - 0x4d], ah
inc edx
add byte [esi - 0x2dffbd52], bh
mov eax, dword [0xb3f60042]
inc edx
add byte [esi - 0x4c], dl
inc edx
add byte [esp + esi*4 - 0x4af3ffbe], ch
inc edx
add byte [ecx - 0x4b], ch
inc edx
add ah, cl
int3