Function at 0x12e97b0
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 [0x12edad8], 0x12edad8
mov dword [0x12edae4], 0x12e92a0
mov dword [0x12edae8], 0x12ea860
mov dword [0x12edaec], 0x12e9130
mov dword [0x12ee250], 0
mov dword [0x12ee254], 0
mov dword [0x12ee244], 0
mov dword [0x12ee248], 0
mov dword [0x12ee24c], 0
mov dword [0x12ee258], 0x12eb020
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.012e8d30
push 0
push 0x60cf99af
mov dword [0x12ee1c8], eax
call fcn.012e8d30
mov ebx, dword [ebp + 8]
mov edi, eax
push 0
push 0x4dd0a472
test ebx, ebx
mov dword [0x12ee1d0], edi
push edi
cmove ebx, esi
mov esi, dword [0x12ee1c8]
push 0x12ee1c0
call fcn.012e8e00
push 0
push 0xdae698d3
push edi
push 0x12ee1c4
call fcn.012e8e00
push 1
push 0xdd71a6cc
push edi
push 0x12ee17c
call fcn.012e8e00
push 1
push 0x934f10fa
push edi
push 0x12ee180
call fcn.012e8e00
push 1
push 0xe497b485
push edi
push 0x12ee184
call fcn.012e8e00
push 1
push 0x21a37b6c
push edi
push 0x12ee218
call fcn.012e8e00
call dword [0x12ee218]
push 0x12eb020
push 1
mov dword [0x12edaf0], eax
mov dword [0x12edaf4], 1
call dword [0x12ee180]
push 1
push 0x9b30cc3f
push esi
push 0x12ee128
mov dword [0x12ee1d8], eax
call fcn.012e8e00
push 1
push 0xd2e93957
push esi
push 0x12ee12c
call fcn.012e8e00
push 1
push 0x3c1f3d90
push esi
push 0x12ee130
call fcn.012e8e00
push 1
push 0xf75ce257
push esi
push 0x12ee134
call fcn.012e8e00
push 1
push 0xeb426147
push esi
push 0x12ee138
call fcn.012e8e00
push 1
push 0x72f8b38e
push esi
push 0x12ee13c
call fcn.012e8e00
push 1
push 0xb78bdb16
push esi
push 0x12ee140
call fcn.012e8e00
push 1
push 0xd32e9d61
push esi
push 0x12ee144
call fcn.012e8e00
push 1
push 0x4748527b
push esi
push 0x12ee148
call fcn.012e8e00
push 1
push 0x5b8dd581
push esi
push 0x12ee14c
call fcn.012e8e00
push 1
push 0x5dc29570
push esi
push 0x12ee150
call fcn.012e8e00
push 1
push 0x4e62601b
push esi
push 0x12ee120
call fcn.012e8e00
push 1
push 0x27154a05
push esi
push 0x12ee124
call fcn.012e8e00
push 1
push 0x5e4bf6f0
push edi
push 0x12ee170
call fcn.012e8e00
push 1
push 0x5e4bf706
push edi
push 0x12ee174
call fcn.012e8e00
push 1
push 0x1552ae9b
push edi
push 0x12ee178
call fcn.012e8e00
push 1
push 0x376af5b2
push edi
push fcn.012ee154
call fcn.012e8e00
push 1
push 0x1552aeb1
push edi
push 0x12ee158
call fcn.012e8e00
push 1
push 0xd447896e
push edi
push 0x12ee15c
call fcn.012e8e00
push 1
push 0xbed1215b
push edi
push fcn.012ee160
call fcn.012e8e00
push 1
push 0xd8f81d2f
push edi
push 0x12ee164
call fcn.012e8e00
push 1
push 0x4db82756
push edi
push 0x12ee168
call fcn.012e8e00
push 1
push 0x942467dc
push edi
push 0x12ee16c
call fcn.012e8e00
push 1
push 0xe4b23a39
push edi
push 0x12ee188
call fcn.012e8e00
push 1
push 0x4df7d46e
push edi
push fcn.012ee18c
call fcn.012e8e00
push 1
push 0x15ec9667
push edi
push fcn.012ee190
call fcn.012e8e00
push 1
push 0x8b05fb05
push edi
push 0x12ee198
call fcn.012e8e00
push 1
push 0xdf09dc26
push edi
push 0x12ee194
call fcn.012e8e00
push 1
push 0x228333bc
push edi
push 0x12ee1a8
call fcn.012e8e00
push 1
push 0x4abb6b25
push edi
push 0x12ee1ac
call fcn.012e8e00
push 1
push 0xac3a78a9
push edi
push 0x12ee1b0
call fcn.012e8e00
push 1
push 0x2066074a
push edi
push 0x12ee1b4
call fcn.012e8e00
push 1
push 0x2b19b2ad
push edi
push 0x12ee1b8
call fcn.012e8e00
push 1
push 0x6bfaf860
push edi
push 0x12ee1bc
call fcn.012e8e00
push 1
push 0x1291cb13
push edi
push 0x12ee1f8
call fcn.012e8e00
push 1
push 0xab10ad07
push edi
push 0x12ee210
call fcn.012e8e00
push 1
push 0x4b07dd7e
push edi
push 0x12ee200
call fcn.012e8e00
push 1
push 0x96b79b23
push edi
push 0x12ee20c
call fcn.012e8e00
push 1
push 0x4f75ef12
push edi
push 0x12ee204
call fcn.012e8e00
push 1
push 0xf44a4406
push edi
push 0x12ee208
call fcn.012e8e00
push 1
push 0xb25b6481
push edi
push 0x12ee21c
call fcn.012e8e00
push 1
push 0xae980712
push edi
push fcn.012ee228
call fcn.012e8e00
push 1
push 0xf4a11ee3
push edi
push 0x12ee22c
call fcn.012e8e00
push 1
push 0x830c3f86
push edi
push 0x12ee234
call fcn.012e8e00
push 1
push 0x885e90c
push edi
push 0x12ee230
call fcn.012e8e00
push 1
push 0xb3ea952b
push edi
push 0x12ee238
call fcn.012e8e00
mov eax, dword [0x12ee210]
mov dword [0x12edad4], 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 0x12e9cb4
lea eax, [ebp - 0xc]
mov byte [ebp - 2], 0
push eax
call dword [0x12ee170]
push 1
mov esi, eax
push 0xbc022598
push esi
push 0x12ee19c
mov dword [0x12ee1d4], esi
call fcn.012e8e00
push 1
push 0xcd6a1508
push esi
push 0x12ee1a4
call fcn.012e8e00
push 1
push 0x81225c79
push esi
push 0x12ee1a0
call fcn.012e8e00
push 1
push 0xcd6a151e
push esi
push 0x12ee240
call fcn.012e8e00
push 1
push 0x81225c8f
push esi
push 0x12ee23c
call fcn.012e8e00
push 1
push 0x1f2ae094
push esi
push fcn.012ee220
call fcn.012e8e00
push 1
push 0xff9a9fe
push esi
push fcn.012ee224
call fcn.012e8e00
push ebx
mov dword [fcn.012ee25c], 0x12ea0e0
mov dword [0x12ee260], 0x12ea1d0
mov dword [0x12ee264], 0x12ea270
call fcn.012ea430
mov ecx, dword [0x12f2268]
add esp, 4
cmp ecx, 0xffffffff
je 0x12e9fe1
movzx eax, word [0x12ee372]
mov ecx, 0xc0de
mov word [eax*2 + 0x12ee374], cx
mov ax, word [0x12ee372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12ee370]
jne 0x12e9dd1
mov eax, dword [0x12ee370]
inc eax
and eax, 0x7f
mov word [0x12ee370], ax
push 0xc0de
push 0x12edad8
mov word [0x12ee372], cx
call dword [fcn.012ee25c]
mov ecx, dword [0x12f2268]
add esp, 8
cmp ecx, 0xffffffff
je 0x12e9fe1
movzx eax, word [0x12ee372]
mov ecx, 0xcafe
mov word [eax*2 + 0x12ee374], cx
mov ax, word [0x12ee372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12ee370]
jne 0x12e9e35
mov eax, dword [0x12ee370]
inc eax
and eax, 0x7f
mov word [0x12ee370], ax
push 0xcafe
push 0x12edad8
mov word [0x12ee372], cx
call dword [fcn.012ee25c]
mov ecx, dword [0x12f2268]
add esp, 8
cmp ecx, 0xffffffff
je 0x12e9fe1
movzx eax, word [0x12ee372]
mov ecx, 0xbaad
mov word [eax*2 + 0x12ee374], cx
mov ax, word [0x12ee372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12ee370]
jne 0x12e9e99
mov eax, dword [0x12ee370]
inc eax
and eax, 0x7f
mov word [0x12ee370], ax
push 0xbaad
push 0x12edad8
mov word [0x12ee372], cx
call dword [fcn.012ee25c]
mov ecx, dword [0x12f2268]
add esp, 8
cmp ecx, 0xffffffff
je 0x12e9fe1
movzx eax, word [0x12ee372]
mov ecx, 0xface
mov word [eax*2 + 0x12ee374], cx
mov ax, word [0x12ee372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12ee370]
jne 0x12e9efd
mov eax, dword [0x12ee370]
inc eax
and eax, 0x7f
mov word [0x12ee370], ax
push 0xface
push 0x12edad8
mov word [0x12ee372], cx
call dword [fcn.012ee25c]
mov ecx, dword [0x12f2268]
add esp, 8
cmp ecx, 0xffffffff
je 0x12e9fe1
movzx eax, word [0x12ee372]
mov ecx, 0xdead
mov word [eax*2 + 0x12ee374], cx
mov ax, word [0x12ee372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12ee370]
jne 0x12e9f61
mov eax, dword [0x12ee370]
inc eax
and eax, 0x7f
mov word [0x12ee370], ax
push 0xdead
push 0x12edad8
mov word [0x12ee372], cx
call dword [fcn.012ee25c]
mov ecx, dword [0x12f2268]
add esp, 8
cmp ecx, 0xffffffff
je 0x12e9fe1
movzx eax, word [0x12ee372]
mov ecx, 0xbeef
mov word [eax*2 + 0x12ee374], cx
mov ax, word [0x12ee372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12ee370]
jne 0x12e9fc1
mov eax, dword [0x12ee370]
inc eax
and eax, 0x7f
mov word [0x12ee370], ax
push 0xbeef
push 0x12edad8
mov word [0x12ee372], cx
call dword [fcn.012ee25c]
mov ecx, dword [0x12f2268]
add esp, 8
mov esi, dword [0x12edad0]
add esi, ebx
cmp dword [esi + 8], 0x1dfb0
je 0x12ea05b
cmp ecx, 0xffffffff
je 0x12ea04c
movzx eax, word [0x12ee372]
mov ecx, 0x427
mov word [eax*2 + 0x12ee374], cx
mov ax, word [0x12ee372]
inc ax
and ax, 0x7f
movzx ecx, ax
cmp cx, word [0x12ee370]
jne 0x12ea032
mov eax, dword [0x12ee370]
inc eax
and eax, 0x7f
mov word [0x12ee370], ax
push 0x427
push 0x12edad8
mov word [0x12ee372], cx
call dword [fcn.012ee25c]
add esp, 8
push 0xe0410009
push 0x12edad8
call fcn.012eb300
xor ecx, ecx
mov eax, 0x1310224
cmp eax, 0x12f2274
sbb edx, edx
and edx, 0xfffe2050
add edx, 0x1dfb0
je 0x12ea08e
nop word [eax + eax]
mov al, byte [esi + ecx]
mov byte [ecx + 0x12f2274], al
inc ecx
cmp ecx, edx
jb 0x12ea080
mov dword [0x12f2270], esi
mov dword [0x12ee1dc], ebx
mov dword [0x12ee1e4], 0x12e9590
mov eax, dword [ebx + 0x3c]
pop edi
pop esi
mov eax, dword [eax + ebx + 0x50]
add eax, ebx
mov dword [0x12ee1e0], eax
mov eax, dword [0x12f22d0]
and eax, 0x8000
neg eax
pop ebx
sbb eax, eax
and eax, 0x12eb780
mov dword [0x12ee214], eax
mov esp, ebp
pop ebp
ret 4