Function at 0x12f97b0
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Encode data using xor
Get number of processors

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword fs:[0x30]
mov dword [0x12fdad8], 0x12fdad8
mov dword [0x12fdae4], 0x12f92a0
mov dword [0x12fdae8], 0x12fa860
mov dword [0x12fdaec], 0x12f9130
mov dword [0x12fe250], 0
mov dword [0x12fe254], 0
mov dword [0x12fe244], 0
mov dword [0x12fe248], 0
mov dword [0x12fe24c], 0
mov dword [0x12fe258], 0x12fb020
mov eax, dword [eax + 0xc]
push ebx
push esi
push edi
mov eax, dword [eax + 0xc]
push 0
push 0xbbe11f17
mov esi, dword [eax + 0x18]
call fcn.012f8d30
push 0
push 0x60cf99af
mov dword [0x12fe1c8], eax
call fcn.012f8d30
mov ebx, dword [ebp + 8]
mov edi, eax
push 0
push 0x4dd0a472
test ebx, ebx
mov dword [0x12fe1d0], edi
push edi
cmove ebx, esi
mov esi, dword [0x12fe1c8]
push 0x12fe1c0
call fcn.012f8e00
push 0
push 0xdae698d3
push edi
push 0x12fe1c4
call fcn.012f8e00
push 1
push 0xdd71a6cc
push edi
push 0x12fe17c
call fcn.012f8e00
push 1
push 0x934f10fa
push edi
push 0x12fe180
call fcn.012f8e00
push 1
push 0xe497b485
push edi
push 0x12fe184
call fcn.012f8e00
push 1
push 0x21a37b6c
push edi
push 0x12fe218
call fcn.012f8e00
call dword [0x12fe218]
push 0x12fb020
push 1
mov dword [0x12fdaf0], eax
mov dword [0x12fdaf4], 1
call dword [0x12fe180]
push 1
push 0x9b30cc3f
push esi
push 0x12fe128
mov dword [0x12fe1d8], eax
call fcn.012f8e00
push 1
push 0xd2e93957
push esi
push 0x12fe12c
call fcn.012f8e00
push 1
push 0x3c1f3d90
push esi
push 0x12fe130
call fcn.012f8e00
push 1
push 0xf75ce257
push esi
push 0x12fe134
call fcn.012f8e00
push 1
push 0xeb426147
push esi
push 0x12fe138
call fcn.012f8e00
push 1
push 0x72f8b38e
push esi
push 0x12fe13c
call fcn.012f8e00
push 1
push 0xb78bdb16
push esi
push 0x12fe140
call fcn.012f8e00
push 1
push 0xd32e9d61
push esi
push 0x12fe144
call fcn.012f8e00
push 1
push 0x4748527b
push esi
push 0x12fe148
call fcn.012f8e00
push 1
push 0x5b8dd581
push esi
push 0x12fe14c
call fcn.012f8e00
push 1
push 0x5dc29570
push esi
push 0x12fe150
call fcn.012f8e00
push 1
push 0x4e62601b
push esi
push 0x12fe120
call fcn.012f8e00
push 1
push 0x27154a05
push esi
push 0x12fe124
call fcn.012f8e00
push 1
push 0x5e4bf6f0
push edi
push 0x12fe170
call fcn.012f8e00
push 1
push 0x5e4bf706
push edi
push 0x12fe174
call fcn.012f8e00
push 1
push 0x1552ae9b
push edi
push 0x12fe178
call fcn.012f8e00
push 1
push 0x376af5b2
push edi
push fcn.012fe154
call fcn.012f8e00
push 1
push 0x1552aeb1
push edi
push 0x12fe158
call fcn.012f8e00
push 1
push 0xd447896e
push edi
push 0x12fe15c
call fcn.012f8e00
push 1
push 0xbed1215b
push edi
push fcn.012fe160
call fcn.012f8e00
push 1
push 0xd8f81d2f
push edi
push 0x12fe164
call fcn.012f8e00
push 1
push 0x4db82756
push edi
push 0x12fe168
call fcn.012f8e00
push 1
push 0x942467dc
push edi
push 0x12fe16c
call fcn.012f8e00
push 1
push 0xe4b23a39
push edi
push 0x12fe188
call fcn.012f8e00
push 1
push 0x4df7d46e
push edi
push fcn.012fe18c
call fcn.012f8e00
push 1
push 0x15ec9667
push edi
push fcn.012fe190
call fcn.012f8e00
push 1
push 0x8b05fb05
push edi
push 0x12fe198
call fcn.012f8e00
push 1
push 0xdf09dc26
push edi
push 0x12fe194
call fcn.012f8e00
push 1
push 0x228333bc
push edi
push 0x12fe1a8
call fcn.012f8e00
push 1
push 0x4abb6b25
push edi
push 0x12fe1ac
call fcn.012f8e00
push 1
push 0xac3a78a9
push edi
push 0x12fe1b0
call fcn.012f8e00
push 1
push 0x2066074a
push edi
push 0x12fe1b4
call fcn.012f8e00
push 1
push 0x2b19b2ad
push edi
push 0x12fe1b8
call fcn.012f8e00
push 1
push 0x6bfaf860
push edi
push 0x12fe1bc
call fcn.012f8e00
push 1
push 0x1291cb13
push edi
push 0x12fe1f8
call fcn.012f8e00
push 1
push 0xab10ad07
push edi
push 0x12fe210
call fcn.012f8e00
push 1
push 0x4b07dd7e
push edi
push 0x12fe200
call fcn.012f8e00
push 1
push 0x96b79b23
push edi
push 0x12fe20c
call fcn.012f8e00
push 1
push 0x4f75ef12
push edi
push 0x12fe204
call fcn.012f8e00
push 1
push 0xf44a4406
push edi
push 0x12fe208
call fcn.012f8e00
push 1
push 0xb25b6481
push edi
push 0x12fe21c
call fcn.012f8e00
push 1
push 0xae980712
push edi
push fcn.012fe228
call fcn.012f8e00
push 1
push 0xf4a11ee3
push edi
push 0x12fe22c
call fcn.012f8e00
push 1
push 0x830c3f86
push edi
push 0x12fe234
call fcn.012f8e00
push 1
push 0x885e90c
push edi
push 0x12fe230
call fcn.012f8e00
push 1
push 0xb3ea952b
push edi
push 0x12fe238
call fcn.012f8e00
mov eax, dword [0x12fe210]
mov dword [0x12fdad4], eax
mov dword [ebp - 0x10], 0x26
mov eax, dword [ebp - 0x10]
xor eax, 0x75
mov byte [ebp - 0xc], al
mov eax, dword [ebp - 0x10]
inc al
xor eax, 0x73
mov byte [ebp - 0xb], al
mov eax, dword [ebp - 0x10]
add al, 2
xor eax, 0x65
mov byte [ebp - 0xa], al
mov eax, dword [ebp - 0x10]
add al, 3
xor eax, 0x72
mov byte [ebp - 9], al
mov eax, dword [ebp - 0x10]
add al, 4
xor eax, 0x33
mov byte [ebp - 8], al
mov eax, dword [ebp - 0x10]
add al, 5
xor eax, 0x32
mov byte [ebp - 7], al
mov eax, dword [ebp - 0x10]
add al, 6
xor eax, 0x2e
mov byte [ebp - 6], al
mov eax, dword [ebp - 0x10]
add al, 7
xor eax, 0x64
mov byte [ebp - 5], al
mov eax, dword [ebp - 0x10]
add al, 8
xor eax, 0x6c
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x10]
add al, 9
mov byte [ebp - 2], 0
xor eax, 0x6c
xor edx, edx
mov byte [ebp - 3], al
mov al, byte [ebp - 0xc]
mov al, byte [ebp + edx - 0xc]
mov ecx, dword [ebp - 0x10]
add cl, dl
movsx eax, al
xor ecx, eax
mov byte [ebp + edx - 0xc], cl
inc edx
cmp edx, 0xa
jb 0x12f9cb4
lea eax, [ebp - 0xc]
mov byte [ebp - 2], 0
push eax
call dword [0x12fe170]
push 1
mov esi, eax
push 0xbc022598
push esi
push 0x12fe19c
mov dword [0x12fe1d4], esi
call fcn.012f8e00
push 1
push 0xcd6a1508
push esi
push 0x12fe1a4
call fcn.012f8e00
push 1
push 0x81225c79
push esi
push 0x12fe1a0
call fcn.012f8e00
push 1
push 0xcd6a151e
push esi
push 0x12fe240
call fcn.012f8e00
push 1
push 0x81225c8f
push esi
push 0x12fe23c
call fcn.012f8e00
push 1
push 0x1f2ae094
push esi
push fcn.012fe220
call fcn.012f8e00
push 1
push 0xff9a9fe
push esi
push fcn.012fe224
call fcn.012f8e00
push ebx
mov dword [fcn.012fe25c], 0x12fa0e0
mov dword [0x12fe260], 0x12fa1d0
mov dword [0x12fe264], 0x12fa270
call fcn.012fa430
mov ecx, dword [0x1302268]
add esp, 4
cmp ecx, 0xffffffff
je 0x12f9fe1
movzx eax, word [0x12fe372]
mov ecx, 0xc0de
mov word [eax*2 + 0x12fe374], cx
mov ax, word [0x12fe372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12fe370]
jne 0x12f9dd1
mov eax, dword [0x12fe370]
inc eax
and eax, 0x7f
mov word [0x12fe370], ax
push 0xc0de
push 0x12fdad8
mov word [0x12fe372], cx
call dword [fcn.012fe25c]
mov ecx, dword [0x1302268]
add esp, 8
cmp ecx, 0xffffffff
je 0x12f9fe1
movzx eax, word [0x12fe372]
mov ecx, 0xcafe
mov word [eax*2 + 0x12fe374], cx
mov ax, word [0x12fe372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12fe370]
jne 0x12f9e35
mov eax, dword [0x12fe370]
inc eax
and eax, 0x7f
mov word [0x12fe370], ax
push 0xcafe
push 0x12fdad8
mov word [0x12fe372], cx
call dword [fcn.012fe25c]
mov ecx, dword [0x1302268]
add esp, 8
cmp ecx, 0xffffffff
je 0x12f9fe1
movzx eax, word [0x12fe372]
mov ecx, 0xbaad
mov word [eax*2 + 0x12fe374], cx
mov ax, word [0x12fe372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12fe370]
jne 0x12f9e99
mov eax, dword [0x12fe370]
inc eax
and eax, 0x7f
mov word [0x12fe370], ax
push 0xbaad
push 0x12fdad8
mov word [0x12fe372], cx
call dword [fcn.012fe25c]
mov ecx, dword [0x1302268]
add esp, 8
cmp ecx, 0xffffffff
je 0x12f9fe1
movzx eax, word [0x12fe372]
mov ecx, 0xface
mov word [eax*2 + 0x12fe374], cx
mov ax, word [0x12fe372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12fe370]
jne 0x12f9efd
mov eax, dword [0x12fe370]
inc eax
and eax, 0x7f
mov word [0x12fe370], ax
push 0xface
push 0x12fdad8
mov word [0x12fe372], cx
call dword [fcn.012fe25c]
mov ecx, dword [0x1302268]
add esp, 8
cmp ecx, 0xffffffff
je 0x12f9fe1
movzx eax, word [0x12fe372]
mov ecx, 0xdead
mov word [eax*2 + 0x12fe374], cx
mov ax, word [0x12fe372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12fe370]
jne 0x12f9f61
mov eax, dword [0x12fe370]
inc eax
and eax, 0x7f
mov word [0x12fe370], ax
push 0xdead
push 0x12fdad8
mov word [0x12fe372], cx
call dword [fcn.012fe25c]
mov ecx, dword [0x1302268]
add esp, 8
cmp ecx, 0xffffffff
je 0x12f9fe1
movzx eax, word [0x12fe372]
mov ecx, 0xbeef
mov word [eax*2 + 0x12fe374], cx
mov ax, word [0x12fe372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12fe370]
jne 0x12f9fc1
mov eax, dword [0x12fe370]
inc eax
and eax, 0x7f
mov word [0x12fe370], ax
push 0xbeef
push 0x12fdad8
mov word [0x12fe372], cx
call dword [fcn.012fe25c]
mov ecx, dword [0x1302268]
add esp, 8
mov esi, dword [0x12fdad0]
add esi, ebx
cmp dword [esi + 8], 0x1dfb0
je 0x12fa05b
cmp ecx, 0xffffffff
je 0x12fa04c
movzx eax, word [0x12fe372]
mov ecx, 0x427
mov word [eax*2 + 0x12fe374], cx
mov ax, word [0x12fe372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12fe370]
jne 0x12fa032
mov eax, dword [0x12fe370]
inc eax
and eax, 0x7f
mov word [0x12fe370], ax
push 0x427
push 0x12fdad8
mov word [0x12fe372], cx
call dword [fcn.012fe25c]
add esp, 8
push 0xe0410009
push 0x12fdad8
call fcn.012fb300
xor ecx, ecx
mov eax, 0x1320224
cmp eax, 0x1302274
sbb edx, edx
and edx, 0xfffe2050
add edx, 0x1dfb0
je 0x12fa08e
nop word [eax + eax]
mov al, byte [esi + ecx]
mov byte [ecx + 0x1302274], al
inc ecx
cmp ecx, edx
jb 0x12fa080
mov dword [0x1302270], esi
mov dword [0x12fe1dc], ebx
mov dword [0x12fe1e4], 0x12f9590
mov eax, dword [ebx + 0x3c]
pop edi
pop esi
mov eax, dword [eax + ebx + 0x50]
add eax, ebx
mov dword [0x12fe1e0], eax
mov eax, dword [0x13022d0]
and eax, 0x8000
neg eax
pop ebx
sbb eax, eax
and eax, 0x12fb780
mov dword [0x12fe214], eax
mov esp, ebp
pop ebp
ret 4