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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
mov eax, dword [0x10259b00]
xor eax, esp
mov dword [esp + 0x90], eax
cmp byte [0x102ad73c], 0
push ebx
push esi
push edi
jne 0x100044dd
push 0x10251118
mov byte [0x102ad73c], 1
call fcn.10098bf0
pop ecx
push 1
push 0x10
mov ebx, eax
push 0x1025111c
push ebx
call fcn.10098ca0
mov esi, eax
lea edi, [esp + 0x60]
xor eax, eax
lea ecx, [esp + 0x60]
stosd dword es:[edi], eax
add esp, 8
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.10004502
xor edx, edx
mov eax, dword [esp + 0x50]
lea ecx, [edx + 1]
mov dword [esp + 0x34], ecx
fild dword [esp + 0x34]
fstp qword [eax + edx*8]
mov edx, ecx
cmp edx, 0x10
jl 0x1000403f
xor edi, edi
cmp dword [esi + 0x1c], edi
jle 0x100040ac
mov eax, dword [esi + 0x1e8]
push ecx
push ecx
fld qword [eax + edi*8]
fstp qword [esp]
call fcn.100045a1
mov ecx, eax
call fcn.10005a43
mov eax, dword [esi + 0x1c]
inc edi
cmp edi, eax
jl 0x1000405f
xor edi, edi
test eax, eax
jle 0x100040ac
lea ecx, [eax + edi]
mov eax, dword [esi + 0x1e8]
push ecx
push ecx
fld qword [eax + ecx*8]
fstp qword [esp]
call fcn.100045a1
mov ecx, eax
call fcn.10005a43
mov eax, dword [esi + 0x1c]
inc edi
cmp edi, eax
jl 0x10004087
push 0x10292698
call fcn.10005bbc
xor eax, eax
lea edi, [esp + 0x3c]
stosd dword es:[edi], eax
push ecx
lea ecx, [esp + 0x40]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.10004502
xor edi, edi
mov eax, dword [esp + 0x38]
push ecx
push ecx
fld qword [edi + eax]
fstp qword [esp]
call fcn.100045a1
mov ecx, eax
call fcn.10005a43
add edi, 8
cmp edi, 0x80
jl 0x100040cb
push 0x10292698
call fcn.10005bbc
pop ecx
push ebx
call fcn.10098be0
pop ecx
push esi
call fcn.10098be0
pop ecx
lea ecx, [esp + 0x38]
call fcn.10004f8b
lea ecx, [esp + 0x50]
call fcn.10004f8b
xor eax, eax
lea edi, [esp + 0x1c]
stosd dword es:[edi], eax
lea ecx, [esp + 0x1c]
xor ebx, ebx
push ebx
push 0x1000
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], 7
mov word [esp + 0x24], ax
call fcn.10005028
mov edi, 0x15888
mov dword [esp + 0x38], ebx
push edi
lea ecx, [esp + 0x3c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
call fcn.1000454a
fld qword [0x102511a8]
mov esi, ebx
fld qword [0x102511b0]
jmp 0x10004174
fxch st(1)
mov dword [esp + 0x10], esi
fild dword [esp + 0x10]
test esi, esi
jns 0x10004186
fadd qword [0x102511c0]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fmulp st(2)
fdivp st(1)
call fcn.100be690
fmul qword [0x102511a0]
mov eax, dword [esp + 0x38]
fstp dword [eax + esi*4]
fld qword [0x102511b0]
inc esi
fld qword [0x102511a8]
cmp esi, edi
jb 0x10004172
push ebx
push ebx
push ebx
lea eax, [esp + 0x24]
fstp st(1)
push eax
fstp st(0)
fld qword [0x102511b8]
push 1
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x102511b0]
fstp qword [esp]
call fcn.1005f9c0
add esp, 0x24
mov ebx, 0x5e000
mov edi, eax
push ebx
call fcn.100069ea
pop ecx
push ebx
xor ebx, ebx
mov dword [esp + 0x54], eax
lea esi, [eax + 0x5e000]
push ebx
push eax
mov dword [esp + 0x64], esi
call fcn.100a2020
add esp, 0xc
mov dword [esp + 0x54], esi
sub esi, dword [esp + 0x50]
lea eax, [esp + 0x34]
sar esi, 2
push eax
push esi
push dword [esp + 0x58]
lea eax, [esp + 0x80]
push eax
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0x48]
sar eax, 2
push eax
push dword [esp + 0x4c]
push edi
call fcn.10060270
add esp, 0x1c
lea ecx, [esp + 0x50]
push dword [esp + 0x34]
call fcn.1000454a
mov dword [esp + 0x84], 1
mov dword [esp + 0x80], 0xbb80
mov dword [esp + 0x88], 0x10002
test edi, edi
jne 0x100042a8
lea eax, [esp + 0x78]
push eax
push 0x20
push 0x10251124
call fcn.10008770
mov ecx, dword [esp + 0x60]
add esp, 0xc
sub ecx, dword [esp + 0x50]
mov esi, eax
sar ecx, 2
push ebx
push ecx
push dword [esp + 0x58]
push esi
call fcn.100089a0
push esi
call fcn.10007f20
add esp, 0x14
push edi
call fcn.1005fed0
pop ecx
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x100042d5
mov eax, dword [esp + 0x58]
sub eax, ecx
and eax, 0xfffffffc
push eax
push ecx
call fcn.100063df
pop ecx
pop ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
lea ecx, [esp + 0x38]
call fcn.10004fd4
cmp dword [esp + 0x30], 7
lea eax, [esp + 0x1c]
push 0x1000
cmova eax, dword [esp + 0x20]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp dword [esp + 0x30], 7
lea edx, [esp + 0x1c]
mov esi, dword [esp + 0x2c]
cmova edx, dword [esp + 0x1c]
test esi, esi
je 0x10004334
lea eax, [esi - 1]
or ecx, 0xffffffff
cmp eax, ecx
push 0x5c
cmovb ecx, eax
pop eax
lea ecx, [edx + ecx*2]
jmp 0x10004329
cmp ecx, edx
je 0x10004334
sub ecx, 2
cmp word [ecx], ax
jne 0x10004322
sub ecx, edx
sar ecx, 1
jmp 0x10004337
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x38]
stosd dword es:[edi], eax
cmp esi, ecx
push 7
cmovb ecx, esi
pop esi
cmp dword [esp + 0x30], esi
stosd dword es:[edi], eax
push ecx
lea ecx, [esp + 0x3c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x20]
cmova eax, dword [esp + 0x20]
push eax
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
call fcn.10005d0d
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x20]
call fcn.10004757
lea ecx, [esp + 0x38]
call fcn.10004ffa
cmp dword [esp + 0x30], esi
lea eax, [esp + 0x1c]
cmova eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push str.lxcsload.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov eax, 0x7ffffffe
mov dword [esp + 0x6c], ebx
sub eax, dword [esp + 0x2c]
mov edi, ebx
mov dword [esp + 0x68], edi
mov dword [esp + 0x70], ebx
cmp eax, 1
jb 0x100044f2
cmp dword [esp + 0x30], esi
lea eax, [esp + 0x1c]
push 1
cmova eax, dword [esp + 0x20]
push ecx
push dword [esp + 0x34]
push eax
push ecx
push dword [esp + 0x88]
lea ecx, [esp + 0x50]
call fcn.10006776
push 8
push str.memo.wav
lea ecx, [esp + 0x40]
call fcn.100046be
push eax
lea ecx, [esp + 0x54]
call fcn.1000478e
lea ecx, [esp + 0x38]
call fcn.10004ffa
cmp dword [esp + 0x64], esi
lea eax, [esp + 0x50]
lea ecx, [esp + 0x78]
cmova eax, dword [esp + 0x50]
push eax
call fcn.100047c9
push ecx
push ecx
lea edx, [esp + 0x80]
lea ecx, [esp + 0x40]
call fcn.10003f1c
mov esi, eax
lea eax, [esp + 0x70]
pop ecx
pop ecx
cmp eax, esi
je 0x10004464
mov ecx, eax
call fcn.10004fb1
mov eax, dword [esi + 4]
mov edi, dword [esi]
mov ebx, edi
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x70], eax
xor eax, eax
mov dword [esp + 0x68], edi
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
lea ecx, [esp + 0x38]
call fcn.10004fb1
lea ecx, [esp + 0x78]
call fcn.10004ffa
push str.IZDSP.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0x253c
push 0
lea esi, [eax + 0x1000]
push esi
call fcn.100a2020
add esp, 0xc
xor edx, edx
movzx eax, dl
lea ecx, [edx + ebx]
imul eax, eax, 0x63
add byte [ecx], al
inc edx
mov eax, 0x253c
cmp edx, eax
jb 0x10004499
push eax
push edi
push esi
call fcn.100a1aa0
add esp, 0xc
push 0
push esi
call dword [sym.imp.USER32.dll_EnumWindows]
lea ecx, [esp + 0x50]
call fcn.10004ffa
lea ecx, [esp + 0x68]
call fcn.10004fb1
lea ecx, [esp + 0x1c]
call fcn.10004ffa
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1009fd88
mov esp, ebp
pop ebp
ret
call fcn.1000373c
int3