Function at 0x3953190
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push 0xffffffffffffffff
push 0x3a2ba77
mov eax, dword fs:[0]
push eax
sub esp, 0x2f0
mov eax, dword [0x3a7682c]
xor eax, esp
mov dword [esp + 0x2ec], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x3a7682c]
xor eax, esp
push eax
lea eax, [esp + 0x304]
mov dword fs:[0], eax
mov eax, dword [esp + 0x314]
mov esi, dword [esp + 0x324]
push 0x3a78628
mov dword [esp + 0x18], eax
call dword [0x3a5ff28]
lea ecx, [esp + 0x25c]
call fcn.039efdc0
xor ebx, ebx
mov dword [esp + 0x30c], ebx
lea ecx, [esp + 0x1b8]
call fcn.039efdc0
mov byte [esp + 0x30c], 1
mov edi, dword [esp + 0x318]
lea ecx, [esp + 0x25c]
cmp edi, 0xf423f
jne 0x395326c
mov edi, dword [0x3a56b80]
push ebx
call fcn.039efbb0
push edi
push str._POINTERS.Offset
lea ecx, [esp + 0x264]
call fcn.039efe30
mov edi, dword [0x3a56b80]
push ebx
lea ecx, [esp + 0x1bc]
call fcn.039efbb0
push edi
push str._POINTERS.Sources
lea ecx, [esp + 0x1c0]
call fcn.039efe30
jmp 0x395328e
push edi
push str._06d.Offset
push ecx
call fcn.039f08d0
push edi
lea edx, [esp + 0x1c8]
push str._06d.Source
push edx
call fcn.039f08d0
add esp, 0x18
lea ecx, [esp + 0x30]
call fcn.03951d50
mov byte [esp + 0x30c], 2
lea ecx, [esp + 0xf4]
call fcn.03951d50
mov byte [esp + 0x30c], 3
mov ecx, dword [esp + 0x25c]
mov eax, dword [0x3a56b80]
neg ecx
sbb ecx, ecx
not ecx
and ecx, eax
push ecx
lea ecx, [esp + 0x34]
mov byte [esp + 0xf5], bl
mov byte [esp + 0xf4], bl
mov edi, eax
call fcn.039efbb0
push edi
push ebx
lea edx, [esp + 0x264]
push edx
lea ecx, [esp + 0x3c]
call fcn.039eff20
mov edi, dword [esp + 0xe0]
mov dword [esp + 0xec], 3
cmp edi, dword [esp + 0xe4]
jbe 0x3953314
call fcn.03a01b13
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xd4]
push ecx
lea edx, [esp + 0x328]
push edx
lea ecx, [esp + 0x324]
push ecx
push edi
push eax
lea ecx, [esp + 0xe8]
call fcn.039371b0
lea edx, [esp + 0x30]
push edx
mov ecx, 0x3a786b8
call fcn.039530e0
mov ecx, dword [esp + 0x1b8]
mov eax, dword [0x3a56b80]
neg ecx
sbb ecx, ecx
not ecx
and ecx, eax
push ecx
lea ecx, [esp + 0xf8]
mov byte [esp + 0x1b8], bl
mov byte [esp + 0x1b9], bl
mov edi, eax
call fcn.039efbb0
push edi
push ebx
lea edx, [esp + 0x1c0]
push edx
lea ecx, [esp + 0x100]
call fcn.039eff20
mov eax, esi
mov dword [esp + 0x1b0], 1
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x39533a4
mov ebp, dword [esp + 0x1a4]
sub eax, edx
sar eax, 1
mov edi, eax
cmp ebp, dword [esp + 0x1a8]
jbe 0x39533ca
call fcn.03a01b13
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x198]
push ecx
lea edx, [esi + edi*2 + 2]
push edx
push esi
push ebp
push eax
lea ecx, [esp + 0x1ac]
call fcn.039371b0
lea eax, [esp + 0xf4]
push eax
mov ecx, 0x3a786b8
call fcn.039530e0
mov esi, dword [esp + 0x14]
push ebx
push str.SoftwareThinstallRuntimeObjectsLayers
push 0x80000002
push esi
call fcn.03966380
add esp, 0x10
lea ecx, [esp + 0x18]
call fcn.039d9be0
mov byte [esp + 0x30c], 4
lea ecx, [esp + 0x18]
push ecx
push 0x3a786b8
push str.SoftwareThinstallRuntimeObjectsLayers
push 0x80000002
push ebx
push esi
call fcn.03967f50
add esp, 0x18
push 0x3a78628
call dword [0x3a5ff24]
mov byte [esp + 0x30c], 3
lea ecx, [esp + 0x18]
call fcn.039519b0
mov byte [esp + 0x30c], 2
lea ecx, [esp + 0xf4]
call fcn.03951350
mov byte [esp + 0x30c], 1
lea ecx, [esp + 0x30]
call fcn.03951350
mov byte [esp + 0x30c], bl
lea ecx, [esp + 0x1b8]
call fcn.039ef660
mov dword [esp + 0x30c], 0xffffffff
lea ecx, [esp + 0x25c]
call fcn.039ef660
mov al, 1
mov ecx, dword [esp + 0x304]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2ec]
xor ecx, esp
call fcn.03a00f6a
add esp, 0x2fc
ret