Function at 0x459090
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x51a0a0]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
push dword [ebp + 0x10]
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x20]
push dword [ebp + 0xc]
call fcn.00437b20
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x4590bf
mov eax, dword [eax]
push 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov ebx, eax
mov eax, dword [ebp - 0xc]
cmp eax, 8
jb 0x45911f
mov ecx, dword [ebp - 0x20]
inc eax
cmp eax, 0x7fffffff
ja 0x459351
add eax, eax
cmp eax, 0x1000
jb 0x459116
test cl, 0x1f
jne 0x459356
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x45935b
sub ecx, eax
cmp ecx, 4
jb 0x459360
cmp ecx, 0x23
ja 0x459365
mov ecx, eax
push ecx
call fcn.004cbd7a
add esp, 4
test ebx, ebx
jne 0x459138
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004cb8a3
mov esp, ebp
pop ebp
ret 0xc
test edi, edi
je 0x45933c
xor ecx, ecx
mov eax, ebx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004cbd7f
add esp, 4
lea ecx, [ebp - 0x20]
mov esi, eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00437b20
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x459176
mov eax, dword [eax]
push ebx
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov eax, dword [ebp - 0xc]
cmp eax, 8
jb 0x4591d2
mov ecx, dword [ebp - 0x20]
inc eax
cmp eax, 0x7fffffff
ja 0x45936a
add eax, eax
cmp eax, 0x1000
jb 0x4591c9
test cl, 0x1f
jne 0x45936f
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x459374
sub ecx, eax
cmp ecx, 4
jb 0x459379
cmp ecx, 0x23
ja 0x45937e
mov ecx, eax
push ecx
call fcn.004cbd7a
add esp, 4
xor eax, eax
mov dword [ebp - 0x24], 7
mov dword [ebp - 0x28], 0
mov word [ebp - 0x38], ax
cmp word [esi], ax
jne 0x4591ef
xor ecx, ecx
jmp 0x459203
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4591f4
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x38]
call fcn.0041b8e7
lea edx, [ebp - 0x38]
lea ecx, [ebp - 0x20]
call fcn.00437970
mov ebx, eax
cmp edi, ebx
je 0x459288
mov ecx, dword [edi + 0x14]
cmp ecx, 0x10
jb 0x459263
mov eax, dword [edi]
inc ecx
cmp ecx, 0x1000
jb 0x45925a
test al, 0x1f
jne 0x459383
mov ecx, dword [eax - 4]
cmp ecx, eax
jae 0x459388
sub eax, ecx
cmp eax, 4
jb 0x45938d
cmp eax, 0x23
ja 0x459392
mov eax, ecx
push eax
call fcn.004cbd7a
add esp, 4
mov dword [edi + 0x14], 0xf
cmp dword [edi + 0x14], 0x10
mov dword [edi + 0x10], 0
jb 0x45927b
mov eax, dword [edi]
jmp 0x45927d
mov eax, edi
push ebx
mov ecx, edi
mov byte [eax], 0
call fcn.0041be40
mov eax, dword [ebp - 0xc]
cmp eax, 0x10
jb 0x4592ce
mov ecx, dword [ebp - 0x20]
inc eax
cmp eax, 0x1000
jb 0x4592c5
test cl, 0x1f
jne 0x459397
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x45939c
sub ecx, eax
cmp ecx, 4
jb 0x4593a1
cmp ecx, 0x23
ja 0x4593a6
mov ecx, eax
push ecx
call fcn.004cbd7a
add esp, 4
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xc], 0xf
mov dword [ebp - 0x10], 0
mov byte [ebp - 0x20], 0
cmp eax, 8
jb 0x459333
mov ecx, dword [ebp - 0x38]
inc eax
cmp eax, 0x7fffffff
ja 0x4593ab
add eax, eax
cmp eax, 0x1000
jb 0x45932a
test cl, 0x1f
jne 0x4593b0
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x4593b5
sub ecx, eax
cmp ecx, 4
jb 0x4593ba
cmp ecx, 0x23
ja 0x4593bf
mov ecx, eax
push ecx
call fcn.004cbd7a
add esp, 4
push esi
call fcn.004cb8b4
add esp, 4
mov ecx, dword [ebp - 8]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004cb8a3
mov esp, ebp
pop ebp
ret 0xc
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
int3