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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2fc
mov eax, dword [0x5005d0]
xor eax, esp
mov dword [esp + 0x2f8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0x28]
push ebx
mov dword [esp + 0x18], 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 + 0x88], eax
xor ebx, ebx
lea eax, [esp + 0x38]
push ebx
push eax
call fcn.004a7110
xor eax, eax
lea edi, [esp + 0x22]
mov word [esp + 0x20], bx
stosw word es:[edi], ax
add esp, 0xc
lea edi, [esp + 0x1e]
mov word [esp + 0x1c], 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.004a7110
add esp, 0xc
mov esi, 0x103
push esi
lea eax, [esp + 0x1fd]
push ebx
push eax
mov byte [esp + 0x204], bl
call fcn.004a7110
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 [0x519d68], ebx
lea edi, [esp + 0x91]
mov byte [esp + 0x90], bl
stosd dword es:[edi], eax
je 0x41ed12
mov dword [0x519d68], ebx
mov dword [ebp + 0x14], 1
cmp dword [esp + 0x10], ebx
mov edi, 0x104
je 0x41ed34
push dword [esp + 0x10]
mov ecx, edi
lea eax, [esp + 0x1fc]
call fcn.00475883
pop ecx
mov dword [esp + 0x10], eax
call fcn.0040c382
mov dword [esp + 0x24], eax
call fcn.0040c300
mov edx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov dword [esp + 0x60], ebx
call fcn.00475851
test eax, eax
jne 0x41ee0d
push esi
lea eax, [esp + 0xf5]
push ebx
push eax
mov byte [esp + 0xfc], bl
call fcn.004a7110
add esp, 0xc
push dword [esp + 0x10]
push ebx
push ebx
call fcn.00459cf0
pop ecx
pop ecx
push eax
push str._sSoundsNotifyWin_s
lea eax, [esp + 0xfc]
push edi
push eax
call fcn.00476e0a
lea eax, [esp + 0x104]
add esp, 0x14
push eax
call fcn.004724d8
cmp eax, ebx
pop ecx
mov dword [esp + 0x60], eax
jne 0x41ee0d
push dword [esp + 0x10]
call fcn.004724d8
cmp eax, ebx
pop ecx
mov dword [esp + 0x60], eax
jne 0x41ee0d
push str..wav
mov eax, edi
lea esi, [esp + 0xf4]
call fcn.00475953
mov eax, edi
lea esi, [esp + 0x1fc]
mov dword [esp], str..wav
call fcn.00475953
pop ecx
lea eax, [esp + 0xf0]
push eax
call fcn.004724d8
cmp eax, ebx
pop ecx
mov dword [esp + 0x60], eax
jne 0x41ee0d
push dword [esp + 0x10]
call fcn.004724d8
pop ecx
mov dword [esp + 0x60], eax
cmp dword [ebp + 0x14], ebx
je 0x41ee4f
fld1
push ebx
fst dword [esp + 0x44]
push ebx
fstp dword [esp + 0x4c]
call fcn.00459cf0
push eax
push str._sSoundsClick1.wav
push ebx
call fcn.00476e51
add esp, 0x14
push eax
call fcn.00472225
pop ecx
push ebx
push ebx
mov dword [esp + 0x64], eax
call fcn.00459cf0
push eax
push str._sSoundsSmallClick.wav
jmp 0x41efe4
cmp dword [ebp + 8], ebx
mov eax, dword [ebp + 0xc]
je 0x41ef87
dec eax
je 0x41ef22
fld dword [0x4fc5ac]
fstp dword [esp + 0x40]
fld dword [0x4fc5a8]
fstp dword [esp + 0x44]
call fcn.00473b5a
push ebx
push ebx
call fcn.00459cf0
push eax
push str._sSoundsNotifyWinWinInAlert.wav
push ebx
call fcn.00476e51
add esp, 0x14
push eax
call fcn.00472225
pop ecx
push ebx
push ebx
mov dword [esp + 0x64], eax
call fcn.00459cf0
push eax
push str._sSoundsNotifyWinIllegalKey.wav
push ebx
call fcn.00476e51
add esp, 0x14
push eax
call fcn.00472225
pop ecx
push ebx
push ebx
mov dword [esp + 0x60], eax
call fcn.00459cf0
push eax
push str._sSoundsNotifyWinWinOutAlert.wav
push ebx
call fcn.00476e51
add esp, 0x14
push eax
call fcn.00472225
cmp dword [esp + 0x64], ebx
pop ecx
mov dword [esp + 0x64], eax
jne 0x41eff8
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x41eefd
call fcn.00475873
test eax, eax
jne 0x41eff8
push ebx
push ebx
call fcn.00459cf0
push eax
push str._sSoundsNotifyWinUhOh_.wav
push ebx
call fcn.00476e51
add esp, 0x14
push eax
call fcn.00472225
mov dword [esp + 0x64], eax
jmp 0x41eff7
push ebx
push ebx
fld dword [0x4fc59c]
fstp dword [esp + 0x48]
fld dword [0x4fc5b0]
fstp dword [esp + 0x4c]
call fcn.00459cf0
push eax
push str._sSoundsNotifyWinWinIn.wav
push ebx
call fcn.00476e51
add esp, 0x14
push eax
call fcn.00472225
pop ecx
push ebx
push ebx
mov dword [esp + 0x64], eax
call fcn.00459cf0
push eax
push str._sSoundsNotifyWinIllegalKey.wav
push ebx
call fcn.00476e51
add esp, 0x14
push eax
call fcn.00472225
pop ecx
push ebx
push ebx
mov dword [esp + 0x60], eax
call fcn.00459cf0
push eax
push str._sSoundsNotifyWinWinOut.wav
jmp 0x41efe4
dec eax
push ebx
push ebx
jne 0x41ef24
fld dword [0x4fc5a8]
fst dword [esp + 0x48]
fstp dword [esp + 0x4c]
call fcn.00459cf0
push eax
mov esi, str._sSoundsNotifyWinVeryLightWhoosh.wav
push esi
push ebx
call fcn.00476e51
add esp, 0x14
push eax
call fcn.00472225
pop ecx
push ebx
push ebx
mov dword [esp + 0x64], eax
call fcn.00459cf0
push eax
push str._sSoundsNotifyWinIllegalKey.wav
push ebx
call fcn.00476e51
add esp, 0x14
push eax
call fcn.00472225
pop ecx
push ebx
push ebx
mov dword [esp + 0x60], eax
call fcn.00459cf0
push eax
push esi
push ebx
call fcn.00476e51
add esp, 0x14
push eax
call fcn.00472225
mov dword [esp + 0x68], eax
pop ecx
mov edi, dword [esp + 0x28]
dec edi
push edi
push ebx
push 0x32
lea esi, [esp + 0xac]
pop eax
mov dword [esp + 0x18], ebx
call fcn.0040ac8a
mov eax, esi
push 0x4c5d84
push eax
call fcn.00476422
xor esi, esi
add esp, 0x10
inc esi
test eax, eax
je 0x41f03c
push edi
push esi
call fcn.0040ad58
and al, 0xf0
cmp al, 0xc0
pop ecx
pop ecx
jne 0x41f03c
mov dword [esp + 0x10], esi
call fcn.0040e63b
test eax, eax
je 0x41f049
mov dword [esp + 0x10], esi
push str..Input.c
push 0x85f
xor ecx, ecx
call fcn.0043adaa
cmp dword [esp + 0x28], ebx
pop ecx
mov edi, eax
pop ecx
mov dword [esp + 0x30], edi
mov ecx, edi
je 0x41f07b
push dword [esp + 0x20]
push 0x4cb10c
call fcn.0043b0f2
pop ecx
jmp 0x41f085
push 0x4c723c
call fcn.0043b0f2
mov esi, dword [esp + 0x80]
pop ecx
push dword [esp + 0x84]
mov eax, edi
call fcn.0043b17d
pop ecx
mov ebx, edi
call fcn.0043b53b
mov ebx, eax
mov esi, edi
add ebx, 4
call fcn.0043b4d3
mov ecx, dword [esp + 0x2c]
mov esi, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x80]
add esi, 3
test ecx, ecx
mov dword [esp + 0x4c], eax
jne 0x41f12d
call fcn.0040c382
lea edi, [eax + ebx]
call fcn.004a75cc
cdq
idiv edi
mov eax, dword [esp + 0x28]
add eax, 2
mov word [esp + 0x16], ax
sub edx, ebx
mov word [esp + 0x14], dx
call fcn.0040c382
lea edi, [eax + ebx]
call fcn.004a75cc
cdq
idiv edi
sub edx, ebx
cmp dword [esp + 0x10], 0
mov word [esp + 0x18], dx
je 0x41f11e
push 0xfffffffffffffffe
pop eax
sub eax, esi
jmp 0x41f123
mov ax, word [esp + 0x16]
mov word [esp + 0x1a], ax
jmp 0x41f221
movzx edi, word [ecx]
test di, di
mov dword [esp + 0x20], edi
jge 0x41f142
mov word [esp + 0x14], 0x8000
jmp 0x41f17a
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
movsx edx, di
mov edi, dword [esp + 0x20]
add eax, edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x24]
cdq
sub eax, edx
mov edx, dword [esp + 0x2c]
sar eax, 1
cmp edx, eax
jle 0x41f16e
push 2
pop eax
sub eax, ebx
jmp 0x41f175
mov eax, dword [esp + 0x24]
add eax, 2
mov word [esp + 0x14], ax
movzx ecx, word [ecx + 2]
test cx, cx
mov dword [esp + 0x24], ecx
jge 0x41f18d
mov ax, 0x8000
jmp 0x41f1b8
mov eax, esi
cdq
sub eax, edx
mov ebx, eax
movsx eax, cx
mov ecx, dword [esp + 0x28]
sar ebx, 1
add ebx, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
cmp ebx, eax
jle 0x41f1b1
push 2
pop eax
sub eax, esi
jmp 0x41f1b4
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x24]
test di, di
mov word [esp + 0x16], ax
mov word [esp + 0x1c], 0x8000
jl 0x41f1ce
mov word [esp + 0x1c], di
test cx, cx
mov word [esp + 0x1e], 0x8000
jl 0x41f1df
mov word [esp + 0x1e], cx
test di, di
jge 0x41f1ed
mov word [esp + 0x18], 0x8000
jmp 0x41f1f7
mov dx, word [esp + 0x14]
mov word [esp + 0x18], dx
test cx, cx
mov word [esp + 0x1a], 0x8000
jl 0x41f208
mov word [esp + 0x1a], ax
cmp dword [esp + 0x10], 0
je 0x41f219
push 0xfffffffffffffffe
pop eax
sub eax, esi
mov word [esp + 0x1a], ax
lea eax, [esp + 0x1c]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x38], eax
xor eax, eax
cmp dword [ebp + 0x14], eax
je 0x41f240
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
cmp dword [ebp + 8], eax
je 0x41f2e4
lea eax, [esp + 0x88]
push 0x4c6b0c
push eax
mov dword [esp + 0x50], 0x226
call fcn.004a64e0
mov esi, 0x4c6b10
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.004a64e0
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.004a64e0
mov dl, byte [str.xxx07]
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.004756e0
cmp eax, 0x78
je 0x41f2d9
mov byte [esp + 0x88], dl
mov byte [esp + 0x98], dl
mov byte [esp + 0x90], dl
mov dl, byte [0x50e607]
jmp 0x41f376
mov dword [esp + 0x48], eax
lea eax, [esp + 0x88]
push 0x4c6914
push eax
call fcn.004a64e0
mov esi, 0x4c6918
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.004a64e0
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.004a64e0
mov dl, byte [0x50e606]
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.004756e0
cmp eax, 0x78
je 0x41f370
mov byte [esp + 0x88], dl
mov byte [esp + 0x98], dl
mov byte [esp + 0x90], dl
mov dl, byte [0x50e60d]
movsx eax, dl
call fcn.004756e0
cmp eax, 0x78
je 0x41f38a
mov byte [esp + 0x89], dl
lea ecx, [esp + 0x30]
mov byte [str.xxx07], 0x78
mov byte [0x50e606], 0x78
mov byte [0x50e607], 0x78
mov byte [0x50e60d], 0x78
call fcn.0045a1d9
mov esi, eax
mov eax, dword [esp + 0x5c]
call fcn.004724f4
mov eax, dword [esp + 0x58]
call fcn.004724f4
mov eax, dword [esp + 0x64]
call fcn.004724f4
mov eax, dword [esp + 0x60]
call fcn.004724f4
mov eax, dword [esp + 0x30]
call fcn.0043aefa
mov ecx, dword [esp + 0x304]
pop edi
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.004a69f5
mov esp, ebp
pop ebp
ret