Function at 0x412760
Capabilities:
Check for peb beingdebugged flag
Contain obfuscated stackstrings
Get process heap flags
Get process heap force flags

Disassembly:
push 0xffffffffffffffff
push 0x594c6a
mov eax, dword fs:[0]
push eax
sub esp, 0x1e8
mov eax, dword [0x6214e0]
xor eax, esp
mov dword [esp + 0x1e4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6214e0]
xor eax, esp
push eax
lea eax, [esp + 0x1fc]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
mov byte [esi], bl
mov byte [esi + 1], bl
mov byte [esi + 2], bl
mov byte [esi + 3], bl
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov edi, 0xf
mov dword [esi + 0x24], edi
mov dword [esi + 0x20], ebx
mov dword [esp + 0x54], esi
mov byte [esi + 0x10], bl
mov dword [esi + 0x40], edi
mov dword [esi + 0x3c], ebx
mov dword [esp + 0x204], ebx
mov byte [esi + 0x2c], bl
mov dword [esi + 0x5c], edi
mov dword [esi + 0x58], ebx
mov byte [esi + 0x48], bl
mov dword [esi + 0x78], edi
mov dword [esi + 0x74], ebx
mov byte [esi + 0x64], bl
mov dword [esi + 0x94], edi
mov dword [esi + 0x90], ebx
mov byte [esi + 0x80], bl
mov dword [esi + 0xb0], edi
mov dword [esi + 0xac], ebx
mov byte [esi + 0x9c], bl
push ebx
lea eax, [esi + 0xe8]
push 0x1d8
push eax
mov byte [esp + 0x210], 5
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], ebx
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xc4], ebx
mov dword [esi + 0xc8], ebx
mov byte [esi + 0xcc], 1
mov byte [esi + 0xcd], 1
mov byte [esi + 0xce], 1
mov byte [esi + 0xcf], 1
mov dword [esi + 0xd0], ebx
mov dword [esi + 0xd4], ebx
mov dword [esi + 0xd8], ebx
mov dword [esi + 0xdc], ebx
mov dword [esi + 0xe0], ebx
mov dword [esi + 0xe4], ebx
call fcn.0040edc0
add esp, 0xc
mov dword [esi + 0x104], 0x1d8
mov byte [esi + 0x108], bl
mov dword [esi + 0x124], edi
mov dword [esi + 0x120], ebx
mov byte [esi + 0x110], bl
mov dword [esi + 0x140], edi
mov dword [esi + 0x13c], ebx
mov byte [esi + 0x12c], bl
mov dword [esi + 0x15c], edi
mov dword [esi + 0x158], ebx
mov byte [esi + 0x148], bl
mov byte [esi + 0x160], bl
mov byte [esi + 0x161], bl
mov byte [esi + 0x162], bl
mov byte [esi + 0x163], bl
mov byte [esi + 0x164], bl
mov byte [esi + 0x165], bl
mov dword [esi + 0x168], ebx
mov dword [esi + 0x16c], ebx
mov dword [esi + 0x170], ebx
mov dword [esi + 0x174], ebx
mov dword [esi + 0x190], edi
mov dword [esi + 0x18c], ebx
mov byte [esi + 0x17c], bl
mov dword [esi + 0x1ac], edi
mov dword [esi + 0x1a8], ebx
mov byte [esi + 0x198], bl
mov dword [esi + 0x1c8], edi
mov dword [esi + 0x1c4], ebx
mov byte [esi + 0x1b4], bl
mov dword [esi + 0x1e4], edi
mov dword [esi + 0x1e0], ebx
mov byte [esi + 0x1d0], bl
mov dword [esi + 0x200], edi
mov dword [esi + 0x1fc], ebx
mov byte [esi + 0x1ec], bl
mov dword [esi + 0x21c], edi
mov dword [esi + 0x218], ebx
mov byte [esi + 0x208], bl
mov dword [esi + 0x238], edi
mov dword [esi + 0x234], ebx
mov byte [esi + 0x224], bl
mov dword [esi + 0x254], edi
mov dword [esi + 0x250], ebx
mov byte [esi + 0x240], bl
mov byte [esi + 0x258], bl
mov byte [esi + 0x259], bl
mov dword [esi + 0x25c], ebx
mov dword [esi + 0x278], edi
mov dword [esi + 0x274], ebx
mov byte [esi + 0x264], bl
mov dword [esi + 0x294], edi
mov dword [esi + 0x290], ebx
mov byte [esi + 0x280], bl
mov byte [esi + 0x298], bl
mov byte [esi + 0x299], bl
mov dword [esi + 0x2b4], edi
mov dword [esi + 0x2b0], ebx
mov byte [esi + 0x2a0], bl
mov dword [esi + 0x2d0], edi
mov dword [esi + 0x2cc], ebx
mov byte [esi + 0x2bc], bl
push ebx
push 0x2710
push 1
lea ecx, [esi + 0x2d8]
mov byte [esp + 0x210], 0x15
call fcn.0043aa60
push ebx
push 0x2710
push 2
lea ecx, [esi + 0x470]
mov byte [esp + 0x210], 0x16
call fcn.0043aa60
push ebx
push ebx
push 3
lea ecx, [esi + 0x608]
mov byte [esp + 0x210], 0x17
call fcn.0043aa60
push ebx
push ebx
push 4
lea ecx, [esi + 0x7a0]
mov byte [esp + 0x210], 0x18
call fcn.0043aa60
push ebx
push ebx
push ebx
lea ecx, [esi + 0x938]
mov byte [esp + 0x210], 0x19
call fcn.0043aa60
lea ebp, [esi + 0xad4]
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x14], ebx
mov byte [ebp + 4], bl
mov dword [esi + 0xb08], edi
mov dword [esi + 0xb04], ebx
mov byte [esi + 0xaf4], bl
mov dword [esi + 0xb24], edi
mov dword [esi + 0xb20], ebx
mov byte [esi + 0xb10], bl
mov dword [esi + 0xb40], edi
mov dword [esi + 0xb3c], ebx
mov byte [esi + 0xb2c], bl
mov dword [esi + 0xb5c], edi
mov dword [esi + 0xb58], ebx
mov byte [esi + 0xb48], bl
mov dword [esi + 0xb78], edi
mov dword [esi + 0xb74], ebx
mov byte [esi + 0xb64], bl
mov dword [esi + 0xb94], edi
mov dword [esi + 0xb90], ebx
mov byte [esi + 0xb80], bl
mov dword [esi + 0xbb0], edi
mov dword [esi + 0xbac], ebx
mov byte [esi + 0xb9c], bl
mov dword [esi + 0xbcc], edi
mov dword [esi + 0xbc8], ebx
mov byte [esi + 0xbb8], bl
mov dword [esi + 0xbe8], edi
mov dword [esi + 0xbe4], ebx
mov byte [esi + 0xbd4], bl
mov dword [esi + 0xc04], edi
mov dword [esi + 0xc00], ebx
mov byte [esi + 0xbf0], bl
mov dword [esi + 0xc20], edi
mov dword [esi + 0xc1c], ebx
mov byte [esi + 0xc0c], bl
mov dword [esi + 0xc3c], edi
mov dword [esi + 0xc38], ebx
mov byte [esi + 0xc28], bl
mov dword [esi + 0xc58], edi
mov dword [esi + 0xc54], ebx
mov byte [esi + 0xc44], bl
mov dword [esi + 0xc74], edi
mov dword [esi + 0xc70], ebx
mov byte [esi + 0xc60], bl
mov dword [esi + 0xc90], edi
mov dword [esi + 0xc8c], ebx
mov byte [esi + 0xc7c], bl
mov dword [esi + 0xcac], edi
mov dword [esi + 0xca8], ebx
mov byte [esi + 0xc98], bl
mov byte [esi + 0xcb0], bl
mov dword [esi + 0xccc], edi
mov dword [esi + 0xcc8], ebx
mov byte [esi + 0xcb8], bl
mov dword [esi + 0xcd0], ebx
mov byte [esi + 0xcd4], bl
mov dword [esi + 0xcf0], edi
mov dword [esi + 0xcec], ebx
mov byte [esi + 0xcdc], bl
mov dword [esi + 0xcf4], ebx
mov dword [esi + 0xd10], edi
mov dword [esi + 0xd0c], ebx
mov byte [esi + 0xcfc], bl
mov dword [esi + 0xd2c], edi
mov dword [esi + 0xd28], ebx
mov byte [esi + 0xd18], bl
lea ecx, [esi + 0xd30]
mov byte [esp + 0x204], 0x2f
call fcn.0040bd20
mov dword [esi + 0xd64], edi
mov dword [esi + 0xd60], ebx
mov byte [esi + 0xd50], bl
mov dword [esi + 0xd80], edi
mov dword [esi + 0xd7c], ebx
mov byte [esi + 0xd6c], bl
mov dword [esi + 0xd9c], edi
mov dword [esi + 0xd98], ebx
mov byte [esi + 0xd88], bl
mov dword [esi + 0xdb8], edi
mov dword [esi + 0xdb4], ebx
mov byte [esi + 0xda4], bl
push 1
push 2
lea ecx, [esi + 0xdc4]
mov byte [esp + 0x20c], 0x34
mov dword [esi + 0xdbc], ebx
mov dword [esi + 0xdc0], ebx
call fcn.0040e8e0
mov dword [esi + 0xe5c], edi
mov dword [esi + 0xe58], ebx
mov byte [esi + 0xe48], bl
mov dword [esi + 0xe60], ebx
mov dword [esi + 0xe7c], edi
mov dword [esi + 0xe78], ebx
mov byte [esi + 0xe68], bl
mov dword [esi + 0xe98], edi
mov dword [esi + 0xe94], ebx
mov byte [esi + 0xe84], bl
mov dword [esi + 0xeb4], edi
mov dword [esi + 0xeb0], ebx
mov byte [esi + 0xea0], bl
mov dword [esi + 0xed0], edi
mov dword [esi + 0xecc], ebx
mov byte [esi + 0xebc], bl
mov dword [esi + 0xeec], edi
mov dword [esi + 0xee8], ebx
mov byte [esi + 0xed8], bl
mov dword [esi + 0xf08], edi
mov dword [esi + 0xf04], ebx
mov byte [esi + 0xef4], bl
push 0x114
lea ecx, [esp + 0xe8]
push ebx
push ecx
mov byte [esp + 0x210], 0x3c
mov byte [esi + 0x166], bl
call fcn.0058fdc6
add esp, 0xc
lea edx, [esp + 0xe4]
push edx
mov dword [esp + 0xe8], 0x114
call dword [0x5a02fc]
mov ecx, dword [esp + 0xf0]
mov eax, dword [esp + 0xe8]
push ebx
push ecx
lea edx, [esp + 0xd0]
push edx
mov dword [esi + 0xad0], eax
call fcn.0040edc0
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xf8]
push ebx
push eax
lea ecx, [esp + 0x28]
push ecx
mov byte [esp + 0x21c], 0x3d
call fcn.0040edc0
mov dword [esp + 0x68], eax
mov edx, dword [esp + 0x100]
push ebx
push edx
lea eax, [esp + 0x54]
push eax
mov byte [esp + 0x228], 0x3e
call fcn.0040edc0
push 0x5a22d0
push eax
lea ecx, [esp + 0xbc]
push ecx
mov byte [esp + 0x234], 0x3f
call fcn.0040c7b0
mov edx, dword [esp + 0x80]
push edx
push eax
lea eax, [esp + 0x90]
push eax
mov byte [esp + 0x240], 0x40
call fcn.0040c870
push 0x5a22d0
push eax
lea ecx, [esp + 0xf0]
push ecx
mov byte [esp + 0x24c], 0x41
call fcn.0040c7b0
add esp, 0x48
mov edx, dword [esp + 0x30]
push edx
push eax
lea eax, [esp + 0x7c]
push eax
mov byte [esp + 0x210], 0x42
call fcn.0040c870
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
mov ecx, ebp
mov byte [esp + 0x210], 0x43
call fcn.0040ba20
cmp dword [esp + 0x8c], 0x10
jb 0x412e40
mov ecx, dword [esp + 0x78]
push ecx
call fcn.0058fc40
add esp, 4
cmp dword [esp + 0xc4], 0x10
mov dword [esp + 0x8c], edi
mov dword [esp + 0x88], ebx
mov byte [esp + 0x78], bl
jb 0x412e6c
mov edx, dword [esp + 0xb0]
push edx
call fcn.0058fc40
add esp, 4
cmp dword [esp + 0x70], 0x10
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], bl
jb 0x412e95
mov eax, dword [esp + 0x5c]
push eax
call fcn.0058fc40
add esp, 4
cmp dword [esp + 0xa8], 0x10
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], bl
jb 0x412ebb
mov ecx, dword [esp + 0x94]
push ecx
call fcn.0058fc40
add esp, 4
cmp dword [esp + 0x4c], 0x10
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x94], bl
jb 0x412ee4
mov edx, dword [esp + 0x38]
push edx
call fcn.0058fc40
add esp, 4
cmp dword [esp + 0x2c], 0x10
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
jb 0x412f04
mov eax, dword [esp + 0x18]
push eax
call fcn.0058fc40
add esp, 4
cmp dword [esp + 0xe0], 0x10
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
mov byte [esp + 0x204], 0x3c
jb 0x412f32
mov ecx, dword [esp + 0xcc]
push ecx
call fcn.0058fc40
add esp, 4
call fcn.00441240
test al, al
je 0x412f49
push 1
push 0x5a22cc
mov ecx, ebp
call fcn.0040bb00
call fcn.00445d20
push str.installId
lea ecx, [esp + 0x38]
call fcn.0040c130
lea edx, [esp + 0x34]
push edx
mov byte [esp + 0x208], 0x44
call fcn.00440520
push eax
lea eax, [esp + 0x1c]
push 0x80000001
push eax
call fcn.0043f290
add esp, 0x10
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0xc08]
mov byte [esp + 0x210], 0x45
call fcn.0040ba20
mov ebp, 0x10
cmp dword [esp + 0x2c], ebp
jb 0x412fb0
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0058fc40
add esp, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
mov byte [esp + 0x204], 0x3c
cmp dword [esp + 0x4c], ebp
jb 0x412fd7
mov edx, dword [esp + 0x38]
push edx
call fcn.0058fc40
add esp, 4
push str.installId2
lea ecx, [esp + 0x38]
call fcn.0040c130
lea eax, [esp + 0x34]
push eax
mov byte [esp + 0x208], 0x46
call fcn.00440520
push eax
lea ecx, [esp + 0x1c]
push 0x80000001
push ecx
call fcn.0043f290
add esp, 0x10
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0xc24]
mov byte [esp + 0x210], 0x47
call fcn.0040ba20
cmp dword [esp + 0x2c], ebp
jb 0x413034
mov edx, dword [esp + 0x18]
push edx
call fcn.0058fc40
add esp, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
mov byte [esp + 0x204], 0x3c
cmp dword [esp + 0x4c], ebp
jb 0x41305b
mov eax, dword [esp + 0x38]
push eax
call fcn.0058fc40
add esp, 4
call fcn.00462d90
mov ecx, eax
call fcn.004639a0
call fcn.00411b70
mov eax, esi
mov ecx, dword [esp + 0x1fc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1e4]
xor ecx, esp
call fcn.0058fcd6
add esp, 0x1f4
ret