Function at 0x4ab520
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
push ebx
sub esp, 0x48
mov edx, 0xfffffffc
mov eax, dword [0x52ec00]
mov esi, 0xfffffffd
xor eax, ebp
mov ebx, 0x22050c0
mov dword [ebp - 0x10], eax
mov edi, 0x2205280
movzx eax, byte [0x2205421]
and eax, 0xffffffe7
mov dword [0x22051e4], edx
add eax, 8
mov dword [0x22050e8], edx
movzx ecx, byte [0x2205261]
mov byte [0x2205421], al
and ecx, 0xffffffe7
movzx edx, byte [0x22055e1]
add ecx, 8
movzx eax, byte [0x22057a1]
and edx, 0xffffffe7
and eax, 0xffffffe7
add edx, 8
mov dword [0x22053a4], esi
add eax, 8
mov dword [0x22052a8], esi
mov esi, 0xfffffffe
mov byte [0x2205261], cl
mov ecx, 0x2205440
mov dword [0x21facec], ebx
mov dword [0x5e4e408], ebx
mov ebx, 0xffffffff
mov dword [0x21fad14], edi
mov dword [0x5e4e40c], edi
mov edi, str.FORT_d
mov byte [0x22055e1], dl
mov edx, 0x2205600
mov dword [0x2205724], esi
mov dword [0x2205628], esi
xor esi, esi
mov dword [0x2205564], ebx
mov dword [0x2205468], ebx
mov dword [0x21fad64], ecx
mov dword [0x5e4e414], ecx
mov byte [0x22057a1], al
mov dword [0x21fad3c], edx
mov dword [0x5e4e410], edx
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], esi
call fcn.0044f1b0
mov edx, eax
lea eax, [ebp - 0x50]
push eax
push esi
push edi
push ebx
mov ecx, dword [edx]
lea ebx, [ebp - 0x30]
push ebx
push dword [edx + 4]
or ecx, 1
push ecx
call fcn.004d7b10
add esp, 0x1c
push esi
push esi
push ebx
mov dword [0x22058e4], esi
mov dword [0x22057e8], esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
ja 0x4ab657
jne 0x4ab657
mov edx, 1
jmp 0x4ab65c
mov edx, 2
movzx eax, byte [0x2205961]
shl edx, 3
and eax, 0xffffffe7
or eax, edx
mov edx, 0x22057c0
mov byte [0x2205961], al
mov dword [0x21fad8c], edx
mov dword [0x5e4e418], edx
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], 5
call fcn.0044f1b0
mov edx, eax
lea eax, [ebp - 0x44]
push eax
push 0
push edi
push 0xffffffffffffffff
push ebx
mov ecx, dword [edx]
push dword [edx + 4]
or ecx, 1
push ecx
call fcn.004d7b10
add esp, 0x1c
push esi
push esi
mov eax, 5
push ebx
mov dword [0x2205aa4], eax
mov dword [0x22059a8], eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
ja 0x4ab6d2
jne 0x4ab6d2
mov edx, 1
jmp 0x4ab6d7
mov edx, 2
movzx eax, byte [0x2205b21]
shl edx, 3
and eax, 0xffffffe7
or eax, edx
mov edx, 0x2205980
mov byte [0x2205b21], al
mov dword [0x21fae54], edx
mov dword [0x5e4e42c], edx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], 6
call fcn.0044f1b0
mov edx, eax
lea eax, [ebp - 0x38]
push eax
push 0
push edi
push 0xffffffffffffffff
push ebx
mov ecx, dword [edx]
push dword [edx + 4]
or ecx, 1
push ecx
call fcn.004d7b10
add esp, 0x1c
push esi
push esi
mov eax, 6
push ebx
mov dword [0x2205c64], eax
mov dword [0x2205b68], eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
ja 0x4ab74d
jne 0x4ab74d
mov eax, 1
jmp 0x4ab752
mov eax, 2
movzx edx, byte [0x2205ce1]
shl eax, 3
and edx, 0xffffffe7
or edx, eax
mov eax, 0x2205b40
mov byte [0x2205ce1], dl
mov dword [0x21fae7c], eax
mov dword [0x5e4e430], eax
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x4ab792
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
call fcn.004cba1b
mov esi, esi
lea edi, [edi]