Function at 0x100082ae
Capabilities:
Enumerate gui resources
Resolve function by parsing pe exports
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x2c8
mov eax, dword [0x100d8034]
xor eax, esp
mov dword [esp + 0x2c4], eax
cmp byte [0x100d9fac], 0
push esi
push edi
jne 0x100087ee
push 0
push fcn.100081b7
mov byte [0x100d9fac], 1
call fcn.100456b0
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x10008354
push edi
call fcn.10045340
pop ecx
push 0
mov esi, eax
push 3
push esi
call fcn.10044d90
add esp, 0xc
push esi
call fcn.10044380
fld dword [0x100d1378]
fstp dword [esp]
push esi
call fcn.10044690
fld dword [0x100d1394]
fstp dword [esp + 4]
fld dword [0x100d1378]
fstp dword [esp]
push esi
call fcn.10044530
add esp, 0xc
push 0x100cc980
push esi
call fcn.10044700
push esi
call fcn.10044460
add esp, 0xc
push edi
call fcn.100454c0
pop ecx
xor eax, eax
lea edi, [esp + 0x4c]
stosd dword es:[edi], eax
lea ecx, [esp + 0x4c]
mov esi, 0x1000
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
and dword [esp + 0x5c], 0
push eax
push esi
mov dword [esp + 0x68], 7
mov word [esp + 0x54], ax
call fcn.1000a1e7
call fcn.10007b43
push ecx
push 2
mov ecx, eax
call fcn.1002c678
call fcn.10007b43
push ecx
push 4
mov ecx, eax
call fcn.1002c678
cmp dword [esp + 0x60], 8
lea eax, [esp + 0x4c]
push esi
cmovae eax, dword [esp + 0x50]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
and dword [esp + 0x38], 0
lea eax, [esp + 0x90]
fld1
lea ecx, [esp + 0x34]
fstp qword [esp + 0x90]
fld qword [0x100d1318]
xor esi, esi
mov dword [esp + 0x34], eax
inc esi
lea eax, [esp + 0x10]
mov dword [esp + 0x3c], esi
push eax
fstp qword [esp + 0x14]
mov dword [esp + 0x44], esi
call fcn.10008812
fld qword [0x100d1320]
lea ecx, [esp + 0x10]
push ecx
mov ecx, eax
fstp qword [esp + 0x14]
call fcn.10008812
fld qword [0x100d1330]
lea ecx, [esp + 0x10]
push ecx
mov ecx, eax
fstp qword [esp + 0x14]
call fcn.10008812
fld qword [0x100d1338]
lea eax, [esp + 0xb0]
and dword [esp + 0x38], 0
lea ecx, [esp + 0x34]
fstp qword [esp + 0xb0]
fld qword [0x100d1340]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
fstp qword [esp + 0x14]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
call fcn.10008812
fld qword [0x100d1348]
lea ecx, [esp + 0x10]
push ecx
mov ecx, eax
fstp qword [esp + 0x14]
call fcn.10008812
fld qword [0x100d1350]
lea ecx, [esp + 0x10]
fstp qword [esp + 0x10]
push ecx
mov ecx, eax
call fcn.10008812
and dword [esp + 0x38], 0
lea eax, [esp + 0x70]
fld1
lea ecx, [esp + 0x34]
fstp qword [esp + 0x70]
fld qword [0x100d1318]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
fstp qword [esp + 0x14]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
call fcn.10008812
fld qword [0x100d1318]
lea ecx, [esp + 0x10]
push ecx
mov ecx, eax
fstp qword [esp + 0x14]
call fcn.10008812
fld qword [0x100d1320]
lea ecx, [esp + 0x10]
push ecx
mov ecx, eax
fstp qword [esp + 0x14]
call fcn.10008812
push 2
lea eax, [esp + 0xf4]
fldz
pop ecx
fst qword [eax]
fst qword [eax + 8]
add eax, 0x10
sub ecx, 1
jne 0x100084f4
xor eax, eax
lea ecx, [esp + 0xd0]
mov word [esp + 0x110], ax
or edi, 0xffffffff
mov byte [esp + 0x1b0], al
fstp st(0)
mov word [esp + 0x1c4], ax
lea eax, [esp + 0x70]
push esi
push eax
mov dword [esp + 0x1d0], edi
call fcn.1002876e
cmp dword [esp + 0x60], 8
lea edx, [esp + 0x4c]
mov esi, dword [esp + 0x5c]
cmovae edx, dword [esp + 0x4c]
test esi, esi
je 0x10008572
lea eax, [esi - 1]
mov ecx, edi
cmp eax, edi
push 0x5c
cmovb ecx, eax
pop eax
lea ecx, [edx + ecx*2]
jmp 0x10008567
cmp ecx, edx
je 0x10008572
sub ecx, 2
cmp word [ecx], ax
jne 0x10008560
sub ecx, edx
sar ecx, 1
jmp 0x10008574
mov ecx, edi
xor eax, eax
lea edi, [esp + 0x34]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x4c]
and dword [esp + 0x44], 0
and dword [esp + 0x48], 0
cmp esi, ecx
cmovb ecx, esi
cmp dword [esp + 0x60], 8
push ecx
cmovae eax, dword [esp + 0x50]
lea ecx, [esp + 0x38]
push eax
call fcn.1002447f
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x50]
call fcn.100097b4
lea ecx, [esp + 0x34]
call fcn.1000a1b9
cmp dword [esp + 0x60], 8
lea eax, [esp + 0x4c]
cmovae eax, dword [esp + 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
jne 0x1000863f
push 0x100cc984
lea ecx, [esp + 0x38]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov byte [esp + 0x48], al
mov dword [esp + 0x4c], eax
call fcn.1000aa11
push 0
push ecx
push 3
push 0x100cc988
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0xe4]
call fcn.10023e33
mov al, byte [esp + 0x130]
test al, al
je 0x1000867b
lea ecx, [esp + 0xd0]
call fcn.10002361
cmp byte [esp + 0x44], 0
jne 0x1000863f
push dword [esp + 0x48]
call fcn.1004bd80
pop ecx
push str.xdelta3.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
xor eax, eax
lea edi, [esp + 0x64]
stosd dword es:[edi], eax
xor esi, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
and dword [esp + 0x68], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x6c], eax
mov eax, 0x7ffffffe
sub eax, dword [esp + 0x5c]
mov dword [esp + 0x64], esi
cmp eax, 1
jb 0x10008802
jmp 0x100086b3
xor cl, cl
mov byte [esp + 0x133], cl
test al, al
jne 0x10008622
test cl, cl
jne 0x1000861e
call fcn.1000174f
push 0xffffffffffffffff
push dword [eax]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov al, byte [esp + 0x130]
test al, al
jne 0x10008622
mov cl, byte [esp + 0x133]
jmp 0x10008688
cmp dword [esp + 0x60], 8
lea eax, [esp + 0x4c]
push 1
cmovae eax, dword [esp + 0x50]
push ecx
push dword [esp + 0x64]
push eax
push ecx
push dword [esp + 0x24]
lea ecx, [esp + 0x28]
call fcn.100277fd
push 0xc
push str.contract.wav
lea ecx, [esp + 0x18]
call fcn.1000971b
push eax
lea ecx, [esp + 0x38]
call fcn.100097eb
lea ecx, [esp + 0x10]
call fcn.1000a1b9
cmp dword [esp + 0x48], 8
lea eax, [esp + 0x34]
lea ecx, [esp + 0x70]
cmovae eax, dword [esp + 0x34]
push eax
call fcn.10009826
push ecx
push ecx
lea edx, [esp + 0x78]
lea ecx, [esp + 0x18]
call fcn.100081f1
and dword [esp + 0x30], esi
mov edi, eax
lea eax, [esp + 0x6c]
pop ecx
pop ecx
cmp eax, edi
je 0x1000874f
mov ecx, eax
call fcn.10009a04
mov eax, dword [edi + 8]
mov esi, dword [edi]
mov dword [esp + 0x30], eax
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x10]
call fcn.10009a04
lea ecx, [esp + 0x70]
call fcn.1000a1b9
push str.pnras12i.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0x25ec
push 0
lea edi, [eax + 0x1000]
push edi
mov dword [esp + 0x1c], edi
call fcn.1004df70
mov edi, dword [esp + 0x34]
add esp, 0xc
xor eax, eax
mov dword [esp + 0x2c], eax
lea edx, [eax + edi]
mov cl, 0x59
movzx eax, al
imul eax, eax, 0x2c
sub cl, al
mov eax, dword [esp + 0x2c]
add byte [edx], cl
inc eax
mov ecx, 0x25ec
mov dword [esp + 0x2c], eax
cmp eax, ecx
jb 0x10008790
mov edi, dword [esp + 0x10]
push ecx
push esi
push edi
call fcn.1004d9f0
add esp, 0xc
push 0
push edi
call dword [sym.imp.USER32.dll_EnumWindows]
lea ecx, [esp + 0x34]
call fcn.1000a1b9
test esi, esi
je 0x100087e5
mov eax, dword [esp + 0x30]
sub eax, esi
push eax
push esi
call fcn.1002472d
pop ecx
pop ecx
lea ecx, [esp + 0x4c]
call fcn.1000a1b9
mov ecx, dword [esp + 0x2cc]
pop edi
pop esi
xor ecx, esp
call fcn.1004bd72
mov esp, ebp
pop ebp
ret
call fcn.10001263
int3