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

Disassembly:
push 0xffffffffffffffff
push 0x6181ee
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push ebp
push esi
push edi
mov eax, dword [0x7161c0]
xor eax, esp
push eax
lea eax, [esp + 0x7c]
mov dword fs:[0], eax
mov ebp, ecx
mov dword [esp + 0x44], ebp
xor edi, edi
mov dword [esp + 0x14], edi
call fcn.004661b0
cmp dword [ebp + 0x22c], 1
jne 0x4724b0
cmp dword [ebp + 0x188], edi
je 0x4724b0
mov ecx, ebp
call fcn.00469f30
cmp dword [ebp + 0x22c], 2
jne 0x472609
mov dword [esp + 0x20], edi
mov dword [esp + 0x84], 1
mov eax, dword [ebp + 0xec]
cmp eax, edi
je 0x4725ee
mov ecx, dword [eax]
lea edx, [esp + 0x20]
push edx
push eax
mov eax, dword [ecx + 0x14]
call eax
test eax, eax
jl 0x4725ee
lea ecx, [esp + 0x18]
call fcn.00406a00
mov byte [esp + 0x84], 2
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
push edi
lea edx, [esp + 0x1c]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
jne 0x4725dd
mov bl, 3
mov edi, edi
mov ecx, dword [esp + 0x18]
push ecx
lea ecx, [esp + 0x2c]
call fcn.00465660
mov byte [esp + 0x84], bl
mov eax, dword [esp + 0x28]
cmp eax, edi
je 0x47259c
cmp dword [ebp + 0x1a0], edi
lea esi, [ebp + 0x1a0]
jne 0x47258e
push 0x18
call fcn.005b4633
add esp, 4
mov dword [esp + 0x58], eax
mov byte [esp + 0x84], 4
cmp eax, edi
je 0x47256e
mov ecx, eax
call fcn.004648c0
jmp 0x472570
xor eax, eax
mov byte [esp + 0x84], bl
cmp eax, edi
je 0x472580
add eax, 0xc
jmp 0x472582
xor eax, eax
push eax
mov ecx, esi
call fcn.00465380
mov eax, dword [esp + 0x28]
mov ecx, dword [esi]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0xb0]
call eax
mov byte [esp + 0x84], 2
lea ecx, [esp + 0x28]
call fcn.00464e80
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x4725c1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
push edi
lea edx, [esp + 0x1c]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
je 0x472520
mov byte [esp + 0x84], 1
lea ecx, [esp + 0x18]
call fcn.00406510
mov dword [esp + 0x84], 0xffffffff
mov eax, dword [esp + 0x20]
cmp eax, edi
je 0x472609
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x84], 7
mov eax, dword [ebp + 0xec]
cmp eax, edi
je 0x472a0c
mov ecx, dword [eax]
lea edx, [esp + 0x28]
push edx
push eax
mov eax, dword [ecx + 0x14]
call eax
test eax, eax
jl 0x472a0c
mov dword [esp + 0x18], edi
mov byte [esp + 0x84], 9
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push edi
lea edx, [esp + 0x1c]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
jne 0x4729f4
mov ecx, dword [esp + 0x18]
push ecx
lea edx, [esp + 0x70]
push edx
call fcn.00497320
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x64], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x68], edx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x64]
push 0x63c19c
push eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
call fcn.00401250
add esp, 0x10
test eax, eax
je 0x4729c4
mov ecx, dword [esp + 0x18]
push ecx
lea ecx, [esp + 0x24]
call fcn.004656d0
mov byte [esp + 0x84], 0xa
cmp dword [esp + 0x20], edi
je 0x4729ac
call fcn.005bc35c
mov eax, dword [eax + 4]
mov ebp, dword [eax + 0x228]
cmp ebp, edi
jne 0x4726e1
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov ebp, eax
call fcn.005bc35c
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x22c]
cmp eax, edi
mov dword [esp + 0x30], eax
jne 0x472701
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], edi
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
push ecx
push eax
call edx
cmp dword [esp + 0x3c], 0
jbe 0x4729a6
mov eax, dword [esp + 0x20]
xor ecx, ecx
push ecx
push ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x3c], ecx
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x58]
push ecx
push edi
push eax
call edx
test eax, eax
jl 0x472999
mov eax, dword [esp + 0x34]
push eax
lea ecx, [esp + 0x20]
call fcn.0041a030
mov byte [esp + 0x84], 0xb
push str.Sound
lea ecx, [esp + 0x3c]
call fcn.0041a030
mov byte [esp + 0x84], 0xc
push 0x63cc54
lea ecx, [esp + 0x28]
call fcn.0041a030
mov byte [esp + 0x84], 0xd
cmp ebp, 0xffffffff
je 0x472802
mov ecx, dword [esp + 0x2c]
xor ecx, ebp
test ecx, 0x3ff
jne 0x472802
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov ecx, dword [edx - 0xc]
mov eax, dword [eax - 0xc]
cmp ecx, eax
jle 0x472802
push eax
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x24]
call fcn.00466e20
mov byte [esp + 0x84], 0xe
mov edx, dword [esp + 0x38]
mov eax, dword [eax]
or dword [esp + 0x14], 1
push edx
push eax
call fcn.005dea2e
add esp, 8
test eax, eax
jne 0x472802
mov bl, 1
jmp 0x472804
xor bl, bl
mov esi, 0xd
mov dword [esp + 0x84], esi
test byte [esp + 0x14], 1
je 0x472825
and dword [esp + 0x14], 0xfffffffe
lea ecx, [esp + 0x50]
call fcn.004194a0
test bl, bl
je 0x47283f
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14]
push 1
push edi
push eax
call edx
test eax, eax
jl 0x47283f
or ebp, 0xffffffff
mov eax, dword [esp + 0x30]
cmp eax, 0xffffffff
je 0x4728ec
mov ecx, dword [esp + 0x2c]
xor ecx, eax
test ecx, 0x3ff
jne 0x4728ec
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov ecx, dword [edx - 0xc]
mov eax, dword [eax - 0xc]
cmp ecx, eax
jle 0x4728ec
push eax
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x24]
call fcn.00466e20
mov byte [esp + 0x84], 0xf
mov edx, dword [esp + 0x24]
mov eax, dword [eax]
or dword [esp + 0x14], 2
push edx
push eax
call fcn.005dea2e
add esp, 8
test eax, eax
jne 0x4728ec
mov eax, dword [esp + 0x24]
mov eax, dword [eax - 0xc]
push eax
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x24]
call fcn.00469210
mov dword [esp + 0x84], 0x10
or dword [esp + 0x14], 4
mov ecx, eax
call fcn.00469280
mov ecx, eax
call fcn.004692d0
mov eax, dword [eax]
push 0x63cc4c
push eax
call fcn.005dea2e
add esp, 8
test eax, eax
je 0x4728ec
mov bl, 1
jmp 0x4728ee
xor bl, bl
mov dword [esp + 0x84], 0xf
test byte [esp + 0x14], 4
je 0x47290e
and dword [esp + 0x14], 0xfffffffb
lea ecx, [esp + 0x54]
call fcn.004194a0
mov dword [esp + 0x84], esi
test byte [esp + 0x14], 2
je 0x47292a
and dword [esp + 0x14], 0xfffffffd
lea ecx, [esp + 0x58]
call fcn.004194a0
test bl, bl
je 0x472949
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
push 1
push edi
push eax
mov eax, dword [edx + 0x14]
call eax
test eax, eax
jl 0x472949
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [esp + 0x40]
test eax, eax
je 0x472957
push eax
call fcn.00497150
mov eax, dword [esp + 0x34]
test eax, eax
je 0x472966
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov byte [esp + 0x84], 0xc
lea ecx, [esp + 0x24]
call fcn.004194a0
mov byte [esp + 0x84], 0xb
lea ecx, [esp + 0x38]
call fcn.004194a0
mov byte [esp + 0x84], 0xa
lea ecx, [esp + 0x1c]
call fcn.004194a0
add edi, 1
cmp edi, dword [esp + 0x3c]
jb 0x472721
mov ebp, dword [esp + 0x44]
xor edi, edi
mov byte [esp + 0x84], 9
mov eax, dword [esp + 0x20]
cmp eax, edi
je 0x4729c4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x4729d8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push edi
lea edx, [esp + 0x1c]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
je 0x472663
mov byte [esp + 0x84], 7
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x472a0c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x84], 0xffffffff
mov eax, dword [esp + 0x28]
cmp eax, edi
je 0x472a27
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, ebp
call fcn.004661b0
mov ecx, dword [esp + 0x7c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret