Function at 0x1001ac10
Capabilities:
Encode data using xor
Hash data using fnv
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10056dec
mov eax, dword fs:[0]
push eax
mov eax, 0x317c
call fcn.100507a0
mov eax, dword [0x10072f40]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x303c], edi
push str.RzKitty:_EnumBTLEAudioDevices_start_n
mov dword [ebp - 0x3040], 0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [edi + 0x250]
push 6
push 0
push 0
mov eax, dword [ecx]
push 0
mov eax, dword [eax + 0x18]
call eax
mov edx, eax
mov dword [ebp - 0x3068], edx
cmp edx, 0xffffffff
jne 0x1001ac8a
mov eax, 0x80004005
jmp 0x1001ce52
mov eax, dword [edi + 0x198]
lea esi, [edi + 0x198]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x3080], esi
cmp eax, ecx
je 0x1001acb3
push esi
push ecx
push eax
call fcn.10009960
mov eax, dword [esi]
add esp, 0xc
mov dword [esi + 4], eax
lea eax, [edi + 0x1a4]
push eax
mov dword [ebp - 0x30c8], eax
call sub.MSVCP140.dll__Mtx_lock
add esp, 4
test eax, eax
jne 0x1001ce72
mov dword [ebp - 4], eax
mov ecx, dword [edi + 0x17c]
mov eax, dword [ecx]
cmp eax, ecx
je 0x1001ad11
nop
lea ecx, [eax + 0x34]
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 8
jb 0x1001acf2
mov ecx, dword [ecx]
xor edx, edx
mov word [ecx], dx
lea ecx, [eax + 0x4c]
mov dword [ecx + 0x10], edx
cmp dword [ecx + 0x14], 0x10
jb 0x1001ad05
mov ecx, dword [ecx]
mov byte [ecx], dl
mov eax, dword [eax]
cmp eax, dword [edi + 0x17c]
jne 0x1001ace0
mov ecx, dword [edi + 0x250]
lea edx, [ebp - 0x3000]
mov esi, dword [ebp - 0x3068]
mov dword [ebp - 0x3000], 0x1c
push edx
mov eax, dword [ecx]
push 0
push esi
mov dword [ebp - 0x3058], 0
mov eax, dword [eax + 0x20]
call eax
test eax, eax
je 0x1001c28d
nop word [eax + eax]
push 0x204
lea eax, [ebp - 0x41c]
mov dword [ebp - 0x305c], 0
push 0
push eax
mov dword [ebp - 0x420], 0x20
call sub.VCRUNTIME140.dll_memset
push 0x204
lea eax, [ebp - 0x214]
mov dword [ebp - 0x218], 0x20
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x204
lea eax, [ebp - 0x624]
mov dword [ebp - 0x628], 0x20
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [edi + 0x250]
lea edx, [ebp - 0x305c]
add esp, 0x24
mov dword [ebp - 0x3048], 0
mov dword [ebp - 0x3064], 0
mov eax, dword [ecx]
push 0
push edx
push 0x200
lea edx, [ebp - 0x420]
push edx
lea edx, [ebp - 0x3064]
push edx
push 0x10061a3c
lea edx, [ebp - 0x3000]
push edx
push esi
call dword [eax + 0x28]
mov ecx, dword [edi + 0x250]
lea edx, [ebp - 0x305c]
push 0
push edx
push 0x200
mov eax, dword [ecx]
lea edx, [ebp - 0x218]
push edx
lea edx, [ebp - 0x3064]
push edx
push 0x10061a14
lea edx, [ebp - 0x3000]
push edx
push esi
call dword [eax + 0x28]
mov ecx, dword [edi + 0x250]
lea edx, [ebp - 0x305c]
push 0
push edx
push 0x200
mov eax, dword [ecx]
lea edx, [ebp - 0x628]
push edx
lea edx, [ebp - 0x3064]
push edx
push 0x100619ec
lea edx, [ebp - 0x3000]
push edx
push esi
call dword [eax + 0x28]
push 0x800
lea eax, [ebp - 0xe28]
mov dword [ebp - 0x3060], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x2000
lea eax, [ebp - 0x2e28]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [edi + 0x250]
add esp, 0x18
mov dword [ebp - 0x3050], 0
mov eax, dword [ecx]
lea edx, [ebp - 0x3050]
push 0
push edx
push 0x800
mov eax, dword [eax + 0x28]
lea edx, [ebp - 0xe28]
push edx
lea edx, [ebp - 0x3060]
push edx
push 0x10061a28
lea edx, [ebp - 0x3000]
push edx
push esi
call eax
test eax, eax
je 0x1001af82
mov ecx, dword [edi + 0x250]
lea edx, [ebp - 0x2e28]
push 0x1000
push edx
lea edx, [ebp - 0xe28]
mov eax, dword [ecx]
push edx
call dword [eax + 0x4c]
xorps xmm0, xmm0
mov dword [ebp - 0x2e90], 0
lea ecx, [ebp - 0x2e28]
mov dword [ebp - 0x2e8c], 0
movups xmmword [ebp - 0x2ea0], xmm0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001af24
sub ecx, edx
lea eax, [ebp - 0x2e28]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2ea0]
call fcn.10001e10
mov byte [ebp - 4], 1
lea eax, [ebp - 0x2ea0]
cmp dword [ebp - 0x2e8c], 8
push dword [ebp - 0x2e90]
cmovae eax, dword [ebp - 0x2ea0]
push eax
call fcn.1000b4d0
add esp, 8
mov dword [ebp - 0x3048], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2ea0]
call fcn.10002cb0
mov eax, dword [edi + 0x13c]
mov esi, dword [eax]
cmp esi, eax
je 0x1001b32d
xorps xmm0, xmm0
mov dword [ebp - 0x2e78], 0
lea ecx, [ebp - 0x420]
mov dword [ebp - 0x2e74], 0
movups xmmword [ebp - 0x2e88], xmm0
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001afc0
sub ecx, edx
lea eax, [ebp - 0x420]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2e88]
call fcn.10001e10
mov byte [ebp - 4], 2
lea edx, [esi + 8]
cmp dword [esi + 0x1c], 8
jb 0x1001aff2
mov edx, dword [esi + 8]
push dword [esi + 0x18]
cmp dword [ebp - 0x2e74], 8
lea eax, [ebp - 0x2e88]
push edx
cmovae eax, dword [ebp - 0x2e88]
push 0
push dword [ebp - 0x2e78]
push eax
call fcn.1000bb00
add esp, 0x14
cmp eax, 0xffffffff
je 0x1001b0ea
xorps xmm0, xmm0
mov dword [ebp - 0x2e60], 0
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x2e5c], 0
movups xmmword [ebp - 0x2e70], xmm0
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001b050
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2e70]
call fcn.10001e10
mov byte [ebp - 4], 3
lea eax, [ebp - 0x2e70]
cmp dword [ebp - 0x2e5c], 8
push 0xe
cmovae eax, dword [ebp - 0x2e70]
push str.0.0.0.00000000
push 0
push dword [ebp - 0x2e60]
push eax
call fcn.1000bb00
add esp, 0x14
cmp eax, 0xffffffff
jne 0x1001b15e
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x2e5c]
cmp eax, 8
jb 0x1001b0cd
inc eax
lea ecx, [ebp - 0x2e70]
push eax
push dword [ebp - 0x2e70]
call fcn.10034410
xor eax, eax
mov dword [ebp - 0x2e60], 0
mov dword [ebp - 0x2e5c], 7
mov word [ebp - 0x2e70], ax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x2e74]
cmp ecx, 8
jb 0x1001b12e
mov edx, dword [ebp - 0x2e88]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001b124
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001c3bb
push ecx
push edx
call fcn.1005024f
add esp, 8
mov esi, dword [esi]
xor eax, eax
mov dword [ebp - 0x2e78], 0
mov dword [ebp - 0x2e74], 7
mov word [ebp - 0x2e88], ax
cmp esi, dword [edi + 0x13c]
jne 0x1001af92
jmp 0x1001b32d
mov eax, dword [ebp - 0x3048]
mov edi, dword [esi + 0x20]
mov esi, dword [ebp - 0x303c]
mov dword [ebp - 0x2f04], eax
add esi, 0x178
lea eax, [ebp - 0x3048]
mov dword [ebp - 0x2f08], 0
push eax
lea eax, [ebp - 0x3180]
mov dword [ebp - 0x2f10], edi
push eax
mov ecx, esi
mov dword [ebp - 0x2f14], 0x1532
mov dword [ebp - 0x2f00], 0
mov dword [ebp - 0x2f0c], 0
call fcn.1000bdb0
movups xmm0, xmmword [ebp - 0x2f14]
mov ecx, esi
mov eax, dword [eax]
movups xmmword [eax + 0x18], xmm0
movq xmm0, qword [ebp - 0x2f04]
movq qword [eax + 0x28], xmm0
lea eax, [ebp - 0x3048]
push eax
lea eax, [ebp - 0x3188]
push eax
call fcn.1000bdb0
lea edx, [ebp - 0x420]
mov ecx, dword [eax]
lea eax, [edx + 2]
add ecx, 0x34
mov dword [ebp - 0x3060], eax
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x1001b200
sub edx, dword [ebp - 0x3060]
lea eax, [ebp - 0x420]
sar edx, 1
push edx
push eax
call fcn.10033320
lea eax, [ebp - 0x3048]
mov ecx, esi
push eax
lea eax, [ebp - 0x2fc4]
push eax
call fcn.1000bdb0
push ecx
mov esi, esp
mov dword [ebp - 0x307c], esp
mov eax, dword [eax]
mov dword [ebp - 0x3088], esi
mov dword [eax + 0x10], edi
call fcn.100063f0
mov ecx, eax
test ecx, ecx
je 0x1001ce78
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 4
lea eax, [ebp - 0x420]
push eax
mov ecx, esi
call fcn.10019c40
test al, al
jne 0x1001b288
lea eax, [ebp - 0x420]
mov ecx, esi
push eax
call fcn.10018010
mov byte [ebp - 4], 5
mov edi, dword [ebp - 0x303c]
mov eax, dword [edi + 0x210]
lea ecx, [edi + 0x210]
mov byte [ebp - 4], 3
call dword [eax + 8]
push str.RzKitty:_product_name_found_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x2e5c]
cmp eax, 8
jb 0x1001b2d2
inc eax
lea ecx, [ebp - 0x2e70]
push eax
push dword [ebp - 0x2e70]
call fcn.10034410
xor eax, eax
mov dword [ebp - 0x2e60], 0
mov dword [ebp - 0x2e5c], 7
mov word [ebp - 0x2e70], ax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x2e74]
cmp eax, 8
jb 0x1001b310
inc eax
lea ecx, [ebp - 0x2e88]
push eax
push dword [ebp - 0x2e88]
call fcn.10034410
xor eax, eax
mov dword [ebp - 0x2e78], 0
mov dword [ebp - 0x2e74], 7
mov word [ebp - 0x2e88], ax
mov ecx, dword [edi + 0x248]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
cmp al, 1
jne 0x1001b418
xorps xmm0, xmm0
mov dword [ebp - 0x2f1c], 0
lea ecx, [ebp - 0x628]
mov dword [ebp - 0x2f18], 0
movups xmmword [ebp - 0x2f2c], xmm0
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001b370
sub ecx, edx
lea eax, [ebp - 0x628]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2f2c]
call fcn.10001e10
mov byte [ebp - 4], 6
lea esi, [ebp - 0x2f2c]
or dword [ebp - 0x3040], 1
mov edx, 0x811c9dc5
cmp dword [ebp - 0x2f18], 8
mov edi, dword [ebp - 0x2f2c]
mov eax, dword [ebp - 0x2f1c]
cmovae esi, edi
xor ecx, ecx
mov dword [ebp - 0x3050], edi
add eax, eax
je 0x1001b3e7
mov edi, eax
nop dword [eax]
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x1001b3d0
mov edi, dword [ebp - 0x3050]
mov esi, dword [ebp - 0x303c]
lea eax, [ebp - 0x2f2c]
push edx
push eax
lea eax, [ebp - 0x30b4]
add esi, 0x158
push eax
mov ecx, esi
call fcn.1000b0c0
cmp dword [eax + 4], 0
je 0x1001b424
mov byte [ebp - 0x3051], 1
jmp 0x1001b42b
lea esi, [edi + 0x158]
mov edi, dword [ebp - 0x2f2c]
mov byte [ebp - 0x3051], 0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x3040]
test al, 1
je 0x1001b49c
and eax, 0xfffffffe
mov dword [ebp - 0x3040], eax
mov eax, dword [ebp - 0x2f18]
cmp eax, 8
jb 0x1001b47f
lea ecx, [eax*2 + 2]
mov eax, edi
cmp ecx, 0x1000
jb 0x1001b475
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001c3bb
push ecx
push edi
call fcn.1005024f
add esp, 8
xor eax, eax
mov dword [ebp - 0x2f1c], 0
mov dword [ebp - 0x2f18], 7
mov word [ebp - 0x2f2c], ax
cmp byte [ebp - 0x3051], 0
je 0x1001c256
xorps xmm0, xmm0
mov dword [ebp - 0x2fac], 0
lea ecx, [ebp - 0x628]
mov dword [ebp - 0x2fa8], 0
movups xmmword [ebp - 0x2fbc], xmm0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001b4d0
sub ecx, edx
lea eax, [ebp - 0x628]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2fbc]
call fcn.10001e10
mov byte [ebp - 4], 7
lea eax, [ebp - 0x2fbc]
push eax
lea eax, [ebp - 0x30c0]
mov ecx, esi
push eax
call fcn.1000c280
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x3060], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x2fa8]
cmp ecx, 8
jb 0x1001b55a
mov edx, dword [ebp - 0x2fbc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001b550
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001c3bb
push ecx
push edx
call fcn.1005024f
add esp, 8
xor eax, eax
mov dword [ebp - 0x2fac], 0
xorps xmm0, xmm0
mov dword [ebp - 0x2e30], eax
movups xmmword [ebp - 0x2e40], xmm0
mov dword [ebp - 0x2e2c], eax
mov dword [ebp - 0x2fa8], 7
mov word [ebp - 0x2fbc], ax
mov dword [ebp - 0x2e30], eax
mov dword [ebp - 0x2e2c], 0xf
mov byte [ebp - 0x2e40], al
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x218]
movups xmmword [ebp - 0x2f44], xmm0
mov dword [ebp - 0x2f34], eax
lea edx, [ecx + 2]
mov dword [ebp - 0x2f30], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001b5c3
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2f44]
call fcn.10001e10
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2f44]
cmp dword [ebp - 0x2f30], 8
xorps xmm0, xmm0
mov eax, dword [ebp - 0x2f34]
cmovae ecx, dword [ebp - 0x2f44]
mov dword [ebp - 0x2e48], 0
mov dword [ebp - 0x2e44], 0
movups xmmword [ebp - 0x2e58], xmm0
lea esi, [ecx + eax*2]
mov dword [ebp - 0x2e48], 0
lea eax, [ebp - 0x2f44]
mov dword [ebp - 0x2e44], 0xf
cmovae eax, dword [ebp - 0x2f44]
mov dword [ebp - 0x3050], eax
cmp eax, esi
jne 0x1001b65b
mov byte [ebp - 0x2e58], 0
jmp 0x1001b72f
mov edi, esi
sub edi, eax
sar edi, 1
cmp edi, 0x7fffffff
ja 0x1001ce9b
cmp edi, 0x10
jb 0x1001b6b0
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x1001b684
mov edi, SysReAllocString
jmp 0x1001b68f
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x2e58]
call fcn.10006000
mov dword [ebp - 0x2e58], eax
mov eax, dword [ebp - 0x3050]
mov dword [ebp - 0x2e44], edi
lea ecx, [ebp - 0x2e58]
mov dword [ebp - 0x304c], ecx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x2e48]
nop word [eax + eax]
cmp dword [ebp - 0x2e44], 0x10
lea ecx, [ebp - 0x2e58]
mov al, byte [eax]
cmovae ecx, dword [ebp - 0x2e58]
mov byte [ecx + edx], al
mov edx, dword [ebp - 0x2e48]
inc edx
mov dword [ebp - 0x2e48], edx
mov eax, dword [ebp - 0x3050]
add eax, 2
mov dword [ebp - 0x3050], eax
cmp eax, esi
jne 0x1001b6d0
cmp dword [ebp - 0x2e44], 0x10
lea eax, [ebp - 0x2e58]
mov dword [ebp - 0x304c], 0
cmovae eax, dword [ebp - 0x2e58]
mov byte [edx + eax], 0
mov byte [ebp - 4], 9
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x2fe4]
push 7
push 0
push eax
lea ecx, [ebp - 0x2e58]
call fcn.10039a70
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2fe4]
cmp dword [ebp - 0x2fd0], 0x10
mov eax, 7
mov edi, dword [ebp - 0x2fd4]
mov edx, str.BTHENUM
cmovae ecx, dword [ebp - 0x2fe4]
mov esi, edi
cmp edi, 7
cmova esi, eax
sub esi, 4
jb 0x1001b791
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1001b796
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1001b780
cmp esi, 0xfffffffc
je 0x1001b7ca
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1001b7c3
cmp esi, 0xfffffffd
je 0x1001b7ca
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1001b7c3
cmp esi, 0xfffffffe
je 0x1001b7ca
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1001b7c3
cmp esi, 0xffffffff
je 0x1001b7ca
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1001b7ca
sbb eax, eax
or eax, 1
jmp 0x1001b7cc
xor eax, eax
test eax, eax
jne 0x1001c17f
cmp edi, 7
jb 0x1001c17f
ja 0x1001c17f
push ecx
mov esi, esp
mov dword [ebp - 0x3074], esp
mov dword [ebp - 0x306c], esi
call fcn.100063f0
mov ecx, eax
test ecx, ecx
je 0x1001ce78
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x218]
push eax
mov ecx, esi
call fcn.10019c40
test al, al
jne 0x1001b831
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
call fcn.10018010
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x303c]
add ecx, 0x210
mov eax, dword [ecx]
mov byte [ebp - 4], 0xc
call dword [eax + 8]
cmp dword [ebp - 0x2e44], 0x10
lea ecx, [ebp - 0x2e58]
mov edi, dword [ebp - 0x2e48]
cmovae ecx, dword [ebp - 0x2e58]
cmp edi, 5
jb 0x1001b894
or edx, 0xffffffff
lea eax, [edi - 5]
cmp eax, edx
cmovb edx, eax
add edx, ecx
cmp byte [edx], 0x5f
jne 0x1001b889
cmp dword [edx], 0x4449505f
jne 0x1001b889
cmp byte [edx + 4], 0x26
je 0x1001b890
cmp edx, ecx
je 0x1001b894
dec edx
jmp 0x1001b876
sub edx, ecx
jmp 0x1001b897
or edx, 0xffffffff
cmp dword [ebp - 0x2e44], 0x10
lea esi, [ebp - 0x2e58]
cmovae esi, dword [ebp - 0x2e58]
cmp edi, 9
jb 0x1001b8e7
or ecx, 0xffffffff
lea eax, [edi - 9]
cmp eax, ecx
cmovb ecx, eax
add ecx, esi
nop dword [eax]
cmp byte [ecx], 0x5f
jne 0x1001b8dc
cmp dword [ecx], 0x434f4c5f
jne 0x1001b8dc
cmp dword [ecx + 4], 0x464d4c41
jne 0x1001b8dc
cmp byte [ecx + 8], 0x47
je 0x1001b8e3
cmp ecx, esi
je 0x1001b8e7
dec ecx
jmp 0x1001b8c0
sub ecx, esi
jmp 0x1001b8ea
or ecx, 0xffffffff
cmp edx, 0xffffffff
jne 0x1001b8f7
cmp ecx, edx
je 0x1001c17f
cmp dword [ebp - 0x2e44], 0x10
lea edi, [ebp - 0x2e58]
mov esi, dword [ebp - 0x2e48]
cmovae edi, dword [ebp - 0x2e58]
test esi, esi
je 0x1001b978
push 0x5f
lea eax, [ebp - 0x728]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0xa0
lea eax, [ebp - 0x6c8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
lea eax, [esi - 1]
mov byte [ebp - 0x6c9], 1
or esi, 0xffffffff
add esp, 0x18
cmp eax, esi
cmovb esi, eax
movzx eax, byte [esi + edi]
add esi, edi
mov al, byte [ebp + eax - 0x728]
test al, al
jne 0x1001b974
nop
cmp esi, edi
je 0x1001b978
movzx eax, byte [esi - 1]
dec esi
mov al, byte [ebp + eax - 0x728]
test al, al
je 0x1001b960
sub esi, edi
jmp 0x1001b97b
or esi, 0xffffffff
cmp esi, 0xffffffff
je 0x1001c17f
push ecx
mov edi, esp
mov dword [ebp - 0x309c], esp
mov dword [ebp - 0x3098], edi
call fcn.100063f0
mov ecx, eax
test ecx, ecx
je 0x1001ce78
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x218]
push eax
mov ecx, edi
call fcn.10019c40
test al, al
jne 0x1001b9d2
lea eax, [ebp - 0x218]
mov ecx, edi
push eax
call fcn.10018010
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x303c]
add ecx, 0x210
mov eax, dword [ecx]
mov byte [ebp - 4], 0xc
call dword [eax + 8]
add esi, 0xfffffffa
mov byte [ebp - 4], 0x11
xorps xmm0, xmm0
mov eax, dword [ebp - 0x2e48]
mov dword [ebp - 0x2f94], 0
mov dword [ebp - 0x2f90], 0
movups xmmword [ebp - 0x2fa4], xmm0
cmp eax, esi
jb 0x1001ce96
sub eax, esi
mov ecx, 6
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x2e44], 0x10
lea eax, [ebp - 0x2e58]
cmovae eax, dword [ebp - 0x2e58]
push ecx
add eax, esi
lea ecx, [ebp - 0x2fa4]
push eax
call fcn.100095b0
mov eax, dword [ebp - 0x3040]
or eax, 0x100
mov dword [ebp - 0x3040], eax
mov ecx, dword [ebp - 0x2e2c]
cmp ecx, 0x10
jb 0x1001ba9e
mov edx, dword [ebp - 0x2e40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001ba8e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001c3bb
push ecx
push edx
call fcn.1005024f
mov eax, dword [ebp - 0x3040]
add esp, 8
movups xmm0, xmmword [ebp - 0x2fa4]
mov byte [ebp - 0x2e40], 0
and eax, 0xfffffeff
mov dword [ebp - 0x2e30], 0
movups xmmword [ebp - 0x2e40], xmm0
mov dword [ebp - 0x2e2c], 0xf
movq xmm0, qword [ebp - 0x2f94]
movq qword [ebp - 0x2e30], xmm0
mov dword [ebp - 0x2f94], 0
mov dword [ebp - 0x2f90], 0xf
mov byte [ebp - 0x2fa4], 0
mov dword [ebp - 0x3040], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2fa4]
call fcn.10002c20
push str.___classic
lea eax, [ebp - 0x2e40]
push eax
lea eax, [ebp - 0x3030]
push eax
call fcn.10009010
mov byte [ebp - 4], 0x12
lea edi, [ebp - 0x3030]
cmp dword [ebp - 0x301c], 0x10
cmovae edi, dword [ebp - 0x3030]
add esp, 8
mov esi, esp
mov dword [ebp - 0x3094], esp
mov dword [ebp - 0x30a0], esi
call fcn.100063f0
mov ecx, eax
test ecx, ecx
je 0x1001ce78
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x13
mov ecx, esi
push edi
call fcn.10019c40
test al, al
jne 0x1001bb80
push edi
mov ecx, esi
call fcn.10017ef0
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x303c]
add ecx, 0x210
mov eax, dword [ecx]
mov byte [ebp - 4], 0x12
call dword [eax + 8]
push 0xffffffffffffffff
push 2
lea eax, [ebp - 0x2f8c]
push eax
lea ecx, [ebp - 0x2e40]
call fcn.10039a70
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x3018]
push 2
push 0
push eax
lea ecx, [ebp - 0x2e40]
call fcn.10039a70
mov byte [ebp - 4], 0x16
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [ebp - 0x3004], 0x10
lea esi, [ebp - 0x3018]
mov edi, eax
lea eax, [ebp - 0x3044]
cmovae esi, dword [ebp - 0x3018]
push 0x10
push eax
push esi
mov dword [edi], 0
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
cmp esi, dword [ebp - 0x3044]
je 0x1001ce8c
cmp dword [edi], 0x22
je 0x1001ce82
lea ecx, [ebp - 0x3110]
mov dword [ebp - 0x3178], 0x1005f5e4
lea esi, [eax + 1]
mov dword [ebp - 0x3168], 0x1005f5ec
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x3160]
or dword [ebp - 0x3040], 0x200
lea ecx, [ebp - 0x3178]
push 0
push eax
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char____]
mov dword [ebp - 4], 0x18
mov eax, dword [ebp - 0x3178]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x3178]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x317c], eax
lea eax, [ebp - 0x3160]
mov ecx, eax
mov dword [ebp - 0x3090], eax
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov byte [ebp - 4], 0x19
mov dword [ebp - method.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [ebp - 0x3128], 0
mov dword [ebp - 0x3124], 0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x3168]
push esi
push 0x10035e90
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x2f5c]
push eax
lea ecx, [ebp - 0x3160]
call fcn.10039850
mov eax, dword [ebp - 0x3040]
or eax, 0x1000
mov dword [ebp - 0x3040], eax
mov ecx, dword [ebp - 0x2e2c]
cmp ecx, 0x10
jb 0x1001bd46
mov edx, dword [ebp - 0x2e40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001bd36
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001c3bb
push ecx
push edx
call fcn.1005024f
mov eax, dword [ebp - 0x3040]
add esp, 8
movups xmm0, xmmword [ebp - 0x2f5c]
mov byte [ebp - 0x2e40], 0
and eax, 0xffffefff
mov dword [ebp - 0x2e30], 0
movups xmmword [ebp - 0x2e40], xmm0
mov dword [ebp - 0x2e2c], 0xf
movq xmm0, qword [ebp - 0x2f4c]
movq qword [ebp - 0x2e30], xmm0
mov dword [ebp - 0x2f4c], 0
mov dword [ebp - 0x2f48], 0xf
mov byte [ebp - 0x2f5c], 0
mov dword [ebp - 0x3040], eax
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x2f5c]
call fcn.10002c20
mov edx, dword [ebp - 0x2e30]
cmp edx, 2
jbe 0x1001bef3
add edx, 0xfffffffe
mov byte [ebp - 4], 0x1d
xorps xmm0, xmm0
mov eax, dword [ebp - 0x2e30]
mov dword [ebp - 0x2f64], 0
mov dword [ebp - 0x2f60], 0
movups xmmword [ebp - 0x2f74], xmm0
cmp eax, edx
jb 0x1001ce96
sub eax, edx
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [ebp - 0x2e2c], 0x10
lea eax, [ebp - 0x2e40]
cmovae eax, dword [ebp - 0x2e40]
push ecx
add eax, edx
lea ecx, [ebp - 0x2f74]
push eax
call fcn.100095b0
mov eax, dword [ebp - 0x3040]
or eax, 0x2000
mov dword [ebp - 0x3040], eax
mov ecx, dword [ebp - 0x2e2c]
cmp ecx, 0x10
jb 0x1001be75
mov edx, dword [ebp - 0x2e40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001be65
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001c3bb
push ecx
push edx
call fcn.1005024f
mov eax, dword [ebp - 0x3040]
add esp, 8
movups xmm0, xmmword [ebp - 0x2f74]
mov byte [ebp - 0x2e40], 0
and eax, 0xffffdfff
mov dword [ebp - 0x2e30], 0
movups xmmword [ebp - 0x2e40], xmm0
mov dword [ebp - 0x2e2c], 0xf
movq xmm0, qword [ebp - 0x2f64]
movq qword [ebp - 0x2e30], xmm0
mov dword [ebp - 0x2f64], 0
mov dword [ebp - 0x2f60], 0xf
mov byte [ebp - 0x2f74], 0
mov dword [ebp - 0x3040], eax
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x2f64], 0
mov dword [ebp - 0x2f60], 0xf
mov byte [ebp - 0x2f74], 0
cmp dword [ebp - 0x2f78], 0x10
lea eax, [ebp - 0x2f8c]
push dword [ebp - 0x2f7c]
cmovae eax, dword [ebp - 0x2f8c]
lea ecx, [ebp - 0x2e40]
push eax
call fcn.10032f50
xorps xmm0, xmm0
mov dword [ebp - 0x2ee4], 0
movups xmmword [ebp - 0x2ef4], xmm0
mov dword [ebp - 0x2ee0], 0
mov dword [ebp - 0x2ee4], 0
mov dword [ebp - 0x2ee0], 0xf
mov byte [ebp - 0x2ef4], 0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x2ef4]
push 0
push 0x1005e274
mov dword [ebp - 0x2efc], 0
mov dword [ebp - 0x2ef8], 0
call fcn.10033230
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x2ef4]
mov eax, dword [ebp - 0x3060]
cmp dword [ebp - 0x2e2c], 0x10
push dword [ebp - 0x2e30]
mov dword [ebp - 0x2efc], eax
mov eax, dword [ebp - 0x3048]
mov dword [ebp - 0x2ef8], eax
lea eax, [ebp - 0x2e40]
cmovae eax, dword [ebp - 0x2e40]
push eax
call fcn.10033230
mov esi, dword [ebp - 0x3080]
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x1001bffc
mov dword [ebp - 0x30ac], ecx
mov eax, dword [ebp - 0x2efc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2ef8]
mov dword [ecx + 4], eax
lea eax, [ebp - 0x2ef4]
push eax
add ecx, 8
call fcn.10011e80
mov byte [ebp - 4], 0x1f
add dword [esi + 4], 0x20
jmp 0x1001c00b
lea eax, [ebp - 0x2efc]
push eax
push ecx
mov ecx, esi
call fcn.1000a2d0
push 6
push str.___BLE
lea ecx, [ebp - 0x2e40]
call fcn.10032f50
cmp dword [ebp - 0x2e2c], 0x10
lea esi, [ebp - 0x2e40]
push ecx
cmovae esi, dword [ebp - 0x2e40]
mov edi, esp
mov dword [ebp - 0x30a8], esp
mov dword [ebp - 0x30a4], edi
call fcn.100063f0
mov ecx, eax
test ecx, ecx
je 0x1001ce78
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x21
mov ecx, edi
push esi
call fcn.10019c40
test al, al
jne 0x1001c073
push esi
mov ecx, edi
call fcn.10017ef0
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x303c]
add ecx, 0x210
mov eax, dword [ecx]
mov byte [ebp - 4], 0x1f
call dword [eax + 8]
push str.RzKitty:_bt_address_found_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x2ee0]
cmp ecx, 0x10
jb 0x1001c0d5
mov edx, dword [ebp - 0x2ef4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001c0cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001c3bb
push ecx
push edx
call fcn.1005024f
add esp, 8
mov dword [ebp - 0x2ee4], 0
mov dword [ebp - 0x2ee0], 0xf
mov byte [ebp - 0x2ef4], 0
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x3110]
mov dword [ebp - 0x3084], eax
mov eax, dword [ebp - 0x3178]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x3178]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x317c], eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x3160]
call fcn.10015e20
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x3158]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x3110]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x3018]
call fcn.10002c20
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x2f8c]
call fcn.10002c20
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x3030]
call fcn.10002c20
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2fe4]
call fcn.10002c20
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x2e44]
cmp ecx, 0x10
jb 0x1001c1cc
mov edx, dword [ebp - 0x2e58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001c1c2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001c3bb
push ecx
push edx
call fcn.1005024f
add esp, 8
mov dword [ebp - 0x2e48], 0
mov dword [ebp - 0x2e44], 0xf
mov byte [ebp - 0x2e58], 0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2f30]
cmp ecx, 8
jb 0x1001c22b
mov edx, dword [ebp - 0x2f44]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001c221
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001c3bb
push ecx
push edx
call fcn.1005024f
add esp, 8
xor eax, eax
mov dword [ebp - 0x2f34], 0
mov dword [ebp - 0x2f30], 7
mov word [ebp - 0x2f44], ax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x2e40]
call fcn.10002c20
mov edi, dword [ebp - 0x303c]
lea edx, [ebp - 0x3000]
mov esi, dword [ebp - 0x3058]
inc esi
push edx
mov ecx, dword [edi + 0x250]
push esi
mov dword [ebp - 0x3058], esi
mov esi, dword [ebp - 0x3068]
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x20]
call eax
test eax, eax
jne 0x1001ad50
mov eax, dword [edi + 0x17c]
mov esi, dword [eax]
cmp esi, eax
je 0x1001ce1d
nop dword [eax]
cmp dword [esi + 0x44], 0
je 0x1001ce0f
cmp byte [esi + 0x30], 0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x3048], edi
jne 0x1001c333
mov eax, dword [ebp - 0x3080]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3044], eax
cmp edi, eax
je 0x1001c32d
mov eax, dword [edi]
lea ecx, [ebp - 0x3030]
mov dword [ebp - 0x3038], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x3034], eax
lea eax, [edi + 8]
push eax
call fcn.10011e80
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x3048]
cmp dword [ebp - 0x3038], eax
jne 0x1001c313
mov eax, dword [ebp - 0x3034]
cmp eax, dword [esi + 8]
je 0x1001c3c1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3030]
call fcn.10002c20
add edi, 0x20
cmp edi, dword [ebp - 0x3044]
jne 0x1001c2d2
mov edi, dword [ebp - 0x3048]
call fcn.100063f0
mov ecx, eax
test ecx, ecx
je 0x1001ce78
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x3064], eax
mov byte [ebp - 4], 0x35
push dword [esi + 0x2c]
movzx eax, byte [esi + 0x30]
push dword [esi + 0x28]
push edi
push eax
lea eax, [ebp - 0x3064]
push str.is_BTLE_found____d__PID_0x_x_instance_0x_x
push eax
call fcn.10021040
add esp, 0x14
mov dword [ebp - 0x307c], esp
mov edi, dword [ebp - 0x3064]
add edi, 0xfffffff0
mov dword [ebp - 0x3094], esp
mov dword [ebp - 0x3058], edi
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
mov ecx, eax
jl 0x1001c85d
cmp ecx, dword [edi]
jne 0x1001c85d
mov eax, edi
lock inc dword [edx]
jmp 0x1001c918
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov edi, dword [ebp - 0x303c]
push 0x10035780
mov ecx, dword [edi + 0x248]
mov eax, dword [ecx]
call dword [eax + 0x1c]
push dword [ebp - 0x3034]
lea eax, [ebp - 0x2f14]
mov dword [edi + 0x1fc], 0
push eax
call fcn.1003a280
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x2f5c]
push dword [ebp - 0x3048]
push eax
call fcn.1003a280
add esp, 0x10
mov byte [ebp - 4], 0x2a
mov eax, SysReAllocString
mov ecx, dword [ebp - 0x2f04]
sub eax, ecx
cmp eax, 1
jb 0x1001ce9b
cmp dword [ebp - 0x2f00], 0x10
lea eax, [ebp - 0x2f14]
push ecx
cmovae eax, dword [ebp - 0x2f14]
lea ecx, [ebp - 0x2f8c]
push eax
push 1
push 0x1005f664
lea eax, [ebp - 0x2f14]
push eax
push dword [ebp - 0x3084]
call fcn.10012100
or dword [ebp - 0x3040], 0x40
lea eax, [ebp - 0x2f8c]
cmp dword [ebp - 0x2f78], 0x10
lea ecx, [ebp - 0x2f5c]
push dword [ebp - 0x2f7c]
cmovae eax, dword [ebp - 0x2f8c]
push eax
call fcn.10032f50
and dword [ebp - 0x3040], 0xffffffbf
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x2f8c]
call fcn.10002c20
mov edi, dword [edi + 0x248]
lea edx, [ebp - 0x2f5c]
sub esp, 0x18
mov dword [ebp - 0x3058], edi
mov ecx, esp
mov dword [ebp - 0x3084], esp
xorps xmm0, xmm0
mov dword [ebp - 0x3044], ecx
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
cmp dword [ebp - 0x2f48], 0x10
mov eax, dword [ebp - 0x2f4c]
cmovae edx, dword [ebp - 0x2f5c]
mov dword [ebp - 0x3060], edx
mov dword [ebp - 0x304c], eax
cmp eax, 0x7fffffff
ja 0x1001ce9b
mov dword [ecx + 0x14], 0xf
cmp eax, 0x10
jae 0x1001c51a
push 0x10
push edx
push ecx
mov dword [ecx + 0x10], eax
call sub.VCRUNTIME140.dll_memmove
jmp 0x1001c56c
mov edi, eax
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x1001c52e
mov edi, SysReAllocString
jmp 0x1001c539
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
lea eax, [edi + 1]
push eax
call fcn.10006000
mov ecx, dword [ebp - 0x3044]
mov edx, dword [ebp - 0x304c]
mov dword [ecx], eax
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], edi
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x3060]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edi, dword [ebp - 0x3058]
add esp, 0xc
mov byte [ebp - 4], 0x2b
mov eax, dword [edi]
mov byte [ebp - 4], 0x29
mov ecx, edi
call dword [eax + 0x14]
mov ecx, dword [ebp - 0x303c]
sub esp, 0x18
cmp dword [ebp - 0x301c], 0x10
mov edi, esp
xorps xmm0, xmm0
mov dword [ebp - 0x30a4], esp
mov eax, dword [ecx + 0x248]
lea ecx, [ebp - 0x3030]
cmovae ecx, dword [ebp - 0x3030]
mov dword [ebp - 0x304c], eax
mov eax, dword [ebp - 0x3020]
mov dword [ebp - 0x3044], ecx
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp eax, 0x7fffffff
ja 0x1001ce9b
mov dword [edi + 0x14], 0xf
cmp eax, 0x10
jae 0x1001c5f4
push 0x10
push ecx
push edi
mov dword [edi + 0x10], eax
call sub.VCRUNTIME140.dll_memmove
jmp 0x1001c643
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x1001c605
mov eax, SysReAllocString
jmp 0x1001c610
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp - 0x3058], eax
mov ecx, edi
inc eax
push eax
call fcn.10006000
mov edx, dword [ebp - 0x3020]
mov ecx, dword [ebp - 0x3058]
mov dword [edi + 0x14], ecx
mov dword [edi], eax
lea ecx, [edx + 1]
mov dword [edi + 0x10], edx
push ecx
push dword [ebp - 0x3044]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x304c]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x29
call dword [eax + 0x18]
mov eax, dword [ebp - 0x303c]
push dword [ebp - 0x3048]
mov ecx, dword [eax + 0x248]
mov eax, dword [ecx]
call dword [eax + 0x24]
push str.RzKitty:_before_lock_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push ecx
mov edi, esp
mov dword [ebp - 0x30a8], esp
mov dword [ebp - 0x30ac], edi
call fcn.100063f0
mov ecx, eax
test ecx, ecx
je 0x1001ce78
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x2d
mov ecx, edi
push str.before_lock
call fcn.10019c40
test al, al
jne 0x1001c6c5
push str.before_lock
mov ecx, edi
call fcn.10017ef0
mov byte [ebp - 4], 0x2e
mov edi, dword [ebp - 0x303c]
mov eax, dword [edi + 0x210]
lea ecx, [edi + 0x210]
mov byte [ebp - 4], 0x29
call dword [eax + 8]
lea eax, [edi + 0x294]
mov dword [ebp - 0x308c], eax
push eax
mov byte [ebp - 0x3088], 0
call sub.MSVCP140.dll__Mtx_lock
add esp, 4
test eax, eax
jne 0x1001ce72
mov byte [ebp - 0x3088], 1
mov byte [ebp - 4], 0x2f
cmp byte [edi + 0x268], al
jne 0x1001c792
call sub.MSVCP140.dll__Xtime_get_ticks
add eax, 0x2faf080
push 0
push 0x64
adc edx, 0
push edx
push eax
call fcn.10050aa0
push 0
push 0x3b9aca00
mov edi, edx
mov dword [ebp - 0x3044], eax
push edi
push eax
call fcn.10050910
push 0xffffffffffffffff
push 0xc4653600
push edx
push eax
mov dword [ebp - 0x2fcc], eax
mov dword [ebp - 0x2fc8], edx
call fcn.10050aa0
mov ecx, dword [ebp - 0x3044]
add ecx, eax
lea eax, [ebp - 0x2fcc]
mov dword [ebp - 0x2fc4], ecx
mov ecx, dword [ebp - 0x303c]
push eax
lea eax, [ebp - 0x308c]
add ecx, 0x26c
push eax
call fcn.1003ae60
push str.RzKitty:_after_lock_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push ecx
mov edi, esp
mov dword [ebp - 0x3090], esp
mov dword [ebp - 0x30a0], edi
call fcn.100063f0
mov ecx, eax
test ecx, ecx
je 0x1001ce78
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x30
mov ecx, edi
push str.after_lock
call fcn.10019c40
test al, al
jne 0x1001c7e7
push str.after_lock
mov ecx, edi
call fcn.10017ef0
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x303c]
add ecx, 0x210
mov eax, dword [ecx]
mov byte [ebp - 4], 0x2f
call dword [eax + 8]
mov ecx, dword [ebp - 0x303c]
mov edi, dword [ebp - 0x3048]
cmp dword [ecx + 0x1fc], edi
jne 0x1001c818
mov byte [esi + 0x30], 1
mov byte [ebp - 4], 0x29
lea eax, [ecx + 0x294]
push eax
call sub.MSVCP140.dll__Mtx_unlock
add esp, 4
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x2f5c]
call fcn.10002c20
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x2f14]
call fcn.10002c20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3030]
call fcn.10002c20
jmp 0x1001c333
mov eax, dword [ecx]
push 1
push dword [edi + 4]
mov eax, dword [eax]
call eax
mov ecx, eax
mov dword [ebp - 0x305c], ecx
test ecx, ecx
je 0x1001ce6d
mov edx, dword [edi + 4]
mov dword [ecx + 4], edx
inc edx
mov ecx, dword [edi + 4]
lea edi, [eax + 0x10]
inc ecx
mov dword [ebp - 0x3050], edi
mov edi, dword [ebp - 0x3058]
mov dword [ebp - 0x304c], ecx
mov dword [ebp - 0x3044], edx
test ecx, ecx
je 0x1001c918
cmp dword [ebp - 0x3050], 0
jne 0x1001c8bd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], 0x16
jmp 0x1001c90c
lea eax, [edi + 0x10]
test eax, eax
je 0x1001c8da
cmp edx, ecx
jb 0x1001c8da
push ecx
push eax
push dword [ebp - 0x3050]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x1001c912
push edx
push 0
push dword [ebp - 0x3050]
call sub.VCRUNTIME140.dll_memset
lea eax, [edi + 0x10]
add esp, 0xc
test eax, eax
je 0x1001c8af
mov eax, dword [ebp - 0x3044]
cmp eax, dword [ebp - 0x304c]
jae 0x1001c912
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], 0x22
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo]
mov eax, dword [ebp - 0x305c]
mov ecx, dword [ebp - 0x307c]
add eax, 0x10
mov dword [ecx], eax
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x303c]
add ecx, 0x210
mov eax, dword [ecx]
mov byte [ebp - 4], 0x35
call dword [eax + 8]
mov eax, dword [ebp - 0x303c]
mov ecx, dword [eax + 0x248]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test al, al
je 0x1001c95d
cmp byte [esi + 0x30], 0
je 0x1001cdee
xorps xmm0, xmm0
mov dword [ebp - 0x2ecc], 0
xor eax, eax
mov dword [ebp - 0x2ec8], 0
movups xmmword [ebp - 0x2edc], xmm0
mov dword [ebp - 0x2ecc], 0
mov dword [ebp - 0x2ec8], 7
mov word [ebp - 0x2edc], ax
mov byte [ebp - 4], 0x38
movups xmmword [ebp - 0x2ec4], xmm0
mov dword [ebp - 0x2eb4], eax
mov dword [ebp - 0x2eb0], eax
mov dword [ebp - 0x2eb4], eax
mov dword [ebp - 0x2eb0], 7
mov word [ebp - 0x2ec4], ax
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x2edc]
push eax
push 0x1005d80c
mov dword [ebp - 0x2ea4], 1
call fcn.10033320
mov dword [ebp - 0x2ea8], 0
mov byte [ebp - 4], 0x3a
lea eax, [esi + 0x34]
lea ecx, [ebp - 0x2ec4]
cmp ecx, eax
je 0x1001ca19
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x1001ca0a
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x2ec4]
call fcn.10033320
mov eax, dword [ebp - 0x3048]
lea ecx, [ebp - 0x2edc]
push 0
push 0x1005d80c
mov word [ebp - 0x2eac], ax
call fcn.10033320
mov eax, dword [ebp - 0x303c]
lea ecx, [esi + 0x28]
push ecx
lea ecx, [ebp - 0x30c4]
mov dword [ebp - 0x2ea8], 4
push ecx
lea ecx, [eax + 0xa8]
call fcn.1000b2a0
mov edi, dword [ebp - 0x30bc]
cmp byte [edi + 0xd], 0
jne 0x1001ca84
mov eax, dword [esi + 0x2c]
cmp eax, dword [edi + 0x14]
jb 0x1001ca84
ja 0x1001cb49
mov eax, dword [esi + 0x28]
cmp eax, dword [edi + 0x10]
jae 0x1001cb49
mov ecx, dword [ebp - 0x303c]
add ecx, 0xa8
cmp dword [ecx + 4], 0x2e8ba2e
je 0x1001cea0
mov eax, dword [ecx]
mov dword [ebp - 0x3044], eax
mov dword [ebp - 0x3070], ecx
mov dword [ebp - 0x306c], 0
mov byte [ebp - 4], 0x3b
push 0x58
mov dword [ebp - 0x306c], 0
call fcn.1005021f
add esp, 4
mov dword [ebp - 0x304c], eax
mov dword [ebp - 0x306c], eax
mov byte [ebp - 4], 0x3c
lea edi, [eax + 0x10]
mov dword [ebp - 0x3098], edi
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x2c]
mov dword [edi], ecx
lea ecx, [edi + 8]
mov dword [edi + 4], edx
call fcn.10013dc0
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0x304c]
mov eax, dword [ebp - 0x3044]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov word [ecx + 0xc], 0
mov byte [ebp - 4], 0x3f
mov dword [ebp - 0x306c], 0
mov byte [ebp - 4], 0x3a
push ecx
push dword [ebp - 0x30c0]
mov ecx, dword [ebp - 0x303c]
push dword [ebp - 0x30c4]
lea ecx, [ecx + 0xa8]
call fcn.10031cd0
mov edi, eax
add edi, 0x18
lea eax, [ebp - 0x2edc]
cmp edi, eax
je 0x1001cb72
cmp dword [ebp - 0x2ec8], 8
mov ecx, edi
push dword [ebp - 0x2ecc]
cmovae eax, dword [ebp - 0x2edc]
push eax
call fcn.10033320
lea ecx, [edi + 0x18]
lea eax, [ebp - 0x2ec4]
cmp ecx, eax
je 0x1001cb99
cmp dword [ebp - 0x2eb0], 8
push dword [ebp - 0x2eb4]
cmovae eax, dword [ebp - 0x2ec4]
push eax
call fcn.10033320
mov ax, word [ebp - 0x2eac]
mov word [edi + 0x30], ax
mov eax, dword [ebp - 0x2ea8]
mov dword [edi + 0x34], eax
mov eax, dword [ebp - 0x2ea4]
mov dword [edi + 0x38], eax
movups xmm0, xmmword [esi + 0x18]
mov edi, dword [ebp - 0x303c]
add edi, 0x2c4
movups xmmword [ebp - 0x2ea0], xmm0
push edi
movq xmm0, qword [esi + 0x28]
movq qword [ebp - 0x2e90], xmm0
mov dword [ebp - 0x309c], edi
call sub.MSVCP140.dll__Mtx_lock
add esp, 4
test eax, eax
jne 0x1001ce72
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x2e90]
mov eax, dword [ebp - 0x303c]
push ecx
lea ecx, [ebp - 0x30b8]
push ecx
lea ecx, [eax + 0x38]
call fcn.1000b2a0
mov ecx, dword [ebp - 0x30b0]
cmp byte [ecx + 0xd], 0
jne 0x1001cc3d
mov eax, dword [ebp - 0x2e8c]
cmp eax, dword [ecx + 0x14]
jb 0x1001cc3d
ja 0x1001ccf6
mov eax, dword [ebp - 0x2e90]
cmp eax, dword [ecx + 0x10]
jae 0x1001ccf6
mov ecx, dword [ebp - 0x303c]
add ecx, 0x38
cmp dword [ecx + 4], 0x5555555
je 0x1001cea0
mov eax, dword [ecx]
mov dword [ebp - 0x304c], eax
mov dword [ebp - 0x3078], ecx
mov dword [ebp - 0x3074], 0
mov byte [ebp - 4], 0x46
push 0x30
mov dword [ebp - 0x3074], 0
call fcn.1005021f
add esp, 4
mov dword [ebp - 0x3044], eax
mov dword [ebp - 0x3074], eax
mov byte [ebp - 4], 0x47
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x2e90]
mov edx, dword [ebp - 0x2e8c]
mov dword [eax + 0x10], ecx
mov ecx, eax
mov eax, dword [ebp - 0x304c]
mov dword [ecx + 0x14], edx
movups xmmword [ecx + 0x18], xmm0
movq qword [ecx + 0x28], xmm0
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov word [ecx + 0xc], 0
mov byte [ebp - 4], 0x48
mov dword [ebp - 0x3074], 0
mov byte [ebp - 4], 0x45
push ecx
push dword [ebp - 0x30b4]
mov ecx, dword [ebp - 0x303c]
push dword [ebp - 0x30b8]
lea ecx, [ecx + 0x38]
call fcn.10031cd0
mov ecx, eax
movups xmm0, xmmword [ebp - 0x2ea0]
push str.RzKitty:_kitty_found_n
movups xmmword [ecx + 0x18], xmm0
movq xmm0, qword [ebp - 0x2e90]
movq qword [ecx + 0x28], xmm0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 4], 0x3a
push edi
call sub.MSVCP140.dll__Mtx_unlock
add esp, 4
mov byte [ebp - 4], 0x4b
mov ecx, dword [ebp - 0x2eb0]
cmp ecx, 8
jb 0x1001cd6a
mov edx, dword [ebp - 0x2ec4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001cd60
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001c3bb
push ecx
push edx
call fcn.1005024f
add esp, 8
xor eax, eax
mov dword [ebp - 0x2eb4], 0
mov dword [ebp - 0x2eb0], 7
mov word [ebp - 0x2ec4], ax
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0x2ec8]
cmp ecx, 8
jb 0x1001cdcb
mov edx, dword [ebp - 0x2edc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001cdc1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001c3bb
push ecx
push edx
call fcn.1005024f
add esp, 8
mov edi, dword [ebp - 0x3058]
xor eax, eax
mov dword [ebp - 0x2ecc], 0
mov dword [ebp - 0x2ec8], 7
mov word [ebp - 0x2edc], ax
mov byte [ebp - 4], 0
or eax, 0xffffffff
lea ecx, [edi + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x1001ce09
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x303c]
mov esi, dword [esi]
cmp esi, dword [edi + 0x17c]
jne 0x1001c2a0
mov ecx, dword [edi + 0x250]
mov edx, dword [ebp - 0x3068]
push edx
mov eax, dword [ecx]
call dword [eax + 0x3c]
push str.RzKitty:_EnumBTLEAudioDevices_done_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x1a4]
push eax
call sub.MSVCP140.dll__Mtx_unlock
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1005078e
mov esp, ebp
pop ebp
ret
call fcn.10005ee0
push eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
push 0x80004005
call fcn.10003510
push str.stoi_argument_out_of_range
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
push str.invalid_stoi_argument
call sub.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const__
call fcn.10032cc0
call fcn.10005ff0
call fcn.10032470
int3