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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2fc
mov eax, dword [0x5345d0]
xor eax, esp
mov dword [esp + 0x2f8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x28]
push ebx
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x2c]
push esi
push edi
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x30]
push 0x44
mov dword [esp + 0x84], eax
xor ebx, ebx
lea eax, [esp + 0x38]
push ebx
push eax
call fcn.004b53e0
xor eax, eax
lea edi, [esp + 0x22]
mov word [esp + 0x20], bx
stosw word es:[edi], ax
add esp, 0xc
lea edi, [esp + 0x22]
mov word [esp + 0x20], bx
stosw word es:[edi], ax
lea edi, [esp + 0x1a]
push 0x4f
mov word [esp + 0x1c], bx
stosw word es:[edi], ax
lea eax, [esp + 0xa5]
push ebx
push eax
mov byte [esp + 0xac], bl
call fcn.004b53e0
add esp, 0xc
mov esi, 0x103
push esi
lea eax, [esp + 0x1fd]
push ebx
push eax
mov byte [esp + 0x204], bl
call fcn.004b53e0
xor eax, eax
lea edi, [esp + 0x95]
mov byte [esp + 0x94], bl
stosd dword es:[edi], eax
lea edi, [esp + 0xa5]
mov byte [esp + 0xa4], bl
stosd dword es:[edi], eax
add esp, 0xc
cmp dword [0x54eee8], ebx
lea edi, [esp + 0x91]
mov byte [esp + 0x90], bl
stosd dword es:[edi], eax
je 0x423019
mov dword [0x54eee8], ebx
mov dword [ebp + 0x14], 1
cmp dword [esp + 0x10], ebx
mov edi, 0x104
je 0x42303b
push dword [esp + 0x10]
mov ecx, edi
lea eax, [esp + 0x1fc]
call fcn.0047c3fc
pop ecx
mov dword [esp + 0x10], eax
call fcn.0040bf5d
mov dword [esp + 0x78], eax
call fcn.0040bec5
mov edx, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x60], ebx
call fcn.0047c3ca
test eax, eax
jne 0x42312d
push esi
lea eax, [esp + 0xf5]
push ebx
push eax
mov byte [esp + 0xfc], bl
call fcn.004b53e0
add esp, 0xc
push dword [esp + 0x10]
push ebx
push ebx
call fcn.0045e70f
pop ecx
pop ecx
push eax
push str._sSoundsNotifyWin_s
lea eax, [esp + 0xfc]
push edi
push eax
call fcn.0047da40
lea eax, [esp + 0x104]
add esp, 0x14
push eax
call fcn.00478db0
cmp eax, ebx
pop ecx
mov dword [esp + 0x60], eax
jne 0x42312d
push dword [esp + 0x10]
call fcn.00478db0
cmp eax, ebx
pop ecx
mov dword [esp + 0x60], eax
jne 0x42312d
push str..wav
mov eax, edi
lea esi, [esp + 0xf4]
call fcn.0047c4cc
mov eax, edi
lea esi, [esp + 0x1fc]
mov dword [esp], str..wav
call fcn.0047c4cc
pop ecx
lea eax, [esp + 0xf0]
push eax
call fcn.00478db0
cmp eax, ebx
pop ecx
mov dword [esp + 0x60], eax
jne 0x42312d
push dword [esp + 0x10]
call fcn.00478db0
cmp eax, ebx
pop ecx
mov dword [esp + 0x60], eax
jne 0x42312d
push dword [esp + 0x10]
push dword [esp + 0x28]
push str.:3:vNotifyWindow___s___FAILED_to_find_the_given_ready_sound___s_.
call fcn.00417db7
add esp, 0xc
cmp dword [ebp + 0x14], ebx
je 0x42316f
fld1
push ebx
fst dword [esp + 0x44]
push ebx
fstp dword [esp + 0x4c]
call fcn.0045e70f
push eax
push str._sSoundsClick1.wav
push ebx
call fcn.0047daba
add esp, 0x14
push eax
call fcn.00478aeb
pop ecx
push ebx
push ebx
mov dword [esp + 0x64], eax
call fcn.0045e70f
push eax
push str._sSoundsSmallClick.wav
jmp 0x423304
cmp dword [ebp + 8], ebx
mov eax, dword [ebp + 0xc]
je 0x4232a7
dec eax
je 0x423242
fld dword [0x530ecc]
fstp dword [esp + 0x40]
fld dword [0x530ec8]
fstp dword [esp + 0x44]
call fcn.0047a916
push ebx
push ebx
call fcn.0045e70f
push eax
push str._sSoundsNotifyWinWinInAlert.wav
push ebx
call fcn.0047daba
add esp, 0x14
push eax
call fcn.00478aeb
pop ecx
push ebx
push ebx
mov dword [esp + 0x64], eax
call fcn.0045e70f
push eax
push str._sSoundsNotifyWinIllegalKey.wav
push ebx
call fcn.0047daba
add esp, 0x14
push eax
call fcn.00478aeb
pop ecx
push ebx
push ebx
mov dword [esp + 0x60], eax
call fcn.0045e70f
push eax
push str._sSoundsNotifyWinWinOutAlert.wav
push ebx
call fcn.0047daba
add esp, 0x14
push eax
call fcn.00478aeb
cmp dword [esp + 0x64], ebx
pop ecx
mov dword [esp + 0x64], eax
jne 0x423318
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x42321d
call fcn.0047c3ec
test eax, eax
jne 0x423318
push ebx
push ebx
call fcn.0045e70f
push eax
push str._sSoundsNotifyWinUhOh_.wav
push ebx
call fcn.0047daba
add esp, 0x14
push eax
call fcn.00478aeb
mov dword [esp + 0x64], eax
jmp 0x423317
push ebx
push ebx
fld dword [0x530ed0]
fstp dword [esp + 0x48]
fld dword [0x530ed8]
fstp dword [esp + 0x4c]
call fcn.0045e70f
push eax
push str._sSoundsNotifyWinWinIn.wav
push ebx
call fcn.0047daba
add esp, 0x14
push eax
call fcn.00478aeb
pop ecx
push ebx
push ebx
mov dword [esp + 0x64], eax
call fcn.0045e70f
push eax
push str._sSoundsNotifyWinIllegalKey.wav
push ebx
call fcn.0047daba
add esp, 0x14
push eax
call fcn.00478aeb
pop ecx
push ebx
push ebx
mov dword [esp + 0x60], eax
call fcn.0045e70f
push eax
push str._sSoundsNotifyWinWinOut.wav
jmp 0x423304
dec eax
push ebx
push ebx
jne 0x423244
fld dword [0x530ec8]
fst dword [esp + 0x48]
fstp dword [esp + 0x4c]
call fcn.0045e70f
push eax
mov esi, str._sSoundsNotifyWinVeryLightWhoosh.wav
push esi
push ebx
call fcn.0047daba
add esp, 0x14
push eax
call fcn.00478aeb
pop ecx
push ebx
push ebx
mov dword [esp + 0x64], eax
call fcn.0045e70f
push eax
push str._sSoundsNotifyWinIllegalKey.wav
push ebx
call fcn.0047daba
add esp, 0x14
push eax
call fcn.00478aeb
pop ecx
push ebx
push ebx
mov dword [esp + 0x60], eax
call fcn.0045e70f
push eax
push esi
push ebx
call fcn.0047daba
add esp, 0x14
push eax
call fcn.00478aeb
mov dword [esp + 0x68], eax
pop ecx
mov edi, dword [esp + 0x2c]
dec edi
push edi
push ebx
push 0x32
lea esi, [esp + 0xac]
pop eax
mov dword [esp + 0x18], ebx
call fcn.0040aacf
mov eax, esi
push 0x4d5538
push eax
call fcn.0047d058
xor esi, esi
add esp, 0x10
inc esi
test eax, eax
je 0x42335c
push edi
push esi
call fcn.0040ab9d
and al, 0xf0
cmp al, 0xc0
pop ecx
pop ecx
jne 0x42335c
mov dword [esp + 0x10], esi
call fcn.0040e41a
test eax, eax
je 0x423369
mov dword [esp + 0x10], esi
push str..Input.c
push 0x861
xor ecx, ecx
call fcn.0043f0ba
cmp dword [esp + 0x2c], ebx
pop ecx
mov esi, eax
pop ecx
mov dword [esp + 0x30], esi
mov ecx, esi
je 0x42339b
push dword [esp + 0x24]
push 0x4e239c
call fcn.0043f464
pop ecx
jmp 0x4233a5
push 0x4d75ac
call fcn.0043f464
mov edi, dword [esp + 0x80]
pop ecx
push dword [esp + 0x80]
mov eax, esi
call fcn.0043f50a
pop ecx
mov eax, esi
call fcn.0043f966
mov edi, eax
mov eax, esi
add edi, 4
call fcn.0043f8fc
mov esi, eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x28]
add esi, 3
cmp eax, ebx
jne 0x423456
call fcn.0040bf5d
add eax, edi
mov dword [esp + 0x1c], eax
call fcn.004b586d
cdq
idiv dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
add eax, 2
mov word [esp + 0x16], ax
sub edx, edi
mov word [esp + 0x14], dx
call fcn.0040bf5d
add eax, edi
mov dword [esp + 0x1c], eax
call fcn.004b586d
cdq
idiv dword [esp + 0x1c]
sub edx, edi
cmp dword [esp + 0x10], ebx
mov word [esp + 0x18], dx
je 0x423447
push 0xfffffffffffffffe
pop eax
sub eax, esi
jmp 0x42344c
mov ax, word [esp + 0x16]
mov word [esp + 0x1a], ax
jmp 0x42354f
movzx ecx, word [eax]
cmp cx, bx
mov dword [esp + 0x24], ecx
jge 0x42346b
mov word [esp + 0x14], 0x8000
jmp 0x42349d
mov eax, edi
cdq
sub eax, edx
sar eax, 1
movsx ecx, cx
add eax, ecx
mov ecx, eax
mov eax, dword [esp + 0x78]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
mov ecx, dword [esp + 0x24]
jle 0x423491
push 2
pop eax
sub eax, edi
jmp 0x423498
mov eax, dword [esp + 0x78]
add eax, 2
mov word [esp + 0x14], ax
mov eax, dword [esp + 0x28]
movzx edi, word [eax + 2]
cmp di, bx
mov dword [esp + 0x28], edi
jge 0x4234b4
mov ax, 0x8000
jmp 0x4234e7
mov eax, esi
cdq
sub eax, edx
sar eax, 1
movsx edx, di
mov edi, dword [esp + 0x28]
add eax, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
cdq
sub eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 1
cmp edx, eax
jle 0x4234e0
push 2
pop eax
sub eax, esi
jmp 0x4234e7
mov eax, dword [esp + 0x2c]
add eax, 2
cmp cx, bx
mov word [esp + 0x16], ax
mov word [esp + 0x20], 0x8000
jl 0x4234fd
mov word [esp + 0x20], cx
cmp di, bx
mov word [esp + 0x22], 0x8000
jl 0x42350e
mov word [esp + 0x22], di
cmp cx, bx
jge 0x42351c
mov word [esp + 0x18], 0x8000
jmp 0x423526
mov cx, word [esp + 0x14]
mov word [esp + 0x18], cx
cmp di, bx
mov word [esp + 0x1a], 0x8000
jl 0x423537
mov word [esp + 0x1a], ax
cmp dword [esp + 0x10], ebx
je 0x423547
push 0xfffffffffffffffe
pop eax
sub eax, esi
mov word [esp + 0x1a], ax
lea eax, [esp + 0x20]
mov dword [esp + 0x3c], eax
cmp dword [ebp + 0x14], ebx
lea eax, [esp + 0x14]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x38], eax
je 0x42356c
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
cmp dword [ebp + 8], ebx
lea eax, [esp + 0x88]
je 0x423610
push 0x4d63dc
push eax
mov dword [esp + 0x50], 0x226
call fcn.004b4780
mov esi, 0x4d63e0
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.004b4780
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.004b4780
mov dl, byte [0x535786]
lea eax, [esp + 0xa0]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0x84], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x88], eax
movsx eax, dl
add esp, 0x18
call fcn.0047c259
cmp eax, 0x78
je 0x423605
mov byte [esp + 0x88], dl
mov byte [esp + 0x98], dl
mov byte [esp + 0x90], dl
mov dl, byte [0x5357a9]
jmp 0x42369b
push 0x4d61e4
push eax
mov dword [esp + 0x50], ebx
call fcn.004b4780
mov esi, 0x4d61e8
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.004b4780
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.004b4780
mov dl, byte [0x535787]
lea eax, [esp + 0xa0]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0x84], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x88], eax
movsx eax, dl
add esp, 0x18
call fcn.0047c259
cmp eax, 0x78
je 0x423695
mov byte [esp + 0x88], dl
mov byte [esp + 0x98], dl
mov byte [esp + 0x90], dl
mov dl, byte [0x5357aa]
movsx eax, dl
call fcn.0047c259
cmp eax, 0x78
je 0x4236af
mov byte [esp + 0x89], dl
lea ecx, [esp + 0x30]
mov byte [0x535786], 0x78
mov byte [0x535787], 0x78
mov byte [0x5357a9], 0x78
mov byte [0x5357aa], 0x78
call fcn.0045ebd4
mov esi, eax
mov eax, dword [esp + 0x5c]
call fcn.00478dcc
mov eax, dword [esp + 0x58]
call fcn.00478dcc
mov eax, dword [esp + 0x64]
call fcn.00478dcc
mov eax, dword [esp + 0x60]
call fcn.00478dcc
mov eax, dword [esp + 0x30]
call fcn.0043f211
mov ecx, dword [esp + 0x304]
pop edi
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.004b4c95
mov esp, ebp
pop ebp
ret