Function at 0x1006e500
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [ebp - 0x10], 0
cmp eax, dword [edi + 0x1c]
jb 0x1006e6be
ja 0x1006e52c
cmp esi, dword [edi + 0x18]
jb 0x1006e6be
mov eax, dword [edi + 8]
or ecx, 0xffffffff
mov dword [ebp - 0x14], eax
or edx, 0xffffffff
or eax, 0xffffffff
mov dword [ebp - 4], ecx
or ebx, 0xffffffff
mov dword [ebp - 8], edx
cmp dword [ebp - 0x14], 0
mov dword [ebp - 0xc], eax
je 0x1006e616
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x28]
mov ebx, edx
mov eax, dword [ecx + 0x2c]
add ebx, 0x2bf20
mov dword [ebp - 0x18], eax
adc eax, 0
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0xc], eax
cmp dword [ebp + 0xc], eax
jb 0x1006e58c
ja 0x1006e579
cmp esi, ebx
jb 0x1006e58c
lea ecx, [edi + 8]
call fcn.1006dee0
or ebx, 0xffffffff
or eax, 0xffffffff
jmp 0x1006e613
cmp byte [ecx + 9], 0
je 0x1006e609
mov ecx, edx
mov edx, dword [ebp - 0x18]
add ecx, 0x28488
mov dword [ebp - 4], ecx
adc edx, 0
mov dword [ebp - 8], edx
cmp dword [ebp + 0xc], edx
jb 0x1006e5cc
ja 0x1006e5b1
cmp esi, ecx
jb 0x1006e5cc
mov ecx, ebx
mov edx, eax
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 8], edx
cmp byte [ecx + 0x14], 1
jne 0x1006e616
mov edx, ecx
mov byte [edx + 0x14], 2
jmp 0x1006e616
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
add ebx, 0x1d4c0
adc eax, 0
mov dword [ebp - 0xc], eax
cmp dword [ebp + 0xc], eax
jb 0x1006e5fd
ja 0x1006e5e9
cmp esi, ebx
jb 0x1006e5fd
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x15], 1
jne 0x1006e5f6
mov byte [eax + 0x15], 2
mov ebx, ecx
mov dword [ebp - 0xc], edx
jmp 0x1006e616
mov ecx, ebx
mov edx, eax
mov dword [ebp - 4], ecx
mov dword [ebp - 8], edx
jmp 0x1006e616
mov ecx, ebx
mov edx, eax
mov dword [ebp - 4], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], eax
cmp dword [edi + 0xc], 0
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
je 0x1006e677
mov ecx, dword [edi + 0xc]
mov ecx, dword [ecx + 0x28]
add ecx, 0x2bf20
mov dword [ebp - 0x14], ecx
mov ecx, dword [edi + 0xc]
mov ecx, dword [ecx + 0x2c]
adc ecx, 0
cmp dword [ebp + 0xc], ecx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 4]
jb 0x1006e659
ja 0x1006e64c
cmp esi, dword [ebp - 0x14]
jb 0x1006e659
lea ecx, [edi + 0xc]
call fcn.1006dee0
mov eax, dword [ebp - 0xc]
jmp 0x1006e677
cmp dword [ebp - 0x18], edx
ja 0x1006e66d
jb 0x1006e665
cmp dword [ebp - 0x14], ecx
jae 0x1006e66d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
jmp 0x1006e66f
mov ecx, ebx
mov dword [ebp - 8], eax
mov ebx, ecx
mov dword [ebp - 4], ecx
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x1006e6b2
mov edx, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
add edx, 0x2bf20
adc ecx, 0
cmp dword [ebp + 0xc], ecx
jb 0x1006e6a2
ja 0x1006e698
cmp esi, edx
jb 0x1006e6a2
lea ecx, [edi + 0x10]
call fcn.1006dee0
jmp 0x1006e6b2
cmp ecx, eax
ja 0x1006e6b8
jb 0x1006e6ac
cmp edx, ebx
jae 0x1006e6b8
mov dword [ebp - 4], edx
mov dword [ebp - 8], ecx
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [edi + 0x18], ebx
mov dword [edi + 0x1c], eax
mov ebx, dword [edi + 0x20]
test ebx, ebx
jne 0x1006e6d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
test ebx, 0xfc0
je 0x1006e72f
test bl, 0x40
je 0x1006e6e3
mov dword [edi + 0xcc], esi
test bl, bl
jns 0x1006e6ed
mov dword [edi + 0xd0], esi
test ebx, 0x100
je 0x1006e6fb
mov dword [edi + 0xd4], esi
test ebx, 0x200
je 0x1006e709
mov dword [edi + 0xd8], esi
test ebx, 0x400
je 0x1006e717
mov dword [edi + 0xdc], esi
test ebx, 0x800
je 0x1006e725
mov dword [edi + 0xe0], esi
mov eax, ebx
shr eax, 6
or ebx, eax
and ebx, 0x3f
test bl, 0x3f
je 0x1006e921
test bl, 1
je 0x1006e7a5
mov eax, esi
sub eax, dword [edi + 0xcc]
cmp eax, 0x1388
jb 0x1006e7a5
mov al, byte [edi + 0x3a]
xor ebx, 1
cmp al, 0x14
ja 0x1006e76c
cmp word [edi + 0x68], 0
je 0x1006e76c
inc al
mov edx, 2
mov byte [edi + 0x3a], al
mov dword [ebp - 0x10], edx
jmp 0x1006e7a7
mov ecx, dword [edi + 0x48]
lea eax, [edi + 0x48]
and ebx, 0xfffffffd
test ecx, ecx
je 0x1006e79e
nop dword [eax]
mov eax, dword [ecx]
push ecx
push 0x10115c70
mov dword [edi + 0x48], eax
call dword [sym.imp.KERNEL32.dll_InterlockedPushEntrySList]
mov ecx, dword [edi + 0x48]
test ecx, ecx
jne 0x1006e780
mov esi, dword [ebp + 8]
lea eax, [edi + 0x48]
mov dword [edi + 0x4c], eax
mov byte [edi + 0x44], 0
xor edx, edx
test bl, 2
je 0x1006e85a
mov eax, esi
sub eax, dword [edi + 0xd0]
cmp eax, dword [edi + 0xc8]
jb 0x1006e85a
mov eax, dword [edi]
mov dword [ebp - 0x1c], eax
cmp byte [eax + 0x188], 0
je 0x1006e83e
movzx ecx, byte [eax + 0x84]
test ecx, ecx
jne 0x1006e80d
push ecx
push ecx
lea esi, [eax + 0x140]
mov edx, 0x20
push 0x28
push esi
lea ecx, [eax + 0x168]
call fcn.10061e70
mov eax, dword [ebp - 0x1c]
add esp, 0x10
add dword [esi], 1
mov ecx, 8
adc dword [esi + 4], 0
mov esi, dword [ebp + 8]
dec ecx
mov byte [eax + 0x84], cl
mov ecx, dword [eax + ecx*4 + 0x168]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 2
lea eax, [edx + edx*2]
mov edx, dword [ebp - 0x10]
add eax, eax
sub ecx, eax
add ecx, 7
imul eax, ecx, 0x3e8
mov dword [edi + 0xc8], eax
or edx, 1
and ebx, 0xfffffffd
cmp byte [edi + 0x34], 0
mov dword [ebp - 0x10], edx
je 0x1006e85a
mov byte [edi + 0x34], 0
or ebx, 2
mov dword [edi + 0xd0], esi
test bl, 0x10
je 0x1006e881
mov ecx, dword [edi + 0x238]
mov eax, esi
sub eax, dword [edi + 0xdc]
cmp eax, ecx
jb 0x1006e881
and ebx, 0xffffffef
test ecx, ecx
je 0x1006e881
and ebx, 0xfffffffd
or edx, 1
mov dword [ebp - 0x10], edx
test bl, 4
je 0x1006e8a9
mov eax, esi
sub eax, dword [edi + 0xd4]
cmp eax, 0x3a98
jb 0x1006e8a9
and ebx, 0xfffffffb
cmp word [edi + 0x68], 0
je 0x1006e8a9
or edx, 2
mov byte [edi + 0x3a], 0
mov dword [ebp - 0x10], edx
test bl, 8
je 0x1006e8db
mov eax, esi
sub eax, dword [edi + 0xd8]
cmp eax, 0x83d60
jb 0x1006e8db
push str.Expiring_all_keys_for_peer
call fcn.100561a0
add esp, 4
mov ecx, edi
and ebx, 0xfffffff7
call fcn.1006cd40
mov ecx, edi
call fcn.1006ce40
test bl, 0x20
je 0x1006e921
sub esi, dword [edi + 0xe0]
cmp esi, 0x3a98
jb 0x1006e921
and ebx, 0xffffffdf
cmp byte [edi + 0x35], 0
je 0x1006e921
movups xmm0, xmmword [edi + 0x68]
mov al, byte [edi + 0x3b]
mov ecx, dword [edi + 0x80]
movups xmmword [edi + 0x84], xmm0
mov byte [edi + 0x3c], al
movq xmm0, qword [edi + 0x78]
movq qword [edi + 0x94], xmm0
mov dword [edi + 0x9c], ecx
mov eax, dword [ebp - 0x10]
mov dword [edi + 0x20], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8