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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2f4
mov eax, dword [0x4d82d4]
xor eax, esp
mov dword [esp + 0x2f0], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0x28]
push ebx
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0x2c]
push esi
push edi
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x30]
push 0x44
mov dword [esp + 0x80], eax
xor ebx, ebx
lea eax, [esp + 0x28]
push ebx
push eax
call fcn.00401f80
xor eax, eax
mov word [esp + 0x1c], ax
lea edi, [esp + 0x1e]
stosw word es:[edi], ax
mov word [esp + 0x28], ax
add esp, 0xc
lea edi, [esp + 0x1e]
stosw word es:[edi], ax
mov word [esp + 0x14], ax
lea edi, [esp + 0x16]
push 0x4f
stosw word es:[edi], ax
lea eax, [esp + 0x9d]
push ebx
push eax
mov byte [esp + 0xa4], bl
call fcn.00401f80
add esp, 0xc
mov esi, 0x103
push esi
lea eax, [esp + 0x1f5]
push ebx
push eax
mov byte [esp + 0x1fc], bl
call fcn.00401f80
xor eax, eax
lea edi, [esp + 0x8d]
mov byte [esp + 0x8c], bl
stosd dword es:[edi], eax
lea edi, [esp + 0x95]
mov byte [esp + 0x94], bl
stosd dword es:[edi], eax
add esp, 0xc
lea edi, [esp + 0x91]
mov byte [esp + 0x90], bl
stosd dword es:[edi], eax
cmp dword [0x4eeb68], ebx
je 0x48616d
mov dword [0x4eeb68], ebx
mov dword [ebp + 0x14], 1
mov edi, 0x104
cmp dword [esp + 0x18], ebx
je 0x48618f
push dword [esp + 0x18]
mov ecx, edi
lea eax, [esp + 0x1f4]
call fcn.00438b01
pop ecx
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
mov dword [esp + 0x50], ebx
call fcn.00439c56
test eax, eax
jne 0x486256
push esi
lea eax, [esp + 0xed]
push ebx
push eax
mov byte [esp + 0xf4], bl
call fcn.00401f80
add esp, 0xc
push dword [esp + 0x18]
push ebx
push ebx
call fcn.00453ea3
pop ecx
pop ecx
push eax
push str._sSoundsNotifyWin_s
lea eax, [esp + 0xf4]
push edi
push eax
call fcn.004392d1
lea eax, [esp + 0xfc]
add esp, 0x14
push eax
call fcn.0049ac33
pop ecx
mov dword [esp + 0x50], eax
cmp eax, ebx
jne 0x486256
push dword [esp + 0x18]
call fcn.0049ac33
pop ecx
mov dword [esp + 0x50], eax
cmp eax, ebx
jne 0x486256
push str..wav
mov eax, edi
lea esi, [esp + 0xec]
call fcn.00439c15
mov eax, edi
lea esi, [esp + 0x1f4]
mov dword [esp], str..wav
call fcn.00439c15
pop ecx
lea eax, [esp + 0xe8]
push eax
call fcn.0049ac33
pop ecx
mov dword [esp + 0x50], eax
cmp eax, ebx
jne 0x486256
push dword [esp + 0x18]
call fcn.0049ac33
pop ecx
mov dword [esp + 0x50], eax
cmp dword [ebp + 0x14], ebx
je 0x486298
fld1
push ebx
fst dword [esp + 0x34]
push ebx
fstp dword [esp + 0x3c]
call fcn.00453ea3
push eax
push str._sSoundsClick1.wav
push ebx
call fcn.004391a6
add esp, 0x14
push eax
call fcn.0049a9d9
pop ecx
push ebx
push ebx
mov dword [esp + 0x54], eax
call fcn.00453ea3
push eax
push str._sSoundsSmallClick.wav
jmp 0x48642d
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 8], ebx
je 0x4863d0
dec eax
je 0x48636b
fld dword [0x4d4674]
fstp dword [esp + 0x30]
fld dword [0x4d4670]
fstp dword [esp + 0x34]
call fcn.00499e22
push ebx
push ebx
call fcn.00453ea3
push eax
push str._sSoundsNotifyWinWinInAlert.wav
push ebx
call fcn.004391a6
add esp, 0x14
push eax
call fcn.0049a9d9
pop ecx
push ebx
push ebx
mov dword [esp + 0x54], eax
call fcn.00453ea3
push eax
push str._sSoundsNotifyWinIllegalKey.wav
push ebx
call fcn.004391a6
add esp, 0x14
push eax
call fcn.0049a9d9
pop ecx
push ebx
push ebx
mov dword [esp + 0x50], eax
call fcn.00453ea3
push eax
push str._sSoundsNotifyWinWinOutAlert.wav
push ebx
call fcn.004391a6
add esp, 0x14
push eax
call fcn.0049a9d9
pop ecx
mov dword [esp + 0x54], eax
cmp dword [esp + 0x50], ebx
jne 0x486441
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x486346
call fcn.00438b41
test eax, eax
jne 0x486441
push ebx
push ebx
call fcn.00453ea3
push eax
push str._sSoundsNotifyWinUhOh_.wav
push ebx
call fcn.004391a6
add esp, 0x14
push eax
call fcn.0049a9d9
mov dword [esp + 0x54], eax
jmp 0x486440
push ebx
push ebx
fld dword [0x4d4664]
fstp dword [esp + 0x38]
fld dword [0x4d4678]
fstp dword [esp + 0x3c]
call fcn.00453ea3
push eax
push str._sSoundsNotifyWinWinIn.wav
push ebx
call fcn.004391a6
add esp, 0x14
push eax
call fcn.0049a9d9
pop ecx
push ebx
push ebx
mov dword [esp + 0x54], eax
call fcn.00453ea3
push eax
push str._sSoundsNotifyWinIllegalKey.wav
push ebx
call fcn.004391a6
add esp, 0x14
push eax
call fcn.0049a9d9
pop ecx
push ebx
push ebx
mov dword [esp + 0x50], eax
call fcn.00453ea3
push eax
push str._sSoundsNotifyWinWinOut.wav
jmp 0x48642d
dec eax
push ebx
push ebx
jne 0x48636d
fld dword [0x4d4670]
fst dword [esp + 0x38]
fstp dword [esp + 0x3c]
call fcn.00453ea3
push eax
mov esi, str._sSoundsNotifyWinVeryLightWhoosh.wav
push esi
push ebx
call fcn.004391a6
add esp, 0x14
push eax
call fcn.0049a9d9
pop ecx
push ebx
push ebx
mov dword [esp + 0x54], eax
call fcn.00453ea3
push eax
push str._sSoundsNotifyWinIllegalKey.wav
push ebx
call fcn.004391a6
add esp, 0x14
push eax
call fcn.0049a9d9
pop ecx
push ebx
push ebx
mov dword [esp + 0x50], eax
call fcn.00453ea3
push eax
push esi
push ebx
call fcn.004391a6
add esp, 0x14
push eax
call fcn.0049a9d9
mov dword [esp + 0x58], eax
pop ecx
push str.Input.c
push 0x85f
xor ecx, ecx
call fcn.0049b040
pop ecx
mov edi, eax
pop ecx
mov dword [esp + 0x20], edi
cmp dword [esp + 0x68], ebx
je 0x486474
push dword [esp + 0x68]
push 0x4ace2c
push edi
call fcn.0049b97d
add esp, 0xc
jmp 0x486481
push 0x4a9914
push edi
call fcn.0049b97d
pop ecx
pop ecx
push dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov eax, edi
call fcn.0049b8f7
pop ecx
mov ebx, edi
call fcn.0049b554
mov esi, edi
lea ebx, [eax + 4]
call fcn.0049b5ad
mov esi, dword [esp + 0x70]
lea ecx, [eax + 3]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x6c]
xor edi, edi
mov dword [esp + 0x3c], eax
cmp esi, edi
jne 0x4864fb
call fcn.0040237f
cdq
idiv ebx
push 2
pop eax
mov word [esp + 0x12], ax
sub edx, ebx
mov word [esp + 0x10], dx
call fcn.0040237f
cdq
idiv ebx
mov ax, word [esp + 0x12]
mov word [esp + 0x16], ax
sub edx, ebx
mov word [esp + 0x14], dx
jmp 0x4865ab
movzx edi, word [esi]
test di, di
jns 0x48650c
mov ebx, 0xffff8000
mov eax, ebx
jmp 0x486526
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
movsx edx, di
add eax, edx
push 2
test eax, eax
pop eax
jle 0x486521
sub eax, ebx
mov ebx, 0xffff8000
movzx esi, word [esi + 2]
mov word [esp + 0x10], ax
test si, si
jns 0x486538
mov eax, ebx
jmp 0x48654d
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
movsx edx, si
add eax, edx
push 2
test eax, eax
pop eax
jle 0x48654d
sub eax, ecx
mov word [esp + 0x12], ax
test di, di
jns 0x486560
mov eax, ebx
mov word [esp + 0x1c], ax
jmp 0x486565
mov word [esp + 0x1c], di
test si, si
jns 0x486573
mov eax, ebx
mov word [esp + 0x1e], ax
jmp 0x486578
mov word [esp + 0x1e], si
test di, di
jns 0x486581
mov eax, ebx
jmp 0x486586
mov ax, word [esp + 0x10]
mov word [esp + 0x14], ax
test si, si
jns 0x486597
mov word [esp + 0x16], bx
jmp 0x4865a1
mov ax, word [esp + 0x12]
mov word [esp + 0x16], ax
lea eax, [esp + 0x1c]
mov dword [esp + 0x2c], eax
xor edi, edi
lea eax, [esp + 0x10]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x28], eax
cmp dword [ebp + 0x14], edi
je 0x4865c8
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
lea eax, [esp + 0x80]
cmp dword [ebp + 8], edi
je 0x486663
push 0x4a9208
push eax
mov dword [esp + 0x40], 0x226
call fcn.00401ba0
mov esi, 0x4a920c
lea eax, [esp + 0x90]
push esi
push eax
call fcn.00401ba0
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.00401ba0
mov dl, byte [0x4d93ce]
lea eax, [esp + 0x98]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x74], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x78], eax
movsx eax, dl
add esp, 0x18
call fcn.00438bd7
cmp eax, 0x78
je 0x486658
mov byte [esp + 0x80], dl
mov byte [esp + 0x88], dl
mov byte [esp + 0x90], dl
mov dl, byte [0x4d93f1]
jmp 0x4866e5
push 0x4a9094
push eax
mov dword [esp + 0x40], edi
call fcn.00401ba0
mov esi, 0x4a9098
lea eax, [esp + 0x90]
push esi
push eax
call fcn.00401ba0
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.00401ba0
mov dl, byte [0x4d93cf]
lea eax, [esp + 0x98]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x74], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x78], eax
movsx eax, dl
add esp, 0x18
call fcn.00438bd7
cmp eax, 0x78
je 0x4866df
mov byte [esp + 0x80], dl
mov byte [esp + 0x88], dl
mov byte [esp + 0x90], dl
mov dl, byte [0x4d93f2]
movsx eax, dl
call fcn.00438bd7
cmp eax, 0x78
je 0x4866f9
mov byte [esp + 0x81], dl
lea ecx, [esp + 0x20]
mov byte [0x4d93ce], 0x78
mov byte [0x4d93cf], 0x78
mov byte [0x4d93f1], 0x78
mov byte [0x4d93f2], 0x78
call fcn.00453b0f
mov esi, eax
mov eax, dword [esp + 0x4c]
call fcn.00499d70
mov eax, dword [esp + 0x48]
call fcn.00499d70
mov eax, dword [esp + 0x54]
call fcn.00499d70
mov eax, dword [esp + 0x50]
call fcn.00499d70
mov eax, dword [esp + 0x20]
call fcn.0049b1bd
mov ecx, dword [esp + 0x2fc]
pop edi
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.00401317
mov esp, ebp
pop ebp
ret