Function at 0x4378b0
Capabilities:
Query environment variable

Disassembly:
push 0x4c
mov eax, 0x45d5bb
call fcn.0043aa0b
mov eax, dword [ebp + 0xc]
lea edi, [ebp - 0x50]
mov ebx, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0x14], eax
xor eax, eax
stosd dword es:[edi], eax
push 7
pop esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
mov word [ebp - 0x50], ax
lea edi, [ebp - 0x2c]
mov dword [ebp - 4], ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], esi
mov word [ebp - 0x2c], ax
push 0x40683c
push ebx
mov byte [ebp - 4], 1
mov byte [ebp - 0x55], cl
call fcn.0043f271
pop ecx
pop ecx
push 8
pop edi
test eax, eax
jne 0x43791d
push 0x1a
pop esi
push 0x406858
jmp 0x4379bd
push 0x406868
push ebx
call fcn.0043f271
pop ecx
pop ecx
test eax, eax
jne 0x437932
push 0x23
jmp 0x4379a1
push 0x401854
push ebx
call fcn.0043f271
pop ecx
pop ecx
test eax, eax
jne 0x43794d
push 0x2b
pop esi
push 0x406890
jmp 0x4379bd
push 0x4068c4
push ebx
call fcn.0043f271
pop ecx
pop ecx
test eax, eax
jne 0x437962
push 0x1c
jmp 0x4379a1
push 0x4068ec
push ebx
call fcn.0043f271
pop ecx
pop ecx
test eax, eax
jne 0x43797d
push 0x26
pop esi
push 0x406914
jmp 0x4379bd
push 0x406930
push ebx
call fcn.0043f271
pop ecx
pop ecx
test eax, eax
je 0x4379f0
push 0x40694c
push ebx
call fcn.0043f271
pop ecx
pop ecx
test eax, eax
jne 0x4379a4
push 0x25
pop esi
jmp 0x4379f0
push 0x406968
push ebx
call fcn.0043f271
pop ecx
pop ecx
test eax, eax
jne 0x4379c7
push 0x24
pop esi
push 0x406984
lea ecx, [ebp - 0x50]
call fcn.0041573e
jmp 0x4379f0
push 0x405598
push ebx
call fcn.0043f271
pop ecx
pop ecx
test eax, eax
jne 0x437b41
push 0x24
pop esi
push 0x406984
lea ecx, [ebp - 0x50]
call fcn.0041573e
mov byte [ebp - 0x55], 1
lea eax, [ebp - 0x2c]
push eax
push esi
call fcn.00439bd5
pop ecx
pop ecx
test al, al
je 0x437a2f
cmp byte [ebp - 0x55], 0
jne 0x437b08
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x2c]
cmp eax, ecx
je 0x437a27
cmp dword [ebp - 0x18], edi
jb 0x437a1c
mov ecx, dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.00415765
xor ebx, ebx
inc ebx
jmp 0x437b43
cmp dword [ebp - 0x40], 0
jbe 0x437b41
lea eax, [ebp - 0x50]
cmp dword [ebp - 0x3c], edi
jb 0x437a44
mov eax, dword [ebp - 0x50]
push 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov esi, eax
test esi, esi
je 0x437b41
lfence
xor eax, eax
lea edi, [ebp - 0x38]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x38]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov word [ebp - 0x52], ax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x52]
push eax
push esi
call fcn.004157f9
push 8
pop edi
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 2
cmp dword [ebp - 0x3c], edi
jb 0x437a92
mov eax, dword [ebp - 0x50]
push esi
push dword [ebp - 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
push dword [ebp - 0x38]
lea ecx, [ebp - 0x2c]
call fcn.0041573e
cmp byte [ebp - 0x55], 0
jne 0x437aec
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x2c]
cmp eax, ecx
je 0x437acb
cmp dword [ebp - 0x18], edi
jb 0x437ac0
mov ecx, dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.00415765
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x437a27
mov eax, dword [ebp - 0x30]
sub eax, ecx
and eax, 0xfffffffe
push eax
push ecx
call fcn.00413f56
pop ecx
pop ecx
jmp 0x437a27
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x437b08
mov eax, dword [ebp - 0x30]
sub eax, ecx
and eax, 0xfffffffe
push eax
push ecx
call fcn.00413f56
pop ecx
pop ecx
push 0x405598
push ebx
call fcn.0043f271
pop ecx
pop ecx
test eax, eax
jne 0x437b41
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jb 0x437b24
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x14]
xor ecx, ecx
push ecx
push ecx
push ecx
push esi
push eax
call fcn.00438dbb
push esi
call fcn.00436402
add esp, 0x18
jmp 0x437a27
xor bl, bl
mov eax, dword [ebp - 0x18]
mov esi, 0x1000
cmp eax, edi
jb 0x437b81
mov ecx, dword [ebp - 0x2c]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x54], ecx
cmp eax, esi
jb 0x437b78
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0041568f
mov eax, dword [ebp - 0x14]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x54]
push eax
push ecx
call fcn.0043a98a
pop ecx
pop ecx
and dword [ebp - 0x1c], 0
xor eax, eax
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x18], 7
cmp eax, edi
jb 0x437bcb
mov ecx, dword [ebp - 0x50]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x54], ecx
cmp eax, esi
jb 0x437bc2
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0041568f
mov eax, dword [ebp - 0x14]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x54]
push eax
push ecx
call fcn.0043a98a
pop ecx
pop ecx
mov al, bl
call fcn.0043a9ba
ret