Function at 0x10021db1
Capabilities:
Get session user name

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
mov byte [ebp - 8], cl
push ebx
push esi
push edi
test cl, cl
je 0x10021dce
push 0
call dword [sym.imp.GDI32.dll_CreateBitmapIndirect]
jmp 0x10022053
mov edi, dword [ebp + 0x14]
xor ebx, ebx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x10], 0xcea5d6c0
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x10], ebx
jmp 0x10021e00
lea eax, [ebp - 0x10]
mov dword [ebp - 0x28], 0x66f5
push eax
lea ecx, [ebp - 0x28]
call fcn.10022090
dec dword [ebp - 0x10]
pop ecx
cmp dword [ebp - 0x10], 0xfffffff9
jg 0x10021de9
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10021e16
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov dword [ebp - 0xc], 0xfffffff8
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0xc], ebx
jmp 0x10021e37
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x3c], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x10021e29
mov dword [ebp - 0xc], ebx
jmp 0x10021ee8
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x14], 0xfffffffa
mov dword [ebp - 0x14], ebx
jmp 0x10021e66
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2c], 0x2da3c3d2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10021e58
lea eax, [ebp - 2]
mov byte [ebp - 2], bl
push eax
call fcn.10022914
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
neg edx
pop ecx
sbb edx, edx
xor ecx, ecx
neg edx
mov esi, dword [ebp + eax*4 - 0x3c]
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x3c], esi
mov eax, dword [ebp - 0x18]
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0x44653ff
mov dword [ebp - 0x2c], ecx
setne al
xor edx, edx
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, 0xcc5c6a3f
setle dl
add edx, dword [ebp - 0xc]
imul edx, dword [ebp - 0x18]
cmp eax, edx
sbb ecx, ecx
xor eax, eax
inc ecx
sub ecx, dword [ebp - 0x18]
cmp esi, ecx
sete al
mov dword [ebp - 0x18], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jle 0x10021e45
mov dword [ebp - 0xc], ebx
jmp 0x10021f05
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x3c], 0x2c51978e
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x10021ef7
movzx eax, word [edi]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov edx, 0x4ffb
push ebx
lea eax, [ebp - 0x24]
push eax
push 0x18ce
call fcn.1002205a
add esp, 0xc
mov edi, ebx
mov eax, 0xa0e6
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x14], 0xffffffe4
jmp 0x10021f86
mov dword [ebp - 0x18], ebx
jmp 0x10021f5d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1c], 0x6942a1e9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x10021f4f
mov dword [ebp - 0x1c], 3
cmp dword [ebp - 0x1c], ebx
jl 0x10021f83
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10021f7e
xor cl, cl
call fcn.100248d4
dec dword [ebp - 0x1c]
jns 0x10021f6f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff2
jl 0x10021f4a
lea eax, [ebp - 3]
mov byte [ebp - 3], bl
push 0x6ee8
push eax
mov edx, 0x5d09
xor cl, cl
call fcn.10024205
mov esi, dword [ebp - 0x20]
mov dl, 0x2e
pop ecx
pop ecx
mov cl, byte [edi + esi]
call fcn.1002c05c
mov byte [edi + esi], al
inc edi
mov eax, 0xa0e6
cmp edi, 2
jb 0x10021f32
mov ecx, dword [ebp + 0xc]
mov ax, word [ebp - 0x24]
mov word [ecx], ax
mov dword [ebp - 0x18], 0x4413
cmp dword [ebp - 0x18], 0x47f9
jle 0x10022053
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x2c], edi
and edi, esi
xor esi, esi
mov ecx, esi
mov eax, ebx
sar eax, cl
lea ecx, [ebp - 0x64]
xor eax, edi
cdq
push edx
push eax
call fcn.10001a65
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002200d
mov eax, dword [eax]
push eax
call fcn.100442bc
pop ecx
push 0
push 1
lea ecx, [ebp - 0x64]
call fcn.10004a91
inc esi
cmp esi, 0x34d9
jl 0x10021ff0
inc ebx
cmp ebx, 0x1c21
jl 0x10021fee
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
inc edi
mov dword [ebp - 0x20], edi
push 0
pop ebx
cmp edi, 0x7183
jl 0x10021fe9
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x3289
jl 0x10021fe4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret