Function at 0x10039c72
Capabilities:
Get session user name
Read .ini file

Disassembly:
mov eax, 0x100629cf
call fcn.100612c8
sub esp, 0x10c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov dword [ebp - 0x38], ecx
mov edi, edx
push 1
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0x40], ebx
call fcn.10001dc8
mov dword [ebp - 4], ebx
xor edx, edx
mov dword [ebp - 0x24], 0xffffffff
inc edx
mov dword [ebp - 0x18], ebx
jmp 0x10039cc0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10039cb1
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jl 0x10039d87
push dword [ebp - 0x38]
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x8c], ebx
push eax
lea eax, [ebp - 0xd4]
mov dword [ebp - 0x88], ebx
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x84], ebx
push ebx
lea ecx, [ebp - 0x8c]
movdqu xmmword [ebp - 0xd4], xmm0
call fcn.10007dd5
mov esi, dword [ebp - 0x8c]
mov dword [ebp - 0x18], 0xa80e3580
mov dword [esi + 4], ebx
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10039d37
push 0x149a
push ebx
push ebx
push 0x82d
push ebx
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
dec dword [esi + 4]
jns 0x10039d1b
mov dword [ebp - 0x18], ebx
jmp 0x10039d6e
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10039d5a
push ebx
push 0x1a9
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10039d6b
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x10039d41
lea ecx, [ebp - 0x8c]
call fcn.10001e25
dec dword [ebp - 0x24]
jns 0x10039cd1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb4]
call fcn.10001e25
call fcn.10035cd5
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.1003a61d
xor eax, eax
xor edx, edx
inc eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x18], 0x27f3
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setne cl
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
cmp eax, dword [ebp - 0x2c]
setle cl
imul ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x10039e0a
cmp dword [ebp - 0x14], ebx
jne 0x10039e0a
mov edx, ebx
jmp 0x10039e0d
xor edx, edx
inc edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x14]
cmp eax, edx
mov eax, dword [ebp - 0x14]
setge cl
xor edx, edx
sub ecx, 0xce3d978
cmp ecx, 0xffff0001
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xc2e3a4c6
setge cl
cmp eax, ecx
sbb eax, eax
xor edx, edx
neg eax
sub eax, dword [ebp - 0x18]
cmp eax, 0xfffffff9
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
sete cl
imul eax, ecx, 0x7eb6
test eax, eax
je 0x10039ec7
push dword [ebp - 0x38]
movdqa xmm0, xmmword [0x100702e0]
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0xe4]
mov dword [ebp - 0x2c], 2
push eax
push ebx
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x64], ebx
movdqu xmmword [ebp - 0xe4], xmm0
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
call fcn.10007dd5
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x64]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x64]
call fcn.10001e25
jmp 0x10039f50
mov dword [ebp - 0x20], 0xbb1d
mov dword [ebp - 0x18], ebx
jmp 0x10039f4a
mov dword [ebp - 0x34], 0x315b
mov dword [ebp - 0x14], ebx
jmp 0x10039f41
mov dword [ebp - 0x2c], 0xc1b09c82
mov dword [ebp - 0x28], 0xc6c04840
cmp dword [ebp - 0x2c], ebx
jne 0x10039f47
cmp dword [ebp - 0x20], ebx
je 0x10039f06
mov eax, dword [ebp - 0x20]
add eax, 0xa1e2
je 0x10039f06
xor ecx, ecx
inc ecx
jmp 0x10039f08
mov ecx, ebx
mov eax, dword [ebp - 0x34]
sub ecx, eax
mov dword [ebp - 0x28], ecx
je 0x10039f39
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
neg eax
je 0x10039f39
xor eax, eax
inc eax
jmp 0x10039f3b
mov eax, ebx
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10039edf
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
je 0x10039ed3
mov edx, dword [ebp - 0x70]
lea esi, [edi - 0x4a95]
mov ecx, edx
mov eax, dword [edx + 4]
cmp byte [eax + 0xd], 0
jne 0x10039f89
cmp dword [eax + 0x10], esi
jge 0x10039f6e
mov eax, dword [eax + 8]
jmp 0x10039f72
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x10039f64
cmp ecx, edx
je 0x10039f89
cmp esi, dword [ecx + 0x10]
jl 0x10039f89
mov dword [ebp - 0x68], ecx
lea esi, [ebp - 0x68]
jmp 0x10039f8f
mov dword [ebp - 0x74], edx
lea esi, [ebp - 0x74]
mov esi, dword [esi]
lea ecx, [ebp - 0x58]
push 3
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x3c], esi
call fcn.10001dc8
mov byte [ebp - 4], 2
mov dword [ebp - 0x14], 0xd3740063
mov dword [ebp - 0x18], 0xc2f5a260
mov dword [ebp - 0x20], ebx
jmp 0x10039fc4
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x58]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10039fb8
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 8]
xor eax, eax
cmp ecx, 0x7bededb5
setne al
lea eax, [eax + ecx*2]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 0x15
jge 0x1003a1ce
push 2
lea ecx, [ebp - 0x4c]
call fcn.10001dc8
mov byte [ebp - 4], 3
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x24], ebx
jmp 0x1003a01f
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x1003a00f
mov edi, dword [ebp - 0x4c]
mov dword [edi], 2
cmp dword [edi], ebx
jl 0x1003a1b7
mov dword [ebp - 0x30], 0x5807c1ab
cmp dword [edi], ebx
je 0x1003a047
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x4c]
xor eax, eax
xor edx, edx
inc eax
sub eax, dword [edi + 4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
cmp eax, 0x3050
setl dl
xor eax, eax
sub edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x58]
sub edx, 0x1f19
cmp edx, dword [ecx + 8]
setle al
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov eax, dword [ecx + eax*4]
mov ecx, 0xcecb2ec6
sub eax, dword [ebp - 0x30]
cmp ecx, eax
sbb eax, eax
inc eax
add eax, dword [edi + 4]
mov dword [ebp - 0x30], eax
je 0x1003a161
mov dword [ebp - 0x28], 0x3b09
cmp dword [ebp - 0x28], 0x3c88
jle 0x1003a0f6
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov esi, ebx
mov dword [ebp - 0x34], ebx
mov edi, ebx
lea ebx, [edi + esi]
mov esi, 0x2405
mov eax, ebx
mov ecx, 0x1007cab8
cdq
push edx
push eax
call fcn.10001cb3
dec ebx
dec esi
jne 0x1003a0c5
mov esi, dword [ebp - 0x34]
inc edi
cmp edi, 0x530e
jl 0x1003a0bd
inc esi
mov dword [ebp - 0x34], esi
push 0
pop ebx
cmp esi, 0x2563
jl 0x1003a0bb
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x20], ebx
jmp 0x1003a10b
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x58]
mov dword [eax + ecx*4], 0x3592
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1003a0fb
mov byte [ebp - 4], 4
cmp dword [ebp - 0x28], 0x37e0
jge 0x1003a12d
mov edx, str.daoghvab_deud_dsfyix_swrgbowq_ehzyscu_gviiiffl_sfuhc_pugs_xsolxyces_nsilq_fknabxwvl_mzrxjh_rckafaey_qvyiv
mov ecx, 0x1007cab8
call fcn.100036f5
mov dword [ebp - 4], 3
jmp 0x1003a18e
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1003a173
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetKeySecurity]
mov dword [ebp - 0x18], ebx
jmp 0x1003a188
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x58]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1003a178
mov dword [ebp - 0x20], ebx
jmp 0x1003a1a7
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x58]
mov edx, dword [eax]
mov eax, dword [ecx + edi*4]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x1003a193
mov edi, dword [ebp - 0x4c]
dec dword [edi]
jmp 0x1003a02e
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4c]
cmp dword [ebp - 0x14], ebx
call fcn.10001e25
inc dword [ebp - 0x14]
jmp 0x10039fe4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
call fcn.10001e25
mov eax, dword [0x1008d28c]
test al, 1
jne 0x1003a20e
or eax, 1
mov dword [0x1008d2a8], 7
mov dword [0x1008d28c], eax
xor eax, eax
push 0x10063178
mov dword [0x1008d2a4], ebx
mov word [0x1008d294], ax
call fcn.1004909c
pop ecx
mov dword [ebp - 0x18], 0xffffffff
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x20], 0x838a1f94
push 2
call fcn.10001dc8
mov byte [ebp - 4], 6
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x24], ebx
jmp 0x1003a24c
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x98]
mov dword [eax + ecx*4], 0xdebf624
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x1003a239
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
je 0x1003a359
mov dword [ebp - 0x14], 0x84edc02
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
jmp 0x1003a281
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xa8], 0xfffffffc
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x1003a270
push 3
mov dword [ebp - 0x20], ebx
pop edx
jmp 0x1003a306
mov dword [ebp - 0x24], 0x9d08
mov dword [ebp - 0x18], ebx
jmp 0x1003a2fe
mov dword [ebp - 0x3c], 0xad53a38d
cmp dword [ebp - 0x3c], ebx
je 0x1003a2ad
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa8], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jle 0x1003a29b
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jle 0x1003a28f
cmp dword [ebp - 0x14], ebx
jne 0x1003a34c
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x20]
je 0x1003a32a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x14], ebx
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setg dl
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], ebx
jne 0x1003a34c
mov ecx, ebx
jmp 0x1003a34f
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
jmp 0x1003a39a
push dword [ebp - 0x38]
movdqa xmm0, xmmword [0x100702d0]
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x80], ebx
push eax
push ebx
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x7c], ebx
movdqu xmmword [ebp - 0xc4], xmm0
mov dword [ebp - 0x78], ebx
call fcn.10007dd5
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x80]
inc dword [eax + 8]
call fcn.10001e25
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1003a3aa
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 1
call fcn.10001e25
cmp esi, dword [ebp - 0x70]
je 0x1003a3dc
push dword [esi + 0x18]
mov edx, dword [esi + 0x14]
lea ecx, [ebp - 0x114]
call fcn.100314ea
pop ecx
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x40]
or ecx, 1
jmp 0x1003a3f9
push 0x1008d294
lea ecx, [ebp - 0xfc]
call fcn.10008281
mov dword [ebp - 4], 8
mov ecx, dword [ebp - 0x40]
or ecx, 2
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x24], ecx
mov ecx, esi
push eax
call fcn.10008281
mov eax, dword [ebp - 0x24]
or eax, 4
test al, 2
je 0x1003a42b
push ebx
and eax, 0xfffffffd
lea ecx, [ebp - 0xfc]
push 1
mov dword [ebp - 0x24], eax
call fcn.1000737d
mov eax, dword [ebp - 0x24]
test al, 1
je 0x1003a43d
push ebx
push 1
lea ecx, [ebp - 0x114]
call fcn.1000737d
lea ecx, [ebp - 0x70]
call fcn.1002004e
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret