Function at 0x425fc0
Capabilities:
Create thread
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
sub esp, 0x684
mov dword [0x457238], eax
lea eax, [ebp - 0x47c]
mov dword [0x45723c], 0x457280
mov dword [0x45725c], 0x4d7280
push 0x104
push eax
push 0
mov dword [0x457240], 0x467280
mov dword [0x457260], 0x4e7280
mov dword [0x457244], 0x477280
mov dword [0x457264], 0x4f7280
mov dword [0x457248], 0x487280
mov dword [0x457268], 0x507280
mov dword [0x45724c], 0x497280
mov dword [0x45726c], 0x517280
mov dword [0x457250], 0x4a7280
mov dword [0x457270], 0x527280
mov dword [0x457254], 0x4b7280
mov dword [0x457274], 0x537280
mov dword [0x457258], 0x4c7280
mov dword [0x457278], 0x547280
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [ebp - 0x47c]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426090
sub ecx, edx
sar ecx, 1
dec ecx
cmp word [ebp + ecx*2 - 0x47c], 0x5c
je 0x4260c6
nop dword [eax + eax]
xor eax, eax
mov word [ebp + ecx*2 - 0x47c], ax
dec ecx
cmp word [ebp + ecx*2 - 0x47c], 0x5c
jne 0x4260b0
xor eax, eax
mov word [ebp + ecx*2 - 0x47c], ax
lea ecx, [ebp - 0x47c]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4260e0
sub ecx, edx
sar ecx, 1
cmp ecx, 3
jne 0x4260fd
xor eax, eax
mov word [ebp - 0x478], ax
lea ecx, [ebp - 0x47c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426106
sub ecx, edx
sar ecx, 1
cmp word [ebp + ecx*2 - 0x47e], 0x2e
lea eax, [ebp + ecx*2 - 0x47e]
jne 0x42612f
xor ecx, ecx
mov word [eax], cx
sub eax, 2
cmp word [eax], 0x5c
jne 0x42613d
xor ecx, ecx
mov word [eax], cx
sub eax, 2
lea ecx, [ebp - 0x47c]
cmp eax, ecx
jb 0x42616e
mov edx, 0x5f
nop dword [eax]
movzx ecx, word [eax - 2]
sub eax, 2
cmp ecx, 0x5c
je 0x426161
cmp ecx, 0x3a
jne 0x426164
mov word [eax], dx
lea ecx, [ebp - 0x47c]
cmp eax, ecx
jae 0x426150
movups xmm0, xmmword [str.Global_]
push ebx
push esi
lea edx, [ebp - 0x47c]
push edi
movups xmmword [0x454ee0], xmm0
mov esi, edx
movups xmmword [0x4550e8], xmm0
movups xmmword [0x4552f0], xmm0
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x426195
mov edi, 0x454ee0
sub edx, esi
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4261b0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x47c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, edx
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4261d2
mov edi, 0x4550e8
sub edx, esi
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4261f0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x47c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, edx
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x426212
mov edi, 0x4552f0
sub edx, esi
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426230
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 0x454ee0
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x426252
mov eax, dword [0x43ff8c]
mov ebx, dword [ebp + 0x10]
mov edx, ebx
mov dword [ecx], eax
mov eax, dword [0x43ff90]
mov dword [ecx + 4], eax
mov ecx, edx
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x426274
sub edx, ecx
add esi, 0xfffffffe
mov ax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x426284
mov edi, esi
mov ecx, edx
shr ecx, 2
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 0x4550e8
lea ecx, [esi - 2]
nop word [eax + eax]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x4262b0
mov eax, dword [0x43ff94]
mov edx, ebx
mov dword [ecx], eax
mov eax, dword [0x43ff98]
mov dword [ecx + 4], eax
mov ecx, edx
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4262d0
sub edx, ecx
add esi, 0xfffffffe
mov ax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x4262e0
mov edi, esi
mov ecx, edx
shr ecx, 2
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 0x4552f0
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x426306
mov eax, dword [0x43ff9c]
mov edx, ebx
mov dword [ecx], eax
mov eax, dword [0x43ffa0]
mov dword [ecx + 4], eax
mov ecx, edx
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x426325
sub edx, ecx
add esi, 0xfffffffe
mov ax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x426335
mov ecx, edx
lea eax, [ebp - 0x50]
shr ecx, 2
mov edi, esi
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
push 1
rep movsb byte es:[edi], byte [esi]
push eax
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push 0
push 0
push 1
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
mov esi, dword [sym.imp.KERNEL32.dll_OpenEventW]
lea eax, [ebp - 0x50]
push 0x454ee0
push 0
push 0x1f0003
mov dword [ebp - 0xc], 0xc
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0
call esi
mov dword [0x557538], eax
test eax, eax
jne 0x42654c
xor ecx, ecx
nop word [eax + eax]
movzx eax, word [ebp + ecx - 0x47c]
lea ecx, [ecx + 2]
mov word [ecx + 0x4554f6], ax
test ax, ax
jne 0x4263b0
xor ecx, ecx
nop dword [eax]
movzx eax, word [ebp + ecx - 0x47c]
lea ecx, [ecx + 2]
mov word [ecx + 0x4556fe], ax
test ax, ax
jne 0x4263d0
xor ecx, ecx
nop dword [eax]
movzx eax, word [ebp + ecx - 0x47c]
lea ecx, [ecx + 2]
mov word [ecx + 0x455906], ax
test ax, ax
jne 0x4263f0
mov edi, 0x4554f8
lea ecx, [edi - 2]
nop
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x426410
mov eax, dword [0x43ff8c]
mov edx, ebx
mov dword [ecx], eax
mov esi, edx
mov eax, dword [0x43ff90]
mov dword [ecx + 4], eax
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x426430
sub edx, esi
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426440
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x455700
lea ecx, [edi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x426462
mov eax, dword [0x43ff94]
mov edx, ebx
mov dword [ecx], eax
mov esi, edx
mov eax, dword [0x43ff98]
mov dword [ecx + 4], eax
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x426481
sub edx, esi
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426491
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x455908
lea ecx, [edi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x4264b3
mov eax, dword [0x43ff9c]
mov edx, ebx
mov dword [ecx], eax
mov esi, edx
mov eax, dword [0x43ffa0]
mov dword [ecx + 4], eax
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4264d2
sub edx, esi
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4264e2
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 0x4554f8
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.KERNEL32.dll_OpenEventW]
push 0x1f0003
call esi
mov dword [0x557538], eax
test eax, eax
jne 0x426524
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x455700
push 0
push 0x1f0003
call esi
push 0x455908
push 0x14b88
push 0
push 0x8000004
mov dword [0x55753c], eax
push 0
jmp 0x426574
push 0x4550e8
push 0
push 0x1f0003
call esi
push 0x4552f0
push 0x14b88
push 0
mov dword [0x55753c], eax
lea eax, [ebp - 0xc]
push 0x8000004
push eax
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov dword [0x557540], eax
test eax, eax
je 0x42659f
push 0x13b88
push 0
push 0
push 0xf001f
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [0x557544], eax
mov esi, ebx
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x4265a1
lea edi, [ebp - 0x47c]
sub ebx, esi
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4265c0
mov ecx, ebx
mov byte [0x87356e], al
shr ecx, 2
lea eax, [ebp - 0x274]
rep movsd dword es:[edi], dword [esi]
push 0x208
mov ecx, ebx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x274]
push 0x5c
push eax
call fcn.00428943
movups xmm0, xmmword [str.APlayer.ini]
add esp, 8
test eax, eax
je 0x42666b
movups xmmword [eax + 2], xmm0
xor ecx, ecx
movq xmm0, qword [0x43ffb4]
movq qword [eax + 0x12], xmm0
movzx eax, word [ebp + ecx - 0x274]
lea ecx, [ecx + 2]
mov word [ecx + 0x455b96], ax
test ax, ax
jne 0x426622
push 0x5c
push 0x455b98
call fcn.00428943
movq xmm0, qword [str.VST32_]
add esp, 8
movq qword [eax + 2], xmm0
mov ecx, dword [0x43ffc4]
mov dword [eax + 0xa], ecx
mov cx, word [0x43ffc8]
mov word [eax + 0xe], cx
jmp 0x4266a8
mov eax, dword [0x43ffc4]
movups xmmword [ebp - 0x274], xmm0
mov dword [0x455ba0], eax
movq xmm0, qword [0x43ffb4]
mov ax, word [0x43ffc8]
movq qword [ebp - 0x264], xmm0
movq xmm0, qword [str.VST32_]
movq qword [0x455b98], xmm0
mov word [0x455ba4], ax
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea eax, [ebp - 0x274]
push eax
push 0
push str.Resampling
push 0x43ffe4
call esi
mov dword [0x454edc], eax
lea eax, [ebp - 0x274]
push eax
push 0
push str.SoxrSteepFilter
push 0x43ffe4
call esi
mov dword [0x455b50], eax
lea eax, [ebp - 0x274]
push eax
push 0
push str.SoxrUHQ
push 0x43ffe4
call esi
mov dword [0x455b54], eax
lea eax, [ebp - 0x274]
push eax
push 2
push str.SoxrPhase
push 0x43ffe4
call esi
mov dword [0x454004], eax
lea eax, [ebp - 0x274]
push eax
push 0
push str.StereoToMulti
push 0x43ffe4
call esi
mov dword [0x455b58], eax
lea eax, [ebp - 0x274]
push eax
push 0
push str.MultiToStereo
push 0x43ffe4
call esi
mov dword [0x455b5c], eax
lea eax, [ebp - 0x274]
push eax
push 0
push str.InvertPhase
push 0x43ffe4
call esi
mov dword [0x455b60], eax
lea eax, [ebp - 0x274]
push eax
push 0
push str.SwapChannels
push 0x43ffe4
call esi
mov dword [0x455b64], eax
lea eax, [ebp - 0x274]
push eax
push 0
push str.OutputBits
push 0x43ffe4
call esi
mov dword [0x455b68], eax
lea eax, [ebp - 0x274]
push eax
push 1
push str.Less44
push 0x43ffe4
call esi
mov dword [0x455b6c], eax
lea eax, [ebp - 0x274]
push eax
push 1
push str.Convert44
push 0x43ffe4
call esi
mov dword [0x455b70], eax
lea eax, [ebp - 0x274]
push eax
push 2
push str.Convert48
push 0x43ffe4
call esi
mov dword [0x455b74], eax
lea eax, [ebp - 0x274]
push eax
push 3
push str.Convert88
push 0x43ffe4
call esi
mov dword [0x455b78], eax
lea eax, [ebp - 0x274]
push eax
push 4
push str.Convert96
push 0x43ffe4
call esi
mov dword [0x455b7c], eax
lea eax, [ebp - 0x274]
push eax
push 5
push str.Convert176
push 0x43ffe4
call esi
mov dword [0x455b80], eax
lea eax, [ebp - 0x274]
push eax
push 6
push str.Convert192
push 0x43ffe4
call esi
mov dword [0x455b84], eax
lea eax, [ebp - 0x274]
push eax
push 6
push str.Convert352
push 0x43ffe4
call esi
mov dword [0x455b88], eax
lea eax, [ebp - 0x274]
push eax
push 6
push str.Convert384
push 0x43ffe4
call esi
mov dword [0x455b8c], eax
lea eax, [ebp - 0x274]
push eax
push 0
push str.asio_mode
push str.SACD
call esi
mov dword [0x873584], eax
lea eax, [ebp - 0x274]
push eax
push 3
push str.dsd_limit
push str.SACD
call esi
mov dword [0x87358c], eax
lea eax, [ebp - 0x274]
push eax
push 0
push str.pcm_multichannel
push str.SACD
call esi
mov dword [0x873588], eax
lea eax, [ebp - 0x274]
push eax
push 0
push str.AutoSamplerate
push str.Aplayer
call esi
mov dword [0x8735a8], eax
lea eax, [ebp - 0x274]
push eax
push 1
push str.Mixer32
push str.Aplayer
call esi
mov dword [0x8735ac], eax
lea eax, [ebp - 0x274]
push eax
push 0
push str.Filter
push 0x43ffe4
call esi
mov dword [0x873590], eax
lea eax, [ebp - 0x274]
push eax
push 0
push str.Output
push 0x43ffe4
call esi
mov dword [0x873594], eax
lea eax, [ebp - 0x274]
push eax
push 0
push str.Rate
push 0x43ffe4
call esi
mov dword [0x873598], eax
lea eax, [ebp - 0x274]
push eax
push 1
push str.Level
push 0x43ffe4
call esi
mov dword [0x87359c], eax
lea eax, [ebp - 0x274]
push eax
push 0
push 0x440244
push 0x43ffe4
call esi
mov dword [0x8735a0], eax
lea eax, [ebp - 0x274]
push eax
push 0
push str.MultiThread
push 0x43ffe4
call esi
cmp dword [0x87359c], 0
mov dword [0x557534], eax
je 0x4269b3
movsd xmm0, qword [0x44c8e0]
jmp 0x4269bb
movsd xmm0, qword [0x44c8f8]
lea eax, [ebp - 0x274]
movsd qword [0x4540f8], xmm0
push eax
push 0
push str.Attenuate
push 0x43ffe4
call esi
test eax, eax
jne 0x4269e6
movsd xmm0, qword [0x44c968]
jmp 0x426a05
neg eax
movsd xmm0, qword [0x440318]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
divsd xmm1, qword [0x44ca58]
call fcn.0042ac70
lea eax, [ebp - 0x274]
movsd qword [0x4540f0], xmm0
push eax
push 0
push str.UseVST
push str.VST32
call esi
test eax, eax
je 0x426af9
lea eax, [ebp - 0x274]
push eax
push 0x104
lea eax, [ebp - 0x684]
push eax
push 0x43fed0
push str.VSTList
push str.VST32
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x274]
push eax
push 1
push str.LimitChannels
push str.VST32
call esi
test eax, eax
lea eax, [ebp - 0x684]
push eax
setne byte [0x4540c0]
call fcn.00425110
add esp, 4
cmp dword [0x456da0], 0
jle 0x426af9
push 0
push 0
push 0
mov byte [0x873571], 1
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
xor esi, esi
mov dword [0x8735c0], eax
cmp dword [0x456da0], esi
jle 0x426af9
mov edi, 0x455da0
nop
push esi
push edi
call fcn.00422600
add esp, 4
push eax
call fcn.00424d10
add esp, 8
test eax, eax
jne 0x426adb
mov eax, dword [0x456da0]
dec esi
dec eax
sub edi, 0x100
mov dword [0x456da0], eax
jmp 0x426aea
mov dword [esi*4 + 0x456da4], eax
mov dword [eax + 0x28], edi
mov eax, dword [0x456da0]
inc esi
add edi, 0x100
cmp esi, eax
jl 0x426ab0
test eax, eax
jg 0x426b00
mov byte [0x873571], 0
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x47c]
mov dword [ebp - 0x14], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0x30
push eax
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0x421760
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], ebx
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x10], 0
call dword [sym.imp.USER32.dll_RegisterClassExW]
push 0
push ebx
push 0
push 0xfffffffffffffffd
push 0
push 0
push 0
push 0
push 0
push 0x43fed0
lea eax, [ebp - 0x47c]
push eax
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x454b14], eax
test eax, eax
je 0x426519
cmp byte [0x873571], 0
je 0x426bea
push 0x66
push ebx
call dword [sym.imp.USER32.dll_LoadIconW]
movups xmm0, xmmword [str.APlayer_VST]
mov ecx, dword [0x454b14]
mov dword [0x454b18], eax
movups xmmword [0x454b38], xmm0
mov dword [0x454b20], 0x3bc
movq xmm0, qword [0x4402d0]
mov dword [0x454b24], ecx
mov dword [0x454b28], 0x10e1
mov dword [0x454b30], 0x40a
mov dword [0x454b34], eax
mov dword [0x454b2c], 7
movq qword [0x454b48], xmm0
push 0
push 0
push 0
push 0x4204e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push dword [0x55753c]
mov dword [0x454ae8], eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [ebp - 0x6c]
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0x426c4e
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageW]
lea eax, [ebp - 0x6c]
push eax
call edi
lea eax, [ebp - 0x6c]
push eax
call ebx
push 0
push 0
push 0
lea eax, [ebp - 0x6c]
push eax
call esi
test eax, eax
jne 0x426c32
call fcn.004204a0
int3