Function at 0x12d97b0
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 [0x12ddad8], 0x12ddad8
mov dword [0x12ddae4], 0x12d92a0
mov dword [0x12ddae8], 0x12da860
mov dword [0x12ddaec], 0x12d9130
mov dword [0x12de250], 0
mov dword [0x12de254], 0
mov dword [0x12de244], 0
mov dword [0x12de248], 0
mov dword [0x12de24c], 0
mov dword [0x12de258], 0x12db020
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.012d8d30
push 0
push 0x60cf99af
mov dword [0x12de1c8], eax
call fcn.012d8d30
mov ebx, dword [ebp + 8]
mov edi, eax
push 0
push 0x4dd0a472
test ebx, ebx
mov dword [0x12de1d0], edi
push edi
cmove ebx, esi
mov esi, dword [0x12de1c8]
push 0x12de1c0
call fcn.012d8e00
push 0
push 0xdae698d3
push edi
push 0x12de1c4
call fcn.012d8e00
push 1
push 0xdd71a6cc
push edi
push 0x12de17c
call fcn.012d8e00
push 1
push 0x934f10fa
push edi
push 0x12de180
call fcn.012d8e00
push 1
push 0xe497b485
push edi
push 0x12de184
call fcn.012d8e00
push 1
push 0x21a37b6c
push edi
push 0x12de218
call fcn.012d8e00
call dword [0x12de218]
push 0x12db020
push 1
mov dword [0x12ddaf0], eax
mov dword [0x12ddaf4], 1
call dword [0x12de180]
push 1
push 0x9b30cc3f
push esi
push 0x12de128
mov dword [0x12de1d8], eax
call fcn.012d8e00
push 1
push 0xd2e93957
push esi
push 0x12de12c
call fcn.012d8e00
push 1
push 0x3c1f3d90
push esi
push 0x12de130
call fcn.012d8e00
push 1
push 0xf75ce257
push esi
push 0x12de134
call fcn.012d8e00
push 1
push 0xeb426147
push esi
push 0x12de138
call fcn.012d8e00
push 1
push 0x72f8b38e
push esi
push 0x12de13c
call fcn.012d8e00
push 1
push 0xb78bdb16
push esi
push 0x12de140
call fcn.012d8e00
push 1
push 0xd32e9d61
push esi
push 0x12de144
call fcn.012d8e00
push 1
push 0x4748527b
push esi
push 0x12de148
call fcn.012d8e00
push 1
push 0x5b8dd581
push esi
push 0x12de14c
call fcn.012d8e00
push 1
push 0x5dc29570
push esi
push 0x12de150
call fcn.012d8e00
push 1
push 0x4e62601b
push esi
push 0x12de120
call fcn.012d8e00
push 1
push 0x27154a05
push esi
push 0x12de124
call fcn.012d8e00
push 1
push 0x5e4bf6f0
push edi
push 0x12de170
call fcn.012d8e00
push 1
push 0x5e4bf706
push edi
push 0x12de174
call fcn.012d8e00
push 1
push 0x1552ae9b
push edi
push 0x12de178
call fcn.012d8e00
push 1
push 0x376af5b2
push edi
push fcn.012de154
call fcn.012d8e00
push 1
push 0x1552aeb1
push edi
push 0x12de158
call fcn.012d8e00
push 1
push 0xd447896e
push edi
push 0x12de15c
call fcn.012d8e00
push 1
push 0xbed1215b
push edi
push fcn.012de160
call fcn.012d8e00
push 1
push 0xd8f81d2f
push edi
push 0x12de164
call fcn.012d8e00
push 1
push 0x4db82756
push edi
push 0x12de168
call fcn.012d8e00
push 1
push 0x942467dc
push edi
push 0x12de16c
call fcn.012d8e00
push 1
push 0xe4b23a39
push edi
push 0x12de188
call fcn.012d8e00
push 1
push 0x4df7d46e
push edi
push fcn.012de18c
call fcn.012d8e00
push 1
push 0x15ec9667
push edi
push fcn.012de190
call fcn.012d8e00
push 1
push 0x8b05fb05
push edi
push 0x12de198
call fcn.012d8e00
push 1
push 0xdf09dc26
push edi
push 0x12de194
call fcn.012d8e00
push 1
push 0x228333bc
push edi
push 0x12de1a8
call fcn.012d8e00
push 1
push 0x4abb6b25
push edi
push 0x12de1ac
call fcn.012d8e00
push 1
push 0xac3a78a9
push edi
push 0x12de1b0
call fcn.012d8e00
push 1
push 0x2066074a
push edi
push 0x12de1b4
call fcn.012d8e00
push 1
push 0x2b19b2ad
push edi
push 0x12de1b8
call fcn.012d8e00
push 1
push 0x6bfaf860
push edi
push 0x12de1bc
call fcn.012d8e00
push 1
push 0x1291cb13
push edi
push 0x12de1f8
call fcn.012d8e00
push 1
push 0xab10ad07
push edi
push 0x12de210
call fcn.012d8e00
push 1
push 0x4b07dd7e
push edi
push 0x12de200
call fcn.012d8e00
push 1
push 0x96b79b23
push edi
push 0x12de20c
call fcn.012d8e00
push 1
push 0x4f75ef12
push edi
push 0x12de204
call fcn.012d8e00
push 1
push 0xf44a4406
push edi
push 0x12de208
call fcn.012d8e00
push 1
push 0xb25b6481
push edi
push 0x12de21c
call fcn.012d8e00
push 1
push 0xae980712
push edi
push fcn.012de228
call fcn.012d8e00
push 1
push 0xf4a11ee3
push edi
push 0x12de22c
call fcn.012d8e00
push 1
push 0x830c3f86
push edi
push 0x12de234
call fcn.012d8e00
push 1
push 0x885e90c
push edi
push 0x12de230
call fcn.012d8e00
push 1
push 0xb3ea952b
push edi
push 0x12de238
call fcn.012d8e00
mov eax, dword [0x12de210]
mov dword [0x12ddad4], 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 0x12d9cb4
lea eax, [ebp - 0xc]
mov byte [ebp - 2], 0
push eax
call dword [0x12de170]
push 1
mov esi, eax
push 0xbc022598
push esi
push 0x12de19c
mov dword [0x12de1d4], esi
call fcn.012d8e00
push 1
push 0xcd6a1508
push esi
push 0x12de1a4
call fcn.012d8e00
push 1
push 0x81225c79
push esi
push 0x12de1a0
call fcn.012d8e00
push 1
push 0xcd6a151e
push esi
push 0x12de240
call fcn.012d8e00
push 1
push 0x81225c8f
push esi
push 0x12de23c
call fcn.012d8e00
push 1
push 0x1f2ae094
push esi
push fcn.012de220
call fcn.012d8e00
push 1
push 0xff9a9fe
push esi
push fcn.012de224
call fcn.012d8e00
push ebx
mov dword [fcn.012de25c], 0x12da0e0
mov dword [0x12de260], 0x12da1d0
mov dword [0x12de264], 0x12da270
call fcn.012da430
mov ecx, dword [0x12e2268]
add esp, 4
cmp ecx, 0xffffffff
je 0x12d9fe1
movzx eax, word [0x12de372]
mov ecx, 0xc0de
mov word [eax*2 + 0x12de374], cx
mov ax, word [0x12de372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12de370]
jne 0x12d9dd1
mov eax, dword [0x12de370]
inc eax
and eax, 0x7f
mov word [0x12de370], ax
push 0xc0de
push 0x12ddad8
mov word [0x12de372], cx
call dword [fcn.012de25c]
mov ecx, dword [0x12e2268]
add esp, 8
cmp ecx, 0xffffffff
je 0x12d9fe1
movzx eax, word [0x12de372]
mov ecx, 0xcafe
mov word [eax*2 + 0x12de374], cx
mov ax, word [0x12de372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12de370]
jne 0x12d9e35
mov eax, dword [0x12de370]
inc eax
and eax, 0x7f
mov word [0x12de370], ax
push 0xcafe
push 0x12ddad8
mov word [0x12de372], cx
call dword [fcn.012de25c]
mov ecx, dword [0x12e2268]
add esp, 8
cmp ecx, 0xffffffff
je 0x12d9fe1
movzx eax, word [0x12de372]
mov ecx, 0xbaad
mov word [eax*2 + 0x12de374], cx
mov ax, word [0x12de372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12de370]
jne 0x12d9e99
mov eax, dword [0x12de370]
inc eax
and eax, 0x7f
mov word [0x12de370], ax
push 0xbaad
push 0x12ddad8
mov word [0x12de372], cx
call dword [fcn.012de25c]
mov ecx, dword [0x12e2268]
add esp, 8
cmp ecx, 0xffffffff
je 0x12d9fe1
movzx eax, word [0x12de372]
mov ecx, 0xface
mov word [eax*2 + 0x12de374], cx
mov ax, word [0x12de372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12de370]
jne 0x12d9efd
mov eax, dword [0x12de370]
inc eax
and eax, 0x7f
mov word [0x12de370], ax
push 0xface
push 0x12ddad8
mov word [0x12de372], cx
call dword [fcn.012de25c]
mov ecx, dword [0x12e2268]
add esp, 8
cmp ecx, 0xffffffff
je 0x12d9fe1
movzx eax, word [0x12de372]
mov ecx, 0xdead
mov word [eax*2 + 0x12de374], cx
mov ax, word [0x12de372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12de370]
jne 0x12d9f61
mov eax, dword [0x12de370]
inc eax
and eax, 0x7f
mov word [0x12de370], ax
push 0xdead
push 0x12ddad8
mov word [0x12de372], cx
call dword [fcn.012de25c]
mov ecx, dword [0x12e2268]
add esp, 8
cmp ecx, 0xffffffff
je 0x12d9fe1
movzx eax, word [0x12de372]
mov ecx, 0xbeef
mov word [eax*2 + 0x12de374], cx
mov ax, word [0x12de372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12de370]
jne 0x12d9fc1
mov eax, dword [0x12de370]
inc eax
and eax, 0x7f
mov word [0x12de370], ax
push 0xbeef
push 0x12ddad8
mov word [0x12de372], cx
call dword [fcn.012de25c]
mov ecx, dword [0x12e2268]
add esp, 8
mov esi, dword [0x12ddad0]
add esi, ebx
cmp dword [esi + 8], 0x1dfb0
je 0x12da05b
cmp ecx, 0xffffffff
je 0x12da04c
movzx eax, word [0x12de372]
mov ecx, 0x427
mov word [eax*2 + 0x12de374], cx
mov ax, word [0x12de372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12de370]
jne 0x12da032
mov eax, dword [0x12de370]
inc eax
and eax, 0x7f
mov word [0x12de370], ax
push 0x427
push 0x12ddad8
mov word [0x12de372], cx
call dword [fcn.012de25c]
add esp, 8
push 0xe0410009
push 0x12ddad8
call fcn.012db300
xor ecx, ecx
mov eax, 0x1300224
cmp eax, 0x12e2274
sbb edx, edx
and edx, 0xfffe2050
add edx, 0x1dfb0
je 0x12da08e
nop word [eax + eax]
mov al, byte [esi + ecx]
mov byte [ecx + 0x12e2274], al
inc ecx
cmp ecx, edx
jb 0x12da080
mov dword [0x12e2270], esi
mov dword [0x12de1dc], ebx
mov dword [0x12de1e4], 0x12d9590
mov eax, dword [ebx + 0x3c]
pop edi
pop esi
mov eax, dword [eax + ebx + 0x50]
add eax, ebx
mov dword [0x12de1e0], eax
mov eax, dword [0x12e22d0]
and eax, 0x8000
neg eax
pop ebx
sbb eax, eax
and eax, 0x12db780
mov dword [0x12de214], eax
mov esp, ebp
pop ebp
ret 4