Function at 0x44fa40
Capabilities:
Query environment variable
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6fc
mov eax, dword [0x4a80a0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x104
lea eax, [ebp - 0x447]
mov dword [ebp - 0x6e8], 0xffc7d83
mov esi, ecx
mov dword [ebp - 0x6e4], 0x69e8b38e
push 0
push eax
mov dword [ebp - 0x6f4], esi
mov word [ebp - 0x6e0], 0xaf73
mov byte [ebp - 0x6d5], 0xff
mov byte [ebp - 0x448], 0
call fcn.004644a0
xor ebx, ebx
mov dword [ebp - 0x6d4], 0
push 0xff
xorps xmm0, xmm0
mov byte [ebp - 0x24], bl
lea eax, [ebp - 0x12f]
movq qword [ebp - 0x23], xmm0
push ebx
push eax
mov dword [ebp - 0x1b], ebx
mov word [ebp - 0x17], bx
mov byte [ebp - 0x15], bl
mov byte [ebp - 0x14], bl
movq qword [ebp - 0x13], xmm0
mov dword [ebp - 0xb], ebx
mov word [ebp - 7], bx
mov byte [ebp - 5], bl
mov byte [ebp - 0x130], bl
call fcn.004644a0
push 0x104
lea eax, [ebp - 0x54f]
mov byte [ebp - 0x550], bl
push ebx
push eax
call fcn.004644a0
push 0x104
lea eax, [ebp - 0x237]
mov byte [ebp - 0x238], bl
push ebx
push eax
call fcn.004644a0
push 0x104
lea eax, [ebp - 0x33f]
mov byte [ebp - 0x340], bl
push ebx
push eax
call fcn.004644a0
xor eax, eax
lea ecx, [ebp - 0x550]
mov dword [ebp - 0x6ec], eax
call fcn.0044ff70
mov edx, 0x49e5d8
lea ecx, [ebp - 0x238]
call fcn.00447390
lea eax, [ebp - 0x238]
push eax
push str._r_n__s_
push esi
call fcn.00447150
add esp, 0x48
lea eax, [ebp - 0x550]
push eax
push str._s___r_n
push esi
call fcn.00447150
add esp, 0xc
lea ecx, [ebp - 0x238]
mov edx, 0x49e5e4
call fcn.00447390
push 0x105
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
test eax, eax
je 0x44ff55
push 0x49d9ec
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x6d4]
push eax
call fcn.00462f2d
mov eax, dword [ebp - 0x6d4]
add esp, 0xc
test eax, eax
je 0x44ff55
push 2
push ebx
push eax
call fcn.00462115
push dword [ebp - 0x6d4]
call fcn.00461da9
mov edi, eax
push edi
mov dword [ebp - 0x6f0], edi
call fcn.00463b84
add esp, 0x14
mov esi, eax
mov dword [ebp - 0x6dc], esi
push dword [ebp - 0x6d4]
test esi, esi
jne 0x44fc26
call fcn.00462ddd
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046125f
mov esp, ebp
pop ebp
ret
call fcn.00463c16
push dword [ebp - 0x6d4]
push 1
push edi
push esi
call fcn.00461fda
push dword [ebp - 0x6d4]
call fcn.00462ddd
add esp, 0x18
lea ecx, [ebp - 0x340]
mov edx, 0x49e610
call fcn.00447390
test edi, edi
je 0x44ff4c
sub edi, ebx
lea eax, [ebx + esi]
push edi
push 8
push eax
call fcn.00463ce0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44ff46
lea ebx, [edi + 1]
lea edx, [edi - 7]
sub ebx, esi
lea ecx, [edi + 9]
cmp edx, esi
jb 0x44ff38
mov eax, dword [ebp - 0x6f0]
add eax, esi
cmp ecx, eax
ja 0x44ff38
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl esi, 8
or esi, eax
movzx eax, byte [ecx + 2]
shl esi, 8
or esi, eax
movzx eax, byte [ecx + 3]
movzx ecx, byte [edx]
shl ecx, 8
shl esi, 8
or esi, eax
movzx eax, byte [edx + 1]
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 8
or ecx, eax
lea eax, [esi + 0x10]
cmp ecx, eax
jne 0x44ff32
mov eax, dword [ebp - 0x6f0]
sub eax, ebx
sub eax, 0xc
cmp esi, eax
ja 0x44ff32
cmp esi, 8
jb 0x44ff32
test esi, 7
jne 0x44ff32
mov ax, word [ebp - 0x6e0]
movq xmm0, qword [ebp - 0x6e8]
mov word [ebp - 0x128], ax
mov al, byte [ebp - 0x6d5]
mov byte [ebp - 0x126], al
movq qword [ebp - 0x130], xmm0
mov eax, dword [edi + 1]
mov dword [ebp - 0x125], eax
mov eax, dword [edi + 5]
mov dword [ebp - 0x121], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x130]
push 0x13
push eax
call fcn.0043f650
movdqu xmm0, xmmword [ebp - 0x24]
mov ax, word [ebp - 0x6e0]
mov word [ebp - 0x118], ax
mov al, byte [ebp - 0x6d5]
movdqu xmmword [ebp - 0x130], xmm0
mov byte [ebp - 0x116], al
movq xmm0, qword [ebp - 0x6e8]
movq qword [ebp - 0x120], xmm0
mov eax, dword [edi + 1]
mov dword [ebp - 0x115], eax
mov eax, dword [edi + 5]
mov dword [ebp - 0x111], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x130]
push 0x23
push eax
call fcn.0043f650
lea eax, [ebp - 0x650]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.0043f6c0
lea eax, [ebp - 0x6d0]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0043f6c0
lea eax, [ebp - 0x5d0]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0043f6c0
mov eax, dword [ebp - 0xc]
add edi, 0xd
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
push 0
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x5d0]
mov dword [ebp - 0x6f8], edi
push eax
lea eax, [ebp - 0x6d0]
push eax
lea eax, [ebp - 0x650]
push eax
push esi
push edi
push edi
call fcn.00441100
mov al, byte [edi]
add esp, 0x50
test al, al
je 0x44ff2d
cmp al, 8
je 0x44ff2d
lea ecx, [esi - 1]
add ecx, edi
movzx eax, byte [ecx]
push eax
sub ecx, eax
inc ecx
push 0
push ecx
call fcn.004644a0
mov eax, edi
add esp, 0xc
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x44fe50
sub eax, edx
sar eax, 1
inc eax
push eax
mov dword [ebp - 0x6fc], eax
call fcn.0046243d
mov edi, eax
add esp, 4
test edi, edi
je 0x44ff46
push 0
push 0
push dword [ebp - 0x6fc]
push edi
push 0xffffffffffffffff
push dword [ebp - 0x6f8]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ecx, edi
lea edx, [ecx + 1]
jmp 0x44fea0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44fea0
sub ecx, edx
je 0x44ff24
lea eax, [ebp - 0x340]
push eax
push edi
call fcn.00463540
add esp, 8
cmp edi, eax
jne 0x44fedb
mov ecx, dword [ebp - 0x6f4]
push str._r_n_o
mov dword [ebp - 0x6ec], 1
call fcn.00447190
jmp 0x44ff10
mov eax, dword [ebp - 0x6ec]
cmp eax, 1
je 0x44fef5
cmp eax, 2
je 0x44fef5
xor eax, eax
mov dword [ebp - 0x6ec], eax
jmp 0x44ff10
push edi
push 0x49e620
push dword [ebp - 0x6f4]
inc eax
mov dword [ebp - 0x6ec], eax
call fcn.00447150
add esp, 0xc
push edi
push str._s_r_n
push dword [ebp - 0x6f4]
call fcn.00447150
add esp, 0xc
push edi
call fcn.004624b3
add esp, 4
add esi, 0xc
add ebx, esi
mov esi, dword [ebp - 0x6dc]
mov edi, dword [ebp - 0x6f0]
cmp ebx, edi
jb 0x44fc60
mov esi, dword [ebp - 0x6dc]
push esi
call fcn.00463153
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046125f
mov esp, ebp
pop ebp
ret