Function at 0x506440
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov eax, 0x22cc
mov ebp, esp
push edi
push esi
push ebx
call fcn.005594e8
sub esp, eax
movzx eax, byte [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2298], 0
mov byte [ebp - 0x22ad], al
mov eax, dword [0x799368]
mov dword [esi], eax
call dword [0x799af0]
lea edx, [ebp - 0x2298]
mov dword [esp + 4], 0x28
mov dword [esp + 8], edx
mov dword [esp], eax
call dword [0x799a3c]
mov eax, dword [ebp - 0x2298]
sub esp, 0xc
mov dword [esp + 8], 1
mov dword [esp + 4], str.SeDebugPrivilege
mov dword [esp], eax
call fcn.0053b100
mov eax, dword [ebp - 0x2298]
mov dword [esp], eax
mov eax, dword [0x799ac0]
mov dword [ebp - 0x22a8], eax
call eax
sub esp, 4
lea eax, [ebp - 0x2294]
mov dword [esp + 8], eax
lea eax, [ebp - 0x2018]
mov dword [esp + 4], 0x2000
mov dword [esp], eax
call fcn.0054e4f8
sub esp, 0xc
test eax, eax
jne 0x506500
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [ebp - 0x2294]
lea ecx, [ebp - 0x2274]
shr ebx, 2
call fcn.0053a420
test ebx, ebx
je 0x506c1d
lea eax, [ebp - 0x2018]
mov dword [ebp - 0x229c], eax
lea eax, [eax + ebx*4]
mov ebx, dword [0x799024]
mov dword [ebp - 0x22a4], eax
mov esi, esi
lea edi, [edi]
mov eax, dword [ebp - 0x229c]
lea esi, [ebp - 0x2290]
mov dword [ebp - 0x2254], 0x708218
mov dword [ebp - 0x224c], ebx
mov eax, dword [eax]
mov dword [esp + 4], esi
mov dword [ebp - 0x2248], ebx
mov dword [esp], eax
mov dword [ebp - 0x2244], ebx
mov dword [ebp - 0x2240], ebx
mov dword [ebp - 0x223c], ebx
mov dword [ebp - 0x2238], ebx
mov dword [ebp - 0x2234], ebx
mov dword [ebp - 0x2230], 0
mov dword [ebp - 0x2224], 0
mov dword [ebp - 0x2250], eax
mov dword [ebp - 0x2290], ebx
call fcn.00500e90
test al, al
je 0x506c50
mov dword [esp], esi
lea ecx, [ebp - 0x2240]
call dword [0x79929c]
sub esp, 4
lea esi, [ebp - 0x2220]
xor eax, eax
mov ecx, 0x82
mov dword [ebp - 0x228c], 0x104
mov edi, esi
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2250]
mov dword [esp], 0x410
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call dword [0x799b78]
sub esp, 0xc
mov dword [ebp - 0x22a0], eax
test eax, eax
je 0x506ab3
mov dword [esp], str.kernel32.dll
call dword [0x799b64]
sub esp, 4
mov edi, eax
test eax, eax
je 0x506a70
mov dword [esp + 4], str.QueryFullProcessImageNameW
mov dword [esp], eax
call dword [0x799b0c]
sub esp, 8
test eax, eax
je 0x506a60
mov ecx, dword [ebp - 0x22a0]
lea edx, [ebp - 0x228c]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 4], 0
mov dword [esp], ecx
call eax
sub esp, 0x10
mov dword [ebp - 0x22ac], eax
mov dword [esp], edi
call dword [0x799ae8]
mov edi, dword [ebp - 0x22ac]
sub esp, 4
test edi, edi
je 0x506a70
lea eax, [ebp - 0x2288]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [0x799290]
mov eax, dword [ebp - 0x2248]
mov edx, dword [ebp - 0x2288]
mov dword [ebp - 0x2288], eax
mov dword [ebp - 0x2248], edx
mov edx, dword [eax]
test edx, edx
je 0x506e70
cmp edx, 0xffffffff
je 0x5066d9
lock sub dword [eax], 1
je 0x506e70
mov eax, dword [ebp - 0x2240]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0x6b4ff5
mov edx, dword [eax + 4]
mov dword [esp + 4], edx
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x799244]
lea esi, [ebp - 0x2248]
test eax, eax
je 0x506e94
mov dword [esp], esi
lea ecx, [ebp - 0x227c]
call dword [0x799334]
sub esp, 4
cmp byte [ebp - 0x22ad], 0
jne 0x50687d
mov eax, dword [ebp - 0x2248]
xor ecx, ecx
lea esi, [ebp - 0x226c]
lea edi, [ebp - 0x2264]
mov dword [ebp - 0x2268], 0
mov dword [esp + 4], 0
mov eax, dword [eax + 4]
mov word [ebp - 0x2264], cx
mov ecx, esi
mov dword [esp], eax
mov dword [ebp - 0x226c], edi
call fcn.0061ca40
mov eax, dword [ebp - 0x2248]
sub esp, 8
mov edx, dword [ebp - 0x226c]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x5067d8
add eax, dword [eax + 0xc]
mov dword [ebp - 0x22ac], eax
je 0x5067bd
lea eax, [ecx + ecx]
mov dword [esp], edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x22ac]
mov dword [ebp - 0x22b4], ecx
mov dword [esp + 4], eax
call fcn.005647a0
mov ecx, dword [ebp - 0x22b4]
mov dword [esp], ecx
mov ecx, esi
mov dword [esp + 4], 0
call fcn.0061ca40
mov edx, dword [ebp - 0x226c]
sub esp, 8
lea eax, [ebp - 0x2278]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edx
call dword [0x799d94]
mov eax, dword [ebp - 0x226c]
sub esp, 0x14
cmp eax, edi
je 0x506818
mov dword [esp], eax
call fcn.00642b70
mov eax, dword [ebp - 0x2278]
test eax, eax
je 0x50687d
mov dword [esp + 4], eax
lea edi, [ebp - 0x2254]
mov dword [esp], esi
call dword [0x7994b4]
mov eax, dword [ebp - 0x2278]
mov dword [esp], eax
call dword [0x799da4]
mov edx, dword [ebp - 0x2224]
sub esp, 4
test edx, edx
je 0x506ee0
mov ecx, esi
mov edi, dword [0x79955c]
call edi
mov ecx, dword [ebp - 0x2224]
test al, al
je 0x506f20
test ecx, ecx
je 0x506ee6
mov ecx, esi
call dword [0x799520]
lea eax, [ebp - 0x227c]
lea ecx, [ebp - 0x2284]
mov dword [esp], eax
lea edi, [ebp - 0x2254]
call dword [0x799484]
mov eax, dword [ebp - 0x224c]
mov edx, dword [ebp - 0x2284]
sub esp, 4
mov dword [ebp - 0x224c], edx
mov dword [ebp - 0x2284], eax
mov edx, dword [eax]
test edx, edx
je 0x506e44
cmp edx, 0xffffffff
je 0x5068cc
lock sub dword [eax], 1
je 0x506e44
lea eax, [ebp - 0x2278]
mov dword [esp + 8], 0
lea edi, [ebp - 0x2254]
mov dword [esp + 4], 0x6b4ff5
mov dword [esp], eax
call dword [0x799260]
mov eax, dword [ebp - 0x2238]
mov edx, dword [ebp - 0x2278]
mov dword [ebp - 0x2278], eax
mov dword [ebp - 0x2238], edx
mov edx, dword [eax]
test edx, edx
je 0x506e20
cmp edx, 0xffffffff
je 0x506922
lock sub dword [eax], 1
je 0x506e20
mov edx, dword [ebp - 0x2248]
mov byte [ebp - 0x222c], 0
mov dword [ebp - 0x226c], edx
mov eax, dword [edx]
add eax, 1
cmp eax, 1
ja 0x506ed0
lea esi, [ebp - 0x226c]
lea ecx, [ebp - 0x2274]
mov dword [esp], esi
call fcn.0053a480
mov eax, dword [ebp - 0x226c]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x506e02
cmp edx, 0xffffffff
je 0x50697f
lock sub dword [eax], 1
mov eax, dword [ebp - 0x226c]
je 0x506e02
mov dword [esp + 4], 0xf
lea edi, [ebp - 0x2254]
mov dword [esp], str.FileDescription
call dword [0x799268]
mov dword [ebp - 0x226c], eax
lea eax, [ebp - 0x2274]
lea ecx, [ebp - 0x2280]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0053a590
mov eax, dword [ebp - 0x226c]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x506de4
cmp edx, 0xffffffff
je 0x5069e8
lock sub dword [eax], 1
mov eax, dword [ebp - 0x226c]
je 0x506de4
mov eax, dword [ebp - 0x2244]
mov edx, dword [ebp - 0x2280]
mov dword [ebp - 0x2280], eax
mov dword [ebp - 0x2244], edx
mov edx, dword [eax]
test edx, edx
je 0x506dc0
cmp edx, 0xffffffff
je 0x506a19
lock sub dword [eax], 1
je 0x506dc0
lea ecx, [ebp - 0x2274]
lea edi, [ebp - 0x2254]
call fcn.0053a450
mov eax, dword [ebp - 0x2244]
mov eax, dword [eax + 4]
test eax, eax
je 0x506eb0
lea edi, [ebp - 0x2254]
mov ecx, dword [ebp + 8]
mov dword [esp], edi
call fcn.0059dd20
sub esp, 4
lea ecx, [ebp - 0x227c]
call dword [0x799338]
jmp 0x506a9f
mov dword [esp], edi
call dword [0x799ae8]
sub esp, 4
lea esi, [esi]
mov eax, dword [ebp - 0x228c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x22a0]
mov dword [esp], eax
call fcn.0054e4f0
sub esp, 0x10
test eax, eax
jne 0x50668d
mov eax, dword [ebp - 0x22a0]
mov dword [esp], eax
mov eax, dword [ebp - 0x22a8]
call eax
sub esp, 4
call dword [0x7992b4]
mov eax, dword [ebp - 0x2290]
mov edx, dword [eax]
test edx, edx
je 0x506da0
cmp edx, 0xffffffff
je 0x506ade
lock sub dword [eax], 1
mov eax, dword [ebp - 0x2290]
je 0x506da0
mov dword [ebp - 0x2254], 0x708218
mov ecx, dword [ebp - 0x2224]
test ecx, ecx
je 0x506af7
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 0x2224], 0
mov eax, dword [ebp - 0x2234]
mov edx, dword [eax]
test edx, edx
je 0x506d80
cmp edx, 0xffffffff
je 0x506b26
lock sub dword [eax], 1
mov eax, dword [ebp - 0x2234]
je 0x506d80
mov eax, dword [ebp - 0x2238]
mov edx, dword [eax]
test edx, edx
je 0x506d60
cmp edx, 0xffffffff
je 0x506b4b
lock sub dword [eax], 1
mov eax, dword [ebp - 0x2238]
je 0x506d60
mov eax, dword [ebp - 0x223c]
mov edx, dword [eax]
test edx, edx
je 0x506d40
cmp edx, 0xffffffff
je 0x506b70
lock sub dword [eax], 1
mov eax, dword [ebp - 0x223c]
je 0x506d40
mov eax, dword [ebp - 0x2240]
mov edx, dword [eax]
test edx, edx
je 0x506d20
cmp edx, 0xffffffff
je 0x506b95
lock sub dword [eax], 1
mov eax, dword [ebp - 0x2240]
je 0x506d20
mov eax, dword [ebp - 0x2244]
mov edx, dword [eax]
test edx, edx
je 0x506d00
cmp edx, 0xffffffff
je 0x506bba
lock sub dword [eax], 1
mov eax, dword [ebp - 0x2244]
je 0x506d00
mov eax, dword [ebp - 0x2248]
mov edx, dword [eax]
test edx, edx
je 0x506ce2
cmp edx, 0xffffffff
je 0x506bdf
lock sub dword [eax], 1
mov eax, dword [ebp - 0x2248]
je 0x506ce2
mov eax, dword [ebp - 0x224c]
mov edx, dword [eax]
test edx, edx
je 0x506cc4
cmp edx, 0xffffffff
je 0x506c04
lock sub dword [eax], 1
mov eax, dword [ebp - 0x224c]
je 0x506cc4
add dword [ebp - 0x229c], 4
mov eax, dword [ebp - 0x229c]
cmp eax, dword [ebp - 0x22a4]
jne 0x506540
mov eax, dword [ebp + 8]
mov dword [esp], 0x505080
mov dword [esp + 4], eax
call dword [0x799dac]
sub esp, 8
lea ecx, [ebp - 0x2274]
call fcn.0053a430
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebp - 0x227c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x6b4ff5
mov dword [esp], eax
call dword [0x799260]
mov eax, dword [ebp - 0x2240]
mov edx, dword [ebp - 0x227c]
mov dword [ebp - 0x227c], eax
mov dword [ebp - 0x2240], edx
mov edx, dword [eax]
test edx, edx
je 0x506ca0
cmp edx, 0xffffffff
je 0x5065c8
lock sub dword [eax], 1
jne 0x5065c8
mov eax, dword [ebp - 0x227c]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x799020]
jmp 0x5065c8
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x799020]
jmp 0x506c04
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x799020]
jmp 0x506bdf
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x799020]
jmp 0x506bba
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x799020]
jmp 0x506b95
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x799020]
jmp 0x506b70
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x799020]
jmp 0x506b4b
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x799020]
jmp 0x506b26
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x799020]
jmp 0x506ade
mov eax, dword [ebp - 0x2280]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x799020]
jmp 0x506a19
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x799020]
jmp 0x5069e8
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x799020]
jmp 0x50697f
mov eax, dword [ebp - 0x2278]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x799020]
jmp 0x506922
mov eax, dword [ebp - 0x2284]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x799020]
jmp 0x5068cc
mov eax, dword [ebp - 0x2288]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x799020]
jmp 0x5066d9
mov dword [esp], esi
lea ecx, [ebp - 0x2240]
call dword [0x79929c]
sub esp, 4
jmp 0x506718
lea eax, [ebp - 0x224c]
lea ecx, [ebp - 0x2244]
mov dword [esp], eax
call dword [0x79929c]
sub esp, 4
jmp 0x506a3b
lock add dword [edx], 1
jmp 0x506943
mov edi, dword [0x79955c]
mov ecx, esi
call edi
test al, al
jne 0x506875
mov dword [esp], 0x10
call fcn.00642bb0
mov edi, eax
mov dword [esp], esi
mov ecx, eax
call dword [0x799518]
sub esp, 4
mov dword [ebp - 0x2224], edi
jmp 0x506875
mov dword [esp], esi
call dword [0x799524]
sub esp, 4
jmp 0x506875