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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1ac
mov eax, dword [0x4e22e4]
xor eax, esp
mov dword [esp + 0x1a8], eax
push ebx
push esi
push edi
xor ebx, ebx
push 0x36
lea eax, [esp + 0x181]
push ebx
push eax
mov byte [esp + 0x188], bl
call fcn.00401f80
xor eax, eax
mov dword [esp + 0xc8], ebx
lea edi, [esp + 0xcc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [esp + 0xe4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [esp + 0xfc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
push 9
pop ecx
xor eax, eax
mov dword [esp + 0x104], ebx
lea edi, [esp + 0x108]
rep stosd dword es:[edi], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x58], ebx
call fcn.004961d6
test eax, eax
je 0x41953d
call fcn.00496a20
call fcn.004961a7
mov dword [esp + 0x88], eax
jmp 0x419544
mov dword [esp + 0x88], ebx
call fcn.00465ee9
cmp eax, 0x35a5011f
je 0x419555
call fcn.00418e8f
mov ecx, 0x4b569c
call fcn.00494c80
push ebx
call fcn.00496b24
mov dword [esp], 0x309
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push ebx
call fcn.0045500f
push eax
push str._sSoundsKaChing.wav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
push ebx
push ebx
mov dword [esp + 0xa4], eax
call fcn.0045500f
push eax
push str._sSoundsIntroWait1.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
push ebx
push ebx
mov dword [esp + 0x7c], eax
call fcn.0045500f
push eax
push str._sSoundsIntroWait2.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
push ebx
push ebx
mov dword [esp + 0x98], eax
call fcn.0045500f
push eax
push str._sSoundsIntroWait3.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
push ebx
push ebx
mov dword [esp + 0x84], eax
call fcn.0045500f
push eax
push str._sSoundsIntroWait4.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
push ebx
push ebx
mov dword [esp + 0xa0], eax
call fcn.0045500f
push eax
push str._sSoundsIntroWait5.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
push ebx
push ebx
mov dword [esp + 0x8c], eax
call fcn.0045500f
push eax
push str._sSoundsIntroWait6.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
push ebx
push ebx
mov dword [esp + 0xa8], eax
call fcn.0045500f
push eax
push str._sSoundsIntroWait7.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
push ebx
push ebx
mov dword [esp + 0x94], eax
call fcn.0045500f
push eax
push str._sSoundsIntroWait8.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
push ebx
push ebx
mov dword [esp + 0xb0], eax
call fcn.0045500f
push eax
push str._sSoundsIntroPaulaDrop.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
push ebx
push ebx
mov dword [esp + 0x9c], eax
call fcn.0045500f
push eax
push str._sSoundsIntroRevision.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
push ebx
push ebx
mov dword [esp + 0x68], eax
call fcn.0045500f
push eax
push str._sSoundsIntroNapaLogo.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
push ebx
push ebx
mov dword [esp + 0x78], eax
call fcn.0045500f
push eax
push str._sSoundsIntroLeaving.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
mov dword [esp + 0x68], eax
push ebx
push ebx
call fcn.0045500f
push eax
push str._sSoundsIntroAcronym.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
push ebx
push ebx
mov dword [esp + 0x3c], eax
call fcn.0045500f
push eax
push str._sSoundsIntroPing.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
push ebx
push ebx
mov dword [esp + 0x80], eax
call fcn.0045500f
push eax
push str._sSoundsIntroPing2.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
mov dword [esp + 0x80], eax
call fcn.00494ead
mov esi, eax
call fcn.00494e18
mov ecx, eax
mov eax, esi
call fcn.00441872
mov dword [esp + 0x2c], eax
call fcn.00418a1c
lea esi, [esp + 0xbc]
mov dword [esp + 0x48], eax
call fcn.0048b137
call fcn.00418980
xor esi, esi
mov dword [esp + 0x50], eax
call fcn.004187c5
xor edx, edx
call fcn.00418f71
call fcn.00418b58
push eax
push 0x37
pop ecx
lea eax, [esp + 0x180]
call fcn.00438aa8
pop ecx
push 0x2e
xor eax, eax
lea edi, [esp + 0x180]
call fcn.00438701
pop ecx
cmp dword [0x5f6030], ebx
je 0x41986f
xor eax, eax
mov word [esp + 0xac], ax
lea edi, [esp + 0xae]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x241
stosw word es:[edi], ax
lea eax, [esp + 0xb0]
push str.TitlePage.c
push eax
call fcn.0041ced9
push ecx
lea esi, [esp + 0xbc]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00441177
push eax
push str.._04d
lea eax, [esp + 0x194]
push 0x37
push eax
call fcn.004392ef
add esp, 0x20
push 0x24
pop eax
mov dword [esp + 0xd4], 0x59
mov dword [esp + 0xec], 9
mov dword [esp + 0xd8], 0x13
mov dword [esp + 0xf0], 0xffffffd4
mov dword [esp + 0xdc], 0x1b
mov dword [esp + 0xf4], 0xffffffce
mov dword [esp + 0xe0], eax
mov dword [esp + 0xf8], 0xffffffc8
mov dword [esp + 0xe4], 0x2d
mov dword [esp + 0xfc], 0xffffffc2
mov dword [esp + 0xe8], 0x35
mov dword [esp + 0x100], 0xffffffbc
mov dword [esp + 0x40], ebx
mov dword [esp + 0x24], eax
call fcn.0041a877
mov dword [esp + 0x14], eax
xor esi, esi
cmp dword [esp + esi + 0x104], ebx
jne 0x41992b
mov ecx, dword [esp + esi + 0xd4]
mov edx, dword [esp + esi + 0xbc]
push ebx
push dword [esp + esi + 0xf0]
call fcn.004431db
pop ecx
pop ecx
add esi, 4
cmp esi, 0x18
jl 0x419905
cmp dword [esp + 0x11c], ebx
jne 0x419950
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x50]
push ebx
push dword [esp + 0x28]
call fcn.004431db
pop ecx
pop ecx
xor edi, edi
inc edi
mov dword [esp + 0x104], edi
cmp dword [esp + 0xd4], ebx
jle 0x419979
sub dword [esp + 0xd4], 3
cmp dword [esp + 0xd4], ebx
mov dword [esp + 0x104], ebx
jge 0x419982
mov dword [esp + 0xd4], ebx
cmp dword [esp + 0xec], 9
jge 0x41999a
inc dword [esp + 0xec]
mov dword [esp + 0x104], ebx
xor esi, esi
lea eax, [esp + esi + 0xf0]
mov ecx, dword [eax]
cmp ecx, edi
jge 0x4199b5
inc ecx
mov dword [eax], ecx
mov dword [esp + esi + 0x108], ebx
jmp 0x4199d0
lea eax, [esp + esi + 0x108]
cmp dword [eax], ebx
jne 0x4199d0
mov ecx, dword [esp + 0x94]
push ebx
mov dword [eax], edi
call fcn.0049b366
pop ecx
add esi, 4
cmp esi, 0x14
jl 0x41999c
mov dword [esp + 0x11c], edi
cmp dword [esp + 0x40], ebx
jle 0x4199f0
dec dword [esp + 0x40]
mov dword [esp + 0x11c], ebx
cmp dword [esp + 0x24], 0xb
jle 0x419a02
dec dword [esp + 0x24]
mov dword [esp + 0x11c], ebx
call fcn.0041a877
sub eax, dword [esp + 0x14]
push 0xa
pop edi
cmp eax, edi
ja 0x419a2e
mov ecx, edi
sub ecx, eax
js 0x419a27
cmp ecx, 0x7fffffff
jge 0x419a27
mov ecx, edi
sub ecx, eax
push ecx
jmp 0x419a28
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
cmp dword [esp + eax*4 + 0x104], ebx
je 0x419a3f
inc eax
cmp eax, 6
jle 0x419a30
cmp eax, 6
jge 0x419a59
mov esi, 0x5f603c
call fcn.004187c5
test eax, eax
je 0x4198fa
push 0xa
pop edi
mov esi, 0x5f603c
mov dword [esp + 0x1c], 0xfffffff3
mov dword [esp + 0x30], 2
call fcn.004187c5
test eax, eax
jne 0x419a82
mov ecx, dword [esp + 0x70]
push ebx
call fcn.0049b366
pop ecx
call fcn.0041a877
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
push ebx
push dword [esp + 0x34]
mov esi, eax
call fcn.004431db
cmp dword [esp + 0x24], 3
pop ecx
pop ecx
mov dword [esp + 0x104], 1
jge 0x419aba
inc dword [esp + 0x1c]
mov dword [esp + 0x104], ebx
cmp dword [esp + 0x30], 2
jge 0x419acc
inc dword [esp + 0x30]
mov dword [esp + 0x104], ebx
call fcn.0041a877
sub eax, esi
cmp eax, edi
ja 0x419af3
mov ecx, edi
sub ecx, eax
js 0x419aec
cmp ecx, 0x7fffffff
jge 0x419aec
mov ecx, edi
sub ecx, eax
push ecx
jmp 0x419aed
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [esp + 0x104], ebx
jne 0x419b0e
mov esi, 0x5f603c
call fcn.004187c5
test eax, eax
je 0x419a82
mov esi, 0x5f603c
call fcn.004187c5
test eax, eax
jne 0x419b87
xor edi, edi
mov esi, 0x5f603c
call fcn.004187c5
test eax, eax
jne 0x419b3a
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 5
jl 0x419b1e
mov ecx, dword [esp + 0x9c]
push ebx
call fcn.0049b366
pop ecx
push 2
push 0x3b
call fcn.0049620a
push 0x4dc65c
call fcn.00496060
add esp, 0xc
push str.____2
call fcn.0049785d
pop ecx
xor edi, edi
mov esi, 0x5f603c
call fcn.004187c5
test eax, eax
jne 0x419b87
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0xa
jl 0x419b6b
cmp dword [0x5f6034], ebx
je 0x419b99
call fcn.0041a877
mov dword [0x5f6038], eax
mov esi, 0x5f603c
call fcn.004187c5
test eax, eax
jne 0x41a379
inc eax
push 9
pop ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], eax
xor eax, eax
lea edi, [esp + 0x158]
mov dword [esp + 0x154], ebx
rep stosd dword es:[edi], eax
push 9
pop ecx
lea edi, [esp + 0x130]
mov dword [esp + 0x12c], ebx
rep stosd dword es:[edi], eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x3c], 2
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x64], ebx
xor edi, edi
call fcn.0040237f
and eax, reloc.WSOCK32.dll_closesocket
jns 0x419c0e
dec eax
or eax, 0xfffffffc
inc eax
add eax, 5
mov dword [esp + edi*4 + 0x12c], eax
inc edi
cmp edi, 0xa
jl 0x419bfd
xor eax, eax
lea ecx, [eax + 0x40]
mov dword [esp + eax*4 + 0x154], ecx
inc eax
cmp eax, 0xa
jl 0x419c20
call fcn.0041a877
mov dword [esp + 0x14], eax
call fcn.0041a877
sub eax, dword [esp + 0x6c]
cmp eax, 0x87
jb 0x419c52
call fcn.0041a877
mov dword [esp + 0x6c], eax
call fcn.0041a877
sub eax, dword [esp + 0x64]
cmp eax, 0x16
jae 0x419c69
cmp eax, 0x2d
jb 0x419cea
lea eax, [esp + 0x17c]
push eax
xor esi, esi
call fcn.00401a80
pop ecx
test eax, eax
jle 0x419ce1
cmp dword [esp + esi*4 + 0x12c], 2
jg 0x419c9c
lea eax, [esp + 0x17c]
push eax
inc esi
call fcn.00401a80
pop ecx
cmp esi, eax
jl 0x419c7d
jmp 0x419ce1
lea eax, [esp + esi*4 + 0x12c]
dec dword [eax]
mov edi, dword [eax]
push 0x4dc668
call fcn.00496060
pop ecx
push edi
push dword [esp + esi*4 + 0x158]
call fcn.0049620a
movsx ebx, byte [esp + esi + 0x184]
pop ecx
pop ecx
call fcn.00495526
cmp edi, 2
jg 0x419cdf
mov ecx, dword [esp + 0x60]
push 0
call fcn.0049b366
pop ecx
xor ebx, ebx
call fcn.0041a877
mov dword [esp + 0x64], eax
mov eax, dword [0x5f6034]
cmp eax, ebx
je 0x419d31
call fcn.0041a877
sub eax, dword [0x5f6038]
cmp eax, 0x493e0
jbe 0x419d0e
xor eax, eax
mov dword [0x5f6034], eax
jmp 0x419d13
mov eax, dword [0x5f6034]
cmp eax, ebx
je 0x419d31
cmp dword [esp + 0x38], ebx
jne 0x419d4d
call fcn.0041a877
sub eax, dword [esp + 0x14]
mov dword [esp + 0x38], eax
mov eax, dword [0x5f6034]
jmp 0x419d4d
cmp dword [esp + 0x38], ebx
je 0x419d49
call fcn.0041a877
sub eax, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [0x5f6034]
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x4c], ebx
je 0x419d88
mov ecx, dword [esp + 0x3c]
sub ecx, 3
je 0x419d75
dec ecx
je 0x419d75
dec ecx
je 0x419d75
dec ecx
je 0x419d75
dec ecx
je 0x419d75
cmp dword [esp + 0x3c], 3
jbe 0x419d84
mov dword [esp + 0x3c], ebx
jmp 0x419d84
cmp eax, ebx
jne 0x419d84
mov ecx, dword [esp + 0x34]
push ebx
call fcn.0049b366
pop ecx
mov dword [esp + 0x4c], ebx
call fcn.0041a877
sub eax, dword [esp + 0xa4]
mov esi, 0x309
cmp eax, esi
jb 0x419dc5
call fcn.0041a877
sub eax, dword [esp + 0x14]
cmp eax, 0xbb8
jbe 0x419dc5
call fcn.0041a877
inc dword [esp + 0x3c]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x4c], 1
cmp dword [esp + 0x54], ebx
je 0x419e58
test byte [esp + 0x44], 3
je 0x419df8
push 0x17
push 0x15
call fcn.0049620a
push 0x4af210
call fcn.00496060
add esp, 0xc
push str.Press_New_Line_to_Begin_Accounting.
call fcn.0049785d
jmp 0x419e53
cmp dword [esp + 0x44], ebx
jbe 0x419e54
cmp dword [0x5f6034], ebx
jne 0x419e27
inc dword [0x5f6098]
cmp dword [0x5f6098], 4
mov ecx, dword [esp + 0x78]
push ebx
jle 0x419e21
mov ecx, dword [esp + 0x84]
call fcn.0049b366
pop ecx
push 0x17
push 0x15
call fcn.0049620a
push 0x4af20c
call fcn.00496060
add esp, 0xc
push str.Press_New_Line_to_Begin_Accounting.
call fcn.0049785d
mov dword [esp], 0x4af210
call fcn.00496060
pop ecx
mov dword [esp + 0x54], ebx
call fcn.0041a877
sub eax, dword [esp + 0x5c]
cmp eax, esi
jb 0x419e8a
call fcn.0041a877
sub eax, dword [esp + 0x14]
cmp eax, 0x7d0
jbe 0x419e8a
call fcn.0041a877
inc dword [esp + 0x44]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], 1
cmp dword [0x5f604c], ebx
jne 0x41a201
cmp dword [0x5f6034], ebx
jne 0x41a201
push 7
pop edi
cmp dword [esp + 0x10], edi
ja case.default.0x419eb3
mov eax, dword [esp + 0x10]
jmp dword [eax*4 + 0x41a7f9]
call fcn.0041a877
sub eax, dword [esp + 0x14]
cmp eax, 0x2710
jbe 0x41a20e
mov esi, dword [esp + 0x74]
push ebx
mov ecx, esi
call fcn.0049b366
pop ecx
mov dword [esp + 0x18], esi
call fcn.0041a877
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
jmp 0x41a20e
call fcn.0041a877
sub eax, dword [esp + 0xc]
cmp eax, 0x7530
jbe 0x41a20e
call fcn.0041a877
sub eax, dword [esp + 0x28]
cmp eax, 0x2710
jbe 0x41a20e
mov esi, dword [esp + 0x90]
push ebx
mov ecx, esi
call fcn.0049b366
pop ecx
mov dword [esp + 0x18], esi
call fcn.0041a877
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
jmp 0x41a20e
call fcn.0041a877
sub eax, dword [esp + 0xc]
cmp eax, 0x7530
jbe 0x41a20e
call fcn.0041a877
sub eax, dword [esp + 0x28]
cmp eax, 0x2710
jbe 0x41a20e
mov esi, dword [esp + 0x7c]
push ebx
mov ecx, esi
call fcn.0049b366
pop ecx
mov dword [esp + 0x18], esi
call fcn.0041a877
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 3
jmp 0x41a20e
call fcn.0041a877
sub eax, dword [esp + 0xc]
cmp eax, 0x7530
jbe 0x41a20e
call fcn.0041a877
sub eax, dword [esp + 0x28]
cmp eax, 0x2710
jbe 0x41a20e
mov esi, dword [esp + 0x98]
push ebx
mov ecx, esi
call fcn.0049b366
pop ecx
mov dword [esp + 0x18], esi
call fcn.0041a877
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 4
jmp 0x41a20e
call fcn.0041a877
sub eax, dword [esp + 0xc]
cmp eax, 0xea60
jbe 0x41a20e
call fcn.0041a877
sub eax, dword [esp + 0x28]
cmp eax, 0x2710
jbe 0x41a20e
mov esi, dword [esp + 0x84]
push ebx
mov ecx, esi
call fcn.0049b366
pop ecx
mov dword [esp + 0x18], esi
call fcn.0041a877
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 5
jmp 0x41a20e
call fcn.004186e5
test eax, eax
je 0x41a2ef
mov esi, 0x5f603c
call fcn.004187c5
test eax, eax
jne 0x41a2ef
cmp dword [esp + 0x10], ebx
jbe 0x41a2ef
cmp dword [0x5f6034], ebx
jne 0x41a2ef
call fcn.0041a877
sub eax, dword [0x5f609c]
cmp eax, 0xbb8
jbe 0x41a2de
call fcn.0041a877
mov ecx, dword [0x5f60a4]
sub eax, dword [esp + 0xc]
add ecx, 0xbb8
cmp eax, ecx
jbe 0x41a2de
mov eax, dword [esp + 0x18]
call fcn.0049aed5
test eax, eax
jne 0x41a2c0
call fcn.0041a877
sub eax, dword [0x5f60a0]
cmp eax, 0x1b58
jb 0x41a2c0
call fcn.0041a877
mov edi, dword [esp + 0x58]
mov ecx, dword [0x5f60a8]
inc edi
mov dword [0x5f609c], eax
mov dword [esp + 0x58], edi
cmp ecx, ebx
jle 0x41a24f
xor esi, esi
call fcn.0040237f
mov ecx, dword [0x5f60a8]
cdq
idiv ecx
inc edx
cmp edx, dword [0x5f60ac]
jne 0x41a251
inc esi
cmp esi, 0xa
jl 0x41a1c5
jmp 0x41a251
call fcn.0041a877
sub eax, dword [esp + 0xc]
cmp eax, 0x1f40
jbe 0x41a204
inc dword [esp + 0x10]
mov dword [esp + 0x20], ebx
jmp 0x41a5fa
push 7
pop edi
cmp dword [esp + 0x10], edi
ja 0x41a113
call fcn.0041a877
sub eax, dword [esp + 0xc]
cmp eax, 0x2710
jbe 0x41a113
call fcn.0041a877
sub eax, dword [esp + 0x14]
cmp eax, 0x50910
jbe 0x41a113
cmp dword [0x5f6034], ebx
jne 0x41a2ef
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
jmp 0x41a2ef
mov edx, edi
mov dword [0x5f60ac], edx
cmp ecx, ebx
jle 0x41a270
lea eax, [ecx + ecx]
cmp edi, eax
jle 0x41a270
mov dword [esp + 0x10], 7
mov dword [esp + 0xc], ebx
jmp 0x41a2de
push edx
push ebx
push ebx
call fcn.0045500f
pop ecx
pop ecx
push eax
push str._sSoundsIntroIntel_d.dav
push ebx
call fcn.004391c4
push eax
call fcn.0049c72e
add esp, 0x14
test eax, eax
jne 0x41a2b0
cmp dword [0x5f60a8], ebx
jne 0x41a2b0
cmp edi, ebx
jle 0x41a2b0
add dword [0x5f60a4], 0x2ee0
dec edi
mov dword [0x5f60a8], edi
call fcn.0041a877
mov dword [esp + 0xc], eax
mov dword [0x5f60a0], eax
jmp 0x41a2de
cmp dword [0x5f609c], ebx
jne 0x41a2d4
call fcn.0041a877
mov dword [0x5f609c], eax
jmp 0x41a2de
add dword [0x5f609c], 0x7d0
cmp dword [0x5f60a8], ebx
jne 0x41a2ef
call fcn.0041a877
mov dword [esp + 0x28], eax
mov esi, 0x5f603c
mov edx, esi
call fcn.00418f71
cmp eax, ebx
je 0x41a31c
cmp eax, 0x13
jne 0x41a347
call fcn.00418e8f
call fcn.0041a877
mov dword [esp + 0xc], eax
call fcn.0041a877
mov dword [0x5f6038], eax
call fcn.004953f2
test eax, eax
je 0x41a330
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.004187c5
test eax, eax
je 0x419c39
jmp 0x41a379
push 0x20001
push ebx
push ebx
push ebx
mov dword [esp + 0x30], eax
call fcn.0045500f
push eax
push str._sSoundsCodeEntered.wav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call dword [sym.imp.WINMM.dll_PlaySoundA]
push 0x2ee
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.0049b58c
mov esi, 0x5f603c
call fcn.004187c5
test eax, eax
je 0x41a3ab
cmp dword [esp + 0x20], ebx
jne 0x41a397
or dword [esp + 0x20], 0xffffffff
call fcn.004953f2
test eax, eax
je 0x41a3ab
push 0x4e20
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [esp + 0xf0], ebx
jl 0x41a3bf
mov ecx, dword [esp + 0x68]
push ebx
call fcn.0049b366
pop ecx
push 0x28
lea eax, [esp + 0x108]
push ebx
push eax
call fcn.00401f80
add esp, 0xc
push 0xfffffffffffffff7
pop esi
call fcn.0041a877
xor ecx, ecx
mov dword [esp + 0x14], eax
call fcn.00494c80
push eax
push dword [esp + 0x30]
call fcn.0044356e
mov ecx, dword [esp + 0x34]
call fcn.004424cc
push ebx
push ebx
push dword [esp + 0x40]
mov ebx, dword [esp + 0x5c]
push dword [esp + 0x30]
push dword [esp + 0x44]
call fcn.004429b0
add esp, 0x1c
xor edi, edi
mov ebx, dword [esp + edi + 0xbc]
push 0
push 0
push dword [esp + edi + 0xf4]
push dword [esp + edi + 0xe0]
push dword [esp + 0x3c]
call fcn.004429b0
add edi, 4
add esp, 0x14
cmp edi, 0x18
jl 0x41a414
mov ebx, dword [esp + 0x50]
push 0
push 0
push dword [esp + 0x2c]
push dword [esp + 0x4c]
push dword [esp + 0x3c]
call fcn.004429b0
mov edx, dword [esp + 0x40]
add esp, 0x14
xor ebx, ebx
push ebx
push ebx
xor ecx, ecx
call fcn.004431db
pop ecx
pop ecx
xor eax, eax
push 7
inc eax
pop ecx
lea edi, [esp + 0x104]
rep stosd dword es:[edi], eax
cmp dword [esp + 0xd4], ebx
jle 0x41a49a
cmp dword [esp + 0xd4], 0x50
jge 0x41a4b3
add dword [esp + 0xd4], 7
jmp 0x41a4ac
cmp dword [esp + 0xd4], 0xffffffb0
jle 0x41a4b3
sub dword [esp + 0xd4], 8
mov dword [esp + 0x104], ebx
cmp dword [esp + 0x1c], 0xfffffff1
jle 0x41a4cc
cmp dword [esp + 0x30], esi
jle 0x41a4cc
sub dword [esp + 0x1c], 4
mov dword [esp + 0x104], ebx
cmp dword [esp + 0xd8], 0xfffffff6
jle 0x41a4f0
cmp dword [esp + 0xf0], esi
jle 0x41a4f0
sub dword [esp + 0xd8], 3
mov dword [esp + 0x108], ebx
jmp 0x41a512
cmp dword [esp + 0xdc], 0xfffffff6
jle 0x41a512
cmp dword [esp + 0xf4], esi
jle 0x41a512
sub dword [esp + 0xdc], 5
mov dword [esp + 0x10c], ebx
cmp dword [esp + 0xe8], 0x50
jge 0x41a536
cmp dword [esp + 0x100], esi
jle 0x41a536
add dword [esp + 0xe8], 3
mov dword [esp + 0x118], ebx
jmp 0x41a558
cmp dword [esp + 0xe4], 0x50
jge 0x41a558
cmp dword [esp + 0xfc], esi
jle 0x41a558
add dword [esp + 0xe4], 5
mov dword [esp + 0x114], ebx
cmp dword [esp + 0x100], eax
jge 0x41a573
cmp dword [esp + 0xf8], esi
jle 0x41a59e
dec dword [esp + 0xf8]
jmp 0x41a597
cmp dword [esp + 0x108], ebx
je 0x41a59e
cmp dword [esp + 0x118], ebx
je 0x41a59e
cmp dword [esp + 0xf8], 0x51
jge 0x41a59e
add dword [esp + 0xf8], 5
mov dword [esp + 0x110], ebx
cmp dword [esp + 0x24], 0x1c
jge 0x41a5b1
add dword [esp + 0x24], 2
mov dword [esp + 0x11c], ebx
call fcn.0041a877
sub eax, dword [esp + 0x14]
cmp eax, 0x14
ja 0x41a5de
push 0x14
pop ecx
sub ecx, eax
js 0x41a5d6
cmp ecx, 0x7fffffff
jge 0x41a5d6
push 0x14
pop ecx
sub ecx, eax
push ecx
jmp 0x41a5d8
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
cmp dword [esp + eax*4 + 0x104], ebx
je 0x41a5ef
inc eax
cmp eax, 6
jle 0x41a5e0
xor ebx, ebx
cmp eax, 6
jl 0x41a3d5
xor edi, edi
inc edi
push 0x4b569c
mov dword [0x5f603c], edi
call fcn.00496b24
mov eax, dword [esp + 0xa0]
pop ecx
call fcn.0049b49a
mov eax, dword [esp + 0x74]
call fcn.0049b49a
mov eax, dword [esp + 0x90]
call fcn.0049b49a
mov eax, dword [esp + 0x7c]
call fcn.0049b49a
mov eax, dword [esp + 0x98]
call fcn.0049b49a
mov eax, dword [esp + 0x84]
call fcn.0049b49a
mov eax, dword [esp + 0xa0]
call fcn.0049b49a
mov eax, dword [esp + 0x8c]
call fcn.0049b49a
mov eax, dword [esp + 0xa8]
call fcn.0049b49a
mov eax, dword [esp + 0x94]
call fcn.0049b49a
mov eax, dword [esp + 0x60]
call fcn.0049b49a
mov eax, dword [esp + 0x68]
call fcn.0049b49a
mov eax, dword [esp + 0x70]
call fcn.0049b49a
mov eax, dword [esp + 0x34]
call fcn.0049b49a
mov eax, dword [esp + 0x78]
call fcn.0049b49a
mov eax, dword [esp + 0x80]
call fcn.0049b49a
mov eax, dword [esp + 0x48]
call fcn.0044328c
mov eax, dword [esp + 0x50]
call fcn.0044328c
mov eax, dword [esp + 0x2c]
call fcn.0044328c
xor esi, esi
mov eax, dword [esp + esi*4 + 0xbc]
call fcn.0044328c
inc esi
cmp esi, 6
jl 0x41a6d6
cmp dword [0x5f6048], ebx
je 0x41a6f4
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], ebx
jne 0x41a735
push ebx
call fcn.0049b52c
pop ecx
push ebx
push ebx
call fcn.0045500f
push eax
push str._sSoundsIntroWait9.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c158
pop ecx
mov esi, eax
push edi
mov ecx, esi
call fcn.0049b366
pop ecx
mov eax, esi
call fcn.0049b49a
jmp 0x41a7c6
jg 0x41a7c6
cmp dword [esp + 0x10], 6
jae 0x41a7a7
call fcn.0041a877
sub eax, dword [esp + 0x14]
cmp eax, 0x2bf20
ja 0x41a7a7
cmp dword [esp + 0x10], 4
jae 0x41a797
call fcn.0041a877
sub eax, dword [esp + 0x14]
cmp eax, 0x1d4c0
ja 0x41a797
cmp dword [esp + 0x10], 2
jae 0x41a787
call fcn.0041a877
sub eax, dword [esp + 0x14]
cmp eax, 0x7530
ja 0x41a787
cmp dword [esp + 0x58], 2
jl 0x41a7c6
push ebx
push ebx
push ebx
call fcn.0045500f
push eax
push str._sSoundsIntroResponse1.dav
jmp 0x41a7b5
push ebx
push ebx
push ebx
call fcn.0045500f
push eax
push str._sSoundsIntroResponse2.dav
jmp 0x41a7b5
push ebx
push ebx
push ebx
call fcn.0045500f
push eax
push str._sSoundsIntroResponse3.dav
push ebx
call fcn.004391c4
add esp, 0x14
push eax
call fcn.0049c395
pop ecx
pop ecx
mov eax, dword [esp + 0x88]
cmp eax, ebx
je 0x41a7d6
call fcn.0049691d
mov ecx, 0x4b569c
call fcn.00494c80
mov ecx, dword [esp + 0x1b4]
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00401317
mov esp, ebp
pop ebp
ret