Function at 0x43e890
Capabilities:
Get session user name

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff70
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 4], edx
mov esi, eax
mov eax, dword [ebp - 4]
call fcn.00403b94
xor eax, eax
push ebp
push 0x43ef42
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 4], 0
jne 0x43e90f
mov dword [ebp - 8], 0x80
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x88]
push eax
call sub.advapi32.dll_GetUserNameA
lea eax, [ebp - 4]
lea edx, [ebp - 0x88]
mov ecx, 0x80
call fcn.00403990
mov eax, dword [ebp - 4]
call fcn.004039e0
cmp eax, 2
jge 0x43e90f
lea eax, [ebp - 4]
mov edx, 0x43ef58
call fcn.004037fc
lea edx, [ebp - 0x90]
xor eax, eax
call fcn.00402820
mov eax, dword [ebp - 0x90]
lea edx, [ebp - 0x8c]
call fcn.00406ddc
lea eax, [ebp - 0x8c]
mov edx, dword [0x441a9c]
call fcn.004039e8
mov ecx, dword [ebp - 0x8c]
mov dl, 1
mov eax, dword [0x43c148]
call fcn.0043c1a4
mov ebx, eax
lea edx, [ebp - 0x8c]
xor eax, eax
call fcn.00402820
mov eax, dword [ebp - 0x8c]
lea edx, [ebp - 0x90]
call fcn.00406ddc
lea eax, [ebp - 0x90]
mov edx, 0x43ef70
call fcn.004039e8
mov eax, dword [ebp - 0x90]
push eax
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x43ef84
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c1d8
mov edx, dword [ebp - 0x8c]
mov eax, dword [esi + 0x220]
call fcn.0041c6a4
push 0x282
mov ecx, 0x43ef9c
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c2dc
mov edx, eax
mov eax, dword [0x442798]
call fcn.0041c0e0
push 0x1f4
mov ecx, 0x43efb4
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c2dc
mov edx, eax
mov eax, dword [0x442798]
call fcn.0041c100
push 0
mov ecx, 0x43efcc
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c2dc
mov edx, eax
mov eax, dword [0x442798]
call fcn.0041c0c0
push 0
mov ecx, 0x43efe0
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c2dc
mov edx, eax
mov eax, dword [0x442798]
call fcn.0041c0a0
push 0
mov ecx, 0x43eff4
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c2dc
mov edx, eax
mov eax, dword [esi + 0x234]
call fcn.00433108
push 2
mov ecx, 0x43f008
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c2dc
mov edx, eax
mov eax, dword [esi + 0x218]
call fcn.00433108
push 0
mov ecx, 0x43f020
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c2dc
mov edx, eax
mov eax, dword [esi + 0x27c]
call fcn.00433108
push 1
mov ecx, 0x43f034
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c2dc
mov edx, eax
mov eax, dword [esi + 0x280]
call fcn.00433108
push 0x43f04c
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x43f058
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c1d8
mov eax, dword [ebp - 0x8c]
mov al, byte [eax]
mov byte [esi + 0x360], al
mov al, byte [esi + 0x360]
sub al, 0x41
je 0x43eae1
dec al
je 0x43eaf4
dec al
je 0x43eb07
dec al
je 0x43eb1a
jmp 0x43eb2b
mov edx, dword [esi + 0x208]
mov eax, dword [esi + 0x204]
call fcn.0043befc
jmp 0x43eb2b
mov edx, dword [esi + 0x20c]
mov eax, dword [esi + 0x204]
call fcn.0043befc
jmp 0x43eb2b
mov edx, dword [esi + 0x210]
mov eax, dword [esi + 0x204]
call fcn.0043befc
jmp 0x43eb2b
mov edx, dword [esi + 0x2c0]
mov eax, dword [esi + 0x204]
call fcn.0043befc
push 0
mov ecx, 0x43f070
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov edx, eax
mov eax, dword [esi + 0x2a0]
call fcn.0043423c
mov eax, dword [esi + 0x254]
call fcn.00434c80
xor edi, edi
jmp 0x43ebf5
push 0
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x8c]
lea edx, [edi + 0x41]
call fcn.00403908
mov ecx, dword [ebp - 0x8c]
lea eax, [ebp - 0x90]
mov edx, 0x43f090
call fcn.00403a2c
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c1d8
mov edx, dword [ebp - 0x8c]
mov eax, dword [esi + 0x254]
mov eax, dword [eax + 0x118]
call fcn.0040d21c
push 1
lea eax, [ebp - 0x90]
lea edx, [edi + 0x41]
call fcn.00403908
mov ecx, dword [ebp - 0x90]
lea eax, [ebp - 0x8c]
mov edx, 0x43f0a4
call fcn.00403a2c
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov ecx, eax
mov edx, edi
mov eax, dword [esi + 0x254]
call fcn.00434e9c
inc edi
push 0
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x8c]
lea edx, [edi + 0x41]
call fcn.00403908
mov ecx, dword [ebp - 0x8c]
lea eax, [ebp - 0x90]
mov edx, 0x43f090
call fcn.00403a2c
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c1d8
cmp dword [ebp - 0x8c], 0
jne 0x43eb5b
push 0
mov ecx, 0x43f0bc
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov edx, eax
mov eax, dword [esi + 0x23c]
call fcn.0043423c
push 0
mov ecx, 0x43f0cc
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov edx, eax
mov eax, dword [esi + 0x248]
call fcn.0043423c
push 0
mov ecx, 0x43f0e0
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov edx, eax
mov eax, dword [esi + 0x240]
call fcn.0043423c
push 0
mov ecx, 0x43f0f8
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov edx, eax
mov eax, dword [esi + 0x244]
call fcn.0043423c
push 0
mov ecx, 0x43f110
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov edx, eax
mov eax, dword [esi + 0x2a8]
call fcn.0043423c
push 0
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x43f128
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c1d8
mov edx, dword [ebp - 0x8c]
mov eax, dword [esi + 0x24c]
call fcn.0041c6a4
push 1
mov ecx, 0x43f140
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov edx, eax
mov eax, dword [esi + 0x2e4]
call fcn.00434588
push 0
mov ecx, 0x43f158
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov edx, eax
mov eax, dword [esi + 0x2e0]
call fcn.00434588
push 0
mov ecx, 0x43f174
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov edx, eax
mov eax, dword [esi + 0x2e8]
call fcn.00434588
push 0x43f18c
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x43f19c
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c1d8
mov edx, dword [ebp - 0x8c]
mov eax, dword [esi + 0x260]
call fcn.0041c6a4
push 0x43f1b0
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x43f1bc
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c1d8
mov edx, dword [ebp - 0x8c]
mov eax, dword [esi + 0x288]
call fcn.0041c6a4
push 0x43f1d0
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x43f1dc
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c1d8
mov edx, dword [ebp - 0x8c]
mov eax, dword [esi + 0x290]
call fcn.0041c6a4
push 1
mov ecx, 0x43f1ec
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov edx, eax
mov eax, dword [esi + 0x268]
call fcn.0043423c
push 0
mov ecx, 0x43f204
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov edx, eax
mov eax, dword [esi + 0x26c]
call fcn.0043423c
push 0
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x43f21c
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c1d8
mov edx, dword [ebp - 0x8c]
mov eax, dword [esi + 0x2b8]
call fcn.0041c6a4
push 1
mov ecx, 0x43f234
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov edx, eax
mov eax, dword [esi + 0x2ec]
call fcn.00434588
push 0
mov ecx, 0x43f24c
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov edx, eax
mov eax, dword [esi + 0x2f0]
call fcn.00434588
push 0
mov ecx, 0x43f264
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov edx, eax
mov eax, dword [esi + 0x2f4]
call fcn.00434588
lea edx, [ebp - 0x8c]
xor eax, eax
call fcn.00402820
mov eax, dword [ebp - 0x8c]
lea edx, [ebp - 0x90]
call fcn.00406ddc
lea eax, [ebp - 0x90]
mov edx, 0x43f27c
call fcn.004039e8
mov eax, dword [ebp - 0x90]
push eax
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x43f29c
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c1d8
mov edx, dword [ebp - 0x8c]
mov eax, dword [esi + 0x2c8]
call fcn.0041c6a4
push 0
mov ecx, 0x43f2bc
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043c3f8
mov edx, eax
mov eax, dword [esi + 0x2c4]
call fcn.0043423c
mov eax, ebx
call fcn.00402c90
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43ef49
lea eax, [ebp - 0x90]
mov edx, 2
call fcn.00403788
lea eax, [ebp - 4]
call fcn.00403764
ret