Function at 0x1007e97
Capabilities:
Capture microphone audio

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10c
mov eax, dword [0x101767c]
push ebx
push esi
push edi
mov dword [ebp - 4], eax
call dword [sym.imp.USER32.dll_GetFocus]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
xor ebx, ebx
cmp dword [ebp + 8], ebx
mov dword [ebp - 0x108], eax
je 0x100808d
cmp dword [0x1017990], ebx
je 0x1007f56
push 0x12
call dword [sym.imp.USER32.dll_GetSysColor]
push ebx
push 1
push 0xf1
push dword [0x101875c]
mov dword [0x10182a8], eax
call esi
push ebx
push dword [0x101875c]
call edi
push 1
push dword [0x1018520]
call edi
push ebx
push dword [0x1018758]
call edi
mov eax, dword [ebp - 0x108]
cmp eax, dword [0x101875c]
je 0x1007f2b
cmp eax, dword [0x1018758]
jne 0x100808d
push dword [0x101852c]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x100808d
push 1
push dword [0x1018520]
push 0x28
push dword [0x101852c]
call esi
jmp 0x100808d
cmp dword [0x1017994], ebx
je 0x1007f79
push 0x12
call dword [sym.imp.USER32.dll_GetSysColor]
push ebx
push 1
push 0xf1
push dword [0x1018758]
jmp 0x1007eee
push 3
push ebx
push ebx
push dword [0x101825c]
push 0xffffffffffffffff
push ebx
call dword [sym.imp.WINMM.dll_waveOutOpen]
push 3
push ebx
push ebx
push dword [0x101825c]
neg eax
sbb eax, eax
push 0xffffffffffffffff
inc eax
push ebx
mov dword [ebp - 0x104], eax
call dword [sym.imp.WINMM.dll_waveInOpen]
mov ebx, eax
neg ebx
sbb ebx, ebx
push 0x12
inc ebx
call dword [sym.imp.USER32.dll_GetSysColor]
push 0
push 0
push 0xf1
push dword [0x101875c]
mov dword [0x10182a8], eax
call esi
push 0
push 0
push 0xf1
push dword [0x1018758]
call esi
xor eax, eax
cmp dword [ebp - 0x104], eax
je 0x1007ff3
cmp dword [0x1017984], eax
jle 0x1007ff3
inc eax
push eax
push dword [0x101875c]
call edi
push 0
push dword [0x1018520]
call edi
push ebx
push dword [0x1018758]
call edi
cmp dword [ebp - 0x108], 0
je 0x100808b
push dword [ebp - 0x108]
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
jne 0x100808b
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov ecx, dword [0x101852c]
cmp eax, ecx
jne 0x100808b
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x100808b
cmp dword [0x1018754], 0xd1
jne 0x100805d
test ebx, ebx
je 0x100805d
push 1
push dword [0x1018758]
jmp 0x1008081
cmp dword [ebp - 0x104], 0
je 0x1008079
cmp dword [0x1017984], 0
jle 0x1008079
push 1
push dword [0x101875c]
jmp 0x1008081
push 1
push dword [0x101874c]
push 0x28
push dword [0x101852c]
call esi
xor ebx, ebx
mov eax, dword [0x1017990]
cmp eax, ebx
mov ecx, dword [0x1017994]
jne 0x10080a0
cmp ecx, ebx
je 0x100811c
cmp dword [0x1018268], ebx
je 0x100811c
cmp eax, ebx
mov dword [0x1017988], ebx
mov dword [ebp - 0x100], 2
push 0xc
je 0x10080ce
lea ecx, [ebp - 0x100]
push ecx
push eax
call dword [sym.imp.WINMM.dll_waveOutGetPosition]
jmp 0x10080dc
lea eax, [ebp - 0x100]
push eax
push ecx
call dword [sym.imp.WINMM.dll_waveInGetPosition]
cmp eax, ebx
jne 0x100811c
mov eax, dword [ebp - 0x100]
dec eax
dec eax
je 0x1008107
dec eax
dec eax
jne 0x100811c
push dword [ebp - 0xfc]
push dword [0x101825c]
call fcn.0100769d
add eax, dword [0x1018258]
jmp 0x1008115
mov eax, dword [ebp - 0xfc]
mov ecx, dword [0x1018258]
add eax, ecx
mov dword [0x1017988], eax
jmp 0x1008121
mov eax, dword [0x1017988]
cmp eax, ebx
jge 0x100812c
xor eax, eax
mov dword [0x1017988], eax
mov ecx, dword [0x1017980]
cmp eax, ecx
jle 0x100813d
mov eax, ecx
mov dword [0x1017988], eax
cmp dword [0x1017984], eax
jge 0x100814a
mov dword [0x1017984], eax
push eax
push dword [0x101825c]
call fcn.010076e9
cmp dword [0x1017034], ebx
mov ecx, eax
jne 0x100819c
cdq
mov ebx, 0x3e8
idiv ebx
test eax, eax
jne 0x100819c
push 0xa
mov eax, ecx
cdq
pop ecx
idiv ecx
push 0x64
pop ecx
mov ebx, dword [sym.imp.USER32.dll_wsprintfW]
cdq
idiv ecx
movzx eax, word [0x1017030]
push edx
push eax
lea eax, [ebp - 0xf4]
push 0x1018300
push eax
call ebx
add esp, 0x10
jmp 0x10081d5
push 0xa
pop ebx
mov eax, ecx
cdq
idiv ebx
push 0x64
pop ebx
cdq
idiv ebx
movzx eax, word [0x1017030]
mov ebx, dword [sym.imp.USER32.dll_wsprintfW]
push edx
push eax
mov eax, ecx
cdq
mov ecx, 0x3e8
idiv ecx
push eax
lea eax, [ebp - 0xf4]
push 0x1018380
push eax
call ebx
add esp, 0x14
lea eax, [ebp - 0xf4]
push eax
push 0xc9
push dword [0x101852c]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp dword [0x1017994], 0
mov eax, dword [0x1017980]
jne 0x1008200
mov eax, dword [0x1017984]
push eax
push dword [0x101825c]
mov dword [ebp - 0x104], eax
call fcn.010076e9
cmp dword [0x1017034], 0
mov dword [ebp - 0x10c], eax
jne 0x100825b
cdq
mov ecx, 0x3e8
idiv ecx
test eax, eax
jne 0x100825b
mov eax, dword [ebp - 0x10c]
push 0xa
cdq
pop ecx
idiv ecx
push 0x64
pop ecx
cdq
idiv ecx
movzx eax, word [0x1017030]
push edx
push eax
lea eax, [ebp - 0xf4]
push 0x1018300
push eax
call ebx
add esp, 0x10
jmp 0x1008296
mov eax, dword [ebp - 0x10c]
cdq
push 0xa
pop ecx
idiv ecx
push 0x64
pop ecx
cdq
idiv ecx
movzx eax, word [0x1017030]
mov ecx, 0x3e8
push edx
push eax
mov eax, dword [ebp - 0x10c]
cdq
idiv ecx
push eax
lea eax, [ebp - 0xf4]
push 0x1018380
push eax
call ebx
add esp, 0x14
lea eax, [ebp - 0xf4]
push eax
push 0xca
push dword [0x101852c]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push dword [ebp + 8]
push 0
push dword [0x101853c]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [0x101853c]
call dword [sym.imp.USER32.dll_UpdateWindow]
xor eax, eax
cmp dword [0x1017984], eax
mov ebx, 0x2710
jle 0x10082ed
push dword [ebp - 0x104]
push dword [0x1017988]
push ebx
call dword [sym.imp.KERNEL32.dll_MulDiv]
movzx eax, ax
push eax
push 1
push 0x405
push dword [0x101874c]
call esi
cmp dword [0x1017984], 0
jg 0x100830b
xor ebx, ebx
push ebx
push 0
push 0x408
push dword [0x101874c]
call esi
mov ecx, dword [0x1017988]
xor eax, eax
cmp ecx, dword [0x1017984]
setl al
push eax
push dword [0x1018750]
call edi
xor eax, eax
cmp dword [0x1017988], eax
setg al
push eax
push dword [0x1018760]
call edi
mov edi, dword [ebp - 0x108]
cmp edi, dword [0x1018750]
jne 0x1008376
mov eax, dword [0x1017988]
cmp eax, dword [0x1017984]
jl 0x1008376
push 1
push dword [0x1018760]
push 0x28
push dword [0x101852c]
call esi
cmp edi, dword [0x1018760]
jne 0x1008399
cmp dword [0x1017988], 0
jne 0x1008399
push 1
push dword [0x1018750]
push 0x28
push dword [0x101852c]
call esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.0100e270
leave
ret 4