Function at 0x43b610
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x468865
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4812a4]
xor eax, esp
push eax
lea eax, [esp + 0xb4]
mov dword fs:[0], eax
lea eax, [esp + 0x1c]
xor edi, edi
push eax
mov dword [esp + 0x1c], edi
push 8
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x43b698
mov esi, dword [esp + 0xc4]
push edi
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], edi
push 0x46feb4
mov ecx, esi
mov byte [esi + 4], al
call fcn.00407a50
mov dword [esp + 0xbc], edi
mov dword [esp + 0x18], 1
jmp 0x43b93c
mov edx, dword [esp + 0x1c]
mov esi, dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
lea ecx, [esp + 0x14]
push ecx
push edi
push edi
mov ebx, 1
push ebx
push edx
call esi
mov eax, dword [esp + 0x14]
push eax
call fcn.0044bde4
mov ecx, dword [esp + 0x18]
add esp, 4
push ecx
mov ebp, eax
push edi
push ebp
call fcn.0044d590
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
add esp, 0xc
lea edx, [esp + 0x14]
push edx
push eax
push ebp
push ebx
push ecx
call esi
test eax, eax
jne 0x43b718
mov esi, dword [esp + 0xc4]
push edi
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], edi
push 0x46feb4
mov ecx, esi
mov byte [esi + 4], al
call fcn.00407a50
mov dword [esp + 0xbc], edi
mov dword [esp + 0x18], ebx
jmp 0x43b93c
mov edx, dword [esp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp]
push eax
call dword [sym.imp.ADVAPI32.dll_IsValidSid]
test eax, eax
jne 0x43b75d
push ebp
call fcn.00449f09
mov esi, dword [esp + 0xc8]
add esp, 4
push 0x46feb4
mov ecx, esi
call fcn.004091b0
mov dword [esp + 0xbc], edi
mov dword [esp + 0x18], ebx
jmp 0x43b93c
lea ecx, [esp + 0x2c]
push ecx
call fcn.004086c0
mov dword [esp + 0xbc], ebx
mov edx, dword [ebp]
push edx
call dword [sym.imp.ADVAPI32.dll_GetSidIdentifierAuthority]
mov edi, eax
mov eax, dword [ebp]
push eax
call dword [sym.imp.ADVAPI32.dll_GetSidSubAuthorityCount]
movzx ecx, byte [eax]
push 0x2d
push ecx
push ebx
push ecx
lea edx, [esp + 0x3c]
push 0x4728f8
push edx
mov dword [esp + 0x38], ecx
call fcn.00415db0
add esp, 0xc
push eax
call fcn.00407b20
add esp, 4
push eax
call fcn.00414e80
add esp, 8
cmp byte [edi], 0
jne 0x43b7f0
cmp byte [edi + 1], 0
jne 0x43b7f0
lea eax, [edi + 6]
lea esi, [edi + 2]
cmp esi, eax
lea ecx, [esp + 0x24]
je 0x43b7dc
lea ecx, [ecx]
sub eax, ebx
mov dl, byte [eax]
mov byte [ecx], dl
add ecx, ebx
cmp eax, esi
jne 0x43b7d0
mov eax, dword [esp + 0x24]
push eax
lea ecx, [esp + 0x30]
push ecx
call fcn.0043b960
jmp 0x43b87c
lea edx, [esp + 0x2c]
push 0x4728fc
push edx
call fcn.00415db0
add esp, 8
xor esi, esi
mov bl, 0x30
jmp 0x43b810
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
lea ecx, [esp + 0x24]
lea eax, [esp + eax + 0x2c]
push 2
push ecx
mov byte [eax + 0x30], bl
call fcn.004495dc
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x34]
push edx
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0x38]
mov edx, dword [eax]
push ecx
call edx
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
mov ecx, dword [esp + eax + 0x4c]
lea eax, [esp + eax + 0x3c]
and ecx, 0xfffff9ff
or ecx, 0x800
mov dword [eax + 0x10], ecx
movzx dx, byte [esi + edi]
add esp, 0x10
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.0041c190
add esi, 1
cmp esi, 6
jl 0x43b810
mov ebx, 1
xor esi, esi
cmp dword [esp + 0x20], esi
jbe 0x43b8df
mov ebx, dword [sym.imp.ADVAPI32.dll_GetSidSubAuthority]
lea ebx, [ebx]
lea ecx, [esp + 0x2c]
push 0x470f78
push ecx
call fcn.00415db0
mov edi, eax
add esp, 8
test edi, edi
je 0x43b8af
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
mov ecx, dword [eax + 0x10]
and ecx, 0xfffff3ff
or ecx, 0x200
mov dword [eax + 0x10], ecx
mov edx, dword [ebp]
push esi
push edx
call ebx
mov eax, dword [eax]
push eax
push edi
call fcn.0043b960
add esi, 1
cmp esi, dword [esp + 0x20]
jb 0x43b890
mov ebx, 1
push ebp
call fcn.00449f09
mov esi, dword [esp + 0xc8]
add esp, 4
push esi
lea ecx, [esp + 0x30]
call fcn.00407860
mov dword [esp + 0x18], ebx
mov byte [esp + 0xbc], 0
lea ecx, [esp + 0x78]
call fcn.00407da0
lea ecx, [esp + 0x78]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x78], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov dword [esp + 0xbc], 0
mov edx, ecx
push edx
mov dword [esp + 0x7c], vtable.std::ios_base.0
call fcn.00448b8e
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0xb4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xac
ret