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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2f4
mov eax, dword [0x4b22d4]
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 [0x4c88dc], ebx
je 0x470bef
mov dword [0x4c88dc], ebx
mov dword [ebp + 0x14], 1
mov edi, 0x104
cmp dword [esp + 0x18], ebx
je 0x470c11
push dword [esp + 0x18]
mov ecx, edi
lea eax, [esp + 0x1f4]
call fcn.00435b27
pop ecx
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
mov dword [esp + 0x50], ebx
call fcn.00436c5d
test eax, eax
jne 0x470cd8
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.0044bd82
pop ecx
pop ecx
push eax
push str._sSoundsNotifyWin_s
lea eax, [esp + 0xf4]
push edi
push eax
call fcn.004362e2
lea eax, [esp + 0xfc]
add esp, 0x14
push eax
call fcn.00480db1
pop ecx
mov dword [esp + 0x50], eax
cmp eax, ebx
jne 0x470cd8
push dword [esp + 0x18]
call fcn.00480db1
pop ecx
mov dword [esp + 0x50], eax
cmp eax, ebx
jne 0x470cd8
push str..wav
mov eax, edi
lea esi, [esp + 0xec]
call fcn.00436c1c
mov eax, edi
lea esi, [esp + 0x1f4]
mov dword [esp], str..wav
call fcn.00436c1c
pop ecx
lea eax, [esp + 0xe8]
push eax
call fcn.00480db1
pop ecx
mov dword [esp + 0x50], eax
cmp eax, ebx
jne 0x470cd8
push dword [esp + 0x18]
call fcn.00480db1
pop ecx
mov dword [esp + 0x50], eax
cmp dword [ebp + 0x14], ebx
je 0x470d1a
fld1
push ebx
fst dword [esp + 0x34]
push ebx
fstp dword [esp + 0x3c]
call fcn.0044bd82
push eax
push str._sSoundsClick1.wav
push ebx
call fcn.004361b7
add esp, 0x14
push eax
call fcn.00480b57
pop ecx
push ebx
push ebx
mov dword [esp + 0x54], eax
call fcn.0044bd82
push eax
push str._sSoundsSmallClick.wav
jmp 0x470eaf
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 8], ebx
je 0x470e52
dec eax
je 0x470ded
fld dword [0x4af4d4]
fstp dword [esp + 0x30]
fld dword [0x4af4d0]
fstp dword [esp + 0x34]
call fcn.0047ffa2
push ebx
push ebx
call fcn.0044bd82
push eax
push str._sSoundsNotifyWinWinInAlert.wav
push ebx
call fcn.004361b7
add esp, 0x14
push eax
call fcn.00480b57
pop ecx
push ebx
push ebx
mov dword [esp + 0x54], eax
call fcn.0044bd82
push eax
push str._sSoundsNotifyWinIllegalKey.wav
push ebx
call fcn.004361b7
add esp, 0x14
push eax
call fcn.00480b57
pop ecx
push ebx
push ebx
mov dword [esp + 0x50], eax
call fcn.0044bd82
push eax
push str._sSoundsNotifyWinWinOutAlert.wav
push ebx
call fcn.004361b7
add esp, 0x14
push eax
call fcn.00480b57
pop ecx
mov dword [esp + 0x54], eax
cmp dword [esp + 0x50], ebx
jne 0x470ec3
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x470dc8
call fcn.00435b67
test eax, eax
jne 0x470ec3
push ebx
push ebx
call fcn.0044bd82
push eax
push str._sSoundsNotifyWinUhOh_.wav
push ebx
call fcn.004361b7
add esp, 0x14
push eax
call fcn.00480b57
mov dword [esp + 0x54], eax
jmp 0x470ec2
push ebx
push ebx
fld dword [0x4af4cc]
fstp dword [esp + 0x38]
fld dword [0x4af4d8]
fstp dword [esp + 0x3c]
call fcn.0044bd82
push eax
push str._sSoundsNotifyWinWinIn.wav
push ebx
call fcn.004361b7
add esp, 0x14
push eax
call fcn.00480b57
pop ecx
push ebx
push ebx
mov dword [esp + 0x54], eax
call fcn.0044bd82
push eax
push str._sSoundsNotifyWinIllegalKey.wav
push ebx
call fcn.004361b7
add esp, 0x14
push eax
call fcn.00480b57
pop ecx
push ebx
push ebx
mov dword [esp + 0x50], eax
call fcn.0044bd82
push eax
push str._sSoundsNotifyWinWinOut.wav
jmp 0x470eaf
dec eax
push ebx
push ebx
jne 0x470def
fld dword [0x4af4d0]
fst dword [esp + 0x38]
fstp dword [esp + 0x3c]
call fcn.0044bd82
push eax
mov esi, str._sSoundsNotifyWinVeryLightWhoosh.wav
push esi
push ebx
call fcn.004361b7
add esp, 0x14
push eax
call fcn.00480b57
pop ecx
push ebx
push ebx
mov dword [esp + 0x54], eax
call fcn.0044bd82
push eax
push str._sSoundsNotifyWinIllegalKey.wav
push ebx
call fcn.004361b7
add esp, 0x14
push eax
call fcn.00480b57
pop ecx
push ebx
push ebx
mov dword [esp + 0x50], eax
call fcn.0044bd82
push eax
push esi
push ebx
call fcn.004361b7
add esp, 0x14
push eax
call fcn.00480b57
mov dword [esp + 0x58], eax
pop ecx
push str.Input.c
push 0x85f
xor ecx, ecx
call fcn.004810d5
pop ecx
mov edi, eax
pop ecx
mov dword [esp + 0x20], edi
cmp dword [esp + 0x68], ebx
je 0x470ef6
push dword [esp + 0x68]
push 0x491524
push edi
call fcn.00481968
add esp, 0xc
jmp 0x470f03
push 0x48e85c
push edi
call fcn.00481968
pop ecx
pop ecx
push dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov eax, edi
call fcn.004818e2
pop ecx
mov ebx, edi
call fcn.0048153f
mov esi, edi
lea ebx, [eax + 4]
call fcn.00481598
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 0x470f7d
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 0x47102d
movzx edi, word [esi]
test di, di
jns 0x470f8e
mov ebx, 0xffff8000
mov eax, ebx
jmp 0x470fa8
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
movsx edx, di
add eax, edx
push 2
test eax, eax
pop eax
jle 0x470fa3
sub eax, ebx
mov ebx, 0xffff8000
movzx esi, word [esi + 2]
mov word [esp + 0x10], ax
test si, si
jns 0x470fba
mov eax, ebx
jmp 0x470fcf
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
movsx edx, si
add eax, edx
push 2
test eax, eax
pop eax
jle 0x470fcf
sub eax, ecx
mov word [esp + 0x12], ax
test di, di
jns 0x470fe2
mov eax, ebx
mov word [esp + 0x1c], ax
jmp 0x470fe7
mov word [esp + 0x1c], di
test si, si
jns 0x470ff5
mov eax, ebx
mov word [esp + 0x1e], ax
jmp 0x470ffa
mov word [esp + 0x1e], si
test di, di
jns 0x471003
mov eax, ebx
jmp 0x471008
mov ax, word [esp + 0x10]
mov word [esp + 0x14], ax
test si, si
jns 0x471019
mov word [esp + 0x16], bx
jmp 0x471023
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 0x47104a
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
lea eax, [esp + 0x80]
cmp dword [ebp + 8], edi
je 0x4710e5
push 0x48e150
push eax
mov dword [esp + 0x40], 0x226
call fcn.00401ba0
mov esi, 0x48e154
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 [0x4b33ca]
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.00435bfd
cmp eax, 0x78
je 0x4710da
mov byte [esp + 0x80], dl
mov byte [esp + 0x88], dl
mov byte [esp + 0x90], dl
mov dl, byte [0x4b33e1]
jmp 0x471167
push 0x48dfdc
push eax
mov dword [esp + 0x40], edi
call fcn.00401ba0
mov esi, 0x48dfe0
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 [0x4b33cb]
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.00435bfd
cmp eax, 0x78
je 0x471161
mov byte [esp + 0x80], dl
mov byte [esp + 0x88], dl
mov byte [esp + 0x90], dl
mov dl, byte [0x4b33e2]
movsx eax, dl
call fcn.00435bfd
cmp eax, 0x78
je 0x47117b
mov byte [esp + 0x81], dl
lea ecx, [esp + 0x20]
mov byte [0x4b33ca], 0x78
mov byte [0x4b33cb], 0x78
mov byte [0x4b33e1], 0x78
mov byte [0x4b33e2], 0x78
call fcn.0044b9f0
mov esi, eax
mov eax, dword [esp + 0x4c]
call fcn.0047fef0
mov eax, dword [esp + 0x48]
call fcn.0047fef0
mov eax, dword [esp + 0x54]
call fcn.0047fef0
mov eax, dword [esp + 0x50]
call fcn.0047fef0
mov eax, dword [esp + 0x20]
call fcn.00481252
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