Function at 0x56eeb0
Capabilities:
Get common file path
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x58
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x5726b0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
test edx, edx
je 0x56eef8
mov dword [edx + 4], 0
mov dword [edx], 0
mov dword [edx + 8], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], 0
xor eax, eax
jmp 0x56ef14
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, 3
ja 0x56f16b
mov dword [ebp - 0x20], eax
mov eax, dword [eax*4 + 0x7d6c1c]
mov dword [ebp - 0x10], 2
push 0
push 0
mov dword [ebp - 0x24], eax
push eax
call dword [0x834110]
test eax, eax
je 0x56ef10
lea edx, [eax + eax]
test eax, eax
mov dword [ebp - 0x64], eax
mov ecx, 0xffffffff
cmovs edx, ecx
push edx
call fcn.0071997b
mov ecx, dword [ebp - 0x64]
add esp, 4
mov dword [ebp - 0x10], 3
push ecx
push eax
push dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
call dword [0x834110]
mov esi, dword [ebp - 0x24]
test eax, eax
je 0x56f159
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], 0
push esi
call fcn.00700361
add esp, 4
cmp eax, 7
jbe 0x56efc0
sub esp, 0xc
movzx ecx, byte [ebp - 0x48]
mov byte [esp + 4], cl
mov dword [esp + 8], esi
mov dword [esp], eax
lea ecx, [ebp - 0x60]
call fcn.00460a10
jmp 0x56efde
mov dword [ebp - 0x50], eax
mov ecx, eax
add ecx, eax
push ecx
push esi
lea ecx, [ebp - 0x60]
push ecx
mov esi, eax
call fcn.00731570
add esp, 0xc
mov word [ebp + esi*2 - 0x60], 0
push dword [ebp - 0x24]
call fcn.00719984
add esp, 4
mov esi, dword [ebp - 0x50]
test esi, esi
je 0x56f108
cmp dword [ebp - 0x4c], 8
lea eax, [ebp - 0x60]
jb 0x56f000
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x28]
cmp ecx, esi
jae 0x56f037
mov dword [ebp - 0x10], 4
sub esp, 0xc
movzx ecx, byte [ebp - 0x48]
mov byte [esp + 4], cl
mov dword [esp + 8], eax
mov dword [esp], esi
lea ecx, [ebp - 0x3c]
call fcn.00460a10
mov dword [ebp - 0x10], 4
cmp dword [ebp - 0x20], 2
jae 0x56f066
jmp 0x56f07c
lea edi, [ebp - 0x3c]
cmp ecx, 8
jb 0x56f042
mov edi, dword [ebp - 0x3c]
lea ecx, [esi + esi]
mov dword [ebp - 0x2c], esi
push ecx
push eax
push edi
call fcn.00731570
add esp, 0xc
mov word [edi + esi*2], 0
mov dword [ebp - 0x10], 4
cmp dword [ebp - 0x20], 2
jb 0x56f07c
push 0x7d6c34
push 0x7d6c2c
lea eax, [ebp - 0x3c]
push eax
call fcn.00573ea0
add esp, 0xc
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x40], 0
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0056f3d0
add esp, 8
test al, al
je 0x56f0f0
mov eax, dword [ebp - 0x40]
test al, 1
je 0x56f0b7
cmp eax, 1
jne 0x56f0f0
cmp dword [ebp - 0x48], 0
jne 0x56f0f0
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0056ecc0
add esp, 8
test al, al
je 0x56f0f0
mov eax, dword [ebp - 0x40]
test al, 1
je 0x56f0dd
cmp eax, 1
jne 0x56f0f0
cmp dword [ebp - 0x48], 0
jne 0x56f0f0
mov eax, dword [ebp - 0x4c]
cmp eax, 7
jbe 0x56f16b
xor ebx, ebx
jmp 0x56f116
cmp dword [ebp - 0x28], 8
lea eax, [ebp - 0x3c]
jb 0x56f0fc
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], 0
mov word [eax], 0
mov eax, dword [ebp - 0x4c]
mov bl, 1
cmp eax, 7
jbe 0x56ef10
mov ecx, dword [ebp - 0x60]
lea esi, [eax*2 + 2]
cmp esi, 0x1000
jb 0x56f142
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x56f2f6
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0071996d
add esp, 8
test bl, bl
mov eax, dword [ebp - 0x20]
je 0x56f16b
inc eax
jmp 0x56ef14
push esi
call fcn.00719984
add esp, 4
mov eax, dword [ebp - 0x20]
inc eax
jmp 0x56ef14
cmp dword [ebp - 0x2c], 0
jne 0x56f23b
mov dword [ebp - 0x10], 2
push 0
push 0
call dword [0x834114]
test eax, eax
je 0x56f26c
lea edx, [eax + eax]
test eax, eax
mov dword [ebp - 0x20], eax
mov ecx, 0xffffffff
cmovns ecx, edx
push ecx
call fcn.0071997b
mov ecx, dword [ebp - 0x20]
add esp, 4
mov dword [ebp - 0x10], 5
push ecx
mov dword [ebp - 0x20], eax
push eax
call dword [0x834114]
test eax, eax
je 0x56f261
mov edi, dword [ebp - 0x20]
push edi
call fcn.00700361
add esp, 4
mov edx, dword [ebp - 0x28]
cmp edx, eax
jae 0x56f1f3
sub esp, 0xc
movzx ecx, byte [ebp - 0x60]
mov byte [esp + 4], cl
mov dword [esp + 8], edi
mov dword [esp], eax
lea ecx, [ebp - 0x3c]
call fcn.00460a10
jmp 0x56f21a
mov ecx, eax
add ecx, eax
cmp edx, 8
jb 0x56f201
mov esi, dword [ebp - 0x3c]
jmp 0x56f204
lea esi, [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
push ecx
push edi
push esi
mov edi, eax
call fcn.00731570
add esp, 0xc
mov word [esi + edi*2], 0
lea eax, [ebp - 0x3c]
push 0x7d6c34
push 0x7d6c2c
push eax
call fcn.00573ea0
add esp, 0xc
push dword [ebp - 0x20]
call fcn.00719984
add esp, 4
movsd xmm0, qword [ebp - 0x2c]
mov eax, dword [ebp + 8]
movsd qword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0x3c]
movups xmmword [eax], xmm0
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x58
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [ebp - 0x20]
call fcn.00719984
add esp, 4
mov dword [ebp - 0x10], 2
call dword [0x834078]
test eax, eax
jne 0x56f302
cmp dword [ebp + 0xc], 0
je 0x56f29e
mov eax, dword [ebp + 0xc]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], 0
mov edi, dword [ebp - 0x28]
cmp edi, 8
jb 0x56f24f
mov ecx, dword [ebp - 0x3c]
lea esi, [edi*2 + 2]
cmp esi, 0x1000
jb 0x56f2e4
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x56f315
add edi, edi
add edi, 0x25
mov esi, edi
mov ecx, edx
push esi
push ecx
call fcn.0071996d
add esp, 8
mov eax, dword [ebp + 8]
jmp 0x56f24f
mov dword [ebp - 0x10], 0
call fcn.006fce21
push 0x7d6c88
push dword [ebp + 0xc]
push eax
call fcn.00578ea0
add esp, 0xc
jmp 0x56f29e
mov dword [ebp - 0x10], 1
call fcn.006fce21
nop word cs:[eax + eax]
push ebp
sub esp, 0xc
add ebp, 0xc
push dword [ebp - 0x24]
call fcn.00719984
add esp, 0x10
pop ebp
ret