Function at 0x1001d2a2
Capabilities:
Get session user name

Disassembly:
mov eax, 0x1008849c
call fcn.10087660
sub esp, 0xb8
push ebx
push esi
push edi
xor ebx, ebx
mov edi, ecx
inc ebx
lea ecx, [ebp - 0xbc]
push ebx
call fcn.100280d9
xor esi, esi
lea ecx, [ebp - 0x98]
push 2
mov dword [ebp - 4], esi
call fcn.100280d9
lea eax, [ebp - 0x88]
mov byte [ebp - 4], bl
push eax
lea eax, [ebp - 0xbc]
mov dword [ebp - 0x10], 0xffff
push esi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], 0x7e318b47
push eax
call fcn.100220f5
add esp, 0xc
lea eax, [ebp - 0x98]
mov edx, 0x47c0
push eax
push esi
push 0x624
push 0x7546
push ecx
push 0x3825
push 0x1c2
lea eax, [ebp - 0x88]
mov ecx, 0x727a
push eax
push 0x7aa6
call fcn.1001d229
mov eax, dword [ebp - 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x98]
add esp, 0x24
mov dword [ecx + 4], esi
mov esi, dword [ecx + 4]
mov ecx, dword [ebp - 0x10]
imul ecx, eax
mov eax, dword [ebp - 0xbc]
cmp ecx, esi
setl dl
xor ebx, ebx
cmp dword [eax], edx
mov eax, dword [ebp - 0x98]
setg bl
xor ecx, ecx
cmp ebx, esi
setg cl
xor ebx, ebx
mov dword [eax], ecx
lea ecx, [ebp - 0x98]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], ebx
call fcn.1002815b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xbc]
call fcn.1002815b
cmp dword [edi], ebx
je 0x1001d7d7
push dword [edi]
push ebx
push dword [edi + 4]
call fcn.100583e6
mov dword [ebp - 0x34], 0x841b3c69
xor esi, esi
mov dword [ebp - 0x80], 0x9d585ed0
inc esi
mov dword [ebp - 0x84], esi
add esp, 0xc
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x58], 0x563ade4
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1001d3ef
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov dword [ebp - 0x34], ebx
jmp 0x1001d54b
mov dword [ebp - 0x44], 0x579253a3
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x1c], 4
push esi
call fcn.100280d9
mov dword [ebp - 4], 2
mov dword [ebp - 0x74], 0xbc3fa0e8
mov dword [ebp - 0x10], ebx
jmp 0x1001d437
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], 0xe434392f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001d424
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x64]
push eax
push 0x1a70
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x84]
push eax
push 0xf8
push ebx
call fcn.10021bd7
add esp, 0x2c
mov dword [ebp - 0x1c], ebx
jmp 0x1001d52f
mov dword [ebp - 0x18], 0xbd6cd538
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x10], 0xcffae3c
mov dword [ebp - 0x60], 0x57f0
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x78], 0xfffffffb
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x40], 0x1828f6d4
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
neg ecx
push 0xd6b
sbb ecx, ecx
inc ecx
inc dword [ebp - 0x20]
cmp eax, ecx
mov eax, esi
cmove eax, ebx
xor ecx, ecx
cmp eax, 8
mov eax, dword [ebp - 0x18]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x5c]
setge cl
push eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x5c], ecx
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x64]
push eax
push ebx
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.100217a8
add esp, 0x24
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1b
jge 0x1001d47d
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.1002815b
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 5
je 0x1001d3f7
push ebx
push 0x6a3
push edi
push 0x5039
call fcn.1002157e
add esp, 0x10
push 8
pop eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], 0xe58b
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x24], 0xa4ccfd66
mov dword [ebp - 0x30], 0x4a938f73
cmp dword [ebp - 0x38], ebx
je 0x1001d5fb
mov dword [ebp - 0x18], 0xfff7
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x1001d5b0
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc4], 0xfffffffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001d59f
mov eax, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
mov ecx, dword [ebp - 0x18]
setge dl
xor eax, eax
imul ecx, edx
cmp ecx, 0xa17d
mov dword [ebp - 0xc0], ecx
setl al
xor ecx, ecx
cmp eax, 0x5ba1
setge cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
jmp 0x1001d671
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x8c], 0x5b01d976
mov dword [ebp - 0x68], 2
mov dword [ebp - 0x24], ebx
jmp 0x1001d66b
push 0x6801
push esi
lea eax, [ebp - 0x54]
mov dword [ebp - 0x7c], 0x8be
push eax
lea eax, [ebp - 0x7c]
push eax
push ecx
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x6c]
push 0x73ac
push eax
lea edx, [ebp - 0x38]
lea ecx, [ebp - 0x30]
call fcn.1001d229
push 0x76f1
push 0x6031
push ebx
lea eax, [ebp - 0x25]
mov byte [ebp - 0x25], bl
push 0x43f8
push eax
call fcn.100216c5
add esp, 0x38
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffffa
jl 0x1001d614
mov dword [ebp - 0x30], 0x15
jmp 0x1001d6ab
mov dword [ebp - 0x18], 0xf908
cmp dword [ebp - 0x18], ebx
jne 0x1001d6b1
mov dword [ebp - 0x3c], 0xfffffff7
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x30], ebx
jne 0x1001d6a8
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001d6a8
push ebx
call fcn.1001fd91
pop ecx
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 9
jg 0x1001d67a
push edi
push 0x6d9e
push 0x334e
push ebx
call fcn.1001da35
add esp, 0x10
lea ecx, [ebp - 0x50]
push 4
call fcn.100280d9
mov dword [ebp - 4], 3
mov dword [ebp - 0x70], 0xfffffffe
mov dword [ebp - 0x10], ebx
jmp 0x1001d6f0
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2c], 0x39b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001d6e2
mov dword [ebp - 0x10], ebx
jmp 0x1001d70a
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x50]
mov dword [eax + ecx*4], 0x743d837b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1001d6fa
mov eax, dword [ebp - 0x50]
mov dword [eax], ebx
push 3
lea ecx, [ebp - 0xb0]
call fcn.100280d9
mov dword [ebp - 0x10], ebx
jmp 0x1001d73a
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xb0]
mov dword [eax + ecx*4], 0xb9193c1d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1001d727
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0xb0]
mov dword [eax], ebx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001d796
call dword [sym.imp.USER32.dll_GetCapture]
lea ecx, [ebp - 0xb0]
call fcn.1002815b
mov eax, dword [ebp - 0x50]
dec dword [eax]
jns 0x1001d715
push 0x5490
push ebx
push 0x6f9f
lea eax, [ebp - 0x70]
push eax
push 0x3fee
push 0x7339
call fcn.10020906
add esp, 0x18
lea ecx, [ebp - 0x50]
call fcn.1002815b
mov dword [edi], ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret