Function at 0x411a20
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x423b1c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x3c]
call fcn.00402710
mov ecx, edi
mov dword [ebp - 0x30], 0
call fcn.00414dd0
call fcn.00413db0
cmp eax, 1
jne 0x411a62
lea eax, [ebp - 0x30]
push eax
call fcn.00413f10
add esp, 4
lea esi, [edi + 0x38]
push esi
call fcn.00413c00
add esp, 4
test eax, eax
jne 0x411af8
push eax
push ecx
mov ecx, esp
push esi
call fcn.00403c50
lea ecx, [ebp - 0x1c]
call fcn.00414500
call fcn.00413db0
mov ecx, dword [edi + 0x60]
cmp eax, 1
mov edx, dword [edi + 0x54]
lea eax, [ebp - 0x24]
jne 0x411a9f
push 2
jmp 0x411aa1
push 1
push ecx
push eax
mov ecx, edx
call fcn.0041e1d0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402860
lea ecx, [ebp - 0x24]
call fcn.00402b50
lea ecx, [ebp - 0x3c]
call fcn.00402a00
lea ecx, [ebp - 0x1c]
test eax, eax
je 0x411b46
push 1
push 0xc0000000
call fcn.004145a0
test eax, eax
je 0x411af0
push 2
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004146f0
lea ecx, [ebp - 0x1c]
call fcn.004147e0
lea ecx, [ebp - 0x1c]
call fcn.00414d80
lea esi, [edi + 0x3c]
push esi
call fcn.00413c00
add esp, 4
test eax, eax
jne 0x411b8c
push eax
push ecx
mov ecx, esp
push esi
call fcn.00403c50
lea ecx, [ebp - 0x1c]
call fcn.00414500
mov ecx, dword [edi + 0x54]
lea eax, [ebp - 0x24]
push 3
push dword [edi + 0x60]
push eax
call fcn.0041e1d0
lea ecx, [ebp - 0x24]
call fcn.00402a00
test eax, eax
jne 0x411b53
lea ecx, [ebp - 0x24]
call fcn.00402b50
lea ecx, [ebp - 0x1c]
call fcn.00414d80
or esi, 0xffffffff
jmp 0x411e46
push 1
push 0xc0000000
lea ecx, [ebp - 0x1c]
call fcn.004145a0
test eax, eax
je 0x411b7c
push 2
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004146f0
lea ecx, [ebp - 0x1c]
call fcn.004147e0
lea ecx, [ebp - 0x24]
call fcn.00402b50
lea ecx, [ebp - 0x1c]
call fcn.00414d80
mov ecx, edi
call fcn.00411f30
lea eax, [ebp - 0x1c]
push eax
lea eax, [edi + 0x20]
push eax
call fcn.00413d10
add esp, 8
mov ecx, edi
call fcn.00412170
test eax, eax
jne 0x411bea
push dword [ebp - 0x30]
call fcn.00413f50
add esp, 4
lea eax, [edi + 0x5c]
lea ecx, [ebp - 0x2c]
push eax
lea eax, [edi + 0x58]
push eax
push 4
call fcn.00406020
mov ecx, dword [edi + 0x60]
push eax
call fcn.00406350
lea ecx, [ebp - 0x2c]
call fcn.00406050
mov ecx, edi
call fcn.00414de0
xor esi, esi
jmp 0x411e46
lea eax, [edi + 0x34]
mov ecx, edi
push eax
call fcn.004124a0
test eax, eax
jne 0x411c35
push dword [ebp - 0x30]
call fcn.00413f50
add esp, 4
lea eax, [edi + 0x5c]
lea ecx, [ebp - 0x2c]
push eax
lea eax, [edi + 0x58]
push eax
push 6
call fcn.00406020
mov ecx, dword [edi + 0x60]
push eax
call fcn.00406350
lea ecx, [ebp - 0x2c]
call fcn.00406050
mov ecx, edi
call fcn.00414de0
xor esi, esi
jmp 0x411e46
push str.CertPropSvc
lea ecx, [ebp - 0x20]
call fcn.004032c0
push str.SessionEnv
lea ecx, [ebp - 0x34]
call fcn.004032c0
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
call fcn.004128e0
cmp eax, 4
jne 0x411c6c
push 3
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
call fcn.00412a60
lea eax, [ebp - 0x34]
mov ecx, edi
push eax
call fcn.004128e0
cmp eax, 4
jne 0x411c89
push 3
lea eax, [ebp - 0x34]
mov ecx, edi
push eax
call fcn.00412a60
lea ecx, [ebp - 0x34]
call fcn.00403ca0
lea ecx, [ebp - 0x20]
call fcn.00403ca0
push str.SeDebugPrivilege
lea ecx, [ebp - 0x20]
call fcn.004032c0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call fcn.00413e50
add esp, 8
lea ecx, [ebp - 0x20]
mov esi, eax
call fcn.00403ca0
test esi, esi
jne 0x411cfe
push dword [ebp - 0x30]
call fcn.00413f50
add esp, 4
lea eax, [edi + 0x5c]
lea ecx, [ebp - 0x2c]
push eax
lea eax, [edi + 0x58]
push eax
push 3
call fcn.00406020
mov ecx, dword [edi + 0x60]
push eax
call fcn.00406350
lea ecx, [ebp - 0x2c]
call fcn.00406050
mov ecx, edi
call fcn.00414de0
jmp 0x411e46
push dword [edi + 0x2c]
call fcn.00417ad0
add esp, 4
test eax, eax
jne 0x411d49
push dword [ebp - 0x30]
call fcn.00413f50
add esp, 4
lea eax, [edi + 0x5c]
lea ecx, [ebp - 0x2c]
push eax
lea eax, [edi + 0x58]
push eax
push 5
call fcn.00406020
mov ecx, dword [edi + 0x60]
push eax
call fcn.00406350
lea ecx, [ebp - 0x2c]
call fcn.00406050
mov ecx, edi
call fcn.00414de0
xor esi, esi
jmp 0x411e46
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3e8
call ebx
mov eax, dword [edi + 0x48]
xor esi, esi
test eax, eax
je 0x411d9a
cmp esi, eax
setb al
movzx eax, al
push eax
call fcn.00407b80
mov eax, dword [edi + 0x40]
lea ecx, [ebp - 0x20]
add esp, 4
lea eax, [eax + esi*4]
push eax
call fcn.00403c50
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
call fcn.004129b0
lea ecx, [ebp - 0x20]
call fcn.00403ca0
mov eax, dword [edi + 0x48]
inc esi
cmp esi, eax
jb 0x411d61
push 0x1f4
call ebx
lea eax, [edi + 0x28]
push eax
lea ecx, [ebp - 0x20]
call fcn.00403c50
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
call fcn.004129b0
lea ecx, [ebp - 0x20]
call fcn.00403ca0
push 0x1f4
call ebx
push 1
mov ecx, edi
call fcn.00412550
test eax, eax
jne 0x411e02
lea eax, [edi + 0x5c]
push eax
lea eax, [edi + 0x58]
push eax
push 7
lea ecx, [ebp - 0x2c]
call fcn.00406020
mov ecx, dword [edi + 0x60]
push eax
call fcn.00406350
lea ecx, [ebp - 0x2c]
call fcn.00406050
mov ecx, edi
call fcn.00414de0
xor esi, esi
jmp 0x411e46
call fcn.00413db0
cmp eax, 1
jne 0x411e17
push dword [ebp - 0x30]
call fcn.00413f50
add esp, 4
lea eax, [edi + 0x5c]
push eax
lea eax, [edi + 0x58]
push eax
push 0
lea ecx, [ebp - 0x2c]
call fcn.00406020
mov ecx, dword [edi + 0x60]
push eax
call fcn.00406350
lea ecx, [ebp - 0x2c]
call fcn.00406050
mov ecx, edi
call fcn.00414de0
mov esi, 8
lea ecx, [ebp - 0x3c]
call fcn.00402b50
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00401000
mov esp, ebp
pop ebp
ret 8