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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2fc
mov eax, dword [0x5092e4]
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.00401f80
xor eax, eax
mov word [esp + 0x20], ax
lea edi, [esp + 0x22]
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 + 0x18], ax
lea edi, [esp + 0x1a]
push 0x4f
stosw word es:[edi], ax
lea eax, [esp + 0xa5]
push ebx
push eax
mov byte [esp + 0xac], bl
call fcn.00401f80
add esp, 0xc
mov esi, 0x103
push esi
lea eax, [esp + 0x1fd]
push ebx
push eax
mov byte [esp + 0x204], bl
call fcn.00401f80
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
lea edi, [esp + 0x91]
mov byte [esp + 0x90], bl
stosd dword es:[edi], eax
cmp dword [0x5239d4], ebx
je 0x49a327
mov dword [0x5239d4], ebx
mov dword [ebp + 0x14], 1
mov edi, 0x104
cmp dword [esp + 0x10], ebx
je 0x49a349
push dword [esp + 0x10]
mov ecx, edi
lea eax, [esp + 0x1fc]
call fcn.00444961
pop ecx
mov dword [esp + 0x10], eax
call fcn.004ab4f6
mov dword [esp + 0x24], eax
call fcn.004ab58b
mov edx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov dword [esp + 0x60], ebx
call fcn.00445b2f
test eax, eax
jne 0x49a422
push esi
lea eax, [esp + 0xf5]
push ebx
push eax
mov byte [esp + 0xfc], bl
call fcn.00401f80
add esp, 0xc
push dword [esp + 0x10]
push ebx
push ebx
call fcn.0046209e
pop ecx
pop ecx
push eax
push str._sSoundsNotifyWin_s
lea eax, [esp + 0xfc]
push edi
push eax
call fcn.004451a8
lea eax, [esp + 0x104]
add esp, 0x14
push eax
call fcn.004b4aa3
pop ecx
mov dword [esp + 0x60], eax
cmp eax, ebx
jne 0x49a422
push dword [esp + 0x10]
call fcn.004b4aa3
pop ecx
mov dword [esp + 0x60], eax
cmp eax, ebx
jne 0x49a422
push str..wav
mov eax, edi
lea esi, [esp + 0xf4]
call fcn.00445aee
mov eax, edi
lea esi, [esp + 0x1fc]
mov dword [esp], str..wav
call fcn.00445aee
pop ecx
lea eax, [esp + 0xf0]
push eax
call fcn.004b4aa3
pop ecx
mov dword [esp + 0x60], eax
cmp eax, ebx
jne 0x49a422
push dword [esp + 0x10]
call fcn.004b4aa3
pop ecx
mov dword [esp + 0x60], eax
cmp dword [ebp + 0x14], ebx
je 0x49a464
fld1
push ebx
fst dword [esp + 0x44]
push ebx
fstp dword [esp + 0x4c]
call fcn.0046209e
push eax
push str._sSoundsClick1.wav
push ebx
call fcn.0044507d
add esp, 0x14
push eax
call fcn.004b4849
pop ecx
push ebx
push ebx
mov dword [esp + 0x64], eax
call fcn.0046209e
push eax
push str._sSoundsSmallClick.wav
jmp 0x49a5f9
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 8], ebx
je 0x49a59c
dec eax
je 0x49a537
fld dword [0x5058ac]
fstp dword [esp + 0x40]
fld dword [0x5058a8]
fstp dword [esp + 0x44]
call fcn.004b3c7d
push ebx
push ebx
call fcn.0046209e
push eax
push str._sSoundsNotifyWinWinInAlert.wav
push ebx
call fcn.0044507d
add esp, 0x14
push eax
call fcn.004b4849
pop ecx
push ebx
push ebx
mov dword [esp + 0x64], eax
call fcn.0046209e
push eax
push str._sSoundsNotifyWinIllegalKey.wav
push ebx
call fcn.0044507d
add esp, 0x14
push eax
call fcn.004b4849
pop ecx
push ebx
push ebx
mov dword [esp + 0x60], eax
call fcn.0046209e
push eax
push str._sSoundsNotifyWinWinOutAlert.wav
push ebx
call fcn.0044507d
add esp, 0x14
push eax
call fcn.004b4849
pop ecx
mov dword [esp + 0x64], eax
cmp dword [esp + 0x60], ebx
jne 0x49a60d
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x49a512
call fcn.004449a1
test eax, eax
jne 0x49a60d
push ebx
push ebx
call fcn.0046209e
push eax
push str._sSoundsNotifyWinUhOh_.wav
push ebx
call fcn.0044507d
add esp, 0x14
push eax
call fcn.004b4849
mov dword [esp + 0x64], eax
jmp 0x49a60c
push ebx
push ebx
fld dword [0x50589c]
fstp dword [esp + 0x48]
fld dword [0x5058b0]
fstp dword [esp + 0x4c]
call fcn.0046209e
push eax
push str._sSoundsNotifyWinWinIn.wav
push ebx
call fcn.0044507d
add esp, 0x14
push eax
call fcn.004b4849
pop ecx
push ebx
push ebx
mov dword [esp + 0x64], eax
call fcn.0046209e
push eax
push str._sSoundsNotifyWinIllegalKey.wav
push ebx
call fcn.0044507d
add esp, 0x14
push eax
call fcn.004b4849
pop ecx
push ebx
push ebx
mov dword [esp + 0x60], eax
call fcn.0046209e
push eax
push str._sSoundsNotifyWinWinOut.wav
jmp 0x49a5f9
dec eax
push ebx
push ebx
jne 0x49a539
fld dword [0x5058a8]
fst dword [esp + 0x48]
fstp dword [esp + 0x4c]
call fcn.0046209e
push eax
mov esi, str._sSoundsNotifyWinVeryLightWhoosh.wav
push esi
push ebx
call fcn.0044507d
add esp, 0x14
push eax
call fcn.004b4849
pop ecx
push ebx
push ebx
mov dword [esp + 0x64], eax
call fcn.0046209e
push eax
push str._sSoundsNotifyWinIllegalKey.wav
push ebx
call fcn.0044507d
add esp, 0x14
push eax
call fcn.004b4849
pop ecx
push ebx
push ebx
mov dword [esp + 0x60], eax
call fcn.0046209e
push eax
push esi
push ebx
call fcn.0044507d
add esp, 0x14
push eax
call fcn.004b4849
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.004aba71
mov eax, esi
push 0x4cd2f4
push eax
call fcn.004454c3
xor esi, esi
add esp, 0x10
inc esi
test eax, eax
je 0x49a651
push edi
push esi
call fcn.004ab9f9
and al, 0xf0
pop ecx
pop ecx
cmp al, 0xc0
jne 0x49a651
mov dword [esp + 0x10], esi
call fcn.004ad7f6
test eax, eax
je 0x49a65e
mov dword [esp + 0x10], esi
push str.Input.c
push 0x85f
xor ecx, ecx
call fcn.004b4ed2
pop ecx
mov edi, eax
pop ecx
mov dword [esp + 0x30], edi
cmp dword [esp + 0x20], ebx
je 0x49a691
push dword [esp + 0x20]
push 0x4d3264
push edi
call fcn.004b580f
add esp, 0xc
jmp 0x49a69e
push 0x4ce78c
push edi
call fcn.004b580f
pop ecx
pop ecx
push dword [esp + 0x84]
mov esi, dword [esp + 0x80]
mov eax, edi
call fcn.004b5789
pop ecx
mov ebx, edi
call fcn.004b53e6
mov esi, edi
lea ebx, [eax + 4]
call fcn.004b543f
mov ecx, dword [esp + 0x2c]
lea esi, [eax + 3]
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]
mov dword [esp + 0x4c], eax
test ecx, ecx
jne 0x49a741
call fcn.004ab4f6
lea edi, [eax + ebx]
call fcn.0040237f
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.004ab4f6
lea edi, [eax + ebx]
call fcn.0040237f
cdq
idiv edi
sub edx, ebx
cmp dword [esp + 0x10], 0
mov word [esp + 0x18], dx
je 0x49a732
push 0xfffffffffffffffe
pop eax
sub eax, esi
jmp 0x49a737
mov ax, word [esp + 0x16]
mov word [esp + 0x1a], ax
jmp 0x49a840
movzx edi, word [ecx]
mov dword [esp + 0x20], edi
test di, di
jns 0x49a754
mov eax, 0xffff8000
jmp 0x49a787
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 0x49a780
push 2
pop eax
sub eax, ebx
jmp 0x49a787
mov eax, dword [esp + 0x24]
add eax, 2
movzx ecx, word [ecx + 2]
mov word [esp + 0x14], ax
mov dword [esp + 0x24], ecx
test cx, cx
jns 0x49a7a5
mov eax, 0xffff8000
mov word [esp + 0x16], ax
jmp 0x49a7da
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 0x49a7ce
push 2
pop eax
sub eax, esi
mov word [esp + 0x16], ax
jmp 0x49a7d6
add ecx, 2
mov word [esp + 0x16], cx
mov ecx, dword [esp + 0x24]
mov eax, 0xffff8000
test di, di
jns 0x49a7ed
mov edx, eax
mov word [esp + 0x1c], dx
jmp 0x49a7f2
mov word [esp + 0x1c], di
test cx, cx
jns 0x49a800
mov edx, eax
mov word [esp + 0x1e], dx
jmp 0x49a805
mov word [esp + 0x1e], cx
test di, di
jns 0x49a80e
mov edx, eax
jmp 0x49a813
mov dx, word [esp + 0x14]
mov word [esp + 0x18], dx
test cx, cx
js 0x49a822
mov ax, word [esp + 0x16]
cmp dword [esp + 0x10], 0
mov word [esp + 0x1a], ax
je 0x49a838
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 0x49a85f
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
cmp dword [ebp + 8], eax
je 0x49a903
lea eax, [esp + 0x88]
push 0x4ce05c
push eax
mov dword [esp + 0x50], 0x226
call fcn.00401ba0
mov esi, 0x4ce060
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.00401ba0
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.00401ba0
mov dl, byte [0x50a3fe]
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.00444aae
cmp eax, 0x78
je 0x49a8f8
mov byte [esp + 0x88], dl
mov byte [esp + 0x98], dl
mov byte [esp + 0x90], dl
mov dl, byte [0x50a421]
jmp 0x49a995
mov dword [esp + 0x48], eax
lea eax, [esp + 0x88]
push 0x4cde64
push eax
call fcn.00401ba0
mov esi, 0x4cde68
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.00401ba0
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.00401ba0
mov dl, byte [0x50a3ff]
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.00444aae
cmp eax, 0x78
je 0x49a98f
mov byte [esp + 0x88], dl
mov byte [esp + 0x98], dl
mov byte [esp + 0x90], dl
mov dl, byte [0x50a422]
movsx eax, dl
call fcn.00444aae
cmp eax, 0x78
je 0x49a9a9
mov byte [esp + 0x89], dl
lea ecx, [esp + 0x30]
mov byte [0x50a3fe], 0x78
mov byte [0x50a3ff], 0x78
mov byte [0x50a421], 0x78
mov byte [0x50a422], 0x78
call fcn.00460d8a
mov esi, eax
mov eax, dword [esp + 0x5c]
call fcn.004b3b82
mov eax, dword [esp + 0x58]
call fcn.004b3b82
mov eax, dword [esp + 0x64]
call fcn.004b3b82
mov eax, dword [esp + 0x60]
call fcn.004b3b82
mov eax, dword [esp + 0x30]
call fcn.004b504f
mov ecx, dword [esp + 0x304]
pop edi
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.00401317
mov esp, ebp
pop ebp
ret