Function at 0x433aa2
Capabilities:
Get session user name

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6e0
push ebx
push esi
push edi
cmp dword [ebp + 8], 0
jne 0x433abd
jmp 0x433f45
push 0x10
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.00452940
add esp, 0xc
mov dword [ebp - 0x6a0], eax
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [0x462284], 0
je 0x433b10
push 0
push 0x40000000
push 3
push 0
push 0
push 0xc0000000
push 0x47a1e0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x1c8], eax
jmp 0x433b4c
push 0
push 0x40000000
push 3
push 0
push 0
push 0xc0000000
mov eax, 0x47a204
mov ecx, 0x47a224
xor edx, edx
cmp dword [0x462280], 0
setne dl
dec edx
sub ecx, eax
and edx, ecx
add edx, eax
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0xffffffff
jne 0x433b95
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47a240
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x10
push 0x47a290
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x433f45
mov dword [0x4817e8], 0
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [ebp - 0x6d8], eax
mov byte [ebp - 0x3ef], 3
mov byte [ebp - 0x69c], 0
mov byte [ebp - 0x6d4], 0x5c
mov eax, dword [ebp - 0x6a0]
mov dword [ebp - 0x6d0], eax
push 0
lea eax, [ebp - 0x6e0]
push eax
push 0x1c2
lea eax, [ebp - 0x1c4]
push eax
push 0x32
lea eax, [ebp - 0x6d4]
push eax
push 0xab350200
mov eax, dword [ebp - 0x1c8]
push eax
call fcn.004372d3
add esp, 0x20
xor eax, eax
mov al, byte [ebp - 0x1c4]
cmp eax, 1
jne 0x433ec0
mov al, byte [ebp - 0x1bc]
mov byte [ebp - 0x69b], al
mov al, byte [ebp - 0x1bb]
mov byte [ebp - 0x69a], al
mov al, byte [ebp - 0x1ba]
mov byte [ebp - 0x699], al
mov al, byte [ebp - 0x1b9]
mov byte [ebp - 0x698], al
mov byte [ebp - 0x146], 0
lea edi, [ebp - 0x1b4]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov edx, edi
lea edi, [ebp - 0x680]
mov esi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor eax, eax
mov al, byte [ebp - 0xfc]
test eax, eax
je 0x433ce3
mov dword [0x4622fc], 1
lea edi, [ebp - 0xfc]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov edx, edi
lea edi, [ebp - 0x4f4]
mov esi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x66]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov edx, edi
lea edi, [ebp - 0x472]
mov esi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x433ced
mov dword [0x4622fc], 0
xor eax, eax
mov al, byte [ebp - 0x69a]
test al, 4
je 0x433d2a
mov byte [ebp - 0x69c], 1
mov eax, 0x47a2b4
lea ecx, [ebp - 0x5fd]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov al, byte [eax + 0xc]
mov byte [ecx + 0xc], al
jmp 0x433d5b
lea eax, [ebp - 0x69c]
push eax
push 0x432b4d
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push 0x47a2c4
mov eax, dword [0x4817e8]
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
mov eax, dword [ebp - 0x6d8]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
movsx eax, byte [ebp - 0x69c]
test eax, eax
jne 0x433d76
mov byte [ebp - 0x3ef], 8
jmp 0x433ebb
movsx eax, byte [ebp - 0x69c]
cmp eax, 1
jne 0x433ea4
mov al, byte [ebp - 0x698]
mov byte [ebp - 0x2cb], al
lea eax, [ebp - 0x2ca]
push eax
call fcn.00417c72
add esp, 4
mov byte [ebp - 0x2c6], 0xc2
lea edi, [ebp - 0x5fd]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov edx, edi
lea edi, [ebp - 0x2c5]
mov esi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x22c], 0
mov dword [ebp - 0x6dc], 0x62
lea eax, [ebp - 0x6dc]
push eax
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
xor eax, eax
mov al, byte [0xb4bb40]
test eax, eax
je 0x433e6d
mov edi, 0xb4bb40
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov edx, edi
lea edi, [ebp - 0x291]
mov esi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x22c]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, edi
mov ebx, ecx
lea edi, [ebp - 0x291]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
dec edi
mov esi, edx
mov ecx, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x433e98
lea edi, [ebp - 0x22c]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov edx, edi
lea edi, [ebp - 0x291]
mov esi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x3ef], 1
jmp 0x433ebb
movsx eax, byte [ebp - 0x69c]
cmp eax, 3
jne 0x433ebb
mov byte [ebp - 0x3ef], 3
jmp 0x433ef0
push str.Error_998_occurred_during_driver_fetch._n_nPlease_Report_to_your_Administrator.
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push 0x10
push 0x47a328
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [ebp - 0x3f0], 0x5b
mov eax, dword [ebp - 0x6a0]
mov dword [ebp - 0x3ec], eax
push 0
lea eax, [ebp - 0x6e0]
push eax
push 0x1c2
lea eax, [ebp - 0x1c4]
push eax
push 0x1c2
lea eax, [ebp - 0x3f0]
push eax
push 0xab350200
mov eax, dword [ebp - 0x1c8]
push eax
call fcn.004372d3
add esp, 0x20
mov eax, dword [ebp - 0x1c8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebx
leave
ret