Function at 0x1000bf00
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004788c
mov eax, dword fs:[0]
push eax
sub esp, 0x6d0
mov eax, dword [0x1012e750]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
mov dword [0x1012f27c], eax
mov eax, dword [ebp + 0xc]
push 0x400
mov dword [0x1012f280], eax
lea eax, [ebp - 0x520]
push 0
push eax
mov dword [0x1012f278], esi
call fcn.1002ee00
add esp, 0xc
test esi, esi
je 0x1000bf8f
mov esi, dword [esi]
test esi, esi
je 0x1000bf8f
push 0xffffffffffffffff
lea eax, [esi + 4]
push eax
lea eax, [ebp - 0x520]
push 0x400
push eax
call fcn.10032f11
mov eax, dword [0x1012f278]
mov ecx, dword [esi]
push esi
mov dword [eax], ecx
call fcn.1001d1e0
add esp, 0x14
lea eax, [ebp - 0x1c]
mov byte [ebp - 0x6c5], 0
push eax
lea ecx, [ebp - 0x580]
mov dword [ebp - 0x568], 0
mov dword [ebp - 0x558], 0
mov dword [ebp - 0x554], 0xf
mov dword [ebp - 0x1c], 0x616f7373
mov dword [ebp - 0x18], 0x632e6d70
mov word [ebp - 0x13], 0x6d
mov byte [ebp - 0x14], 0x6f
call fcn.10017520
cmp dword [ebp - 0x56c], 0x10
lea eax, [ebp - 0x550]
push 0x1004c634
lea esi, [ebp - 0x580]
cmovae esi, dword [ebp - 0x580]
push eax
call fcn.10049230
add esp, 8
cmp dword [eax + 0x14], 0x10
jb 0x1000c00b
mov eax, dword [eax]
push str.ef0e0caf4075475491572def8d7830ea
lea ecx, [ebp - 0x520]
push ecx
push esi
push eax
lea eax, [ebp - 0x568]
push eax
call fcn.10017d60
mov edx, dword [ebp - 0x53c]
add esp, 0x14
cmp edx, 0x10
jb 0x1000c062
mov ecx, dword [ebp - 0x550]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000c058
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ca74
push edx
push ecx
call fcn.1002c730
add esp, 8
mov edx, dword [ebp - 0x56c]
mov dword [ebp - 0x540], 0
mov dword [ebp - 0x53c], 0xf
mov byte [ebp - 0x550], 0
cmp edx, 0x10
jb 0x1000c0b7
mov ecx, dword [ebp - 0x580]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000c0ad
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ca74
push edx
push ecx
call fcn.1002c730
add esp, 8
mov eax, dword [ebp - 0x554]
mov esi, dword [ebp - 0x568]
mov dword [ebp - 0x6cc], 0
mov dword [ebp - 0x6d8], eax
mov dword [ebp - 0x6dc], esi
nop dword [eax]
push 0x104
lea eax, [ebp - 0x120]
mov dword [ebp - 0x580], 0
push 0
push eax
mov dword [ebp - 0x570], 0
mov dword [ebp - 0x56c], 0xf
call fcn.1002ee00
lea eax, [ebp - 0x120]
push 0x104
push eax
call fcn.10001320
add esp, 0x14
lea ecx, [ebp - 0x5bc]
call fcn.10023160
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x550], 0
mov dword [ebp - 0x540], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x53c], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000c157
sub ecx, edx
lea eax, [ebp - 0x120]
push ecx
push eax
lea ecx, [ebp - 0x550]
call fcn.10016310
cmp dword [ebp - 0x6d8], 0x10
lea edi, [ebp - 0x568]
mov eax, dword [ebp - 0x558]
cmovae edi, esi
mov dword [ebp - 0x538], 0
mov dword [ebp - 0x528], 0
mov dword [ebp - 0x524], 0
cmp eax, 0x10
jae 0x1000c1c2
movups xmm0, xmmword [edi]
mov dword [ebp - 0x524], 0xf
movups xmmword [ebp - 0x538], xmm0
jmp 0x1000c23d
mov esi, eax
mov eax, 0x7fffffff
or esi, 0xf
cmp esi, 0x7fffffff
cmova esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x1000c206
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x1000ca83
push ecx
call fcn.1002c700
add esp, 4
test eax, eax
je 0x1000ca74
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x1000c219
test eax, eax
je 0x1000c217
push eax
call fcn.1002c700
add esp, 4
mov ecx, eax
jmp 0x1000c219
xor ecx, ecx
mov eax, dword [ebp - 0x558]
inc eax
mov dword [ebp - 0x538], ecx
push eax
push edi
push ecx
call fcn.1002e880
mov eax, dword [ebp - 0x558]
add esp, 0xc
mov dword [ebp - 0x524], esi
mov dword [ebp - 0x528], eax
lea ecx, [ebp - 0x5bc]
lea eax, [ebp - 0x580]
push eax
lea eax, [ebp - 0x550]
push eax
lea eax, [ebp - 0x538]
push eax
call fcn.100233d0
mov edx, dword [ebp - 0x524]
mov byte [ebp - 0x6c6], al
cmp edx, 0x10
jb 0x1000c2a3
mov ecx, dword [ebp - 0x538]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000c299
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ca74
push edx
push ecx
call fcn.1002c730
add esp, 8
mov edx, dword [ebp - 0x53c]
mov dword [ebp - 0x528], 0
mov dword [ebp - 0x524], 0xf
mov byte [ebp - 0x538], 0
cmp edx, 0x10
jb 0x1000c2f8
mov ecx, dword [ebp - 0x550]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000c2ee
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ca74
push edx
push ecx
call fcn.1002c730
add esp, 8
cmp byte [ebp - 0x6c6], 0
je 0x1000c4ff
cmp dword [ebp - 0x56c], 0x10
lea eax, [ebp - 0x580]
lea ecx, [ebp - 0x538]
cmovae eax, dword [ebp - 0x580]
push eax
call fcn.10017520
push 1
mov dword [ebp - 4], 0
call fcn.1002d9ec
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov dword [ebp - 0x6d4], ecx
mov dword [ebp - 0x18], ecx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x524], 0x10
lea edx, [ebp - 0x538]
mov eax, dword [ebp - 0x528]
lea esi, [ebp - 0x538]
cmovae edx, dword [ebp - 0x538]
add eax, edx
cmp dword [ebp - 0x524], 0x10
mov edi, eax
cmovae esi, dword [ebp - 0x538]
cmp esi, edi
je 0x1000c3ac
mov al, byte [esi]
mov byte [ebp - 0x6c6], al
lea eax, [ebp - 0x1c]
push eax
call fcn.100173a0
movzx ecx, byte [ebp - 0x6c6]
add esp, 4
mov eax, dword [eax + 0xc]
test byte [eax + ecx*2], 0x48
je 0x1000c3ac
inc esi
cmp esi, edi
jne 0x1000c383
mov ecx, dword [ebp - 0x6d4]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, eax
test ecx, ecx
je 0x1000c3c5
mov eax, dword [ecx]
push 1
call dword [eax]
cmp dword [ebp - 0x524], 0x10
lea ecx, [ebp - 0x538]
mov edi, dword [ebp - 0x538]
lea eax, [ebp - 0x538]
cmovae ecx, edi
cmovae eax, edi
mov edx, ecx
sub esi, ecx
sub edx, eax
mov dword [ebp - 0x6d0], edx
mov edx, dword [ebp - 0x528]
mov eax, edx
mov ecx, dword [ebp - 0x6d0]
sub eax, ecx
cmp eax, esi
cmovb esi, eax
cmp dword [ebp - 0x524], 0x10
lea eax, [ebp - 0x538]
cmovae eax, edi
sub edx, esi
add ecx, eax
mov dword [ebp - 0x528], edx
sub edx, dword [ebp - 0x6d0]
inc edx
push edx
lea eax, [ecx + esi]
push eax
push ecx
call fcn.1002e880
mov ecx, dword [ebp - 0x6d4]
add esp, 0xc
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, eax
test ecx, ecx
je 0x1000c44d
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [ebp - 0x538]
call fcn.100187e0
lea ecx, [ebp - 0x520]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000c461
mov edi, dword [ebp - 0x524]
lea eax, [ebp - 0x538]
mov esi, dword [ebp - 0x538]
sub ecx, edx
push ecx
lea ecx, [ebp - 0x520]
cmp edi, 0x10
push ecx
push dword [ebp - 0x528]
cmovae eax, esi
push eax
call fcn.10017290
add esp, 0x10
mov byte [ebp - 0x6c5], al
test al, al
jne 0x1000c572
push 0x20
push str.ef0e0caf4075475491572def8d7830ea
push dword [ebp - 0x528]
cmp edi, 0x10
lea ecx, [ebp - 0x538]
cmovae ecx, esi
push ecx
call fcn.10017290
add esp, 0x10
test al, al
jne 0x1000c572
cmp edi, 0x10
jb 0x1000c4ff
inc edi
mov eax, esi
cmp edi, 0x1000
jb 0x1000c4f5
mov esi, dword [esi - 4]
add edi, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ca79
push edi
push esi
call fcn.1002c730
add esp, 8
push 0x3e8
call fcn.1001bd60
add esp, 4
lea ecx, [ebp - 0x5bc]
call fcn.10023250
mov edx, dword [ebp - 0x56c]
cmp edx, 0x10
jb 0x1000c551
mov ecx, dword [ebp - 0x580]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000c547
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ca74
push edx
push ecx
call fcn.1002c730
add esp, 8
mov esi, dword [ebp - 0x6cc]
inc esi
mov dword [ebp - 0x6cc], esi
cmp esi, 5
jge 0x1000c600
mov esi, dword [ebp - 0x6dc]
jmp 0x1000c0e0
cmp edi, 0x10
jb 0x1000c5a0
inc edi
mov eax, esi
cmp edi, 0x1000
jb 0x1000c596
mov esi, dword [esi - 4]
add edi, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ca79
push edi
push esi
call fcn.1002c730
add esp, 8
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x528], 0
mov dword [ebp - 0x524], 0xf
mov byte [ebp - 0x538], 0
call fcn.10023250
mov edx, dword [ebp - 0x56c]
cmp edx, 0x10
jb 0x1000c600
mov ecx, dword [ebp - 0x580]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000c5f6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ca79
push edx
push ecx
call fcn.1002c730
add esp, 8
xor eax, eax
mov dword [ebp - 0x568], 0
cmp byte [ebp - 0x6c5], al
push 0x1004c674
setne al
mov dword [ebp - 0x558], 0
mov dword [ebp - 0x6cc], eax
lea eax, [ebp - 0x550]
push eax
mov dword [ebp - 0x554], 0xf
call fcn.10049230
add esp, 8
cmp dword [eax + 0x14], 0x10
jb 0x1000c64b
mov eax, dword [eax]
push dword [ebp - 0x6cc]
push eax
lea eax, [ebp - 0x568]
push eax
call fcn.10017d60
mov edx, dword [ebp - 0x53c]
add esp, 0xc
cmp edx, 0x10
jb 0x1000c69b
mov ecx, dword [ebp - 0x550]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000c691
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ca7e
push edx
push ecx
call fcn.1002c730
add esp, 8
mov eax, dword [ebp - 0x554]
lea ecx, [ebp - 0x568]
sub esp, 0x18
mov dword [ebp - 0x6d0], eax
cmp eax, 0x10
mov edi, esp
mov eax, dword [ebp - 0x568]
cmovae ecx, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x558]
mov dword [edi], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [ebp - 0x6d4], ecx
mov dword [ebp - 0x6cc], eax
cmp eax, 0x10
jae 0x1000c6f9
movups xmm0, xmmword [ecx]
mov esi, 0xf
movups xmmword [edi], xmm0
jmp 0x1000c76f
mov esi, eax
mov eax, 0x7fffffff
or esi, 0xf
cmp esi, 0x7fffffff
cmova esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x1000c73d
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x1000ca83
push ecx
call fcn.1002c700
add esp, 4
test eax, eax
je 0x1000ca74
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x1000c750
test eax, eax
je 0x1000c74e
push eax
call fcn.1002c700
add esp, 4
mov ecx, eax
jmp 0x1000c750
xor ecx, ecx
mov eax, dword [ebp - 0x6cc]
inc eax
mov dword [edi], ecx
push eax
push dword [ebp - 0x6d4]
push ecx
call fcn.1002e880
mov eax, dword [ebp - 0x6cc]
add esp, 0xc
sub esp, 0x18
mov dword [edi + 0x10], eax
lea eax, [ebp - 0x520]
mov dword [edi + 0x14], esi
mov ecx, esp
push eax
call fcn.10017520
call fcn.10002ea0
lea eax, [ebp - 0x550]
push 0x1004c688
push eax
call fcn.10049230
mov esi, eax
add esp, 0x38
cmp dword [esi + 0x14], 0x10
jb 0x1000c7a9
mov esi, dword [esi]
lea eax, [ebp - 0x6c0]
mov dword [ebp - 0x6c4], eax
test esi, esi
jne 0x1000c7c1
mov dword [ebp - 0x6c4], esi
jmp 0x1000c822
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000c7c6
sub ecx, edx
lea edi, [ecx + 1]
test edi, edi
js 0x1000ca88
cmp edi, 0x80
jle 0x1000c7fd
push 1
push edi
call fcn.100317a7
add esp, 8
mov dword [ebp - 0x6c4], eax
test eax, eax
je 0x1000ca92
jmp 0x1000c809
lea eax, [ebp - 0x6c0]
mov dword [ebp - 0x6c4], eax
test edi, edi
je 0x1000c818
push edi
push esi
push eax
call fcn.1002e880
add esp, 0xc
push 0
call fcn.10017ca0
add esp, 4
mov edx, dword [ebp - 0x53c]
cmp edx, 0x10
jb 0x1000c85c
mov ecx, dword [ebp - 0x550]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000c852
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ca9c
push edx
push ecx
call fcn.1002c730
add esp, 8
lea eax, [ebp - 0x598]
push 0x1004c694
push eax
call fcn.10049230
mov esi, eax
add esp, 8
cmp dword [esi + 0x14], 0x10
jb 0x1000c87a
mov esi, dword [esi]
lea eax, [ebp - 0x63c]
mov dword [ebp - 0x640], eax
test esi, esi
jne 0x1000c894
xor eax, eax
mov dword [ebp - 0x640], eax
jmp 0x1000c902
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000c8a0
sub ecx, edx
lea edi, [ecx + 1]
test edi, edi
js 0x1000caa1
cmp edi, 0x80
jle 0x1000c8d7
push 1
push edi
call fcn.100317a7
add esp, 8
mov dword [ebp - 0x640], eax
test eax, eax
je 0x1000caab
jmp 0x1000c8e3
lea eax, [ebp - 0x63c]
mov dword [ebp - 0x640], eax
test edi, edi
je 0x1000c8f2
push edi
push esi
push eax
call fcn.1002e880
add esp, 0xc
push 0
call fcn.10017ca0
mov eax, dword [ebp - 0x640]
add esp, 4
mov edx, dword [ebp - 0x584]
cmp edx, 0x10
jb 0x1000c942
mov ecx, dword [ebp - 0x598]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000c932
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000cab5
push edx
push ecx
call fcn.1002c730
mov eax, dword [ebp - 0x640]
add esp, 8
cmp byte [ebp - 0x6c5], 0
mov edi, eax
mov ecx, dword [ebp - 0x6c4]
cmovne edi, ecx
mov dword [ebp - 0x588], 0
cmp dword [0x1012f278], 0
mov dword [ebp - 0x584], 0xf
mov byte [ebp - 0x598], 0
je 0x1000c9be
mov eax, dword [0x1012f280]
add eax, 0x404
push eax
push 0x40
call fcn.1001ca60
push 0xffffffffffffffff
mov esi, eax
push edi
push dword [0x1012f280]
lea ecx, [esi + 4]
push ecx
call fcn.10032f11
mov ecx, dword [0x1012f278]
add esp, 0x18
mov eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [0x1012f278]
mov dword [eax], esi
mov ecx, dword [ebp - 0x6c4]
mov eax, dword [ebp - 0x640]
lea edx, [ebp - 0x63c]
cmp eax, edx
je 0x1000c9d7
push eax
call fcn.10031700
mov ecx, dword [ebp - 0x6c4]
add esp, 4
lea eax, [ebp - 0x6c0]
cmp ecx, eax
je 0x1000c9ea
push ecx
call fcn.10031700
add esp, 4
mov ecx, dword [ebp - 0x6d0]
cmp ecx, 0x10
jb 0x1000ca21
mov edx, dword [ebp - 0x18]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000ca17
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000caba
push ecx
push edx
call fcn.1002c730
add esp, 8
mov eax, dword [ebp - 0x6d8]
cmp eax, 0x10
jb 0x1000ca59
mov edx, dword [ebp - 0x6dc]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000ca4f
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000caba
push ecx
push edx
call fcn.1002c730
add esp, 8
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.1002ca58
mov esp, ebp
pop ebp
ret
call fcn.100316af
call fcn.100316af
call fcn.100316af
call fcn.10016280
push 0x80070057
call fcn.10017d40
push 0x8007000e
call fcn.10017d40
call fcn.100316af
push 0x80070057
call fcn.10017d40
push 0x8007000e
call fcn.10017d40
call fcn.100316af
call fcn.100316af
int3