Function at 0x1242c5e0
Capabilities:
Query environment variable

Disassembly:
push 0xffffffffffffffff
push 0x124d3dfb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x83c
push ebx
push esi
push edi
lea ecx, [esp + 0x18]
xor ebx, ebx
xor esi, esi
call fcn.1245c110
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x232]
mov word [esp + 0x230], bx
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x85c]
push 0x103
stosw word es:[edi], ax
lea eax, [esp + 0x234]
lea ecx, [esp + 0x14]
push eax
push ecx
push edx
mov dword [esp + 0x860], ebx
mov dword [esp + 0x20], 0xffffffff
call fcn.124241d0
add esp, 0x10
test eax, eax
je 0x1242c90a
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov eax, 0x124ddaf8
cmp edx, dword [eax]
je 0x1242c67a
add eax, 0x28
inc ecx
cmp eax, 0x124dddf0
jl 0x1242c669
jmp 0x1242c69b
lea eax, [ecx + ecx*4]
mov eax, dword [eax*8 + 0x124ddb18]
cmp eax, ebx
je 0x1242c69b
lea ecx, [esp + 0x18]
push ecx
push 0x124f6c88
push eax
call fcn.12461440
add esp, 0xc
cmp dword [esp + 0x1c], ebx
je 0x1242c90a
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x43a]
mov word [esp + 0x438], bx
rep stosd dword es:[edi], eax
push ebp
lea edx, [esp + 0x43c]
push 0x104
push edx
push 0x124f78e0
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov eax, dword [esp + 0x20]
xor ebp, ebp
cmp eax, ebx
jle 0x1242c904
lea eax, [esp + 0x18]
push ebp
push eax
lea ecx, [esp + 0x24]
call fcn.1242c940
mov esi, dword [eax]
lea ecx, [esp + 0x18]
call fcn.124567f0
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x2e]
mov word [esp + 0x2c], bx
rep stosd dword es:[edi], eax
push 0xa
push str._userpath_
push esi
stosw word es:[edi], ax
call fcn.1246f87b
add esp, 0xc
test eax, eax
jne 0x1242c776
add esi, 0x14
push esi
call fcn.1246f510
lea ecx, [esp + 0x440]
mov edi, eax
push ecx
call fcn.1246f510
add edi, eax
add esp, 8
cmp edi, 0x104
jae 0x1242c8e2
lea edx, [esp + 0x43c]
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.1246f680
lea ecx, [esp + 0x34]
push esi
push ecx
call fcn.1246f656
add esp, 0x10
jmp 0x1242c8e2
push 9
push str._apppath_
push esi
call fcn.1246f87b
add esp, 0xc
test eax, eax
jne 0x1242c7ee
lea edx, [esp + 0x234]
push 0x5c
push edx
call fcn.1246f4d0
add esp, 8
cmp eax, ebx
je 0x1242c8e2
lea ecx, [esp + 0x234]
sub eax, ecx
sar eax, 1
mov edi, eax
je 0x1242c8e2
add esi, 0x12
push esi
call fcn.1246f510
add eax, edi
add esp, 4
cmp eax, 0x104
jae 0x1242c8e2
lea edx, [esp + 0x234]
push edi
lea eax, [esp + 0x30]
push edx
push eax
call fcn.1246f6a5
lea ecx, [esp + 0x38]
push esi
push ecx
jmp 0x1242c8da
push 0xb
push str._appuppath_
push esi
call fcn.1246f87b
add esp, 0xc
test eax, eax
jne 0x1242c8e2
lea edx, [esp + 0x10]
mov dword [esp + 0x10], 0xffffffff
push edx
push str.__appuppath___d
push esi
call fcn.1246f923
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp eax, ebx
jl 0x1242c8e2
cmp eax, 9
jg 0x1242c8e2
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x646]
mov word [esp + 0x644], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x234]
push 0x104
lea ecx, [esp + 0x648]
push eax
push ecx
call fcn.1246f6a5
mov edx, dword [esp + 0x1c]
add esp, 0xc
xor eax, eax
xor edi, edi
inc edx
test edx, edx
jle 0x1242c89d
lea eax, [esp + 0x644]
push 0x5c
push eax
call fcn.1246f4d0
add esp, 8
cmp eax, ebx
je 0x1242c8e2
mov word [eax], bx
mov ecx, dword [esp + 0x10]
inc edi
inc ecx
cmp edi, ecx
jl 0x1242c87a
lea edx, [esp + 0x644]
sub eax, edx
sar eax, 1
mov edi, eax
je 0x1242c8e2
add esi, 0x18
push esi
call fcn.1246f510
add eax, edi
add esp, 4
cmp eax, 0x104
jae 0x1242c8e2
lea eax, [esp + 0x234]
push edi
lea ecx, [esp + 0x30]
push eax
push ecx
call fcn.1246f6a5
lea edx, [esp + 0x38]
push esi
push edx
call fcn.1246f656
add esp, 0x14
mov ecx, dword [esp + 0x85c]
lea edx, [esp + 0x2c]
push edx
mov eax, dword [ecx + 4]
push eax
call fcn.1245c630
mov eax, dword [esp + 0x20]
inc ebp
cmp ebp, eax
jl 0x1242c6e6
mov esi, 1
pop ebp
lea ecx, [esp + 0x18]
mov dword [esp + 0x850], 0xffffffff
call fcn.1245c120
mov ecx, dword [esp + 0x848]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x848
ret