Function at 0x50fe6e
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push esi
push edi
mov dword [ebp - 8], ecx
cmp dword [0x6881d8], 0
jne 0x50fe8e
movzx eax, byte [ebp + 0x70]
test eax, eax
jne 0x50fe8e
jmp 0x510188
fld qword [ebp + 0xc]
fsub qword [0x6a5be8]
fstp qword [ebp + 0xc]
fld qword [ebp + 0x1c]
fsub qword [0x6a5be0]
fstp qword [ebp + 0x1c]
movzx eax, byte [ebp + 8]
test eax, eax
jne 0x50fec6
fld qword [ebp + 0x3c]
fsub qword [0x6a5be8]
fstp qword [ebp + 0x3c]
fld qword [ebp + 0x4c]
fsub qword [0x6a5be0]
fstp qword [ebp + 0x4c]
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x11cd82]
test eax, eax
je 0x510004
mov eax, dword [ebp - 8]
mov byte [eax + 0x11cd82], 0
mov ecx, dword [ebp - 8]
add ecx, 0x2ed810
call fcn.00514fa6
test eax, eax
je 0x50ff10
mov ecx, dword [ebp - 8]
add ecx, 0x2ed810
call fcn.00470013
mov ecx, dword [ebp - 8]
add ecx, 0x2ed810
call fcn.0046ff90
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x2a275a]
test eax, eax
je 0x50ff3f
mov eax, dword [ebp - 8]
cmp dword [eax + 0x2ed83c], 0xffffffff
je 0x50ff3f
mov ecx, dword [ebp - 8]
add ecx, 0x2ed838
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2ed838]
call dword [eax + 0x4c]
mov ecx, dword [0x68385c]
add ecx, 0x80bbc
call fcn.00517034
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push 0
push 0x1001
push 0x615be0
mov ecx, dword [ebp - 8]
add ecx, 0x2ed838
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2ed838]
call dword [eax + 0x20]
dec eax
neg eax
sbb eax, eax
inc eax
mov ecx, dword [ebp - 8]
mov byte [ecx + 0x2a275a], al
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x2a275a]
test eax, eax
jne 0x50fff0
mov ecx, dword [ebp - 8]
add ecx, 0x2ed838
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2ed838]
call dword [eax + 0x48]
push str._Display_file_reinitialized._Error_report.
mov ecx, dword [ebp - 8]
call fcn.004ef240
push 0
push 0x1001
push str.CompDisplay.dat
mov ecx, dword [ebp - 8]
add ecx, 0x2ed838
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2ed838]
call dword [eax + 0x20]
dec eax
neg eax
sbb eax, eax
inc eax
mov ecx, dword [ebp - 8]
mov byte [ecx + 0x2a275a], al
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
and dword [eax + 0x2a275c], 0
mov eax, dword [ebp - 8]
and dword [eax + 0x2a2760], 0
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x11dda4]
test eax, eax
je 0x51005a
fld qword [ebp + 0xc]
fadd qword [0x6a5c10]
fstp qword [ebp + 0xc]
fld qword [ebp + 0x14]
fadd qword [0x6a5c18]
fstp qword [ebp + 0x14]
fld qword [ebp + 0x1c]
fadd qword [0x6a5c20]
fstp qword [ebp + 0x1c]
fld qword [ebp + 0x3c]
fadd qword [0x6a5c10]
fstp qword [ebp + 0x3c]
fld qword [ebp + 0x44]
fadd qword [0x6a5c18]
fstp qword [ebp + 0x44]
fld qword [ebp + 0x4c]
fadd qword [0x6a5c20]
fstp qword [ebp + 0x4c]
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x2a275a]
test eax, eax
je 0x510188
mov eax, dword [ebp - 8]
mov cl, byte [ebp + 8]
mov byte [eax + 0x8f3b8], cl
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
fld qword [ecx + 0x8f468]
fstp qword [eax + 0x8f448]
mov edi, dword [ebp - 8]
add edi, 0x8f3c0
push 0xc
pop ecx
lea esi, [ebp + 0xc]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 8]
add edi, 0x8f3f0
push 6
pop ecx
lea esi, [ebp + 0x3c]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 8]
add edi, 0x8f408
push 6
pop ecx
lea esi, [ebp + 0x54]
rep movsd dword es:[edi], dword [esi]
fild dword [ebp + 0x6c]
mov eax, dword [ebp - 8]
fstp qword [eax + 0x8f420]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 0x11bb10]
mov dword [eax + 0x8f430], ecx
mov eax, dword [ebp - 8]
mov cl, byte [ebp + 0x70]
mov byte [eax + 0x8f434], cl
mov eax, dword [ebp - 8]
fld qword [0x6a5be0]
fstp qword [eax + 0x8f438]
mov eax, dword [ebp - 8]
fld qword [0x6a5be8]
fstp qword [eax + 0x8f440]
mov eax, dword [ebp - 8]
fld qword [ebp + 0x24]
fstp qword [eax + 0x8f428]
mov eax, dword [ebp - 8]
mov cx, word [0x6881a4]
mov word [eax + 0x8f450], cx
xor eax, eax
cmp dword [0x688220], 0
sete al
mov ecx, dword [ebp - 8]
mov byte [ecx + 0x8f452], al
fild dword [0x6881d8]
mov eax, dword [ebp - 8]
fstp qword [eax + 0x8f458]
mov eax, dword [ebp - 8]
cmp dword [eax + 0x2ed83c], 0xffffffff
je 0x510175
push 0xa8
mov eax, dword [ebp - 8]
add eax, 0x8f3b8
push eax
mov ecx, dword [ebp - 8]
add ecx, 0x2ed838
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2ed838]
call dword [eax + 0x38]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2a275c]
inc eax
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x2a275c], eax
pop edi
pop esi
leave
ret 0x6c